Add to Technorati Favorites

« Web Site Top 10 Things to Consider! | Main | The One Minute Software Development Manager »

August 11, 2007

How to Rate a Software Developer

15 tips to getting the promotion you want, and the salary increase you will deserve!

How do you rate a software developer?  That's a fantastic question!  There are so many theories out there, and there are so many forms that HR teams try and come up with to help you conduct performance review.  However, what really makes a great developer?  And if you are a Software Developer, how can you improve your career today!  Below is my bible for rating the developers on my team.  By following these tips and rules, you will improve your status from "good developer", to "great developer"!

  1. Time spent writing great code
    It's not about the quantity it’s the quality!  However a twist to this is: It is about the quantity, and the quality.  Far too many times you will get one of two scenarios. 

    In scenario A, you have a developer that pumps out code like mad, things seem to be working... then bugs start happening, you don't know why, seems to take forever to fix!  Or they fix 10 and cause 5 more!  But you get a lot of code...

    In scenario B, you have a developer that seems so smart!  You interview him and he knows everything about everything, can speak the theory up and down!  Yet for some reason, you have assigned him three features, and three weeks later, he is still working on something that should have been done in 3 days!  You are so confused!  He is so smart! He knows everything about generics, multi-threading, and can explain pointers to your grandmother and make her excited to want to code! Why is nothing getting done?!

    In your dream scenario, you get great code!  Great code is done by a great developer that is super smart, knows what quality code is, and writes code like Tony Hawk rides his skateboard.  It looks so natural!  He or she is almost entertaining to watch!  They also get it done at blinding speeds!  They know how long each problem should take, and do not get caught up in finding the world’s best solution, that has multiple threads and layers, to write a game of pong.  Bugs are nonexistent because they write unit tests for themselves, and just plain can code in their sleep!  These guys are worth their weight in GOLD! 
  2. Interpretation of the problem
    So there is a problem out there, with millions of ways to solve it.  Some people are just natural quick thinkers and can come up with multiple solutions instantly.  However, what a great developer would do is totally define the problem before doing anything!  A great developer will create a document or whiteboard the problem out.  They will email their managers and say things like "Can we meet so I can explain to you how I understand the problem?"  Next they will start giving you various solutions, etc.

    See, a great developer knows that the way they see the problem and interpret the problem, is probably not the way that the problem creator intended it to be understood. This is a key point, commit this to memory! A great developer will want to understand it fully, before attempting to approach a solution.  Do you understand the problem 100%, no?  99%?  Go ask more questions and be sure you are 100% clear!
  3. How the problem is approached
    So once you have clearly defined the problem, you start coding right? Wrong!  A great developer will look at the layout, and start thinking of various options, and based on the problem, will start thinking about the best approach to solve the problem.  I view this like a game of chess.  You can know how all the pieces move, know all the rules of the game, but do you just start moving?  No!  You analyze the board, come up with a game plan, look at your opponent, and look at what he or she usually do.  It’s the same case when you approach a problem. 

    Look at the problem, figure out what the outcome needs to be, what kind of time you have, the quality being expected, the tools you have to work with, etc.  Then, start solving the problem. 
  4. Confidence in code
    As a manager, how confident can you be in their code.  Some developers you can say "I need this completed by Friday"  come Friday, you get an email saying "I have checked the code into the branch, it is ready for testing" and you  just know that there will be very little, if any, bugs found by the quality assurance team.  On the flip side, there are some developers that will email you instead and say "I am still not done, and it will be done on Monday morning first thing."  And you are nearly 95% sure that it will be there, however it will be ridden with bugs, and basically unusable for days, if not weeks, until bugs are completely ironed out of the code. 

    Bottom line: The higher the confidence you can have in a developer, the closer they get to being great developers!  Imagine being your manager, and the weight you lift off their shoulders if he doesn't have to worry about your code!
  5. Confidence in the solution
    It's one thing to be confident in the code.  If you have a great developer on your hands, you are confident in the solution.  These great developers will be great architects.  They are able to dissect the whole problem, and figure out how the problem needs to be solved. See it’s not just about coding with great code, it’s also largely about how you architect the solution!  This is a key point, and really what separates the good, from the great in the software world. 
  6. Meets user requirements
    At the end of the day, you can have the best code, and the best solution possible, with all the best architecture, but does it meet the user's requirement?  It's possible not!  And you have completely failed.  Now there are various degrees of missing the mark, but a great developer will hit the bull’s-eye consistently!  They find out exactly what the user wants, come up with a great approach, show the user what they will get every step of the way with weekly builds that have no bugs, and continue to build upon the last version.  Requirements are bang on, and the users do the jig!
  7. Staying up to date
    Great developers are constantly updating their skills independently and proactively!  They thirst for new knowledge and perfection like a cat with milk.  They don't wait for their managers to come to them and set goals, ask them to take courses, or are given books to get up to speed on.  They go and get these things on their own! 

    They find the conferences they want to go to, and send emails like "I would really love to go to Tech-Ed This Year!  I will learn <insert reasons here>, and I will be able to contribute to <insert projects here>.  I foresee this saving us <money/metric reasons here>.  If it's at all possible, can the company help me pay for this trip?”  If someone sent me this, I would not only help pay, I would pay the entire trip! 

    Great developers are always attending all the user groups, like a .net user group for example, or a Java user group.  They go to the "free local" meetings, and do whatever it takes to feed their brains!  Do you read all the latest blogs and magazines?  List your top 5 favorite development blogs right now!  Can you do it? You should be able to drop them like you can do the actions to the YMCA!  Stay up to date, it will stretch your mind!  You will have the next big idea!  You will be rewarded! 
  8. Contributes to team
    You can be one of the best, if not the best coder, architect, most brilliant guy on the team, but as far as I am concerned, if you are not able to share and contribute to your team, you are losing about half your value, if not more!  A great developer makes others great around them! See, a good developer keeps getting better and better, but doesn't share the knowledge they obtain, or how they obtain it. 

    They learn new things, find out about new technologies, but don't let anyone know about them!  A good developer finishes their projects on time, but when push comes to shove, is not there for the rest of the team.  A great developer is in touch with all the projects that are going on within the team, and is ready to lend a helping hand when needed! They will say things like "I noticed team A is working on <issue>, and I think I can help out, do you mind?"
  9. Makes great meeting minutes
    This is incredibly important!  There is nothing worse than calling a meeting, taking the time to explain new concepts, new ideas, brainstorm, come up with great designs, and not have anyone taking meeting minutes!  Even if you have a designated meeting taker, I want to see everyone showing up with a pen, and paper (developer notebook is preferred).  A great developer takes great notes!  They write out all meeting minutes, and at the end of the meetings can be heard saying "So just to confirm, my action items are:  <action items here>.  Did I get everything?” 

    Next, a great developer will send their meeting minutes to the manger, listing the date of the meeting, the topic, and attendees.  Following this, you will have the action items at the top, with who is the champion of the item.  Below that, you have the detailed meeting minutes.  A good developer, takes no meeting minutes, says yes every time you add something to his list... and hopes that his memory will serve him well.  He then later emails you to check out his changes, and you cringe as you see he forgot a few things, but got 90% if it correct.  This is a HUGE WASTE of time!  For no reason at all!  Take Great Meeting Minutes! 
  10. Teachable and takes criticism well
    If you have read this far, then hopefully you are taking all this in and will be trying to implement some of my suggestions in your day to day development efforts.  See, another key area is the developers’ ability to learn from others, and take criticism well!  By making yourself a teachable person, you turn into a sponge, and absorb enormous amounts of knowledge faster!  Your seniors are there for a reason!  Sure, they might be rusty at day to day coding, but they have gone through the trenches, and been through hundreds of battles, and have the wounds and scares!  They have the "Blink" instinct to make great decisions, and make you great!  They are in the position they are in because they LOVE to see you succeed, and want to make you grow! 

    Of course, this is the ideal work environment, but that's where you want to be anyway if you are a great developer!  I absolutely guarantee you, and promise you, that the better you can improve this skill, make yourself extremely teachable, make notes on suggestions and criticism, and make a point of improving them, the better chance you have at becoming greater than you have ever imagined possible!  If you on the other hand, choose to think of yourself as "elite", and have nothing more to learn, you will always be stuck where you are.  If you are not growing, you are not even staying at status quo, you are dying!  Grow! 
  11. Always available when needed
    This is a give and take.  If you are working for a great company, they will be flexible with you.  They should never question doctor’s appointments that you couldn't schedule after work, start times, end times, or lunch breaks.  They should encourage you to go to the gym at lunch, pay for lunches when you go out with the team, etc.  They should give you a few days off after some crunch time work.  This list goes on and on. 

    However, with all those perks, comes responsibility, no question!  If it’s crunch time, a great developer will suggest to you that he will come in on the weekend if needed.  They will stay as late as possible and as late as is needed to ensure the job gets done!  See, great developers take responsibility for their creations!  Now, this is not a necessity of course, but it is the mark of a great developer. Some people just want the 8-4:30, and will be good developers, but they will never be great. Great developers are team players to the end, and view their work like art, and view their team, like a family.
  12. Dress's professionally every day
    You never know when a client will come by on a tour.  You never know when you will be called into a meeting, not everything is planned.  And when that time comes, you have to be ready to dance!  A good developer wears normal clothes Monday to Friday, even stretches it with black jeans, and runners that look like dress shoes.  On casual Fridays, they wear shorts, runners, and a T-shirt.  When the tour comes by on Friday with a new huge account, you can’t call on him to join you for lunch because he is not dressed appropriately.

    A great developer dresses in great business clothes Monday to Friday. They dress for success!  See, by looking the part, you become the part!  Of course, if you have no skills, you will not be promoted to a manager or team leader just because you dress sharp.  But if you have great skills, and dress in a suit and tie, you have just catapulted yourself up in rank, no question.  The 400 dollars you will spend on a decent suit and tie will pay you back within the year.  I promise you! 
  13. Communication Ability
    This is another critical category!  There are so many good developers out there, but there are not a lot of great developers.  Why?  Because a lot of the good developers, are terrible communicators.  There are many levels of communication, ranging from email, to small SCRUM meetings, all the way up to large executive meetings and your ability to contribute at the executive level.  Then you get to "The Show" where you are presenting for hundreds of people, showing off software.  While you don't need to get to the final stages, you need to be able to at least communicate your ideas clearly and effectively in meetings.  The better your communication, the farther you will go. 

    Bottom line:  If you want to be an executive, you have to be a 9 or 10 at communication. Even when you take meeting minutes, or send out status reports, you need to communicate extremely well!  Don't just say "I fixed bug 1371" on your daily report!  Show off; explain how hard it was to solve the problem, how long, or how quick you solved it!  Explain the technology you used!  And explain how you will ensure the problem doesn't happen again.  Your status reports should not be a bad thing you don't like to do!  They should be an exciting part of your week where you get to show off to your manager!
  14. Goal Setting Skill
    Good developers can get things done, and go throughout their day to day by doing what you tell them to do.  They don't really think far ahead and think of what they want to be doing in a year, five years, or even 10 years.  Some good developers know what they want... but have no real plan to get there!  A great developer has the goals for the year, the next five years, and knows roughly where he will be in 10 years.  

    Great developers also take it to the next level by not only thinking about their goals, but also visualize it!  They can see exactly what they will be doing in five years, to the level of where they will be doing it.  Even more, a great developer will create a detailed plan for his next year, complete with courses he will take, projects he will complete, and relationships he will build. 
  15. Organizational Skill
    The final key component that really brings everything together is organization.  You may be the best developer in the world, but if you are not organized, you will fall apart and become bogged down!  Eventually you will be overwhelmed and start losing your edge.  Great developers keep an extremely clean desk, they keep all their notebooks, and write very clearly.  They print out their daily outlook calendar of meetings and tasks.  They have an inbox process to deal with emails, meetings, and new assignments.  They keep file folders and can instantly pull up projects, meeting minutes, and other details when asked to produce them.

Bonus Tip:  Passion!
One of my team members read my post and reminded me of something that every single person on my team has in buckets!  Passion!  Without passion in what you do day to day, you will not be a great developer, or great at anything for that matter.  Lack of passion is the number one reason so many developers never become great!  It is also the number one reason people do not succeed! A passionate developer will outperform even the best technical developers if they are not passionate about their job, their role, and their project.  Think about it, if you have read this far, are you going to make an effort to make all the changes I listed?  They seem simple, but without the passion to do these things, are you really going to commit today and be successful?

So there you have it!  These are some of the key principles I am using in rating my development team during the review process.  Mind you, I provide my team members with the best environment I possibly can, and in return I want great developers!  And they want to all be great developers!  You can use these rules to rate your developers, or if you are a developer yourself, please use this list to make changes if needed, and catapult your career past your peers! 

Follow these tips, and you will get the promotion you want, the increase you have been waiting for, and you will overall be happier with your achievements!  Try it out and post your results in the comments below!  I'd love to hear from you!  Also if have other points you think I should add, let me know!

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/820340/20755538

Listed below are links to weblogs that reference How to Rate a Software Developer:

» Metagg is tracking this post from Metagg
Find out what Social News Sites are discussing this post over at metagg.com [Read More]

Comments

This was a very great article! I am very early in the real world developing business I see the real value of these 15 points. I was happy to see it was written well enough to take into account what the reader might be thinking, at number 10 you wrote:

"If you have read this far, then hopefully you are taking all this in and will be trying to implement some of my suggestions in your day to day development efforts."

I can't name a single addition to your list. Nor can I identify anything in list that I would improve. Although I think with more then half of a year experience I would beable to view this list more critically, I think you hit everything right on the head. I see some room for improvement in my work and also I see many of these characteristics in myself and many of my co-workers.

Exceptional article! It is very uplifting to read.

Thanks for the fantastic feedback! I always think to myself "If I can get across to one person, then its worth the time it takes to write the article". I hope there are more great developers out there like you! Good luck on your journey to GREAT!

One thing I would like to add to your blog post is not just quantity and quality of work is important, but also the SPIRIT the work is done in… by spirit I mean whether a developer is excited and full of energy or the opposite: sapped dry of the stuff.

Great comment on Spirit! I have added it to the list!

As far as the spirit the work is done in - I frequently start off being excited about projects. Occasionally that will last, more often it doesn't.

The reason: poor management. I'm not elitist, but I hate constraints that don't have a good reason for them. Things like (I'm a web developer) design for 800x600, it must work in IE6, and be identical, it must print exactly as seen in the browser, you must use only standard PHP4 techniques... it's enough to rob any developer of their passion for the job, and that's what I'm up against.

I'd love to work for a company that isn't afraid to try new things with the intention of learning to make better software. I'd love to not be held back constantly because my line manager has no idea how to use modern techniques.

But yeah, before I keep that up, this blog post was very well written and I thank you for it. Many of these points I already follow, others I can see where I might not be performing as well as I could.

Hi Tufty,

Your comments I'm sure are common across a lot of developers. I would say keep up the good fight, and one day you will be rewarded by landing that awesome development job where you are encouraged to spread your wings and see how far you can go!

Unfortunately a lot of developers settle to work in bad environments that they are not happy with. Never settle, and never look back! Always look forward!

Miguel Carrasco

Miguel,

Thank you. As long as I know people like you are out there fighting the good fight for the better of software development, I guess I can stick it out a little longer until I'm able to land that great job myself!

Tufty

most of these are very good points, particularly what you say about great developers taking time to analyze the problem. business people generally do not realize that around 80-90% of development is thinking and planning. everyone needs to understand that most good developers are not going to sit down and start coding right after you explain the problem to them. (although i realize this is the tendency in prototype-driven development processes.)

the one thing i disagree with here is what you say about how a developer "dress's". if you EVER tell a developer how to dress, s/he will always resent it. developers tend to have personalities that evaluate everything based on competence and results. we tend to filter out things that "don't matter." (unfortunately, this leads to lots of developers who don't bother effectively communicating their thoughts.) dressing to impress a business person is not something developers, by nature, want to concern themselves with...because it's not relevant to the end result. look at google, or apple (where people used to show up in bathrobes), and you see how completely irrelevant dressing up is to "great developer." managers look at things from a different perspective, but they should really try to see it from the developers' perspective. if we are going to meet a client, we want them to be impressed with our skills and our understanding of their problems, not with how shiny our shoes are.

GREAT developers tend not to work at companies that emphasize dress code...because they don't have to. great developers will get jobs at companies that understand their priorities and let them dress how they please.

Whether rightly or wrong, dress code makes a difference. I came from sales (back) to development. One thing I did learn in sales is how people make a decision about you within seconds of meeting you. This is done mostly People by your looks.
You might not like it, but if you want to make a professional impression on your manager and clients you better make yourself look the job, especially if you want your manager to dare put you in front of a customer.

Hi Tufty and A. I agree that developers tend to want to dress how they please. After all, this is our personalities we are talking about! However, if you do want to make a great impression and get promoted quickly in 95% of the environments out there, dressing the part is crucial! Again this article is about getting that awesome promotion you deserve. Dressing for success is something I learned once I became a manager and later a VP of Technology. Dressing the part was a large reason why I was promoted, no question. Did it have anything to do with my programming skills? Not at all. However it did make the senior teams take me much more seriously. For example, I love Martial Arts, and used to wear Karate competition t-shirts year round, with track pants, etc. I could not expect to be brought in to speak to a client, and in turn, move my career forward, dressing like that.

Like A says, rightly or wrongly, how you dress, how you groom yourself, is a HUGE reason for your success you achieve. Plus, put a power suite on, and you will feel the difference, even though you might not want to admit it!

Even at all the Web 2.0 companies, whenever they want to make a serious impression, they dress up, no question. This doesn’t always mean a dress shirt and suite, but you have to dress the part! Look at Steve Jobs, nice black turtle neck, nice blue jeans, expensive, clean runners. Or how about the Facebook CEO Mark Zuckerberg at his last huge event? Sure he wears casually clothes to work, but push came to shove and he was presenting, he was dressed to the 9's!

My passion is developers, and I love all their personalities. By all means, if you don't want to change your look, don't, and find a company that will love you for it. However, it will be 100 times harder for you to get ahead, compared to the guy that dress's for success. No question!

Agree with most here (it's common sense, really), except:

"Some people just want the 8-4:30, and will be good developers, but they will never be great. Great developers are team players to the end, and view their work like art, and view their team, like a family."

If you have a family, you need regular hours. Period. I agree that when it's crunch time, you have to go all in. However, some places make "crunch time" the norm. Read the article from "Best Software Writing" about 90 hour weeks at Electronic Arts, then comment.

Seems like you've had a pretty good situation, but realize many folks don't. With outsourcing, even people with good situations are afraid to set boundaries with their employers.

Anyway, good list, and I like your enthusiasm!

Tufty beat me to it, but far more important than any "great programmer" checklist is that the person should fit in well with the team. The mythical great developer described in the article is too many things at once. I'm surprised the last item didn't say "gives great head". I think if you find a developer that does everything, he's either terrible at job seeking, or he's going to get YOUR job before you know it.

Development is tricky to manage in that it is a very solitary type of work. No two people do things exactly the same, and it can be difficult to meet in the middle. So without further ado, here's my list of important developer traits:

1. knows how to (not) deal with clients

A coder that says "Yes" to every whimsical client request is not a coder, he's just a sales guy with computer skills. We are technology facilitators, we should be like architects, taking our client's wishes into consideration in our designs but still retaining control over our work. Nine times out of ten, a small project grows into a complete mess because the client tries to run the show, and they have no concept of what's reasonable. To an end-user, a developer is like a Star Trek replicator... if they can get their hands on one, they will abuse it until it breaks.

You need a buffer person that protects the developers from the clients and keep things moving forward.

2. honest about their abilities

A coder that says "Yes" to their boss/team-lead all the time is either omniscient or suicidal. In a field where everything changes on a daily basis, you can't be expected to know it all. What's far more important is to have the discipline and motivation to fill in the blanks when needed. I hate it when I see people looking for / advertising as a "Java programmer" or a "Perl programmer". A programmer can pick up a new language with relative ease, the concepts of software development are pretty common across them all. Does your mechanic work exclusively on Red 1993 Honda Accords ? I sure hope not.

3. your developer's skills and experience have to match your project requirements, without exceeding them too much

Read that line again. The very worst thing you can do to a developer is stick them in a role where they are overqualified, and let their hotshot skills rot away. Save that VB app for the college dropout or the handlebar-mustache idiot consultant. A developer who is starved of challenges is an unhappy developer, one that will either leave your company, or slowly atrophy until you get exasperated and fire them. Would you (as a manager) want to waste away in the mail room removing (and counting!) staples all year round ? No. So why should your technical elite be doing repetitive grunt work ?


These things are hard to spot in an interview. They must be, because most companies suck at hiring developers. The hardest part is getting the first one. Then once you've scored a great dev, bring them to interviews and let them help you pick their sidekicks. HR probably can't tell a brilliant coder from a laptop-wielding monkey, but a programmer can sniff them out a mile away.

Hi Bill!

These are fantastic points thanks for taking the time to add them in! You are right, its nearly impossible to find a developer that has all these qualities, but it's great to set your goals high!

I love your points as well! I hope a lot of developers get a lot from this article and the comments.

To the other post, I have a few friends that work at EA, that's just a bad situation all around, everyone is being taken advantage of there because its "EA". If you work their and need a great job, send me your resume! lol. You deserve a change!

Hi! First off, great list/article. I wish more managers/execs had the same knowledge of developers. That being said, I must also disagree with the "dress for success" item.

Sure, if you would like to be an exec/mngr someday, then I think it is important that you dress the part. However, I'd hazard a guess that most developers out there don't WANT to be execs/mngrs. When developing, it's important to be comfortable, not stiff and sweaty. You could argue that there are plenty of comfortable suits out there, but I bet it's not as comfortable as my shorts, t-shirt, and sandals.

Also, I don't think I'm alone when I say this, but when I am developing I tend to sit in many many different positions including indian-style on my chair or feet up on the desk. Dress clothes are not conducive to these positions.

If you want your developer to wear nice clothes when speaking to a client, be a manager and plan the meeting in advance, then tell them to come in that day wearing nice clothes.

Let your developers wear what they want, wear headphones, have crazy stuff all over their desk, and create their own little world where they can feel comfortable and think clearly. They will love you for it.

simply big thanks for this greate work

I am also on the side of the fence who believes that wearing in dress-clothes ever day is simply a burden for developers. I made a counterpoint on my blog that takes into consideration that there are still times where a developer should dress-the-part. Though, managers should keep in mind that developers wont be as comfortable, and possibly less productive if they are in dress clothes every day.

Miguel, Good article. I enjoyed all your points. Even the one I disagreed with. But that's the whole point of writing isn't it? To spark interest and conversation.

Hi Cory,

Thanks for the comments! Glad you enjoyed the article! Good points on the dress-cloathes! Lets keep that debate open for sure!

Miguel

Great article! I liked to read and _visualize_ these points. They not only describe what is needed to be a great develpoper, I believe they could be applied to any worker these days.

On the other hand, these points can serve as a guideline for managers as well. Each of them should ask themselves: Can I cope with a developer/team member who follows these guidelines? An I think in many cases the answer woule be No!

Especially when it comes to the second point (yeah, that early on the list!) I made the experience that asking "redundant" questions or redefining the problem from the developers view is perceived as weakness. A team member who asks such obvious questions seems not to be able to understand the problem described to him.

Also, keeping up with several blogs, writing whitepapers on topics which have been researched and keeping up with new stuff is often not part of the work, but to be done in the spare time.

I like the ideas you display in these 15 points, but I believe that the task is for both sides: A gread developer needs a great manager, too.

It's a really long article for a foreigner,but it's really helpful for me,thank you!

damn good article

I throughly enjoyed the article. I too tend to disagree with the "dress code" issue. This article does seem to be written from the point of view that all great developers want to "move up". That's not necessarily true.

I have ran the gamut of simple little programmer to Director level to pretty much top tech dog and back again. Once thing has shown through -- my work. Sure, some people may have talked with me sooner if I had been in a suit, but by in large it has been my skills that make me valuable.

I don't throw off any dress code when I work at a location, and conform to their wishes. But when given the choice I do jeans and t-shirt. Here's another "view" on "great programmers" and one I tend to subscribe to:

http://www.plethora.net/~seebs/faqs/hacker.html

Thanx,
Matt

I have followed all the above 15 very well in 6 years of my professional software development career. I have had good promotions or salary increases, but only after switching jobs :p. I think these points will definitely increase performance, but they don't guarantee performance recognition or acknowledgement

Great Article .
Few points I had followed in my carrier but not the all.I have few points

Most of the great developers are grown under the Great Managers .Due to improper planning or improper study did by my managers. I receive frequent changes which sometime make me to think bad about my coding itself. What your opinion in this issue . Whether the managers plays an important role in the making great developers


Its about the 8:00 - 4:30 point again.
My manager sometimes get annoyed but I hate to be
available all the time as he wants me (..like in messenger when i am home). In the name of passion and team playing managers should not trick developers !!
But some if not most of ur points are worth noticing in order to be a great programmer from a good one.

This article describes a world-class manager, who can also write world-class code. If you find someone with both skill sets, great. He will soon be your boss.

For pure development a good number of these points are irrelevant and even detrimental to agile projects. Waterfall model thinking like this is the reason why many software projects fail - it must be the fault of the developers, who were not doing the job of the manager.

Advice to managers: find out how your developers tick and what they are good at. Try to maximise the time developers can spend doing these things. The rest needs to be managed and that is YOUR job.

This is the best site for develop myself

I agree with you in almost all point, but...

I considered myself like an almost great developer. Always wanting to help, always reading: codebetter, ayende, scottgu, jean-paul boodhoo...

always trying to write test, and trying to make everybody writes tests. Always correcting everybody code...

But dressing right? meeting minute? no thxs.

You go to the meetings and then tell me, I will be coding with my team. And work overtime? no thxs (x2), even if i will write more code when I get home, I wont be an extra second in my box.

There's a difference between a great programmer, and a nice office player. I like a millon times more a guy like steve jobs, or even stallman, instead of gates.

I work very hard and very fast, but you have to give me space. I smoke a lot, so I take mini breaks, and I've resolve the biggest problems in my minibreaks.

This is my point of view.

About 60% of this article is awful trash. I hate how the "Web 2.0" contingent has ruined everything with happy-clappy buzzword nonsense.

I think you have a big point in the overall of your article.
But I'm yet nog a great developer because I'm just starting as a Junior, before this job I was a network engineer, and also in this function those topics you speak about were very important. Taking notes at a meeting is very important and helps not forgetting about what you should do, criticism should be used by anyone in every function to use it as a fundamental to build and/or extend skills on.
In my former function I already did most of the things you are writing about, so its best to do those things also in my new function, and adjust some things.
And yes, how to dress yourself is a very important part of this job, but only if your function is about meeting up with clients. Some developers, working only as internship employees do not really need that dress-code, though I think measuring on yourself a standard businesslook can come in handy everytime. You never now. And also, it gives you a more gentleman look, some may think this is not important, but people should better face it that we live in a world were the outside human looks are important, despite! A more "healthy" person with some fat hanging around there, who dresses well in a nice suite, comes up with a better look then when wearing some pants, trousers and so on.
It will help, not only for promotion, but also while applying for new jobs. Managers just look at that, they want to make sure they can come up with you when needed. You people who discuss the importance of dress-code should look into the mirror and asking them selves "where could I have been with a nice suite", I bet (for a dosin crates "West-Vleteren", yes I'm from Belgium) you would say "way further than were I am right now".
This is not only a fact in America or other big countries, but also in small nice countries like Belgium, the Netherlands,...

Kind regards,

Johan.

Post a comment

If you have a TypeKey or TypePad account, please Sign In

Add Us

  • Add to Technorati Favorites
    Add Miguel Carrasco's Feedburner

    Add Miguel Carrasco to Google

    Subscribe to MyMSN

    Subscribe to MyYahoo!

    Subscribe to Bloglines

    Subscribe to Newsgator

    Subscribe to Feedster

    Subscribe to NewsIsFree

Great Sites