The one piece of advice I'd give to anyone who is starting out as a software engineer

dennisko762

dennisko762

Posted on April 8, 2023

The one piece of advice I'd give to anyone who is starting out as a software engineer

As a software engineer, I've learned that mastering the fundamentals is crucial for long-term success in this ever-evolving industry. But, as a newbie engineer eager to make a mark, it's easy to get caught up in the excitement of learning new, shiny technologies and overlook the importance of the basics.

In my experience as a Frontend engineer specializing in Angular, I've encountered many sophisticated technologies and concepts crucial for building robust web applications, such as Rxjs, state management, and SEO. And don't get me wrong; these are essential topics you need to know to build a cutting-edge application.

However, here's the catch: focusing solely on these advanced concepts without laying a solid foundation, you're setting yourself up for failure. Trust me; I've been there. I lacked the basics of how an application works, which resulted in setbacks, bugs, and time-consuming troubleshooting.

So, what did I do to improve my skills? I took a step back and concentrated on reinforcing my core concepts. I reached out to my mentors and colleagues, seeking their guidance on the fundamentals, and I worked on building a solid mental foundation.
Nowadays, I dedicate some time every weekend to filling gaps.
During my regular week, I noted down the ticket, the problem I faced, and the knowledge gap that prevented me from solving my problem more quickly.
The upcoming weekend, I would dedicate time to that topic.

Another example that is particularly interesting for all who do anything Java related is: Study the architecture behind it. JVM, JRE, how Java code is compiled into byte code etc.
This was knowledge I lacked for a long time until I realized that no matter how comfortable I am with Java and how uncomfortable it can be to dive deep into those topics, It was essential to understand the underlying concepts.

The result?

  1. Debugging took up far less time
  2. I was able to make more efficient decisions on my software architecture (choice of collections etc)
  3. I started to appreciate the level of abstraction some modern programming languages provide.

In conclusion, I advise new software engineers to don't neglect the basics. Don't always take the levels of abstraction for granted. Be curious about how and why things work as they work.
Seek guidance from experienced colleagues and mentors and build a solid mental foundation. Remember, balancing learning new, shiny technologies and reinforcing the core concepts is essential. Doing so will potentially save you hours of debugging and will separate you from those, who just copy-paste code from Stack Overflow or ChatGPT.

💖 💪 🙅 🚩
dennisko762
dennisko762

Posted on April 8, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related