Do You Like Your Job?
G-shock asks: "I've worked for the government (NASA), large public companies, and small startups as a software engineer. They all have something in common. It seems like management at this company is just winging it. I find myself putting all my energy, both mental and emotional, into a project only to be disappointed by decisions made by management. I really feel like management at my current employer is disconnected from what is actually going on. They manage a project, but not the people. They also seem to lack any real vision. Direction is constantly changing and proper time is not given to engineer these changes correctly. This leads to mandated quick and dirty solutions that end up being maintained with great pain for long periods of time. All this leads to me feeling cynical about the work I'm doing. What I want to know is, how can I feel good about the work I'm doing if I don't have confidence in my management? How many of you are happy with your management? Why? Why not? What can I do about this? Thanks in advance for your insight." Considering that this seems to be a common problem in technology companies, and seeing as we have been producing software for basically half a century, do you think that managing software projects is a different beast than the management of anything else? How many of you have had this problem in your career and what did you do to adjust?
because they understand what is needed.
When I started at my current job, I was not sure what to expect, being under the assumption that management knows nothing. But later finding out that most of the management here has done some programming before. In fact one of the main managers was the only programmer here when the business started up.
I believe this makes for the best workplace as a programmer because everyone above you knows how you are feeling. What to expect from you. What is hard/easy etc.
Atleast that's my view on it anyways.
Kids, you tried your best and you failed miserably. The lesson is, never try. -- Homer J. Simpson
Unfortunately, the longer I've worked, the more I've come to realize that *many* (too many) companies are run exactly like this.
Infact, I've not yet worked for one, or contracted for one, that wasn't.
It's frustrating to work for these places. Sometimes degrading, but most of all back breaking. Nothing's ever finished 100%, there's no time for proper design, nor implementation. And sometimes you just have to wonder what the fuck goes on behind the door in those management meetings!!
I think I'm slowly giving up. I'd always hoped that I'd find that "one place" where things were done *right*. Each job I take, I get a little closer. But I'm not there yet.
Luckily I'm approaching that middle-management-age, so at the right place, I may be able to change things for the better (for the developers). That'd be a huge accomplishment, because at most places all the other department's (publications, marketing) are hindered with similar management/policy/timeframe problems. Except they sometimes get a sense of finality - when a print publication is printed and sent - they can sigh in relief. Ours - well, there's always something that needs to be changed on one of the websites, the code, the network, security policy, servers, hardware... just add it to the to-do list. It's the neverending beast.
http://slashdot.org/~tf23/journal
I've found that if you are in an engineering field, competent former engineers make the best managers. They have first hand experience about what it takes to do a job and do it correctly. Of course, not all engineers make good managers, but most good managers were at one point a good engineer. This applies equally well to other diciplines, of course.
The reason for this is because they have good working knowledge from both sides of the fence. They are aware of the buisiness concerns (time schedules, money, the competition) and engineering concerns. For instance, they can take the long view and recognize that putting a little more design and documentation work up front usually results in a better, more maintainable project. It also keeps the engineers happy (and by extention more productive) which is better for the company.
However, there are occasions where it does make better business sense to kill or rush a project. Former engineers are much more capable of conveying this to the workforce in a manner that they can accept.
--
A month and a week ago, I was laid off from here. I've been at my new job now for three weeks; I've had a little bit of time to get my bearings and I can already see striking differences.
At my old job, management (not my boss, but management) was abysmal. We were constantly being handed something that needed to be done yesterday, being told to get it done ASAP and drop everything else we were doing to come up with a solution given inadequate resources. We were always short on machines, manpower, time, budget, and respect. In the midst of the latest Hot Project, management would walk in and tell us there was something else we should be doing instead, and why the hell weren't we doing that?
At my new job, there are a few levels of management. I'm only really directly affected by the level directly above me. This is similar to my old job, but with one important difference: so far, my boss has sheltered us from most of the crap raining down from above (the raining of crap is to be expected anywhere, really.)
We actually have money to get our tasks done. We have the time to get them done in (more or less). We also aren't reassigned all over the fucking place because management fucked something up.
I like it so far. Plus I got free money from my old job, w00t!
- A.P.
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
Research in situations such as mine in academic institutions is very different from work elsewhere... you work usually by yourself and just with the higher ups (really, only the professor) and get a lot of work done, by yourself. Thus, there is a self achievement factor involved that motivates you, and a "I must do this so I can figure out if this works and I discover this" driving you to work. You are not slowed down because you are not dependant on other's (directly that is) so you know everything that is happening on your part of the project. Such factors motivate me and even allows me to not even worry about money, but just the work. Setting your hours is another plus, it is a very flexible environment really, and I would not mind research in my future (though, in a slightly more engineering field for myself).
Also, everyone in these workplaces, like academic instututions, are all smart (at least at Yale University); "management" is good and everyone is happy and is willing. What one can do about poor management is something I'm not sure about, without getting yourself fired that is. A new job in a different place/field may help, or getting the courage to do something radically differrent (be creative) may also help. Really, you need to find a job that you will like with management you will like and not move out of it once you find it... little idealistic, but it is possible. Maybe a company is simply not the workplace for you.
I graduated from a computer-oriented Magnet high school with a 4.2, worked at a junior programming job my senior year, got a 4-year CS degree at Georgia Tech in under 3 years, and fucking CompUSA won't even hire me. How humiliating is that?
Dyolf Knip
I had exactly the same problem at my last job (which I quit partly because of exactly this).
In that job, I ended up being the jack of all trades, running around and patching things up (not so much code, but design decisions, manager awareness, team skills, etc). And even though I put in a considerable amount of effort, the project still ended up slipping the dead line by a long shot (which was waaaaay too tight in the first place).
All throughout I constantly tried to look ahead and warn the project manager of dangers and difficulties that lay ahead that could endanger the project. Only to not be taken seriously, or simply being too late for management to be able to do something about.
To me it appears that management doesn't know the software development process very well. They expect things to be easy, quick, and impactless. Documentation is required, but no real time set aside for it. Design before coding is of course mandatory, but if we get any time at all that's a real surprise (in my experience). Getting the development environment set up with daily builds, automated regression test (and integration tests where possible) is given no attention. In my last project we were four weeks into the coding before we got a semi-working development environment. Go figure.
So well, my experience is that most project managers simply lack awareness of what is involved in a software development project.
One of my goals is to get around to writing a book; "The software development process explained" (or something) targeted directly at managers to help them get an understanding of what's involved and how it all interacts. And no, it won't be a tome, I'm hoping to keeping it to 2-300 pages, so a manager doesn't feel too intimidated by it.
As a bottom note, I am now employed doing second line global technical support, and while dealing with some customers can be quite frustrating and painful, the management here has a good idea of what they are doing. It makes a world of a difference. Even though I'm more or less on call 24/7, the stress levels are nowhere near what I had in my last development position.
I've been working for myself since 1989.
I always found it incredibly difficult to suffer the incompetence of "managers" who, more often than not, get paid far too much money to do far too little work -- at least that's what I thought.
Since becoming self-employed however, I have a much greater respect for the time, effort and skill required to "manage" a business.
In fact, I've deliberately kept my own operations small whenever possible so as to avoid getting caught in the inevitable drift towards management that occurs when you start expanding and employing others. I'd rather remain down and dirty at the coalface.
One unfortunate side-effect of being self-employed in a fast-moving and highly competitive industry is that you can find yourself working 12-14 hours a day, 7 days a week.
I haven't had a vacation for over a decade and most years Christmas passed by almost without me noticing.
This type of thing is okay when you're young and you can survive on 4 hours sleep a night with a constant diet of Coke and pizza -- but I'm knocking on 50 now and it's getting bloody hard.
Sometimes I dream of retiring to become just another employee. Let someone else worry about paying my salary, keeping the overdraft topped up and filing endless government forms -- I'll just pop in for 8-9 hours a day and go fishing on the weekends.
If you're thinking of bitching about management, don't forget the old saying "never judge a man until you've walked a mile in his shoes."
There are some real asshole managers out there -- but then again, there are also some real asshole employees.
If you're really ticked off -- break away and start your own corporation.
Have you been on those things lately? I figure close to 75 percent of all the jobs listed on Monster and Dice are body shops trying to fill their skills databases, and the other 25 percent are the same old job listings that have been there for MONTHS.
A clueless friend of mine keeps me "updated" on all of these great jobs that he keeps seeing on the boards, yet he fails to make the connection that the reason the same ones keep showing up is that the companies who post are either
- clueless on how to attract/retain quality employees,
- sold on this cool, new thing call the "web", or
- have no idea what they want and are fishing for answers
Either way, they're losers; why waste time with losers?Yeah, right.
I've been working for twenty five years for people that I wouldn't trust to know which end of a [expletive deleted] to suck.
I have come to the realization that the ONLY people I ever worked for who had a clue as to what management is about, what projects are about and what the deliverable was supposed to be were in the military.
Not that they were all that great but you could count on them not to try to 'fix' the steering on truck while its careening around a curve and heading for a cliff.
That's why a military toilet seat costs six hundred bucks. Because you can at least be sure that your ass will fit, that its over a latrine and that it will have a hole in it.
With civilian (mis-)management, they'd skip cutting out the hole and justify it as cutting out the cost. And there'd be shit everywhere.
Read "systemantics." It'll clue you in on why things are so screwed up. It won't help a damn but at least you'll know why you're getting reamed.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
Both teams provided visibility on what they were doing to the execs, so the execs only had to step into the details when they thought that there was a problem. This way, the execs could treat the various departments more like black box units, and deal more with steering the ship.
It helped that the engineers were all good friends and the head of marketing for the project was smart AND reasonable....
Why is Grand Theft Auto a much more serious crime than Reckless Driving?
You can find a cure for a disease, but you can't find a cure for a sucky job.
Sure, you can improve the conditions that you work under. You can make your work "more meaningful", but you cannot eliminate the fact that, no matter what your job is, there will be times that you don't like it. You can't get around it -- no matter what job you have, at some point it will suck.
It's a balancing act. Does the money+self-gratification balance out the suckiness of your job? If the answer is "yes", you stay. If the answer is "no", you leave.
My point isn't that all jobs are always miserable, it is that every person needs to define what an acceptable amount of work-related misery is.
I'm currently an intern at a telecommunications that competes with MaBell. I must say, it is a great opportunity!
I get to format computer HDDs and stick Linux on them to be set up as Linux servers for useful things like SIP (VoIP stuff) and creating web servers. I've learn a ton of stuff about Linux and what's better is I get paid $9/hr! It's like paid training! Of course I do administer Windows2k Servers, but it's still good to learn other OSes. Also I get other benefits like free 2.7mbit DSL with 5 static IPs, and two domain names.
I have only four complaints. First of all, I take it for granted all the time, and I need to realize that I'm truly lucky. Second, things can be a bit disorganized and the boss just wants things done, fast. Third, security isn't really big deal to them, but I think it is, of course this goes back to them just wanting things done. Finally, since it's a telecommunications company I have dealt with many co-workers getting laid off and it sucks. It sucks seeing hard working adults with families having to leave their jobs, while I'm still here and I don't *need* the job. What's worse, is that I've also gotten a job offer from another company (that I now also work with) that deals with wireless internet access.
It's crazy having all these opportunities at 17, I just hope they're still here in the future. Of course I'm careful with my money (cheap) and I've saved most of my money that I've made. Unfortunately because of this (at least I think so) I don't have a girlfriend or a car (I'll wait.)
So to keep this post ontopic, I would say I love my job (internship) and I agree management can be a pain in the ass if they don't know what they're doing, don't take input from workers, and become nazis. Basically, you should have the proper qualifications for the job.
how can I feel good about the work I'm doing if I don't have confidence in my management?
First ask your self these questions?
1 -- Who the Hell am I to judge Management? As brilliant as I am did I have the fortitude and cash to start a company that employs enough people to have managers?
2 -- Why do I need to _feel good_ about my work in a non quantifable way? Why can't I simply be satisfied in the work I accomplish? Do I honestly believe that that every person who has a job _feels good_ about their work? Do taxi drivers; warehousemen; burger flippers; lumberjacks; DCMA lawyers; Senators; sys admins need to _feel good_ about their work or can they just get it done? Can knowing you're good be enough satisfaction? Can doing your job to the best of your abilities be the bronze ring?
3 -- Other than the deadline and some parameters; what do I really need to know?
4 -- When the economy totally tanks and no one is wiling to pay me to manipulate text in a way that a computer can understand it; will I care about _feeling good_ about my work or will the fact that i haven't had to sell any organs this week to make my mortgage be enough?
5 -- Am I insane to be caring about how I feel about managers in this economy?
See how those five questions get answered and then Q-Tip the shit out of your brain and get a job.
This
I realize this post mostly just reiterates the parent post, but from the opposite directions.... but I have to say, I'm very happy with the situation.
I don't care if it's 90,000 hectares. That lake was not my doing.
It all depends on how much money you need, if you need more than $4 a month you better keep your day job.
:) I could handle it, I think.
Very true. However, I wrote under the assumption that you could just get another job, not that you would run for the hills and code like a hermit. Even a lesser paying job would suffice.. I guess it would depend on what quality of living you are shooting for. Even my friend who works at a gas station makes enough to pay rent. Just because my night job is free software does not mean my day job has to be programming. Hmm, I wonder how many people actually hold non-software jobs, but do free software in their spare time? Sounds like fun.
I've thought about just quitting my day job and working at the nearby Chili's restaurant. It would be a lot more social than the boring office, and I need to get out anyway. Not to mention there are lots of cute girls there too.
-Justin
Now tell me again that programmers make good managers, and I will laugh in your general direction. The best managers I've had knew nothing about programming, but they knew how to ask the right questions (when will it be done, what do you need to do it faster, how can I help you achieve your goals) and leave the programming to the experts.
The interactive way to Go -- http://www.playgo.to/iwtg/en/
Then you have to ask some hard questions. Can you get what you want working for someone else? For real? Are there decisions that are typically or likely going to be made that will ruin your dream?
Lastly, what's it worth? Do you have the tools to do it?
I worked at IBM. It's a great company. You can very easily get in to a nice routine there, never need to work a lot of overtime. Put your 40 in, get a decent raise every year, pick up your spec and churn out the code, show up to some meetings, go home raise some kids and a dog, buy that house with the picket fence.. It's safe and tame. You won't get fired but you probably won't work on really sexy stuff either. At age 23, after 5 years as a regular employee there (yes, I was a salaried software engineer for them) I wanted something more exciting.
I went to a medium sized company with hands off managment. It's awesome in ways. We have a goal and some deadlines and complete freedom to build the product. And it's linux based. It's a dream come true, or is it? It takes radically different skills to work in that environment, you can't have team member who simply want a spec and a dark office with no interaction, team dynamics are critical. You need people who take initiative. You need bold people who are good communicators. With just a few "roll players" who want that 40 hours, pick-up-spec-drop-off-code-never-talk-to-anyone job, it becomes nearly impossible to make it work. Likewise, you can't work 40 hours a week, it's not enough time to "do it the right way" you find yourself working 50-60 hours a week and still not having enough time becuase you've got complete engineering freedom and you want to make it perfect as you see it. It's hard, it has it's rewards, but it takes a lot way from life also.
After 2 years of that I walked away from that and started my own business.
Running your own gig is different. There is a lot of work that has to get done before you can do the work. It's a lot of work. It has its moments and rewards, there are also times when I'd love to be back at IBM working my safe little 40 every week watching the stock options earn value. Is it worth it? I can't say yet. I can say that if I go back in to the corporate world it will be a safe and tame 40 so that I can easily put 10-15 in to something else outside of that.
You'll never be completely fullfilled building someone else's dream or vision. Remember that. There will always be decisions and tough choices to make and ultimately they are going to want some return on their investment in you and the dream they have. As cool as the product may be, if you're not calling the shots then there are probably going to be times when things are going to upset you. It's also supposed to be work and you're supposed to have a life outside of that.
Oh you are so describing where I work (actually you named them). Local management here is great, in fact many of them hold basic patents on the stuff that is developed here. Mid to upper management on the other hand is clueless. They start projects and kill them when they are 80-90% complete so that the people can be reassigned to "higher priority"(according to marketing) projects. Then when they realize they need the product that was canceled they restrat it and it take 3X longer to complete then it would have if they had just let it be.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
First off: management is just as difficult as coding. There are lots of people writing code who are just 'winging it', you likely know a few where you are right now. The consequence of their mistakes is usually visible only to them or a handful of people on the development team (they or someone has to fix the bug, rework the code). Mistakes or poor choices at the management level are often visible throughout the organization.
You want to feel that you are contributing towards a greater good, i.e. the successful completion of a useful application/system/product. That's a pretty normal desire. It looks like you're not getting this desire, or expectation, fulfilled at your present job. You never (or too rarely) get the sense of satisfaction and pride of finishing a project that's well designed and coded. What to do?
One solution is to find a company where you can get those expectations met. Use your network of friends, find out who's working for "clueful" management.
Another solution is to revise your expectations at your current job. If you are constantly disappointed by management decisions, quit expecting management to make decisions you like. Find another focus where you can derive satisfaction. Maybe you can become a mentor to those around you. Maybe you can find a project outside work to focus on, or a hobby. Maybe you can get satisfaction out of the code you write, and ignore whether it actually goes to production.
These are just suggestions to get you thinking. Your answer will come from introspecting, thinking about what really satisfies you and motivates you. And then you have to figure out how to get it, in spite of your present situation at work, or again, by finding a new job.
I do wish you good fortune in finding a place/way to be happier. It's difficult to do something when you aren't feeling motivated or rewarded.
Regards,
Thomas