Prepping for studies and a career in Cybersecurity or Computing
Here are some measures to take to enhance your chances of success
Visit the Evidence Files Facebook and YouTube pages; Like, Follow, Subscribe or Share!
Find more about me on Instagram, Facebook, LinkedIn, or Mastodon. Or visit my EALS Global Foundation’s webpage page here.
Technology Studies
Starting a career in technology—whether computing, cybersecurity, ethical hacking, AI, or digital forensics—seems like a daunting endeavor for new students and recent graduates. In many places, high schools (or +2 level) offer little in the way of technology education or, when they do, it is often very basic. Students forging ahead into bachelors studies can thus feel wildly underprepared for what they are about to begin. This is entirely understandable and not without some basis in reality. Nevertheless, there is a lot students can do to bolster their chances of success, or at least to ease the challenges they will soon face. As an instructor in the field, and a person who has worked within many areas of technology, I am here to offer some insights to help students and entry-level employees.
Computer Language
Regardless of which career tract you follow, knowing some of the basics of computing language will help with comprehending how various processes work. For those who do not yet know what exactly they eventually hope to focus upon, there are still some tactics you can adopt to better situate you when that time comes. Programming languages simply mean the manner in which we write instructions from which a computer can translate into its own fluency—the 1s and 0s of binary. Arbitrarily selecting a language to start learning will not be a waste of time because all programming languages perform this very basic function. Even if it turns out that the first language you learn is not one you tend to use later in life, the comprehension for how formulating programming works will still serve you well. Moreover, many programmers find that throughout their careers they are forced to switch languages as they take on different jobs or tasks. So, how to choose?
If you have some idea what career you are pursuing, it is not a bad idea to explore what languages are most frequently used in that field. The Code Academy offers a free course to help you on this path. It provides several articles describing what different programmers do, and what languages they typically employ. If you want to decide based on the demand in the market, Career Karma outlines the average pay rate for specific roles and lists the usual programming languages in those jobs. I don’t recommend pursuing a career field based strictly on pay because this market shifts quickly. What may be high-paying now could be obsolete in a few years, but that is up to you.
Another approach is to focus on the capabilities or difficulties of specific languages. For instance, Java is used in a wide variety of functions and thus can be useful in nearly any career path. JavaScript remains among the most common scripting languages, commonly incorporated into front-end development, web-based apps, and databases, among others. Both are relatively easy to learn. Many consider HTML and CSS as essential languages for front-end development and tend to work in conjunction with JavaScript. Those seeking to work as full-stack developers will likely need to learn these languages before long. Python is extremely popular for many tasks, including cybersecurity, and is also relatively easy to use. Moreover, it seems that Python has many more free courses online for learning than most other programming languages. I learned Python first as it is probably the most commonly utilized language in digital forensics, especially in law enforcement. Accompanying Python in back-end development, many also learn PHP. Some prefer PHP in place of Perl in website development because it provides a secure way of executing commands that are obfuscated by processing HTML files on the server side. Nevertheless, Perl is a good language to learn because it is highly flexible and also easy to learn online for free.
Whatever you decide, starting early on any language will significantly help grow your skills and will reduce the stress involved with learning in the midst of other specific topic areas. In the next section, I discuss how to go about self-learning and benefitting from the vast trove of tools available online.
For more on obfuscated code, click the article below.
Benefit from Online Resources
There are two ways to think about benefitting from the various resources floating around the internet: 1 - learning; 2 - tools.
Learning
All across the internet there are exceptional resources for learning. It is incumbent upon you to find those resources based upon what interests you. When examining various offerings, pay attention to several things. First, is this a legitimate source? I tend to determine this by inspecting the site, seeing if what it proclaims makes rational sense, and is it well-organized and edited. See if it discusses topics you do know something about and whether that information is accurate. Check how many people follow or subscribe (when possible). Second, search for hidden fees. Does the site offer a ‘free course’ that takes you to a certain point then demands payment? Always remain cautious about downloading anything.
Once you find a reliable source, use it to its maximum extent. It can be challenging to find good learning resources sometimes, so when you locate one, cling to it! Here are some examples I have used and enjoyed. Note, I do not make money from any of these and only recommend them based on my own experience. You should still perform your own vetting process. Free Code Camp offers courses mostly on HTML, CSS, and web development generally. As far as I know, all content on this site remains free, though you do have to make a user account. Code Academy offers some free courses in basic levels of several different subjects, such as SQL, JavaScript, and HTML. It does not have a lot of free content, but you can find around 20 hours of beginner (free) courses. Brilliant has a lot of material on mathematics and computer science topics. It has one tier of free courses followed by paid tiers, but the free content is very helpful and there is a good amount of it.
In addition to specific courses, online videos provide an exceptional trove of knowledge. Like free online courses, you should approach online videos cautiously at first, making sure that what you choose is not just some made-up nonsense by someone trying to go viral. Here are examples I like, but be sure to search for your own:
Free Code Camp - same as the website linked above, but with videos
John Hammond - excellent source for cybersecurity and ethical hacking
Wolfram - a mix of material related to tech and mathematics
Thio Joe - a mix of tech learning and product reviews
Jonathan Adkins - content on digital forensics
Liron Segev - a good mix of content on devices and networks
Bendo Brown - a great source on open source intelligence (OSINT)
David Bombal - my favorite resource for all things related to ethical hacking and tech in general; see his career-oriented content as well at David Bombal Tech.
Tools
People involved in the tech field are often quite nerdy about their work. I say this with love and am including myself as well. This is great for all of us, however, because that nerdiness often translates into showing off cool things we invent or develop. I highly recommend all people entering (or already in) the tech field to start collecting online tools. Before discussing in further detail, please note:
If the tool is free, the product is me! This means that any data you enter into a free tool could be monetized or shared. NEVER enter any data, files, code, sensitive, or valuable information into free tools unless you are absolutely sure of the integrity of the site. If you want to test a tool, use data you would willingly share to anyone.
With disclaimers out of the way, let me explain how I log and track free tools of interest to me. I have created a spread sheet with individual pages separated by category. You should choose your own organizational scheme, but some categories I use include: coding tools, photo/video analysis tools, forensic tools, imaging (copying) tools, hex editors, hashers, phone schematics, video schematics, etc. My spreadsheet includes the following columns: Tool name, URL, Description, Last Date of Use. I include the last column so I know the last time the tool worked for me. Free tools come and go, so you will want several that perform the same function. To get you started, here are some free tools I think are quite useful:
FTK Imager - raw imaging tool
Autopsy - forensic analysis tool
HxD - hex editing tool
Quick Hash - hashing tool
Dcode - timestamp decoder
VLC Media Player - very versatile media player
Magnet Ram Capture - live RAM capture tool
Kinovea - video analysis tool
Forensically Beta - photo analysis tool
Tineye - reverse image search
Active Disk Editor - great analysis tool for files, volumes, or full disks
Collect as many tools as you like—mine has reached in the hundreds of thousands. You just never know what you might need or when.
Read… a Lot
In addition to online videos, those in the tech field should read… a lot. Find authors who post good columns on issues of interest to you. This site you are reading now is a good place to start, even though it does not focus exclusively on tech, but it is free! More seriously, ask your professors, fellow students, and colleagues what they read. You will almost certainly discover some excellent sources this way. For Softwarica students specifically, I know that many students and faculty write on Medium. Also check in on those same people’s social media. Many tend to post their articles there to help promote them. I do this myself on Facebook, Instagram, and LinkedIn. Here are a few columns/websites I check in on often:
TechCrunch, Wired, Gizmodo, HowToGeek, CNet, PCMag, Tom’s Guide, TechRadar, Ars Technica, and Tech Xplore.
Practice
When you do learn some skills, practice with them. Computing skills, like most others, are erodible—meaning they will fade over time without use. Search for sites on which you can practice executing some basic code or engaging in other activities. Try various functions out in the command line on your Windows or Linux machine. Set up a (free) account on online services such as Hack the Box, Try Hack Me, or Code Chef. Think of other creative ways to practice!
Engage
The key element of success in any occupation is engagement. Immersing yourself in your field will grow your network, build your confidence, and enhance your skills. Attend events discussing tech issues—you might learn something and you will meet others in the industry. And don’t be shy when you arrive. Introduce yourself and let people know what you do or what interests you. If able, print some business cards with your name, phone number, email and area of interest or expertise to hand out. Give out your WhatsApp number or LinkedIn profile. Business professionals tend to remember students who show (professional) initiative and they just might reach out to you in the event they need a new employee. Network building is absolutely crucial to succeeding in your job or promotion search.
Join clubs or research groups. Right now, I am leading a research group at Softwarica College that seeks to employ Computer Vision and Artificial Intelligence to perform a research task that, if successfully published, will bring significant accolades to everyone involved. These kinds of activities show your passion for the topic and accentuate your skills. Indeed, Softwarica held an event this past summer called Tech-Ex, in which students showcased their projects. Some students from that event published their work in an academic journal, others were featured in the media. This was great exposure for all of them! Sign up to compete in various competitions like CTFs. Set up your own website. Whatever moves you, just do it!
Another strategy is to join forces with others who already have an audience. As an example, I strongly encourage anyone interested in publishing articles to contact me directly. This site you are reading right now has over 500 regular subscribers, receives thousands of new readers each month, and is read in more than 20 countries, and 18 US states. It is a great way to put your work in front of a large audience quickly. Below, I have posted articles I co-wrote with Softwarica students or faculty. But you need not limit it to me (and my offer is not limited to Softwarica students or faculty). Seek out anyone willing to give you a platform.
Above is one such event you might consider attending if you are in Nepal.
Finally
There is no set path for you to follow to become a successful programmer, software engineer, cybersecurity architect, forensic analyst, or ethical hacker. The choice is yours. This article is meant to give you some ideas for how to take your own initiative, but is not meant as the specific way for you to proceed. Find your own way, driven by your passion for the work. If that passion converts into energy and action, I have no doubt you will be successful no matter the path you choose. Best of luck!
Scroll to the bottom for the co-written tech articles mentioned above.
***
I am a Certified Forensic Computer Examiner, Certified Crime Analyst, Certified Fraud Examiner, and Certified Financial Crimes Investigator with a Juris Doctor and a Master’s degree in history. I spent 10 years working in the New York State Division of Criminal Justice as Senior Analyst and Investigator. Today, I teach Cybersecurity, Ethical Hacking, and Digital Forensics at Softwarica College of IT and E-Commerce in Nepal. In addition, I offer training on Financial Crime Prevention and Investigation. I am also Vice President of Digi Technology in Nepal, for which I have also created its sister company in the USA, Digi Technology America, LLC. We provide technology solutions for businesses or individuals, including cybersecurity, all across the globe. I was a firefighter before I joined law enforcement and now I currently run the EALS Global Foundation non-profit that uses mobile applications and other technologies to create Early Alert Systems for natural disasters for people living in remote or poor areas.