Why fresher software engineers have raw end of the deal in this day and age.
Nikhil Kumar
Angel investor , Engineering Director | Ex Microsoft, Amazon, Intel, UIPath, Whatfix
Follow Nikhil Kumar for more such insights
When I reflect on the journey of becoming a programmer, I can't help but feel a deep sense of empathy for those who are just starting out in the industry today. The landscape of programming has transformed dramatically, presenting unique challenges that didn't exist when I was learning the ropes.
The Early Days of Programming
Consider the experience of programmers from the early days. One commenter reminisced about starting with Pascal in 1984, working in a lab with CP/M machines and terminals so worn out that the keys would stick—especially the enter key. They had to pre-write code on paper, sign up for limited computer time, and store their work on eight-inch floppy disks. It was a time when you had to be intimately familiar with the hardware and the fundamental aspects of coding.
Layers of Abstraction in Modern Programming
Fast forward to today, and the entry point into programming often involves a labyrinth of abstractions. A newcomer might search online for how to start programming and quickly find themselves setting up a serverless Next.js project on Vercel. Think about that for a moment: their very first website involves a stack of technologies like JavaScript servers, React, server components, and intricate file-based routing systems. The layers of abstraction are so deep that it's akin to trying to understand Earth by observing it from Jupiter.
The Overwhelming Complexity for Beginners
The sheer number of technologies and concepts that a beginner has to grasp just to display a simple webpage is staggering. When I started, all I needed was an Apache config file and a few lines of PHP code to get my cat pictures online. It was straightforward, and I could comprehend about 80% of what was happening behind the scenes.
Today, the complexity is overwhelming. New programmers have to learn about React, serverless architectures, environment variables, databases, and various hosting services—all just to accomplish something that used to be relatively simple. It's easy to see why many might feel overwhelmed and consider giving up.
领英推荐
Foundational Learning vs. Practical Skills
I'm not saying that one era of learning is better than the other. Each has its own merits and challenges. In my time, learning was focused on foundational skills—mastering data structures, algorithms, and understanding how things worked at a fundamental level. I spent years honing these skills, which made it easier to adapt to more complex problems later on.
Now, the learning curve is steep in a different way. Beginners are expected to understand a broad spectrum of tools and frameworks almost immediately. The emphasis is on building useful applications quickly, which is beneficial but can also be daunting without a solid foundation.
Choosing the Right Educational Path
The question of whether traditional education or bootcamps are better for aspiring programmers is complex. It likely depends on individual learning styles, life circumstances, and personal motivations. Universities offer a structured environment and foundational knowledge, while bootcamps can provide practical skills in a shorter timeframe. Both paths have their advantages and challenges.
Navigating Conflicting Advice
What concerns me most is the pressure and conflicting advice that new programmers face today. The tech community can be incredibly opinionated, often presenting personal preferences as the only viable options. This can create an environment where beginners feel they must learn everything all at once, which is neither practical nor healthy.
Closing Thoughts
In the end, I genuinely empathize with those starting their programming journey now. The industry is both more accessible and more complicated than ever before. My hope is that newcomers find the path that best suits them, focus on building a strong foundation, and remember that it's okay to take things one step at a time.
The world of programming is ever-evolving, and with that comes both excitement and challenges. While the tools and technologies will continue to change, the core principles remain. By focusing on foundational knowledge and not getting lost in the myriad of options, new programmers can navigate this complex landscape more effectively. Remember, every expert was once a beginner, and every journey starts with a single step.
--
4 个月This is so true. I think you would really enjoy this podcast https://youtu.be/oFtjKbXKqbg?si=ru7YbY1BJvgsxTgO this guy really emphasizes the same topics...He's still using PHP and is a shipping machine. I'm a little sad that react seems to be the starting point now instead of vanilla javascript or PHP.