Junior Devs: Stop Building Useless Projects & Start Making Impact
If you’re a junior developer, and you love the thrill of jumping into a new project – I need to stop you right here. Yes, I know how exciting it is to have an idea and then immediately dive into building it. That initial spark, the dopamine hit of creating something new, it’s addictive. But for most of the ideas and problems that pop into your brain, someone else has already had that thought, and someone else has already solved the problem.
The Trap of Reinventing the Wheel
This isn't to say your ideas aren't good, or that your passion isn't valid. Far from it. It's about being strategic with your time and energy, especially early in your career. The biggest tarpit for aspiring developers is trying to make something "cheaper" or "better" without truly understanding the existing landscape. This often stems from a misconception that innovation is purely about efficiency. Usually, it's about economy of scale. And if you're not trying to raise significant capital, achieving that economy of scale is incredibly difficult for an individual developer.
Think about it: many problems that appear to be ripe for a "cheaper" solution already have robust, established solutions. These solutions might seem clunky or expensive to you, but they often benefit from years of development, user feedback, and economies of scale that a solo project simply can't match. Trying to compete on these terms is often a losing battle. You'll spend countless hours building something that, while perhaps technically sound, struggles to find an audience or real-world application because it's simply a slightly different flavor of something already ubiquitous.
I've been there. I've fallen into the trap of thinking, "I can build a better X!" only to realize, halfway through, that the "better" I envisioned was already being served by a larger, more entrenched player. My time would have been far better spent on a problem that truly needed a solution.
Finding Neglected Problems with Real Impact
However, on the flip side, there are problems that are neglected, genuinely new, and have the potential for significant impact. But these problems usually aren't living in plain sight. Why? Because, as I said, otherwise somebody else would have already had the same thought and already solved them. The truly impactful, yet undiscovered problems often require a deeper dive, a different perspective, or a willingness to tackle challenges that others have overlooked or deemed too difficult.
These aren't the problems that immediately jump out at you while you're scrolling social media or browsing tech news. They're not the "build another to-do app" or "create a slightly different social network" type of ideas. They are often complex, multidisciplinary, and require a certain level of ambition and persistence to even begin to understand, let alone solve.
How to Identify High-Impact Problems
So, how do you find these elusive, high-impact problems? It's not about waiting for a brilliant idea to magically appear. It's about cultivating a mindset of problem-solving and actively seeking out areas where your skills can genuinely make a difference.
1. Shift Your Mindset from "What Can I Build?" to "What Problem Needs Solving?"
This is a fundamental shift. Instead of brainstorming app ideas, brainstorm societal or industry challenges. Read broadly outside of just tech. Look at global issues, local community needs, scientific bottlenecks, or inefficiencies in non-tech industries.
2. Focus on "Unsexy" Problems:
Often, the most impactful problems aren't the most glamorous. Think about infrastructure, data management in niche industries, tools for scientific research, or improving access to essential services. These might not lead to the next viral consumer app, but they can have a profound and lasting effect.
3. Look for Bottlenecks and Friction:
Where do people, organizations, or systems consistently encounter friction or bottlenecks? These are often indicators of underlying problems that a well-designed technical solution could alleviate. This requires observation, listening, and asking probing questions.
4. Consider Problems with a Long-Term Horizon:
Many of the "easy" problems have been solved. The remaining impactful ones often require a longer-term vision and a willingness to tackle challenges that won't yield immediate gratification. These are problems that might take years to fully address but could have generational impact.
5. Embrace Complexity:
Truly impactful problems are rarely simple. They often involve multiple stakeholders, complex data sets, ethical considerations, and intricate dependencies. Don't shy away from this complexity; embrace it as an opportunity for genuine innovation.
A Resource for Ambitious Junior Devs
However, if you're ambitious and truly want to tackle actual problems that matter, you don't have to start from scratch. There are organizations dedicated to identifying and cataloging these neglected but crucial challenges. One such resource I highly recommend is 80,000 Hours.
This website is specifically designed to help people find careers that are both fulfilling and impactful. It essentially provides exactly that: a collection of problems which are relevant, need to be solved in the future, and have the potential for a big impact.
They don't just list problems; they often provide in-depth analyses of why these problems are important, what makes them difficult, and what types of skills are needed to address them. This resource can be incredibly valuable for a junior developer looking to align their technical skills with meaningful work. It can help you move beyond the "pet project" mentality and start thinking about how your development capabilities can contribute to solving some of the world's most pressing issues.
So, if you want to try solving problems that genuinely make a difference, have a look at the areas they highlight first. Explore these challenges, research the existing landscape, and see whether you want to dedicate your skills and energy to making an impact on these critical issues. It’s an opportunity to build something truly valuable, not just another project for your portfolio.
My Own Journey: Learning from Useless Projects
P.S. I'm saying all of this because I have made these mistakes myself. I've created many pet projects where, in hindsight, I think they were completely useless and didn't really have any impact. While I learned a lot about coding and project management from them, the opportunity cost was high. I could have been channeling that same energy and passion into something far more meaningful.
My goal now, and what I encourage you to do, is to learn from my missteps. Don't waste your precious early career energy building things that ultimately don't matter to anyone but yourself. Instead, use your incredible skills as a developer to tackle problems that, if solved, will genuinely improve lives or advance society. That's where true impact and lasting professional satisfaction lie.
