Ask HN: What Makes a Great Developer?
A little context. I'm currently a junior in a middle of the road state university studying for a degree in software engineering. I have been doing a lot of reading - whether it be comments on Reddit, articles, etc - and it appears that there is an abundance of junior developers looking to enter the job market, but very few "good developers".
My question is, what is it that sets someone apart as a good developer? I know this question is very vague but it's also very vague whenever I see it used.
Thank you for your time.
4 comments
[ 2.9 ms ] story [ 17.4 ms ] thread(Note: This is based almost entirely from working in small software agencies and startups. It might be very different in bigger companies/teams where you get less ownership of a whole problem domain.)
https://www.google.com/search?q=site%3Anews.ycombinator.com+...
Based on my experiences in many different teams, I would suggest two critical attributes:
1. Strong knowledge of all core principles: computer architectures, operating systems, networking, etc.
2. Solid domain knowledge, e.g. supply chain, accounting, insurance, industrial control, etc.
Naturally a "good developer" is also conversant with several programming languages, frameworks, libraries, etc. But technical skills without domain knowledge limits opportunities.
Other than that, I would say specializing and getting great at one or two things at a time (e.g. "C" and 3D graphics). Finally also seeking out exposure to other programming environments: languages (functional, lisp, etc), frameworks, frontend, backend, realtime/embedded/IoT, shrinkwrap, verticals.
It all comes down to experience. The closest thing to a shortcut is forcing yourself to do things outside of your comfort zone. Surround yourself with people who you can learn from and do so without ego getting in the way. Pair programming to pick up little tips all the time that you may never see written anywhere.