Ask HN: What constitutes a "Senior Developer"?
There's been a few threads on hiring recently, and I've been a little surprised as to what constitutes "senior developer" status in some peoples' minds.
Do you have any particular criteria you use when applying that label to someone (or yourself)? If someone refers to themselves as a "Senior Developer", what characteristics do you look for right off the bat, whether in a resume or face to face?
11 comments
[ 1.9 ms ] story [ 34.8 ms ] threadI've worked with junior/mid-level devs that are amazing and senior developers that couldn't string three lines of code together.
Turns out the extra ink on business cards is free.
First a large app under their belt, one in which they held an architecture type role and designed the system.
Second, full stack knowledge, if they are doing web, that means HTML, CSS, JavaScript, a REST API and back end language, and a database technology.
At this point I would consider them a Senior but specialized.
Once they know a few different options for each part of the stack I would consider them to be a senior. For example knowing Dojo and jQuery for the client, Node.js, ROR, and Java for the REST layer and back end, and several relational and or NoSQL datastores.
In addition to that, they should know how to administer the infrastructure that comes along with those stacks. Such as web servers, virtual etc.
Finally, they would have a SCM pattern down that works for them, they would have a issue tracking, source control and documentation pattern that they can adapt to projects.
To me those are the marks of a Senior Developer, but those are only the ingredients a senior has to be able to parlay that knowledge into leadership and creativity.
Personally, I'd done all those within 5 years (with one system I'd built and administered almost from scratch doing north of $500 million in revenue per year). But... I'm not sure I'd have called myself a senior developer at that time. I think others did for job/work purposes, but I didn't self-identify with that term.
I didn't feel comfortable calling myself a sr dev until I'd been able to repeat the earlier successes multiple times over a few more years.
But... maybe that's just me.
Meanwhile right brained individuals posses a high creative capacity due to completely foreign ways of processing information (AKA thinking out side the box, I know I hate it to). Anyways, a lot of the big leaps is human knowledge have come from right brained individuals, specifically ones who have a particular bridge that spans both hemispheres.
By creating these puzzles you are guaranteeing that you will eliminate a good deal of creative candidates in favor of deeply technical candidates. Right brain dominated individuals will generally look to eliminate the problem along with the solution, people that can look beyond what is being asked and envision a different way of doing it all together. Think of puzzle solving as linear logic and cross it with creativity so they form an X, what you want to hire for (at least in web and mobile) is someone smack in the middle of the X. What code puzzles and trick questions do, is get you someone who sits on the top corner of the linear logic line in the X. All you get is someone with knowledge of how to solve puzzle games and trick questions.
On a personal note, I started researching this stuff because I am left handed and wanted to understand why I see things so differently from other people, and I started to draw the parallels in development. For example, when I see a puzzle, I don't try to attack the problem, I reflect on the nature of the puzzle, I try to understand why completing the puzzle is necessary, and the solutions to puzzles don't come to me through a liner process of working the problem, they come from reflection on the separate components of the problem. Many times, I will wake at night from an abstract dream that possess the solution. The way right brained people reason would be totally foreign to a left brain dominated individual. Also a big disclaimer, I am not involved in neurological sciences, what I understand of it, I gained from reading, I am in no way an expert in the subject matter, so please don't hold me out as one, there could be and most likely inaccuracy's and generalizations in my observations.
As for CS, I don't think it is that important in the web, I think creativity and experience trump it. For the sole reason that anyone can be taught it after the fact. Further having one guy on the team that has a deep understanding of CS problems, provides the coverage most web teams need. A good deal of senior level guys, know to go to the strongest algorithm guy when they need something to be efficient. Most of the time though in the web, we are gluing together prebuilt API's to create new business ideas. That is not meant to disparage web development, it takes a great deal of skill, it is rather meant to highlight that there is a huge gap between the skills people test for and the skills that are truly required. I always hold out Goggles hiring process as an example, I believe that their inability to innovate in the market is directly tied to their hiring practices, it is almost a case study in how to eliminate right brain dominated people from your organization.
Please not my observations only apply to web and mobile, I would not make the same recommendations for say, a medical device developer. It is a different field and has different needs.
To me, deciding on whether someone's a Senior Developer depends on few things:
1) How much experience do they have in a stack similar to mine?
2) How much of their time would be spent learning versus doing?
3) How much of their time would be spent doing versus teaching?
Juniors learn a lot, Mid levels do a lot, Seniors teach a lot. Everyone's a doer, but the difference between a senior and a mid level is that the senior takes on the additional responsibility of teaching.
The next level is Lead, which is doing, teaching, and being held accountable for others' success.
I'm 35 and still not considered a senior developer (although I mentor two junior guys). This is due to the fact that I get things done, something very bad in the corrupt Greek state.
Cheers, http://www.nkavvadias.com/hercules/