|
|
|
|
|
by Shengster
5115 days ago
|
|
It seems the general consensus is that a great programmer can write better quality code in less time than others. This requires a high level of aptitude and experience (which comes with practice). However, I feel the ability to write quality code quickly is just one facet of a great programmer's skillset. Often overlooked is the ability to communicate and collaborate with others effectively--which is just as important. With complex projects, I oftentimes find that the solution to my problems has already been solved. Sometimes the best code is no code at all. |
|
I would argue that this presents several sub-skills:
Being able to do this quickly b/c you don't have to spend the time learning
Being able to do this effectively -- by not painting yourself into a corner b/c you well versed in best practices and anti-patterns with using said 3rd party technology
Being able to do this smartly -- because you are well-versed in a lot of the different options, you can effectively way their pros/cons, and make smart decisions on which 3rd party stuff to use, and when to build vs. buy
I think these skills are more effective (towards your end goal) than simply being able to quickly code some brilliant labyrinth of an algorithm in less SLOC than a 1 or 2-xer. I feel like the emphasis is always put on the latter, and these skills are overlooked.
Combine these with effective communication, and then you are talking about someone who can get things done.