Friday, July 18, 2008

So you want to be a software developer?

You will write (or generate) large amounts of code that will have to be re-worked or completely re-written because design decisions and goals will change.

You will struggle with technically difficult challenges; sometimes for days.

You will face the question "when will it be done?" many times - and you won't know the answer.

There will be deadline pressures all year long, year after year.

There will be competition for your attention - pulling you from one project to another.

You will want to work on new things...but have to work on old things first.

You will have to find and fix errors months or even years after you or others originally create them.

New technology will come at you at a rapid pace - and you will have to struggle and learn about it on your own - for no extra pay. This will never stop while you are a developer.

You will search the internet relentlessly looking for solutions.

There will be days when you code non-stop all day long and still have lots left to do.

You will have to look at, understand, and fix other people's code.

You must be able to communicate with others about your code and their code.

You will have to make progress when given the most vague and ambiguous directions or specs.

You will read large volumes of coding related material to keep up with technology.

You will find yourself working with design or architecture decisions that you don't like or agree with.

You will not be able to give up when solving a difficult problem.

You will have to communicate with and support end users throughout your career.

Some work will be tedious, repetitive, boring, and make your wrists sore - but you'll have to do it.

You will have to communicate effectively through writing.

You should desire to always improve the quality of the code you write and the efficiency with which you go about the work.

But... it is a darn engaging way to make a living!

No comments: