Question
We’re seeking expert opinions on the most effective combination of deep and broad skills for software developers. For example, a T-shaped developer might have:
• Vertical (Deep Expertise):
• Backend development
• Proficiency in programming languages like Python, Java, or Ruby
• Database management (SQL, NoSQL)
• API design and integration
• System architecture and scalability
Horizontal (Broad Knowledge):
• Frontend technologies (HTML, CSS, JavaScript, React)
• DevOps practices (CI/CD pipelines, containerization, orchestration)
• Cloud platforms (AWS, Azure, Google Cloud)
• Testing and QA (unit testing, integration testing)
• Agile methodologies and project management
We’re publishing this to gather insights from industry experts to help guide our community in developing balanced and valuable skill sets. Your input will greatly contribute to shaping future content.
What specific combination of skills would you recommend for developers to thrive in today’s tech industry?
Answer
While the current answers and description focus on technical skills, I'd like to offer a different viewpoint.
To thrive as a developer is to make impact. It's all about impact. Impact for the business you work in.
It is not about how architecturally beautiful or infinitely scalable the feature in your latest pull request is, but about the impact your work has on the business itself.
While technical expertise is important, I value engineers that:
- Make effort to understand the business domain
- Understand the company strategy and vision
- Know what the biggest challenges in the business are
In other words, these developers see the big picture. It helps putting engineering tasks into perspective: spending the time and do it perfectly, or be pragmatic and move on to more pressing issues.
Saving the support team 30 minutes a day because you aggregated relevant data into a dashboard is more rewarding that refactoring the legacy code of an automated process that runs every 6 months. Making impact is more rewarding; your work matters. It creates opportunities and accelerates your career, and honestly is more fun.
This especially holds for working at a startup or scaleup, where building the wrong thing is very costly. However it also holds for enterprises.
Feel free to reach out for followup questions.