I find working for corporations really relaxing. You just need to show up, code some stuff at glacial pace with plenty of time for writing tests and code reviews and messing with environments that always fall apart and slow hardware and cumbersome security theatre, and ridiculously wasteful management process because managers have only vague idea what is to be done and no idea how to manage and delegate their inaptitude to developer team leaders.
And this feeling that project will fail or succeed mostly regardless of your effort and probably without effect on your compensation. Worst they can do is fire you and that will probably mean for you just getting a raise.
No one expects miracles of you and if enyone does no one is expecting that you'll actually deliver.
This is so relaxing in contrast where each hour of your time is the thing you sell and often you have to wrestle your money from the client who overestimated profitability of his phantasy. Where your projects and you actually rely on you delivering miracles.
As a consultant, you get to decide how often you take jobs. You can work yourself to the bone, or you can take 6 months off per year. You can change your work schedule as your mood or personal situation changes. If you're up for it, it's quite easy to work your ass off, and it's quite easy to turn that efficiency into more money. And when you're young and/or strongly financially motivated that's easier to do.
As a salaried employee, you usually can't control when you work. You're (supposedly) going to be in the office ~40 hours a week for ~50 weeks a year, every year. So you naturally shift into a slower pace to avoid burnout.
I don't see it as a problem. You trade off efficiency for long-term stability.
Agreed. I work in a salary job now, and find myself not pushing to do the extra work as much, just since I know that I will be paid my salary almost regardless, and that there is close to no incentive to finish a project fast. People like independent contractors or consultants that get paid by the project do their work FAST and WELL. I've worked with many.
I think it's worth pointing out that "salaried employee" is not the opposite of "consultant". I work for a consultancy, and while we receive a steady salary twice a month, we're rewarded well for finishing early. I can't speak to how common this is as a practice, but I'd just like it to be known that being salaried does not necessarily entail a lack of concrete motivation to perform above the minimum.
I have a different point of view, i see contractors producing shit code then leaving the building before it explodes. These are non-independent contractors (about 90% of the industry in my country work for big name contract companies) with very little incentive to produce quality or maintainable code. Whats better than creating technical debt and never having to pay for it? I have half a mind to turn contractor just to avoid taking over some contractors mess.
I really think that the amount of actual work you do in a given day is going to be much higher for those with a high level of job satisfaction. Those who get to solve challenging problems and work on cool products will probably put more actual work in then those who aren't stimulated.
I work in an agency so I feel like I'm living in the worst of two possible worlds: I'm expected to work overtime everyday as clients always need everything for yesterday and I'm expected to get there everyday at 9AM no matter how late I stayed the previous day.
I work in a pair-programming shop. I came to them after freelancing for a while.
The pace is fantastic. We sit down and work. We take breaks, we take lunch, but when we are at the terminal we are absolutely working.
The whole logic of the place is: remove obstacles to change. Reduce the cost and risk of change. Then make changes quickly in the direction of business value. Repeat.
And it works. Very, very well. Like the NYC subway, even when it's terrible, it's amazing.
When I was on salary I worked as an electrical engineer rather than solely a programmer, but the environment was similar. I think I probably averaged a solid... 4-5 hours of high-quality work a day. And I honestly felt like that was pretty good most of the time; I was quite productive compared to many colleagues. I certainly did have the standard difficulties though. Days when I just couldn't seem to get started until 4pm when it was almost time to go home, so I'd end up having to choose between leaving after 8 hours without having accomplished much, or skipping the gym, working through the evening, etc. Either way I'd feel vaguely guilty.
Now I run a (very) small software company and do everything I can to avoid these issues. My brief experience as a salaried employee was invaluable. (It makes me wonder how people who start companies right out of school ever manage to become effective managers.) I certainly don't want to run a company where my best employees are producing at about 50%. I've found that (much like the OP), when I switched to working for myself, my own productivity immediately shot up - but how can I help create a similar environment for my employees?
The main thing in my opinion, as you'll regularly hear, is to focus on results, rather than hours. If it's a traditional office, as long as people are able to make meetings, they should be free to come and go as they please. One major issue I would have at my previous job was that I was expected to be there at 9am every morning. (Theoretically there were flex hours until 10am, but there was a sense that you were slacking coming in at 10, even if you stayed later than everyone else.) That meant if 5pm rolled around and I was really in the groove, I was torn between riding that productive wave and ... leaving, because if they're going to expect me to come in at the same time regardless, why should I stay late?
Similarly, I would occasionally have work that I could do at home, and would in fact have ideas about work at home and want to work. (As an electrical engineer this wasn't as common as a software engineer, but I probably could have done 20%-40% of my work from home.) But again, there was mixed motivation, because I wouldn't get any credit for that time, regardless of how much I accomplished.
So, as a manager, focusing on time spent has to be the absolute worst thing you can do for employee morale. However, what I didn't realize until I became a manager/owner was just how hard it is to be 100% results-oriented, especially when everyone is working remotely. Having a technical background myself, it's a bit easier, since I'm at least in a good position to evaluate the quality, and to some extent, the quantity of work produced. But even so, it can be very hard to not think about whether people are working "enough", especially when you can't physically see the work happening. I will occasionally find myself worrying when I don't see any commits or status updates or anything from a given employee over the course of a day or two, even though I have full confidence in them. And I think that's natural. Plus, it's a lot of work staying on top of the details of what people are doing, to the extent you have to, to be "results-oriented". It seems that most, or at least many, managers deal with this by just constantly "checking in". They just pop in (physically or virtually via chat or whatever), ostensibly to see what you're doing, help out if necessary, etc., but they don't really know what's going on, so there's no substance to the conversation - it's really just to see that you're there. There are even those services that take a picture every 30 seconds or whatever, theoretically to foster a team atmosphere, but it looks a lot to me like something to prove you have your butt in your chair. It is simply impossible to create good work by forcing someone to be physically present for a given number of hours, but it's a difficult thing to avoid. (Although I have found that some people appreciate those random check-ins that drove me crazy, so I try to identify when that's the case. If so, I will try to IM them occasionally, but I try to say something useful when I do, and pick times when it's unlikely to interrupt flow.)
And it's made more difficult by the fact that you can't go too far the other way either. If you simply give 100% freedom and rely on your employees to keep you up to date, the work done might be of high quality, but it will slow to a glacial pace. People do need some amount of structure and goals to remain productive - just not pointless structure. That's the part I've struggled most with, since my main concern was the opposite type of bad management, which I'd been exposed to most in the past. For quite some time I avoided weekly meetings, since they felt like a waste of time given that we can easily communicate by email and chat. Turns out a brief weekly meeting (usually around 30 minutes) to get everyone in sync is immensely helpful in moving things along. Similarly keeping track of everything in a project tracker like Pivotal helps a ton. And paradoxically, these types of enforced structure allow for greater freedom, since they alleviate that stress of not knowing what your employees are doing. And hopefully they help on the employee's side too, since there are explicit goals and expectations to keep one motivated, along with the flexibility to pursue them in the most efficient way.
Honestly, I'm sure there are still days when my employees get a solid 2 hours of work in. Few people can work at 100% capacity, 40 hours a week, week after week indefinitely. As a manager I figure I have to accept that, while providing the environment and the tools to help minimize those days as much as possible. (Providing sufficient vacation is another important factor there imo.) Of course, I still wonder what I could do better, so if anyone has thoughts (or disagreements!) I'd be happy to hear them!
I was a independent contractor for about 12 years - I never did fantastically, but always scraped by reasonably well and had enough free time to keep the stress levels down. Then I got a contract working on a website that somehow turned into a enterprise B2B company and I got sucked into burnout for 4 years, due to my not paying attention, excessive psychological ownership (I was the ONLY IT person on staff, it was a 2 founder, 2 salesguys, and me company), and the founders turned out to be a) a slimy manipulative asshole and B) a full blown sociopath who couldn't understand why customers he'd lied to got upset and threaten to sue....
Yeah, excessive sense of responsibly.... A lesson in the dangers of not paying attention and getting hooked on work and not understanding the bottom line of some businesspeople is to screw everyone else over
Anyhow, after my nervous breakdown was over, I got a job working at a largish startup-ish mobile app company. It's a nice place, the co-workers are fine, but god almighty, the English are lazy fucks. Half the day seems to be spent chatting. I do not remember this atmosphere when I was working full time 20 years ago (I'm American) and open office plans just plain suck. I really hate being distracted. Perhaps it is my still-a-contractor mentality, but I was hired to do some work and churn out code, or write a document and pointless stories about the latest traffic jam are slightly annoying. I can't imagine this is a atypical UK company - there is a saying about "tea-breaks every 20 minutes" that I now understand...
My co-workers know what they are doing, I don't want to seem like I'm disparaging them. But the idea the English are going to create IT companies on the order of Apple or Microsoft is pretty laughable. My only other exposure to the quality of IT in the UK is cleaning up other idiots' messes. OTOH, I am an American and Americans have an excessive work ethic...
So yes, when you are a contractor, you learn how to think of yourself as a corporation unto yourself. Thus you get into that mindset, which being a salaried employee is diametrically opposed to. Until you grasp the enlightenment that any company these days is going to treat you like trash when it becomes profitable to do so. I'm not advocating screwing a customer over, because my alliance is primarily to the profession and not to any employer, and most clients are not malicious. But you always have to look out for number one - there is no such thing as loyalty anymore like they had 30, 40 years ago
I'm still making sure to be productive because I'm a professional. But 5pm comes and I do not worry about anything else, unlike when I was younger. No one else really is going to care and unless you are keeping the profit from the surplus labor you generate (yeah, Marx does have some useful things to day), you are only one of the Clueless
There is a lot of truth there, but please don't forget that UK and London especially is a very multinational place now, so don't judge the whole local dev community. I have seen many hard-working passionate developers of many nations here, so your negative experience is not necessarily representative. And at least you did not have to play a lottery to stay here, unlike USA :).
yeah.... sorry. The personal issues are piling up and my way of handling them is to hyperfocus on work. And to vent about other matters using displacement mechanisms, a website I'm helping out with has gone down and the hosting company is doing nothing. I know this stuff, but it takes clearly crossing the Rubicon first to pull it into consciousness...
And this feeling that project will fail or succeed mostly regardless of your effort and probably without effect on your compensation. Worst they can do is fire you and that will probably mean for you just getting a raise.
No one expects miracles of you and if enyone does no one is expecting that you'll actually deliver.
This is so relaxing in contrast where each hour of your time is the thing you sell and often you have to wrestle your money from the client who overestimated profitability of his phantasy. Where your projects and you actually rely on you delivering miracles.