What I Wish I Knew as a Junior Developer
I spent my early career jumping between technologies without mastering any of them. Here is what I wish someone had told me about focus, foundations, and the right way to learn programming.
21 June 2026
Reflecting on my early days as a programmer, I spent countless hours reading tutorials and coding. While I was always creative, constantly generating new ideas, I wanted to explore everything—Machine Learning, robotics, MIPS, and more. The challenge was that each idea required a deep understanding, leading me to skim through numerous tutorials without ever mastering one topic.
Looking back, I compare this experience to a child discovering the world — fascinated by new toys, eager to try everything, but often without a clear direction.
Press enter or click to view image in full size

As a junior developer, I found the landscape overwhelming. Even now, as a senior developer, it remains vast. The added challenge was that my goals were often vague. Unlike experienced developers, I lacked a toolkit of solutions, exposure to diverse problems, and the intuition gained from experience.
Because of this, I often started projects but abandoned them before completion due to their complexity. Meanwhile, in my professional life, I had to navigate an entirely new domain — FinTech — where I was a junior developer and a newcomer to the industry. On top of that, I had to learn the technology stack necessary to build solutions, starting with JavaScript.
The same temptation emerged: experimenting with multiple frameworks — Vue, Angular, React — without mastering them. The problem with this approach is that you risk becoming a “jack of all trades, master of none.” A surface-level understanding of many technologies can hinder progress, making it difficult to build expertise.
I feel fortunate that I didn’t experience my junior years in the ChatGPT era. Today, junior developers can quickly generate answers without genuinely understanding the underlying problems or solutions. This convenience can be a double-edged sword, preventing the deeper learning from struggling with challenges.
In hindsight, I realized that I misdirected my energy. Rather than scattering my focus across multiple technologies, I should have concentrated on mastering the fundamentals. And at the root of it all? Logic.
The Power of Logic
Logic is the foundation of programming. It defines how things work, where they belong, and how they interact. Understanding the taxonomy of technology — how different components relate — makes problem-solving more intuitive.
I’m mentoring a junior developer implementing a feature with both backend and frontend components. A logical approach would help them break the problem into structured levels, understanding how each part fits within the system or application.
Junior developers should dedicate most of their time to understanding this taxonomy. The best way to do this is by adopting the scientific method:
Start with a hypothesis.
Experiment by writing code.
Validate your assumptions and iterate based on what you learn.
Logic is the glue that connects everything. As you progress, knowledge gaps will become apparent. When they do, you can intentionally fill those gaps instead of wandering between technologies.
Learning from Others
I wish someone had told me this earlier. Surrounding yourself with experienced developers who share your interests is invaluable. Their insights can help you bridge knowledge gaps while keeping your enthusiasm alive. Throughout my journey, senior developers have helped me by simplifying complex concepts.
I believe I transitioned to a senior developer when I truly understood this statement:
Your journey is only as good as the problems you choose to solve.
Thank you for reading!