Hacker News new | past | comments | ask | show | jobs | submit login

Agree -- also one of the most under-rated skills is someone who keeps up to date on all the latest frameworks / libraries, etc. More often than not, you're building something that solves a unique problem and you do that by stitching together pieces of other people's engineering.

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.




I think you came close to the biggest differentiator: adaptability. Great programmers can dive into a new technology and use their past experience to quickly gain competency in it. If I hand node.js to a great programmer, I expect that he/she will be able to start being productive with it in just a day or two. Lesser programmers struggle to apply their past experience to that new paradigm. It takes months for them to truly get comfortable.

That type of agility is hugely helpful in an organization.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: