Maybe you always knew you wanted to pursue a career in computing, or maybe computers are a new love for you. But when I started my IT degree I had already put years into a fine art degree. I had no idea how computers, or networks, worked but my curiosity had been piqued by increasing advances in technology and its impact on our daily lives. When I realized how intimately connected my life was with various technologies that were each essentially a black box to me, I had to know more about them!
Even if you have some experience, you may not be sure where to start, how to prepare for higher level courses or what is expected of you outside of school. Like with foreign language the best way to learn and understand something thoroughly is through immersion and hands on practice. So your first priority should be to get a lot of exposure and have as much fun as possible getting it!
Starting from Square One
This is simply a list of suggestions I would give to myself a few years ago. These are mostly things I’ve been advised to do and have already done myself, as well as a few things I’m working towards myself (like contributing to open source projects and teaching others).
- Build good foundational knowledge. To understand networking you need to understand at least a little about computers, operatings systems, browsers and networking devices. You may go into shock at the sheer amount of acronyms but trust me, they will seem second nature after a while.
- Comptia A+ and Network+ exam objectives or test prep books can give you a good idea of what you should know. Comptia provides vendor neutral tests that certify a certain level of IT knowledge and skill. A+ essentially certifies that you have basic technical support and troubleshooting skills. Network+ is a step above and focuses more on troubleshooting and design of networks than A+ does. Even if you know most of this already it’s worth looking into in order to address any gaps in your knowledge.
- Balance book-learning with hands-on learning. Don’t just plow through a textbook or training manual without trying things out yourself. You do need to understand the general ideas before you can build your own lab but don’t over do theory at the expense of application. Which brings us to…
- Make yourself a home lab. This is one of the best things you could do for yourself as an IT student. The easiest way to experiment with different operating systems and networking configurations is to set up virtual machines with software like Virtualbox or VMware Player. Virtualization gives you so much freedom to experiment without additional cost. Your biggest limits are how much RAM, storage space, and imagination. Everything makes more sense and sticks better when you go through the process of doing it yourself.
- Make one of your VMs Kali Linux. Kali is chock-full of hack tools and if you’re anything like me it can make it way more fun and easy to learn how things work. For example, reading about how websites work often makes me want to pluck out my eyes. But fire up Burpsuite to learn how to map and exploit a website and suddenly it’s 100% more interesting.
- If you have the funds and time build your own desktop. It’s fun, it’s custom and it’s educational.
- Find technology conferences in your area and go to them. It’s a great chance to see what professionals are talking about and learn from them. Most security conferences have various “villages” focused on different skills like lockpicking, badge building, hardware hacking, social engineering or other areas of interest. You can hang-out and learn something new in a laid back environment. There will certainly be presentations and maybe some workshops, competitions or Capture-The-Flag contests (basically jeopardy style computer nerd puzzles).
- If there are no conferences in your area, or within driving distance there Your school may have a computer engineering, information technology, or cybersecurity club you could attend and learn from. There may be Python, Linux, security or otherwise techie meetups you can participate in. Look for your local DefCon group as well [something like DC 123 ].
- Consider checking out infosec twitter, or finding subreddits in your area of technological interest.
- Don’t psych yourself out. Often, when I invite someone to check out the security club at school they tell me they are worried they don’t know enough. Everyone feels that way at some point, but the whole point of the club is to learn together! What you’re doing to progress, and whether you have the drive to do so, matters more than what you know at this exact moment. If you put in serious effort, and don’t act entitled to other people’s time, you’ll find there are plenty of people who want to share what they know or are willing to give some general guidance.
- Come up with projects that are fun for you! Build a website, set up a VPN on your raspberry pi. Consider donating your services to a non-profit to contribute to your community and gain experience.
- Find an open-source project you love and want to contribute to and use it to learn to code. It might sound crazy but it can be, and has been done.
- Learn something teach something. Whether that means a lightning talk, tutoring, blogging, or starting a club!
What this whole list really comes down to is relax, explore, experiment, and get involved in the community. If you can have fun and work hard at the same time there is really no limit to what you can accomplish.