Many IT companies & startups boast about hiring the best 1% talent. While I believe contrary. I think that any developer can be a better developer with proper training & positive environment. In my 13 years of professional experience, I have worked with hundreds of engineers. I have seen how a mediocre engineer from a tier3 city college becomes an amazing programmer. I strongly believe that it’s the company’s responsibility to train and skill their staff and make them the best.<p>For every young engineer, here are the tips to become the best engineer.<p>- Reading Habits: Read tech blogs like Gizmodo & Techcrunch on daily bases. Understand what’s going on in the industry.
- Community & Meetups: Participate in relevant developer community events. Organise or be part of meetup groups. Communicate ideas with fellow engineers.
- Open source: Open sourcing the code is the best way to learn. Create your own open-source projects or contribute to an existing one on Github.
- Hackathon: Participate in hackathons, build smaller apps and websites. The best way to learn is to build.<p>Have positivity and believe in yourself.
I agree although I my list is a lot different:<p>* Work with people who are more skilled and knowledgeable than you and learn why and how they do the things they do<p>* Focus on increasing your velocity by eliminating bottlenecks in your productivity: is it typing? text editing? navigating a codebase? familiarity with your language or tools? communication? code organization? version control practices?<p>* Focus on creating tight feedback loops in your work.<p>* read some great books, and books that contradict each other. practice what you learn from them and determine your stance on when, why, and how to apply the ideas. I recommend the whole series of the Phoenix Project books to get an understanding of the background of modern software development. Look for how these ideas are applied in the industry.<p>There are great blog posts / articles too, lots shared here. I don't know about TechCrunch or other business news. I'd focus on people who are writing about the craft of software engineering.<p>* Get to the why: really think about things deeply and critically. Why are some things broken? Why do some things work really well? What's the most important thing you can be working on? What's the right approach? What are you trying to accomplish, or to avoid?<p>* Overall, always strive to become better, today, this week, this month, this quarter, this year, this decade, this lifetime.
Formatted list from the post, for easier reading:<p><pre><code> - Reading Habits: Read tech blogs like Gizmodo & Techcrunch on daily bases. Understand what’s going on in the industry.
- Community & Meetups: Participate in relevant developer community events. Organise or be part of meetup groups. Communicate ideas with fellow engineers.
- Open source: Open sourcing the code is the best way to learn. Create your own open-source projects or contribute to an existing one on Github.
- Hackathon: Participate in hackathons, build smaller apps and websites. The best way to learn is to build.
</code></pre>
Not sure about whether i agree with all of these, but if nothing else, they seem like a nice way to be a social developer who's aware of the current trends in the industry.<p>Some might suggest that you should also direct plenty of attention towards actually studying to code, reading books and papers, doing coding katas and algorithmic challenges (not just for interviews, but also learning how to best approach a variety of different problems and recognize algorithms). There's certainly a lot of great material out there for that as well.
Lets look at the stats - there are 26.2 million devs in the world, so hiring the top 1% means you hire one of the 260,000 top people in the world. That isn't a small number. Especially if you twist your criteria for what it means to be a "top" developer, as it is an inherently subjective label. I'm sure just about any company could create criteria to make it true, including something as simple as "We deliberately reject 99 of out 100 resumes."<p>So I don't put much stock in claims that that, and definitely don't think fitting into that label is a strong career goal.
> Many IT companies & startups boast about hiring the best 1% talent. While I believe contrary. I think that any developer can be a better developer with proper training & positive environment.<p>These two ideas don't contradict each other.<p>Maybe anyone can be better than they currently are, let's grant you that. Still, there's some distribution of talent with few people being the best at what they do and companies can make the claim (rightly or not) that they hire from the top end of the distribution.<p>Just because everyone can improve, it doesn't mean that everyone is the same.