Like What You Do Or Do What You Like
Software development, and programming in particular, is not a job. It is a career, a vocation. If you don’t understand the difference you’re in a job.
More Than A Job
The tech industry never stands still. If you want to remain technically focused and you want to stay relevant, then you have to put in the effort to keep on learning.
If you question why you have to put this effort in, then it’s not the career for you.
If this feels like a chore or too much work, then it’s not the career for you.
If you take a management position simply to advance your “career”, then it’s not the career for you.
If you think the working day begins at 9 and ends at 5, then it’s not the career for you.
Been There, Done That
When I first started out, I chose to study computer science because not only was it the only thing I felt I was good at, but it was the thing I was interested in academically. (In retrospect, I now know these are not coincidental facts.)
However, by the time I had graduated from university I was simply relieved to have survived. I didn’t have the great university experience I’d heard so much about. Sure, I’d had a great social life and met some great people, but I didn’t enjoy the academic side of it.
Not to worry, because it was onwards and upwards and into the real world. I was lucky enough to find a great independent software and services company after graduation and for the first few years, it was simply about surviving long enough to feel established and part of the team. After that first couple of years however, I started feeling that gnawing feeling I had had at university. A feeling that didn’t sit right. That something was missing.
After a few years I was lucky enough to work on a project with some really great guys. Sure they were technically good, but it was something more than that. They cared.
To them it wasn’t just a job.
To them it wasn’t 9 to 5.
To them it was important to continually improve their craft.
Their attitude was infectious and very soon the timely and emerging waves of agile, XP and software craftsmanship were carrying me forward.
Looking back at those times at university where I had the gnawing feeling of something missing, I guess I had felt cheated. What I didn’t realise until much later was that I had cheated myself, no-one else. I had been so consumed with passing, graduating and getting a job that I had forgone the most important aspect; learning.
The other notable aspect of university and early career was that I wasn’t enjoying what I was doing. I wasn’t necessarily taking a pride in my work and nor was I trying to better myself.
These things should be mandatory for anyone involved in the technical roles of software development. If and when I am lucky enough to be in a position to hire my own staff, these are the fundamental ingredients I will look for.
Not who they have worked for in the past.
Not what their CV/resume says.
Instead, a demonstration of pride, care, attitude, dedication and continual improvement. These things cannot be taught. You either have them or find them within yourself.
If you don’t recognise this in yourself, and you can’t find that team(they could be real, virtual or just metaphorical) who pull you up by the bootstraps then perhaps you should look for something else to do with your life. Something you like. It’s a short life after all. Spend your precious time happy, enthused and constructive.