Random Learnings

So, its been ages since my last blog! I’ve had a number of draft articles on the go, but they’ve all grown huge – at some point I will need to revise them. Perhaps split into multiple blogs or narrow their focus area a little.

Anyways, it seems that as of late I’ve done a bunch of thinking about work in general. One always stumbles upon books, blogs or articles in which the authors deliver a bunch of insights which, in an ideal work environment, might yield the ‘ideal productivity’. I’ve long ago stopped believing in some silver bullet for running projects, and most of the pie-in-the-sky ideals are not viable in a real-world workplace. Mostly for cost and logistics reasons…

There are, however, a number of things I consider to be very viable which I’m sure would improve my productivity! So I figured I would just ramble off a few of them in no particular order.

Things That Would Make Me Work Better

  • Screen Real-estate! Compared to what I am earning, a couple of really big monitors would hardly even compare. Yet they would make development so much easier. Well worth the expense for any programmer.
  • Two machines! OK, so this may be a bit of an ask. However, there are so many processes (compiling? building data?) which will eat your machines CPU. Many tools used within commercial game development (anyone developed for the consoles?) will eat your resources so as to even render simple navigation of windows itself too slow to handle. Having the second machine be a laptop (use in meetings, for example) would probably be icing on the cake.
  • Access To Privacy. We work in an open-plan environment. This is like the grease that moves the giant cogs of communication. I wouldn’t change it for cubicles or offices ever, however there are times when conversations or work is of a private nature (talking to publishers, discussing project resourcing) and there should be ample provision made for areas where this can be done in private.
  • More Tools. I think because the less technical the job, the fewer bits of technology are interacted with, it puts managers in a position of worrying about human resources too much – tools are not their concern. Yes, projects are often under-staffed, but I think that in some circumstances having one less team member and putting that money toward licenses and tools might see the project better off. This stretches from software licenses through to not having to scout the office to find some cheap connector to borrow – these should be abundant!
  • Project Whiteboards. Well, we have these where I work at the moment. But they aren’t big enough to be of much use. Aside from a bug count, nothing much is put on them. Things which are referenced often and could be prime candidates: general structure/relationships within application (code point of view), what area everyone is working on for the day (so I know person x is actually working on this system, and if something breaks in the source repository, there is less confusion).

I’m sure a bunch more would come to mind were I to dwell on it longer. However the point is not to put forward suggestions that are too far from common practices, but rather ones which are within the realms of practicality. No matter how good the advice may be to have each developer able to stare out his own window, its just not doable for most buildings. I somehow think before managers entertain productivity improvements like company cars, providing catered lunches, or getting the office redecorated in soothing colours, that there will likely be a large number of direct (comparatively cheap) avenues for getting more productivity from staff.

If you’re at a company where providing catered lunches is really the next best thing that can be done to improve the office environment, then let me know! I want to work there!


About this entry