Over the last week, I’ve had the opportunity to work with some people who are building a large-scale application for a company. I can’t say much about it other than the company is a “house-hold name” online, and you will probably come across the work in your own online life soon.
The architecture (which I was hired to look at and suggest improvements for) is interesting, but what interested me more were the people driving the work.
It seems to me that the more people there are in a company, the more specialised the language gets when managers speak to each other. There was a lot of talk of “crud”, “sprints”, “stand-up meetings”, etc., each of which seemed a bit over-abstracted to me – it seemed to me that these things are for the benefit of the managers, and that the work itself could be done quicker without them.
I wasn’t very comfortable with it. I prefer to get on with the work. Spending an hour in the morning discussing what I’m going to do, and an hour at the end of the day discussing what I got done that day seems to me like I’ve just spent 25% of the working day talking when I could have been working.
I’m used to building up a plan which may be a week or two long, then getting it done. Having to stop every few hours to explain to people what is really a bit too low-level to be of interest to them is just not my idea of fun. It is my opinion that a manager needs to know when a project is ready to be demoed or published, but to invite a manager to dig into the engine and examine the nuts and bolts seems a bit mad.
Facebook do the exact opposite, and I admire them for it. They allow the programmers free reign to do their work whatever way they need to, and are only interested in results – not whether the method followed was Agile, Waterfall, Scrum, or some other cycle.
Companies that follow certain coding philosophies do it with a specific goal in mind – they want to be rich, and quickly.
I’m kind of the opposite to that, as can be seen by my prices. While it would be nice to be rich, I really do not want to go far out of my way to obtain that goal. I am more interested in paying the bills and not being stressed, than in some mad rat-race to get paid twice as much as I’m currently getting.
And so my own philosophy is to work away on things, incrementally improving my products, and to never take risks. If I do well, then I will eventually make a tidy sum. If I don’t, then I will at least be comfortable.
And that, for me, is what’s important. I prefer to go home at 5pm to a comfortable couch and a book, than to have a load of money in the bank and a stressful life.