As an increasing number of tech hopefuls turn to online resources and self-guided learning to become software engineers, it is important to be aware of some common mistakes that newcomers often make. By understanding and avoiding these blunders, you can set yourself up for success and ensure that you are getting the most out of your learning experience.
Information Overload - With impostor syndrome being a rampant disease among aspiring developers, it is tempting to try and learn too much at once. Easy access to a deluge of different resources and learning materials makes it easier than ever to learn as many different technologies and frameworks as you can make time for.
However, this approach can often lead to severe burnout, as well as a lack of depth in your understanding of any particular topic. Instead of trying to learn everything at once, it is important to focus on one topic or technology at a time and delve into it, solidifying a worthwhile foundation.
Skipping The Basics - Though printing "hello world" is not exactly something you can put on a resume, bypassing the fundamentals is never a good idea. Hopping on YouTube and coding along a Twitter clone for your portfolio may seem like the ideal shortcut to breaking into your first tech role, but it could be a costly mistake that will more than likely backfire. Aside from the fact that you will likely not be able to explain your code in an interview, building without understanding the tools you're using is merely pushing the required learning down the road. A deep understanding of a language or framework is needed to effectively debug any issues.
Not staying the course - Without the structure of a traditional learning environment, holding yourself accountable can be a challenging test of self-discipline. Self-learning can be a breeding ground for losing momentum and motivation, particularly when you are not part of a structured learning program or community. To combat this, setting clear goals and milestones for yourself is crucial. Supplement this by finding ways to hold yourself accountable for achieving them. This could involve setting aside specific times for learning and studying, joining a study group or online community, or finding a mentor or accountability partner who can help you stay on track.
Trying to do everything solo - Developing your tech skills independently can be quite an intoxicating feeling. It is usually quite trivial to track your progress and observe tangible improvements in your skill level. The sensation of successfully debugging your code can be equal parts infuriating and fulfilling. Keeping this in mind, however, it can be invaluable to intentionally seek feedback and guidance from others. As the old saying goes, "you don't know what you don't know". Whether it is a bit of career advice or assistance in picking an effective learning path, never underestimate the power of picking the brain of someone who already has the experience you are seeking. Whether through online forums, study groups, or one-on-one mentoring, getting feedback and guidance from others can help you learn more effectively and avoid common mistakes.
Thinking it is only about coding - While learning to code is an important first step to becoming a software engineer, the job is significantly deeper than just writing code. You will need to round out other skills to truly be an asset to a team. These skills include but are certainly not limited to: understanding requirements of a project fully, testing your code effectively, communicating with both technical and non-technical people involved in a given project, and proper estimation.
To be sure, you will commit many cardinal sins between your initial process and landing your first role. However, being mindful of where you are in your growth curve and where you aim to be can help keep you on the right track.