If you are reading this article, you probably care about becoming a better developer and producing at a more efficient rate. It is not always clear, however, what the best means of measuring performance in this field are. Unfortunately, number of dev.to articles consulted hasn't (yet) caught much speed as a reliable performance metric — but there are some existing measurements that can be explored.
As part of their 2017 Developer Survey, Stack Overflow asked users to pick the most important ways to evaluate a project:
While these results aren't groundbreaking, there are still some neat trends. Developers serve the customer (72%) and the product (41%) before sales numbers (28%), perhaps with the understanding that perfectly good products can underperform financially and vice versa.
They also value efficiency, and for that reason questionable counting statistics like "Lines of code" (6%), "Commit frequency" (9%), and "Hours worked" (16%) aren't that highly valued. In terms of impressing the right people, devs trust their immediate peers (55%) more than their superiors (36%) or even themselves (35%).
So how do you make sure to hire people that will execute on these priorities? The survey also asked how employers should recruit and evaluate potential hires:
Interestingly, the top two answers, "Communication skills" (4.10 on a five-point scale) and "Track record of getting things done" (4.09), aren't usually explicitly quantifiable criteria. They're also things you can get across before even getting an interview using a strong resume or cover letter, respectively. Of course, hard skills are also very important, as we see knowledge of algorithms, data, and frameworks filling out the next two top spots.
Once you've picked the right people, you need to ensure they're collaborating effectively, which is why Stack Overflow also asked about favored development practices:
Of the three questions, there's the least parity in this graph. The majority of programmers appreciate the speed and flexibility offered by agile methods (77%) and scrums (65%) over older school approaches like waterfall (27%) that can feel slow-footed and unresponsive in today's accelerated environment.
In total, this section of the survey serves as a drive-by blueprint for getting things done. Hire programmers that communicate well and have documented successes with the right tools; allow them to iterate often and adapt quickly; and worship the customer or user's experience while understanding time and budget restraints.
It's almost as simple as...
Top comments (4)
We use "tasks completed" which is somewhat unfair. My team works on tasks that are very complex and often involve 3rd party integrations and hardware, (is it the hardware? No. Is it the data? No. Is it the Interop library? No etc). There are other teams that mostly have config "tasks", i.e. (Set customer X to Y flag, set customer J to B flag, change address for Customer S, etc)
So we always look like we are struggling and everyone else are "Rockstars". 😢
Thanks a lot for the article, very interesting and very helpful !
I've notice that communicative skills are very important if you want to become a better develloper !
I came from a french environment, but i aim for working in English environment, so how can I improve my communicatives skills?
Thanks a lot for the article, very interesting and very helpful !
I've notice that communicative skills are very important if yoy want to become a better develloper !
I came from a french environment, but i aim for working in English environment, so how can I improve my communicatives skills?
I think the best thing you can do is try to not make many as many grammar / spelling mistakes. Be honest, but professional. Having good communication skills means being a good people person, really.