my post and thoughts about what is a Senior Developer

So i've just written a post measuring myself according to Programmer Competency Matrix, and i know this matrix for a long time and its a really awesome matrix to test for a highly technologically skilled developer, i think that a real senior is something even past a Team Leader, and for that i'll try to build my own matrix, and comment be about it :D.

Some of these thoughts you can read from some links i collected here

p.s. IMHO anyone that is intermediate in in all skills can be a great Team Leader, since the main thing about being a TL is the mentoring and grouping part. I see many TL that are noobs/juniors in many of these fields.

Don't think i am anywhere near senior, am a "proud" junior trying to advance into mid, but i take a look at a couple of real senior @work and this is more of my observation about them and after getting pounded by their feedback.

skill noob junior intermediate senior
tech skill - measured by Programmer Competency Matrix 0-30 30-50 50-70 70+
human skillsunaware of his severe lack of skillsaware but cant understand how it will take him forward in his careercontinuously learningable to read people, giving them what they want to hear while saying what they need to hear, is wanted in all meetings
time table cant manage a time table, need to be nanny-edcan manage his own time per taskcan manage his own time for multiple tasks and help / prepare / nanny otherscan manage the entire project, including spec, QA, deployments, surprises, ect., can expect realistic delays
task managementcant manage more that his current taskcan manage few parallels taskscan manage most tasks that matches his skills-set in the project, to a limitcan manage the entire project, including .....
mentoringcant even accept helpable to accept helpable to give good productive helpable to identify the real backset of the other and give him aimed and specific help (able to say dont learn this)
profession / code skillsknows about his code onlyknows what is happening with system around his code, both framework, server, ect, and whatever the team has make and can understand the impact on his code and react accordinglylike the former but can also plan ahead and even take use and advantage understand everything around the code and the project, knows IT better that the IT guys, can plan the project according to the hardware
methods / patternscan code only strait forwardknows about them yet still competing which is bestused multiple and knows that there is no best, only appropriateable to understand a pattern from reading, knows to choose the most appropriate per project
businesscant relate business to his workunderstands that someone is paying and able to  adjust a bitunderstands that the money in the final say and able to adjust accordingly by demand (doing it "less best practice")completely aware and design all work according to budget
QAblames someone else for his wrongs ("you didn't tell me to do it like this")hate QA since he is still unable to connect his wrongs to the bugsdoesn't hates QA anymore and is implementing bug fixes as lessons to himselfafter QA cant find any bugs he teaches them that real QA should test the flows and he adds smoothness to that
self-estimationthinks he can handle the entire project, hard to learnthinks he knows best, able to learn after hard failureunderstands he is a junior, able to learn from anythingcan handle the even he can handle the project ect. he is still always exposed to mistakes ect., is asking for help and second opinion, able to learn without a cause (like bug or feedback)


Popular posts from this blog

Asp.Net Ending Response options, Response.End() vs CompleteRequest()

c# Service Play Sound with NAudio example by Moshe

JS/JQ simulate Enter event