I thought I'd post this here for the anonymity of someone I was speaking too recently at a social event for developers. Amongst the trading of "war stories", he presented the following dilemma.. (Specific questions below)
At the moment I'm working at a start-up - with a handful of developers. I only really come in to contact with a front-end developer, my manager. This is perfect when I'm doing front-end specific development - but I'm generally more suited to back-end work, thus I get called upon to do back-end development at times.
I recently undertook a project where the requirements weren't made very clear, there was no management as per se as my usual manager was on leave during the development phase - and certain stumbling blocks appeared. (Technical ones; file parsing and formats etc) There was an intention for the front-end dev to be completed by my manager upon his return.
Despite the stumbling blocks, the project was completed. A few bugs were found, but these were largely ironed out before a handover late on a Friday evening. My manager came back with several suggestions, some of which he had made, and requested they be done for 11am on the Monday. The work required for these changes include:
- Database Restructuring (To accomodate new data)
- Code refactoring (To accomodate the above + a more complex file parser )
To include testing, I'd estimate this was a good 12 hours or so of work. Brainstorming, development, assorted fixes (was a list of 7 or so points) and then testing. Now I had commitments over the weekend, so I'm stuck on a Sunday night working in to the early hours to get this done.
There are plans to bring on a project manager, but this is just one example where I've taken my work home (often voluntarily, I will admit.) - and it's actually eating in to my personal development, and also sucking some of the satisfaction out of what I do. In my opinion too, it leads to spaghetti code and bugs - which I've witnessed before.
- Realistically speaking, how is a work/life balance meant to thrive in a set of circumstances such as the above?
- Is the lack of satisfaction possibly a productivity issue in the end?
- What can you do when you've been given an unrealistic task, but the situation is such that it's 'do or die'? (Perhaps when the task was assigned by someone without a complete technical understanding?)
I'd really like to hear other peoples views on this, as I'm going to guess it can be quite a interesting (and common) problem. One which involves a fair amount of diplomacy.
(Will post my response as an answer, I will not accept it however)