Know How to Write Code!
Posted: 26 April 2011
At Avtex we have a variety of .NET consultant/developer positions open. I want to take a moment and describe the skills we need for developers at Avtex:
- Know how to write code
Ok, so that's only one, but please, please, please do not apply for a programming job if you do not know how to write code!
What exactly does it mean to "know how to write code"? It's more than just knowing how to sling the syntax of your favorite language. Knowing how to write code means being a programmer, and I think Andrew Hunt and David Thomas in The Pragmatic Programmer have come up with some of the best qualities that every programmer should have:
- A fast and early adopter - Pragmatic programmers love drinking the newest flavors of the technology coolaid. Playing with a new technology is like getting to play with a new toy. It's fun and represents something new and unknown to be figured out.
- Curious and Inquisitive - Pragmatic programmers are always asking questions. Curious about how and why things work, and what the best way is to solve a problem. The knowledge picked up from these questions almost always becomes more useful in understanding future questions.
- Grounded and Realistic - Pragmatic programmers have a very realistic view on things. They won't forget that the webapp you're building is only a tool for the means, not the end to the means.
- Jack of all Trades - Being able to wear multiple hats makes pragmatic programmers more adaptable but also more valuable. Pragmatic Programmers have the ability to switch from one task to another pretty often, while still being able to claim a master or some.
- Care about their craft - As a pragmatic programmer you have to care about what you are doing if you are to really have an appreciation for what you do. A pragmatic programmer has fun crafting their code and finding elegant, yet practical answers to their problems.
- Always be thinking - A pragmatic programmer tries not to do things out of habit. Always asking "why?", and "how?" helps to always be thinking about your work and why you are doing it the way you are.
It doesn't matter if your strength is in a particular product such as SharePoint or if you prefer to roll your own apps from scratch. You need to know how to write code and you must exhibit these qualities.
In contrast to Hunt's and Thomas's qualities of a programmer, the following qualities of "programmers" are turn-offs:
- You haven't learned any new tool in the past year.
- You haven't learned any new major technology in the past year.
- You haven't picked up anything new that has come out within the past year.
- You can't explain what hands-on programming you did on your last few projects.
- You can't explain how a system, program, or feature that you worked on works.
- You can't explain the reasons for a technology choice on a past project.
- You've only coded with a particular technology or used a certain pattern because that's all that was required of you.
Don't know .NET or C#? That's ok. Not very familiar with popular software patterns such as IoC or DI? No problem. Never used jQuery in all of your web development experience? That's ok too.
If you are a good programmer then you will have the ability to be curious and think critically, just as you have always done throughout your career (as short or long as it may be), and learn whatever you need to for the job. Bonus points if you are curious about figuring out what the job needs.
If you exhibit these qualities then you have an edge over other candidates in getting hired - anywhere. At Avtex we care about our craft and strive to deliver solutions of very high quality. We would love for you to be a part of our team if you know how to write code.