I will be sharing my experience as a first-year software engineering student and what I wished I knew earlier. Do note that this is entirely based on my opinion and understanding. I hope that freshmen or students trying to pursue tech will benefit from reading this! Do skip straight to #Tips if you would not like to read my path!
My Path
After graduating from high school, most of us are unsure which degree to pursue, which university to choose from, and how we build our careers. These were exactly my thoughts as I finished High School. I had to find my direction and my path immediately with minimum guidance. Luckily my grades were good enough to allow me to have a variety of choices. Even though I am very grateful for having these choices, having too many options brought me into a loop of What Ifs. After researching, I decided to pursue tech for many reasons. These include industry growth rate, job security, salary, and the ability to work remotely.
I tried finding my niche in the field of tech during my spare time. I was particularly attracted to web development and the impact of Artificial Intelligence. Thus, I bought Udemy classes and taught myself how to build a website from scratch with 0 prior knowledge. After approximately a year of self-learning, I have exposed myself to many technologies, including HTML5, CSS3, JavaScript, React, Git, and many more. In the process, I've also had some ups and downs. Currently, I am aiming to sharpen my skills using the MERN stack by building projects. Thus, I have summarized my experiences into few feasible tips in the #Tips section below. Happy reading!
#Tips
All tips are not written in order of importance
Do Not Depend 100% On Your University
The issue with tech degrees is that not all of them prepare you for industry placement. Technology is moving forward at a fast pace day by day, and university courses often could not catch up. Most students are not aware of this. They would regret when they graduate as they fully depended on their degree. They realized that they are not ready for industry placement. Therefore, self-learning is crucial. Keep yourself updated with the current uptrend. Top tech companies like FAANG (Facebook, Amazon, Apple, Netflix, and Google) did hire software engineers without a Computer Science Degree. Let that sink in for a second. It depends more on your skillset, experiences, soft skills, attitude, and the value you can provide. Having a degree is still a plus and it is required for some companies.
Find Your Niche
The tech world is vast. Fields available include Data Science, Web Development, Game Development, App Development, Cyber Security, and many more. Among all paths in tech, find one to focus on. The specific one that you enjoy. Do something you like as you will be spending most of your life on it.
From my experience, to know what you enjoy, you will have to try it yourself. A little bit of everything, and imagine yourself doing it for decades. If you couldn't find what you love, at least you will know what you dislike and not go in-depth specifically in that field. When you choose a specific discipline, it gets so much clearer on what to learn. You will be able to schedule more time for other activities, reduce your stress, and accelerate your learning. Often you can Google the suggested roadmap for a specific field. i.e., "Web Development Roadmap 2021", and you will get a general understanding of the technologies required in the industry generally for that field.
Learn Consistently
If you have chosen to be a part of the tech world, consistent learning is a must even when you are working. When you are first starting in tech, the number of things to learn can feel overwhelming. New languages and technologies every year, sometimes every week, and to stay on top of them all are simply impossible. Therefore, after deciding on your niche, narrow down on what you should be learning to be industry-ready by the time you graduate. Spend 1 hour or more daily, sit down, and learn! Programming requires practice very often, or you would forget what you have learned after some time.
If you procrastinate a lot as I did back then, follow the 15-minutes method! The method is simple. Sit down and promise yourself that you will learn or practice for 15 minutes and turn away from all distractions. After 15 minutes, you can take a break and do whatever you want. The chances are, after 15 minutes, you are so engaged in the learning process that you would want to complete your current task. If not, you still learned for 15 minutes! Cumulatively, that would make a significant difference after a month, a year, and so on.
Build Projects
The best way to learn to code is by project-based learning. You can be coding along with the instructor in a tutorial and forget what the code does after some time. Therefore, after learning something, build a simple project that applies everything you have learned. If you are coding along with a video, add some features to the project without referring to source codes. You can refer to online resources from Google. Programming isn't about memorizing codes. It is more about problem-solving. Therefore, solving more problems on your own allows you to improve gradually.
Furthermore, to stand out among your peers when searching for internships/jobs is through your projects. Personal projects help you improve as a developer. You will learn skills that you didn't know you needed. This includes both technical and soft skills. Therefore, it is recommended to start early! The more, the merrier! With a portfolio of projects, you can even freelance on platforms like Fiverr and Upwork or even Facebook!
Learn GitHub & Git
As a student, you should learn how to utilize GitHub and Git as early as possible. In short, GitHub is a website for developers to collaborate and work on a project. It also lets you manage Git repositories. Codes available on GitHub are usually open-sourced projects and can be used by developers. You can host your projects' code on GitHub for free too! On the other hand, Git is a popular version control system that allows you to manage and keep track of your code history.
Of course, they are more than what is described above and it is totally fine if you don't understand it now. There are always resources on Youtube that introduce you to GitHub and Git! I highly recommend you to check them out! You should also learn project workflows and Git workflows for different projects. This would help you greatly in the future.
Google & Stack Overflow are Your Friends
The answers to your questions are probably a search away. You will not be the first one asking that question. Google (for general questions) and Stack Overflow (for code-related questions) have most of your questions answered. If not, you can always ask a new question on Stack Overflow. Developers with experience will try their best to answer your query! Of course, that would be the last resort. Try solving your questions with the documentation of the technology you are currently using.
Utilize All Available Resources
We are fortunate to be living in this era as most of the resources are a click away. Utilize all the online resources available to you. Examples are W3Schools, freecodecamp, Coursera, Udacity, Udemy, Khan Academy, edX, YouTube, and so much more! There are also mobile apps to learn to code! Examples are Mimo, Sololearn, Grasshopper, and many more! Most would be free, but some paid ones are also great! There are also great books out there that you could research on.
Join Communities
Coding alone is never fun (at least for me). Try joining communities like Major League Hacking, Tech Communities on Reddit, or your local tech communities! You will be surrounded by enthusiastic developers that had more experience than you! You can learn a lot from them as you ask questions and keep yourself motivated as well. Most developers are friendly and helpful as they have been in your shoes back in the day.
Join Hackathons
Before joining my first hackathon, I thought Hackathons were for a developer that knew ethical hacking. The truth is way different from that. Based on Google, a hackathon is an event in which a large number of people meet to engage in collaborative computer programming. Sounds boring? There is a lot more to that! From my experience with hackathons, it allows you to network with other passionate developers. Those developers are ready to collaborate and learn from each other. When everyone is there to learn, the result of work done together cumulatively is beyond your imagination. Besides, if your team is familiar with the technology and can create a project that stands out, winning a hackathon brings you many benefits too! Including funding and mentorship to bring that project market-ready! You can search for hackathons at HackerEarth, MLH, Devpost, and many more.
Network with Others
As a student in any field, the ability to network with others is significant. As an introvert myself, networking was intimidating for me. But as you step out of your comfort zone, you will realize that you can learn a lot from others through networking. The recommended platform for this would be LinkedIn, Twitter, and sometimes Facebook. Simply search for an individual working at your dream company, your seniors, employers, or even peers! Send them a connection request and ask a simple question that you are curious about formally! Of course, you have to accept the fact that not all of them will reply to you. Therefore, try asking those that you think would receive fewer messages.
Contribute to Open Source
This is optional as many might not be interested in contributing to open-source projects on GitHub. As a freshie in tech, contributing to open-source projects helped me improve myself as a developer. I had a better understanding of project workflow as I contribute to open source projects. I also had better git workflow and communication skills. You can aim to join Google Summer of Code or other organizations' winter of code/spring of code that aims to promote open source contribution!
You can also look into competitive programming to brush up on your problem-solving skills and critical thinking skills using data structures and algorithms. You can learn Data Structures and Algorithm from AlgoExpert, Coursera, and YouTube (MIT OpenCourseWare, OpenCodeSchool, FreeCodeCamp).
Have a Mind of Your Own
Of all the tips above, I think having a mind of your own is of utmost importance. Do not take other's suggestions 100% and follow their path blindly. I've seen many people getting into tech change what they wanted to learn without hesitation because someone else said so. Instead, take it as a source of reference. Everyone will have a different and unique road when pursuing tech.
"Which programming language should I be learning first?". Sounds familiar? This is a common question asked by those that are new in the tech world. This was my question too. Chances are, people will answer based on their favorite programming language and also the one that is popular. As an example, the Python programming language. Python is a great programming language to begin with as it is beginner-friendly. The truth is, it depends on which field you are going into as the technologies in demand differ. Therefore, do your research. Don't waste your time learning a technology that you will probably not use in the foreseeable future.
Build a Life, Not a Resume
"Build A Life, Not A Resume" was one of the main takeaways I got from a seminar. Companies do not want robots that can only code. Other than improving your technical skills, try to improve all aspects of your life! Enjoy your university life, join events, seminars, clubs, and more as it is mostly free (and you paid tons getting into university). You only have one chance anyways. Make friends along the way. Contribute your knowledge to society. Be humble enough to learn from others. Be Open-minded. Be confident. These might be factors that would attract the eyes of an employer to hire you too!
Lastly, make an impact on the world no matter how small it is.
Thank you for reading!
Follow me for more web development content and content related to students in tech soon! Share this blog with your juniors, siblings, or friends that are new in tech or wanting to venture into the tech world!
Do leave a comment below if I missed out on anything or you would like to correct my points! Share your path with others too!
Top comments (0)