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?
i just got fired monday. they wanted a mission critical piece of an application. it was a protocol gateway, and one of the protocols was totally undocumented. i told them six weeks at best. they told me three i said no, they said you're fired.
so, yes, somtimes they are crazy, and *you* need to decide if you want to be absorbed into the madness or retain your sanity. and the outcome aint always pretty. you got to decide what its worth.
four-oh-four
... at this point, I wish I had a job.
Less Talk, More Beer.
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
Why does this apply to only tech companies?
During my short history on this planet, every single place I have worked seems to have this problem. Not just tech companies.
It seems to be human nature to not want to deal with the messy social part of management and handle only the relatively easy business part.
Just my 2 cents I guess.
"It's comin' back around again..." -RATM
In the end I've been fortunate to have good managers... what have they had in common? They've become my friends outside of work. That isn't to say managers and employees must or should spend time away from work but working with people you LIKE really helps. In practice manager's I've liked have worked hard, valued by input and been able to contructively criticize me in a way that has helped me grow.
Software development may be 50 years old... lots of things have changed and one could argue that the pace of change is only getting faster. What doesn't change is that development of any kind is a whole bunch of people individually developing themselves- the end result is (or isn't) some kind of product. Manager's that are technically-minded work best with software developers because developers are technically minded.
Seems obvious but has not been the norm as far as I can tell.
I worked at .Bombs .Coms and .Profitable Motor Companies and a lot of other places as everything from Technical contractor to a "Scientist" to Director of New Business... I now work at a non profit and I have to say I never felt better. I hate the tedium of some of the stuff I do but everyone seems to care here. As soon as you take good old fashion $$$$ from the equation (I still get paid, just not at market rate), everything seems to work better. Human Service organizations are just great to work at mainly because getting a project done has something very visual and positive in its outcome... just my few cents (literally)
Know what pisses me off most? It isn't my boss or my coworkers or the clients... it's the perception of the industry in general. Mod this as offtopic if you must, but what's killing me are those damn MCSE commercials that make people think that anyone can better their life by going to school for 6 months to learn MS products. Talk about scams... they promise outragiously high salaries and give the impression that if YOU possess the urge and desire to better your life, then YES, ANYONE can learn this stuff... just another make-money-quick scheme.
"Just tell him ya did it! That's what he wants to hear anyway..."
God I hate them^H^H^H^H^H^H^H^H^H^H^Hbless them.
Looks can be deceiving. Or CAN they?
That seems to be why many professional programmers work on open source projects. You get to spread your technical wings without managers.
I work for a company that practices draconian software at it's finest. I have to fight for weeks, nay months, to get some improvement on the tools available. And the list goes on.
Many hours are spent on something that is casually swept aside by some new marketing spin
What do I do about it? I don't care that much really. Call me apathetic, call me brilliant. But I do the work, learn some stuff and get paid for it. I am not interested in running the company and the company is not interested in what I see as important or useful. We co-exist in a symbiotic relationship with both sides agreeing not to have too many conversations. Management and Code do not easily mix. Especially in the typical management environment
I recent left a job however, that had one good manager that knew how to balance these projects out. The one's that he saw as important where prioritized, and the one's that had hype where given a somewhat longer schedule. That way, then the ship had to do an about turn, there wasn't as much mass to move.
I think it's a matter of following the important projects with more zeal than the hyped projects and leaving at all behind you, no matter what, when you walk out the door. I get paid so that I can run my own server at home and play PlayStation. I enjoy both -- but to think that my work is all that important that it won't get cast aside in a moment is folly.
I'm going to come along and ask you shift yourself into positive mode, mmmkay?
If you could plow through those TPS reports, that'd be great... Yeah, okay, and I'm gonna need you to go ahead and come in on Saturday, mmmkay, greaaaaat...
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.
--
I've been out of college less than a year and I'm on my second Tech Job. Both have been professionally satisfying, but like many others will probably say, management seems to be constantly 10 or more steps behind. I'm too inexperienced to speculate why, but it seems to me that rather than let the specialists take 5 minutes to plan and prepare to tackle whatever the critical error of the moment is, management wants results NOW NOW NOW.
It's like I overheard the other day: do something now and apologize for it later. Even if it was a joke (which it was), I feel it's a rather good way to describe the situation--not only where I work but all over the place in IT. It seems everyone's just a bit crazy to me, but hey, they pay us to play with computers. I'm still trying to figure that one out.
Maybe I'm wrong.
Unfortunately, your comment on the commonality of "missed-management" is not limited to your experiences. This phenomenon is sadly common.
I used to know a retired Army Airborne Lt. Col. The words he used to describe both the problem and the solution were, "Managers manage things. Leaders lead people".
This inspired me, a Sr. Network Admin, to pursue my MBA just so I could speak the language of business. Luckily I was able to skip the class where they performed the labotomies, so I think I managed to hold on to my grip on reality (relatively speaking, of course).
In short (too late), my degree has given me some credibility to implement change. The old saying, "Wherever you go, there you are", doesn't exactly apply...you aren't the problem. You will, unfortunately, find the problem wherever you go...unless you take strides to make change where you can and learn to live with the areas where you can't.
Probably not very helpful, huh? Is it at least practical?
In answer to your original question: Yes, I love my job...but only since I started speaking my mind, nicely, of course (and in my MBA voice), and helping decision makers identify the bobbles.
Regards...
Did you ever stop to consider that maybe, just maybe, the reason that you disagree with the decisions managers make is because you simply don't have the same perspective on the issues surrounding the project and its context within the entire corporation?
That being said, you're probably right that most managers are just winging it. I often have the same kind of feelings about management where I've worked, but I try to give people the benefit of the doubt that they're not as dumb as I think. Maybe they are.
Every unemployed tech worker can sympathize with this guy
It's not the rant you think.
When I was young, I looked down on politics, figured I didn't need to deal with it, etc.
By the time I finally started to understand it, most of my working life was gone.
The thing to know is that politics is more than a game: it is the essence of working with and through other people to get things done. You don't have to become Machiavelli and you don't have to stab backs. Learning what people -- even managers -- cherish, and understanding the real power subordinates have over their bosses will lead to a lot more "wins" and a lot more sensible decisions than doing the typical "I don't care about politics" schtick.
What's sad is that we don't have to be as good at it as the managers are, though some of us do have tremendous potential.
We just have to be smart enough to listen and get listened to.
Techies will never win them all, or even all of the ones we should. Nice to win some, though.
There's a skill you must have to enjoy investing yourself in a complicated, demanding, intellectual job - and I wish I had advice for developing this skill, but I don't - you have to be able to tell who's a competent, visionary administrator (yes, such people do exist, god bless them) and who is, to be frank, an idiot (lots of those, as I'm sure you've all noticed.)
So, before you take a job, go and meet the management. Even if it means taking a pay cut, my advice is to work for smart people, and enjoy your work.
If you don't have the luxury (I'm a computational biologist, so I do) of choosing your employer / PI (that's what a scientist's boss is called) / project manager / what have you, then, well, you can't expect to be happy at your job. Most people are in the position of taking whatever job they can get, and they're unhappy with what they end up with. So, if you're one of the few people with the luxury of choosing where to work, get your priorities straight and at least consider the competence (to say nothing of worthiness) of the prospective co-workers, in addition to the economics.
I'm happy at my job, by the way.
The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
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?"
IMO, the important thing to remember is that for a lot of people, instability is exciting and thus desirable.
When those sort of people get ahold of a company, look out! Planned growth, planned direction, heck planning at all -- it all goes out the window, because that shit's just "boring."
It's a very exciting environment.
And almost assuredly doomed to failure!
--
Don't like it? Respond with words, not karma.
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 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.
The problem with IT is there are two completely distinct types of manager.
Type 1 are the people who are trained to be managers. The problem with them is that they have no clue what they are talking about when it comes to the technology.
Type 2 are the techies who have been promoted up. They may have been forced, kicking and screaming, to go to an afternoon management seminar or two, but they ignored it anyway. The problem with them is that they have no clue what they are talking about when it comes to the management.
The Type 1s get employed because the Type 2s are so bad at managing. The Type 2s get employed because the Type 1s are so bad at understanding the issues.
In most other careers it is accepted that while you work your way up the ranks, you also go and get MBAs, take management classes, are judged on your demonstrated managerial abilities, etc. In IT it is accepted that you are one or the other and that's just the way the world is.
Fortunately there are a few Type 1s who at least try to learn and can also accept that there are some things that they don't understand and they ask the opinions of those who do. There are also a few Type 2s that realize IT management is screwed up and want to make it better so actually buy and, more amazingly, read books like the One Minute Manager, talk to other people from other industries about improving their abilities, etc. Unfortunately there aren't that many of either sub-group. Fortunately, that does seem to be changing.
Don't get me wrong, I largely agree with the comments that say, "You don't understand - management is a whole lot more complicated than you realize, you just don't see it all." But, while that is also true, it doesn't make the two "Types" issue any less real.
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.
While the parent post might be a bit on the agressive side, I agree with it.
ALL JOBS SUCK!
At the very best, your job will suck sometimes. At the very worst, your job will suck every minute of every day. When it sucks badly enough, you quit.
Why do you think that lottery winners don't say, "well, I'm going to donate my $32 million in prize winnings to the EFF, and keep working until I'm dead or have Alzheimer's"? Because working for other people is an inherently sucky proposition. You've given up the power to make certain decisions in return for a paycheck.
Sure, I'd love to work in some perfect Nerdvana, but it doesn't exist.
This only really applies to free software developers, but say you have a day job doing one thing, and by night (or weekend or what have you) you put time into a free programming project. Since you actually work two jobs, you could say either one is your "true" job.
It doesn't matter what your day job is. You could be a waiter or a pr0nstar or a programmer in a cubicle. If you enjoy your night job more, then consider that your true job. After all, your "job" is nothing more than simply doing your part in society. If you consider free software to be more of a calling than your day job, then so be it. It is even possible that your free software project is better for society. The downside is that it may not be the job that is bringing in the money, but it is your job nonetheless. Think about it this way: if you had to choose between losing your job or losing your free software project (the latter is sort of impossible, so lets just say that it disappears in a puff of smoke), which would you choose? Which is more important?
So before you tell your friend that your job sucks, or tell your uncle at the family party that you work at a dead-end computer job, why don't you say you work on free software instead? It's a much more enjoyable job, isn't it? It also reflects what you truly want to do, and because of the impact it makes, is a much better candidate to represent your place in society.
Anyway, I got into this discussion with one of my friends the other day. I am a free software developer, but I have not finished college, and my day job sucks. He said something along the lines of: "What do your parents think about this? Are they angry you have not aspired to more? What greater plans do you have?" And to that I answer: "Greater plans? I'm doing exactly what I want to do _right now_. How can it get any better? Maybe I can improve my day job, but my night job is where the fun is."
-Justin
I think one major difference between managers at tech companies and those elsewhere is that at the tech companies they don't understand their domain. You can be an effective manager at Ford or Chrysler without knowing any automotive engineering, but same does not hold for a software company. The reason for this is that software is a new and evolving field. It needs to settle out before the managers can get a grasp on it, but in the meantime the domain keeps changing on a yearly basis.
The stereotypical software manager will want to use Windows, because that's all he knows. For some applications that's an appropriate choice, but for a great many is certainly is not. Where we work we build embedded realtime invasive medical diagnostic equipment. Management made the braindead decision to base all of our new products on a piece of medical workstation software developed at another division.
Another problem, whose source I haven't discovered, is the strange idea that you can create a quality software product in one or two years. Go look at any other industry and you'll see that it takes around five years to get a product from initial idea to the sales floor. Everyone in the automotive industry knows that new designs don't magically appear, but I've seen too many managers in software that think I can magically pull a feature out of my ass on a moment's notice.
These problems will go away, but I don't expect them to for another ten years at least. But there are companies that are on the ball. Some listen to their engineers. Some send their managers to software engineering classes. Some are in niches where the industry has settled down somewhat.
A Government Is a Body of People, Usually Notably Ungoverned
You describe "management" as an issue, but you aren't specific. I can think of at least three things that the managerment should be doing that can be problems.
1) Process management - there's no excuse for a problem here. If the manager(s) don't understand the software development cycle, it's bad news.
2) People management - this is very much a personality issue. Some people are great at personal interaction, keeping up team morale, recognized personnel problems before they happen, etc. Others aren't. Depending on the situation, it can range from heaven to hell, with all variations in between.
3) Product management - this is the one where you have to give the most leeway. Yes, direction will change, after all, you are trying to sell something, and you've got to provide what the customers want and to do so, you're either anticipating their needs in advance, or trying to interpret them. If #1 and #2 are solid, you can live with some uncertainty here.
All that said, someone who's truly horrible in any of the categories above can do a lot of damage. If you're lucky, you get someone who's excellent in one category and can get by in the other two. Mostly, however, you get people who are just muddling along in all three.
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?
"I find myself putting all my energy, both mental and emotional, into a project only to be disappointed by decisions made by management."
I have a little saying I like to use in meetings or with co-workers who are taking things too seriously: "we're not curing cancer here". (needless to say, I'm not working in cancer research). Work is work - it's something I do to pay my rent, keep food on the table, and support my other interests. If you find yourself putting all your emotional energy into work, you should seriously re-evaluate the priorities in your life. I am fortunate in that I generally like what I do, but I will not drain myself emotionally for any job - the sum of money required to turn me into an emotional wreck far exceeds the market's willingness to compensate me.
--Gus
Libral Arts graduates are not supposed to manage people, nor do they have the proper education to do so.
Computer Science graduates are not supposed to manage people, nor do they have the proper education to do so.
History graduates are not supposed to manage people, nor do they have the proper education to do so.
These are ridiculous generalizations that have absolutely no bearing in the "real world". Check out the backgrounds of the great corporate leaders of the last half-century. Read "Good to Great" or another book that describes their qualities.
Where they all "commerce graduates"? Was there an engineer in there? An arts grad? How did that happen? They weren't "supposed" to be there?
You are taking a deterministic approach that says the degree you choose when you are seventeen determines if you ever have the capacity to lead. How absurd.
doubt it. "those who cant program manage?" .
i think you really have to program for a while first, understand whats right/wrong in the management, prepare yourself, and only then go into management. merits of the MBA are debatable (although i am not denying the usefulness or anything like that)
and i definitely agree with many people who don't equate good programmers with good managers. i do believe, though, that if you were to sample the level of request from the programmers, then managers who used to program would come out on top.
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.
Sometimes it's not the managers, sometimes it's life that sucks. The managers are trying to make business run in a chaotic world. Economies, the competitors, the shareholders, the investors, the ceos etc are constantly throwing curveballs at you. The engineers and the rest of the geeks would like to be shielded from all that but it's just not possible.
War is necrophilia.
Sure, I'd love to work in some perfect Nerdvana, but it doesn't exist.
Only because you don't have the balls to make it exist. If you hate the hampster wheel, go start your own company doing consulting or something. You might make less money, but screw it. What's more important to you? Being happy or having expendable income to waste on gas-guzzling autos, bleeding-edge geek toys, and a two story suburban energy drain?
But there are plenty more cases where management is bad. That's why there's such a rise in chain and franchise operations in retailing - there's such a shortage of people with real management skills at the local level that a cookie-cutter approximation of a solution can actually perform better on average than a solution based on intimate knowledge of a particular market - the franchise operation retains the cookie-cutter while cutting down on peer-level conflicts between managers. If management talent were thick on the ground local ownership would do best, followed by larger organizations with good internal communications and local autonomy, and franchises would be dead last.
Bad management is also rife in non-profits and educational settings - it's not just the profit motive that brings it out.
Is there an "as above, so below" aspect to it? Are so many people bad managers of other people because they are not doing so well at "managing" themselves? In my experience, the best managers are the least neurotic; and we're in a society, as Freud noted, in which most everyone is neurotic (although there's a shift to borderline disorder since his time). Can our culture increase the numbers of capable managers without somehow finding a way to increase the incidence of psychological roundedness that's required to be a capable person, period?
And would shifting the culture out of the prevalence of neurotic incapability threaten social systems which somewhat depend on neurosis as a point-of-leverage for social control?
____
"with their freedom lost all virtue lose" - Milton
< turn sarcastic voice on :-) >
.... many (most?) commerce grads make very poor managers especially in the tech industry. Being non-technical they have little appreciation for what really drives tech people (no, reading case studies does not count) and hence they have no real clue how to handle or motivate techies.
... which we all know as the PHB.
Typical of a commerce student to write screenful after screenful of text without getting to the point!
Let's put it simply: The best manager is someone who understands people, who understands the business, and who understands what happens in the business.
That's it - no other description or explanation required.
Now for the record
Worst, having read all these wonderful case studies, these commerce grads think they know how to handle tech people and just come across as these pompous arrogant know-it-alls
Anyone else find it funny that these are the people that end up managing the CS and CPE graduates when they get a job after college? Maybe this is the reason why management sucks so much.
Any sufficiently advanced influence is indistinguishable from control.
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
this is slashdot. you're a network admin. the real reason is you don't want your pager to go off, telling you in shrill tones that every router you own has just gone Tits Up due to inbound traffic... ;-) You can be honest here, you're among friends.
(And yeah, I agree with you, working in a casual atmosphere rules. It's worth the pay cut if you have to take it, to show up wearing what you want and know that you have a good chance of making it through the day without getting screamed at.)
News for Geeks in Austin, TX
I was in your position about nine months ago. I had worked at a university for about 10 years, in IT. Dilbert applies there as much as it does anywhere. I was paid relatively well, but it wasn't enough to make up for the amazingly shallow human drama that our management was hellbent on creating. I felt that my soul was being siphoned out of my existence, one tedious day at a time.
After spending way too much time (years) pondering what to do, I quit. I gave them a generous notice, then left. I don't miss it and I feel like a relevant human being again.
Now that I've had time to reflect, I've come to believe that:
- while it is a noble and romantic notion, attempting to find meaning in one's IT work is really hard and potentially dangerous for your mental stability, because
- the IT work force is filled with people who occupy the middle of the bell curve and who just don't give a hoot.
If you want to make a difference in the world, don't figure on doing it through your employment. I think our generation has been brought up with the idea that the road to happiness is found by loving your work and doing work you love. That's a pretty picture, but the real world doesn't make that a goal that one can really achieve.Today's work place, probably any work place actually, it's like playing on your grade school class' PE kickball team. You don't have a team of the best players; you have a team with every player of every skill level and interest. What's the point of being concerned about the quality of your work when you're just one of a few people who could give a shit? Now, if you're playing on a team/working in a job where everyone wants to do their personal best, solving problems and kicking ass, it would be different (kind of like Star Trek...).
You asked how can you feel good about your work when you don't have confidence in management? That's the wrong question. How you feel about your work doesn't hinge on what you think of management? They're probably not qualified to really judge your work anyway. Your management is as smart as they're ever going to be. They're doing the best that they can. It may not be the best possible job; it probably isn't what you would do, if you were the manager. But that's not the point of the exercise. You're not supposed to do the best work that you're capable of; nor are you supposed to expect that management wants you to do this! Rarely is one rewarded for being smart or clever. Getting from point A to point B in the shortest or most efficient way? Not relevant.
You'll have a hell of a time changing the people in your work place. It's a lot easier to change yourself. If you think your management is clueless, they probably are. If it is important to you that you work with people who aren't clueless and actually share your values about work, you'll probably have to bail on this job eventually and seek out an employer who better fits your idea of reality. Or, you can change your own point of view about work. Yield and conquer. Let work be the place that supplies you with cash so that you can live life with people who actually care about the things that you do. It's definitely easier to find a group of people who'll share your passion about something outside of work than within it. Especially IT work.
I've learned that the best use for employment is as a spigot for cash to fuel a stylish, mysterious, and dangerous life. Fill a position, show up, cash the paycheck. Use the cash to go out and build a fulfilling life. Don't look for meaning or personal fulfillment at the work place. It's not there to be found.
I quit my soul-reaping IT job to write my own software, on my own terms. That makes me happy, but hasn't made me rich yet. I also started playing music and discovered a community of people that I really enjoy spending time, some of whom also equally share my passion. Now that's cool and fulfilling. That's the hokey-pokey. You probably won't find the hokey-pokey in the workplace. Work is work and life is something different. If I ever go back to employee situation again, especially in IT, I'm going to keep this foremost in mind.
Do the best work that the situation permits. You'll not be able to do any better and wasting cycles worrying about it is futile. It may not be spiritually satisfying, but you'll earn the same pay in any case. When the day's over, go off and live your real life.
What is it that you would do all day, in a perfect world?
I am quite happy with the work that I do (at the moment, seasonal work with the Forest Sevice as an archaeologist, when I get my Masters, hopefully I can get a full time position). I get paid to do what I would willingly do for free, or even pay to do. I love archaeology. I love the fresh air and miles of arch survey. I enjoy the little bit of excavation that I have the opportunity to partake in. I adore the people I have worked for. I take great pleasure in explaining why archaeology and historic preservation are important and dealing with the public.
Your claim that all jobs suck is a terrible generalization in the highest order. Perhaps the problem lies not in the job bering terrible, but in your ability to choose the field that you work in. I am honestly sorry that you do not enjoy the work that you have chosen to do. My feeling is that one should always to work that they enjoy. If the work is not pleasing to a person, then find something else to do and let some one who wants to do it, do it.
On the other hand, if you are in it for the money, or the power, or the reputation alone, then you have no right to complain. You want huge amounts of money? Fine, you are going to have to do something you don't like to sate your greed. Power? Again, you are going to have to do unpleasant things, or stop you quest for power. If your goal is simply to take pleasure in life, find a job that you actually like doing, no matter the pay (almost any professional field will pay a living wage, at the very least), then there is something that you can do in the world that will fufill those needs.
We live in a world of our own making. We have power over our actions and our own ability to take pleasure in anything that is put before us. Ultimatly, it is your choice to dislike where you work. However, you also have the ability to change that environment. You, much like the fox failing in his attempts to reach the sweet fruit of the grapes on a distant vine, complain without trying alternatives. You waste your time, and the time of all that have to hear your selfish complaining.
Unless you are willing to take responsibilty for you world, shut up and sit down.
Rhapsody in Numbers
I'm not sure I agree with your statement. Ex-programmers certainly would seem to be great managers for current programmers, but are they really good managers? We give them high marks because they understand us and speak our language. They may even be a bit more reasonable about delivery dates and all.
The problem is, that's not really what makes a good manager. A good manager is someone who motivates you, listens to you, fights for you, and is occasionally willing to tell you to go get stuffed. Management isn't just making your work day more fun, it's hopefully about making the company a little bit better.
Probably the toughest thing a manager has to do is to kill ideas and projects. Especially ones that they find interesting. How many of us will willingly stop work on something that we are enjoying because it won't turn out how we originally planned?
So, yeah, it's great to have a boss who understands you and even understands Dilbert. But in the end, that boss also has to be willing to go out there and fight for the department and the company and make the tough decisions.
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
They wouldn't *be* middle managers if they had drive, vision and talent.
Leave. Become a consultant and read Dilbert.
Government of the people, by corporate executives, for corporate profits.
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/
Not sure I agree with that one. While the l337 hax0r crowd might have poor social skills and be very proud of what they can achieve single-handed, real projects are rarely the domain of a single person any more. I'd rather have a team of five competent programmers with good interpersonal skills than a team of five top hackers who didn't speak to each other, and it's a very easy decision to make.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
It's scary how well the story captured my own feelings about work.
I thing the major reason tech companies are like this is the environment they "grew up" in. Consider:
Most tech companies started in the 1960's to 1980's. While there were some downturns during this time, the overall pattern was growth growth growth. So, no matter how incompetent the company management, many companies survived just because the environment wouldn't let them fail.
Now, your typical manager will feel that all successes were due to his decisions (and, by the way, so will the average tech, or indeed the average human). So, consider a company that is still around today - the manager will feel that he must be doing something right.
Now, consider the rate of change in the tech field. It is almost impossible to have any foresight in this biz without a GREAT DEAL of technical knowledge. Being able to see the 3-5 years down the road to be able to make good plans is just about beyond the average manager. Instead, they focus on making plans 6-12 months down the road.
When times are good, this is enough.
Times are less than good now.
So, companies that have been able to survive are starting to die off. The managers are frantic - get me something NOW, OR ELSE!
It's like animals - when times are good, even the sick, lame and stupid can survive, can get enough to eat and avoid being eaten in turn.
Then the drought hits. The animals ALL get frantic about finding food.
Wait until after the drought, then look for the survivors that are healthy. Work for them.
www.eFax.com are spammers
I work for AOL.... need say no more... ggghhhhh
Cruise TT
As a software development manager and programmer, I'll throw in some ideas:
1. Your real "job" is to feed, clothe, and shelter yourself and your family the best way you can. This is most often done by working for a company.
2. Your real "job" at the company is to do whatever it takes to maintain the short and long term growth and profitability of the organization. Sometimes this means hacking together some crap to close a deal which will make enough money to keep you and your coworkers employed a bit longer.
3. Your real "job" as a programmer is to put together the absolute best product you can given the constraints of time and money. Don't assume you understand all of the constraints, or the implications of the constraints.
Finally, while you are doing the best job you can, it is in your and the company's best interests to always try and make your manager aware of the downsides of his decisions in a polite and intelligent way.
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.
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
From reading the posts here, it's clear that (nearly) all managers are idiots and (nearly) all companies are mismanaged. Therefore, to make a bazillion bucks, all you need to do is put together a business with smart managers instead of dumb ones, so that all the techs will be tickled pink to go to work, and product quality will soar. Right?
Well, basically that's true, but if this were easy to do, everybody would be doing it. Companies don't deliberately make themselves inefficient. As a few posts have reminded us, management is not a precise science. Training can help but only to a certain extent (and the best training is probably running a Boy Scout troop rather than going to B-school). It's hard to be a good manager, hard to measure management performance, hard to balance the competing priorities that most managers face, and hard not to wind up shooting yourself in the foot.
Which is not to excuse stupidity nor to discourage you from ridiculing morons; but just remember that if YOU were doing that job, you'd probably screw it up just as much, and maybe more.
-- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
One of the key things is this: there is always a trade-off between cost, time and functionality (including quality). Furthermore in most cases it is better to be 50% over budget or missing 50% of your functionality than 10% over schedule. This varies according to situation of course, and there are plenty of counter-examples (e.g. air traffic control). But most project managers know that the success of their project rests in getting it in on time regardless of cost and quality.
And they are right.
If you miss a market window your potential market share starts to drop exponentially as competitors take the lead. But of course all your competitors know that too, and are desperately trying to hit the market window defined by your launch date.
So when the PM comes down and tells you to get it shipped by Friday no matter how buggy it is, its not because he doesn't know his business, its because he does.
Paul.
You are lost in a twisty maze of little standards, all different.
I think that many people feel that a technical manager is better, but I disagree. I don't totally disagree, but I do to some degree.
A technical manager is good iff they know the limit to their knowledge. They shouldn't make decisions outside of their knowledge.
A manager is good iff they support their employees to do their job (aka run interference).
There are many qualities that make for a bad manager so we should best leave those alone.
int main() {
while (Manager_EMPLOYED) {
for (int i=0; iDIRECT_REPORTS; i++) {
if (employee[i] != HAPPY) {
root = findRootProblem();
correctProblem(root);
}
for (int i=0; iDIRECT_REPORTS; i++) {
if (employee[i] == jobComplete) {
giveRaise(employee[i]);
}
else {
if (employee[i] == blocked) {
runInterference(employee[i]);
}
else if (employee[i] == resourceStrapped) {
realignProjectPlan();
}
}
}
doProjectPlan();
doBudget();
hire();
fire();
}
}
Probably needs some work but it is at least better than most I've worked with.
rev