Knowing today’s most popular programming languages is useful, but it isn’t enough to become a successful coder. Lots of other traits make someone a good or bad programmer. In this article, we’ll look at what makes great programmers stand apart from their mediocre counterparts.
To improve at most skills, you have to put in the reps. If you’re not coding regularly—say, each day or every other day—you won’t improve very fast.
Learning programming has some elements in common with learning a musical instrument and others in common with writing prose. Getting good at programming takes dedication, perseverance, and repetition. Sometimes, you have to work on the same skill again and again to make it muscle memory. Studying the work of great programmers, like playing the work of great composers or reading the work of great authors, is also useful.
Overall, programming is no different from learning any other skill. You must write a lot of code frequently, but you must also explore and understand the work of others.
No matter how good you are at actually writing code, your ability to communicate with other people will have a large impact on your career. To succeed at programming, you have to be able to present your ideas clearly and collaborate with coworkers and clients. Writing, speaking, and advocating for yourself are all necessary to advance your career.
Paul Graham, the founder of the Y Combinator startup incubator, has championed “bottom-up” programming for years. In his classic essays and books on software development, he talks about the benefits of bottom-up programming in addition to top-down development.
His argument boils down to this: instead of starting from a design document and working down, build up the language and tools to describe your actual problem. Once you have built the perfect way to express your ideas in your problem domain, you can succinctly and elegantly solve your problem in a maintainable way.
Although the fundamental paradigms stay the same, the field of programming is constantly moving. New languages, technologies, and platforms pop up every year. To stay relevant, you have to stay on top of new developments. Otherwise, you’re pigeonholing yourself into outdated concepts and technologies.
Getting really good at programming is anything but easy. However, with a growth mindset, lots of practice, and a willingness to accept mistakes, anyone can take their programming skills to the next level. We looked at specific ways that amazing coders distinguish themselves from their competitors, but the general themes of mindset and experience will help anyone, regardless of skill level, improve their coding abilities.