Consulting

What I look for in a Candidate

Must have Experience. Nothing trumps experience. The more times you are “at-bat”, the more lessons you learn. Particularly experience at progressively higher of levels responsibility is desirable. Challenging yourself is ultimately the only way to grow and learn. Technology aptitude. I don’t necessarily mean reciting minute technical details from memory. I mean understanding the underlying principles of technology. Abstraction, service oriented architecture, componentization, dependency injection, user experience design. Deep understand of these topics are what separates the great consultants from the rest.

Consulting

Keeping Up with Technology

Learning new technologies and techniques is a part of life for any software developer. Programming is a quest for knowledge and understanding which lasts your entire lifetime. No other profession has a more dynamic working environment. Tools change and evolve on a daily basis it seems. Learning is incumbent on all developers. Darwin’s law applies, adapt or perish. Luckily most of us are used to this environment and thrive on the constantly changing landscape.

Consulting

Take Pride in Your Work

In my daily work, I lead teams that build software. These are “line of business” or “enterprise” software systems. I come into contact with a lot of developers, all with differing backgrounds, experience levels and personalities. I see the good and the bad. Pride generally stands out as the most accurate quality indicator of the individual developer. Having pride in your work makes you want to improve. If you are mindful of the effects that your work has on others, that can only lead to a better career path.

Consulting

Training People

Whether you know it or not, you are training everyone you interact with each day. When you answer that email at midnight or take that call at 8PM, you are sending a message. The message is that you work any time and you are willing to sacrifice your personal life for the job. In typical over-achiever fashion, you are reacting to each request without regard for your personal well-being. After following this pattern for years, I have realized that I need to stop the vicious cycle.

Consulting

Should you be a platform developer?

Over the past few years I have seen many developers struggle with a growing dilemma, do I devote my time to platform development? When I say “platform development” I mean building application on products such as Microsoft SharePoint and Microsoft CRM. The IT world is rapidly moving toward standardizing on platforms such as these. They offer lower IT costs, standardized infrastructure and overall lower cost of ownership. It makes sense from a business perspective, but what do you do as a developer?

Consulting

5 things you should do when estimating a technology project

Estimating a project can be one of the hardest things you do as a technology consultant. Over the years I have done my share of estimation and one thing has become clear to me. Estimation accurately is almost impossible. With lots of experience and some hard knocks, you can accumulate the courage necessary to throw down an estimate. Here’s a few tips that I think might help. Ask a lot of questions.