Our job is so … special. Isn’t it?
Like me, you may have already been in this delicate situation where one of your friends asks you for help “I have a problem with program XXX”, “I can’t order an item in this e-commerce web site”, “my computer is slow”…. Could you help me? A vast majority of people think that working in computers means that you know everything about computers. We – programmers - know that it’s false but it’s just a consequence of how developers are considered. The programmer’s stereotype is a perfect example: A geek/nerd living alone in his world. Nobody can understand a programmer better than … another programmer.
Have you ever tried to discuss computer science with a non-programmer? Sometimes, it’s quite funny but most of the time, he will have a headache; you too. How can you explain Web 2.0, the N existing programming languages, Agile Vs waterfall, scripting vs compiled language, MVC pattern …? It’s even worst between developers. In the past, we saw all endless fights & debates between antagonist technology stacks.
After 10 years of programming, my vision has also changed a lot and I’m sure it will change again in the next coming years. Thanks to communities, we’re now all connected. I have the feeling that programmers now share the same vision of their job. ASP.NET vNext and .NET foundation are great examples of Microsoft (“Linux is Cancer”, 2001) embracing Open Source.
So, as a programmer, you have great responsibilities. You have to contribute to this common ideal, you’re responsible to keep our job a nice -and fun- place to work, to encourage programming concepts especially in education where it is learned too late, to promote team working and collaboration, to be professional and respectful towards users…
There’re a wide range of ideas I’d like to say here, but I will list only those that come immediately to my mind. So here are my 10 commandments of Responsible Programming
- Embrace & be active in communities
- Accept changes and react positively to events
- Banish license violation, code/content robbery
- Accept your mistakes, and take the opportunity to become better
- Write efficient code and don’t hesitate to prove it
- Write maintainable code with clean and strong architecture, following common quality rules and common security guidelines
- Don’t deceive your users; users' satisfaction is your primary objective
- Learn continuously and get better every day
- Share your knowledge and your vision to everyone and especially to less experienced developers
- Don’t to be a lone hero, but embrace team working & collaboration
What we - programmers – have done in the last 10 years has changed the world for ever. Let’s continue to change the world and make it a better place to live. This is how I consider about my job and the values I try to share.