A place to discuss Joel on Software. Now closed.
This community works best when people use their real names. Please register for a free account.
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot
The Old Forum
Albert D. Kallal
I don't know if my fellow IT workers (including programmers) are extra-whiny or if there is something truly inherently evil about IT jobs but I've met very very few IT workers who are happy with their jobs. Many are happy or at least satisfied with compensation but almost all dislike the actual work, complain about the burn-out, and have some vague plans of "getting out". Non-IT people seem to complain less even though they are often not nearly as well paid. Has anyone else noticed this phenomenon?
"Has anyone else noticed this phenomenon?"
Yeah, of course, but then it seems to apply to many jobs these days.
For example, my family doctor can't wait to quit and start something new, even though she doesn't know what that is yet.
Perhaps it is just a sign of the times?
I guess it is because we started off with some real hope of a fulfilling, well-paid job which would eventually make us rich. We somehow thought were special. Or achieve something really great in our 9-5 jobs.
It is this difference in reality that make us grumpy. Sometimes I envy those humanity students who get hired in HR departments and don't have to worry about things that they should know or keep up to date or achieve whatever.
In these, I am not that grumpy as I was. Things somehow started to get better. I recommend to try to appreciate what you already have. And separate whatever aspiration of 'greatness' from your 9-5. Try to have a healthy lifestyle. And maybe you might achieve something better than those HR employees. You just have some extra weight on your shoulders.
the capitalism bitch is in the middle of her long fall from blinding heights, and she believes she's flying.
i can understand why people come up with stuffs like zeitgeist addendum. i like the idea of technology for the sake of technology. work for the sake of work. can you imagine?
but for the moment being, we have to suck it up cause you and i can't change the whole world. clients decide the way we should do our job (fast, fast, quick, quick). it's like the public asking mozart or stephen king the way they should do their job.
something is amiss.
Hmmm, I must an anomaly; I really enjoy what I do.
I do bespoke RAD (a.k.a. fly by the seat of your pants) development in banking (mainly IB) working directly with the business. A lot of the satisfaction comes from dealing directly with the end users and seeing how what you do makes a difference in their daily working life. You get immediate feedback, so you know if what you're developing is making a positive (or negative) difference. I'm also involved from inception to maintenance & support with everything in between rather than being a small cog in a big project.
Admittedly, I have worked once in an IT dept on a largish project with the obligatory meetings and politicking - I hated it.
"Sometimes I envy those humanity students who get hired in HR departments and don't have to worry about things that they should know or keep up to date or achieve whatever."
Maybe if they did, HR departments would be able to do things like, oh I dunno, follow their own procedures properly...
The problem with IT, generally, is lack of respect. Because it's something that looks easy and looks like something anyone could do, people don't respect experience and talent.
For some reason this just doesn't work in other fields. While everyone feels they can put a sticking plaster on a cut, they go to a doctor for more serious stuff. Any fool can build a garden wall, but if they want a tower block one hires an architect and a construction company and lets them do decisions.
Whereas, it's quite common in IT for micromanagers to overrule the professionals.
It doesn't happen in building. Managers simply aren't allowed to say things like "Oh, I don't think we should RSJs in those load bearing walls". If the architect says they're needed, then they go in. We also don't hire doctors by picking the tools they'll use. When you want a doctor to take out an appendix, you want a qualified general surgeon. You don't ask them whether they prefer a #3 or a #4 handle on their scalpels.
And yet it's pretty common to see projects which have picked a technology first ("Oh we're going to use J2EE for this") and THEN hire the team around that ("Wanted, tech arch, 5 years exp with J2EE, C , C++, JAVA, Perforce, Apache, Perl, Python.") and only at that point produce the spec. And then if the job isn't one the technology is suited for, that ends up being the developers fault and they're the ones who work overtime to put that square peg in the round hole.
It's scarcely surprising that a) almost nothing works properly, b) there's constant chaos and that therefore c) almost no-one finds their work rewarding in ways other than money.
I freely admit that a lot of my time, I feel like some sort of thief. I sit in projects which are doomed. They're more doomed than a plane that's lost both wings and is on fire. I see the people around the project running about setting more of it on fire as it hurtles towards the ocean and removing more control surfaces and making it worse. And I watch developers switch in and out of seats as we trail wreckage and smoke down. And it's always been like this. The project is a free-fall disaster before I join and after I leave and there's just nothing, nothing, nothing I can do to rescue it at that point in time. And yet I'm being paid to be there.
And I feel bad about that. I feel that I ought to be being paid to achieve something. But usually I'm just being paid to sit in a seat in a vehicle performing a ballistic trajectory straight into its crash site. And even if I quit then the next thing will be the same and whoever takes my place in this seat will be in the same situation.
And this is not how I wanted to work. I wanted to build things that people wanted. Not turn up at an aircrash and fill a seat in it for a while. And while it's financial fulfilling, it's not very emotionally fulfilling.
Most bridges don't fall down. Most patients don't die. Most IT projects are a failure in one way or another. It's like being a surgeon back in the days before anaesthetics or antibiotics. Most of our patients die... and that's got to be bad for morale.
And I can't help but think that this really has its roots in the fact that people think software is simple enough that they can exercise control over it at a level they ought not to be and that they also don't want to pay what it actually costs. Architects generally don't compete on price and you don't get to tell architects that their idea of how strong structural steel is is an underestimate you can feel you can ignore in this project. But people time and time and time again pick the cheapest option for software, design it like they'd design a tin shack and then act surprised when the end results turns out to be flimsy tin shack instead of a tower block.
This has got to be one of the most accurate descriptions I have ever read about one of the main problems concerning software developing: everybody thinks its easy!
Thursday, June 25, 2009
"It doesn't happen in building."
Construction projects can be just as chaotic as software projects!
I say this for two reasons: my spouse is a litigation lawyer specialising in large contentious construction cases and that I am sitting a few hundred meters from a terrible construction project disaster - the new Scottish Parliament building. Ugly as sin and ten times over budget.
Any large project can go epically wrong - I'm not that convinced that there is anything particularly special about software in this respect.
Personally, I've never worked in a product development role, I've always worked on extending/maintaining existing systems. But, I'm very happy in my job (note that I've been there less than a month and was unemployed for 9 months prior so I expect the 'steady paycheck Nirvana' to last at least six months).
I can already see some negatives about his company; the IT mgr and projects leads are just a little too aggressive interacting with people and although they're using the latest tech they're using it like older tech (not taking advantages of the benefits).
Thursday, June 25, 2009
How does this compare to other professions and trades? Do restaurant staff spring out of bed eager to hurry to work? The guys on the loading dock?
@Katie: Twenty-plus years ago I used to talk with an architect who commuted by the same train. One day I quoted to her Gerald Weinberg's dictum that If architects built buildings the way programs build programs, the first woodpecker to come along would destroy civilization. Oh, she said, but that is the way that architects build.
My experience with houses--ones we've owned, ones we've seen in progress--suggests that my acquaintance wasn't far wrong:
a. Around 1990 pretty much every rowhouse (or as the realtors say, "townhome") build in the eastern half of the US during the previous 20 years had to get a new roof; they had been built with fire-retardant plywood, made to crumble in case of fire rather than let the fire travel roof-to-roof through a block; this allowed firewalls to end at the roof rather than protrude beyond. Unfortunately, twenty years' experience showed that attic temperatures crumbled it just as thoroughly, only slower. Some companies distinguished themselves by paying for the repairs; the builder of our development reorganized under bankruptcy protection.
b. In the middle 1980s Montgomery County code allowed builders to run PVC pipe from water meter through the house wall. Fewer years showed that this was not a good idea: the pipe won't stand the force of four feet of dirt pushing where it reaches the wall. A stroll through our development in those days commonly showed water running along a sidewalk, or a big pile of dirt in someone's yard.
I could go on--McMansions built for size and show, but with undersized a/c ducts, and an exploding electrical hookup; the local builder whose subs cut through joists to make running the a/c ducts easier (the house collapse made Baltimore TV, I'm told); etc.
In my experience, you will be exactly as happy in your job as you expect to be.
If you view the IT world as a place where you're constantly being degraded by management and threatened with layoffs, then it will shape your actions, which in turn will shape people's perception of you, and thus the way they treat you. If you go into a job interview with that attitude, it will show through.
And yes, there are lots of employers looking for exactly that sort of meek, downtrodden individual to employ. You're easier to control than your counterparts with a sense of self-worth. It's just that simple. Don't work for those people.
Go into your next interview with a bit of confidence. Don't accept a job at a place that treats its employees as cogs. Don't take a "contract" for $35/hr. Act like you deserve respect and you might be surprised to find that you get it.
Computer Programming is the single greatest job you could ever imagine. If it feels otherwise, don't blame the system. Take a good hard look at yourself and figure out what you're doing wrong.
Thursday, June 25, 2009
My guess is they didn't realize the tradeoff they were making.
Getting a "job", in general, means trading time for money. But it's not a lot of money; you are working to make someone else rich. For every dollar that person gives you, they lose a dollar.
So Adam Smith's invisible hand will work to compress wages unless you can do something about it.
Programmers have "done something about it", in general, by generally requiring some sort of 4-year degree to get into the business. Doctors and Lawyers, by requiring a very expensive grad degree, internship, and board exam, have done the most about it. So those fields have barriers to entry and tend to pay better - aside from the assistant prosecutor in a small county seat; but then the programming gigs there aren't great either.
So you aren't going to get rich as a programmer. In fact, if you want to be paid well, you'll move to NYC or Chicago or Palo Alto, but cost of living will getcha and you still won't get rich.
The closest thing to rich as a programmer is contracting, which involves more personal /risk/, or starting your own business.
Of course, the basic "day job" tradeoff is very little risk in trade of a stipend to live on.
Also, since there just aren't that many decisions to be made in a business, the senior management will want to make them all, so the do-er is stuck following orders.
People who are sad about the job they have aren't consciously aware of the tradeoffs they've made -
A) They didn't want risk, so they didn't start a business
B) On some level, they might have realized that management invlves dealing with conflict and mis-aligned incentives (rewarded for doing things that are bad for the company, or, perhaps, immoral) - so they didn't go into management
C) So they stated technical, the path of least resistance,
D) And got a job in IT, (often) the uber-path of of least resistance,
E) And they've put no effort into getting a better gig
Now, if your wife is a stay-at-home mom and you want to work 9-to-5, be done when you get home, and not have to worry about who to lay off, maybe you can and should consciously choose to be a do-er in an IT shop.
It's when you don't consciously choose that you feel like a victim and don't know why, ya know what I mean?
Thursday, June 25, 2009
That is because IT workers are self delusional.
Thursday, June 25, 2009
I love the work. Love building stuff. Love figuring out what to build.
What I don't love is being micromanaged by non-technical bosses, and answering to pencil pusher PM's with delusions of grandeur.
Generally speaking the better the class of people you are working with, the better experience you will have.
Thursday, June 25, 2009
I really like programming and have done so for many years now. (And plan to for many years to come.)
I think that it is great when I can build something with my brain and fingers and get it to work. (I am not overly dexterous and my construction projects look like an eight year old made them.) I like being able to design something and then to actually get it to work. I am in the Embedded Software world, so when I do something, something actually moves and is obviously working. (We will ignore bug fixes here.)
When it comes to software maintenance, then I get to figure out how someone else's mind works (and there are some real disasters out there) and fix it. Any other place that could I do that would be in a psycho ward, or similar.
One of the big problems with our profession is that it is very new. Most of the other professions have been around for hundreds of years, or more, and have had many, if not all, of their basic problem become "well understood". In the Software world that is not the situation and because it is not possible to "touch" software, many people don't think much about it. In some respects software is less than a set of written instructions. Many people never read instructions, or anything else for that matter, and just have an internal set of thoughts of "If I can't touch it, it doesn't exist." (And therefor must be easy to make!)
Speaking as a happy "IT" person:
1. I've picked small companies with technical managers to work for. The downside is they know when you are blowing smoke. The upside is they know when you are working hard and using your brain.
2. I tend to work in software product companies where the technology I'm producing is their bread and butter. More pressure, but more pleasure, feedback, and bottom line impact you have.
3. You won't get rich working for someone else. Only certain kinds of people make good technology _consultants_ who have a chance to make a LOT more money than the rest of us.
I believe a lot of the unhappiness in IT stems from wrong expectations. All jobs basically suck. When you get a job, you are trying to minimize the suckiness.
Generally, smart people work in IT. Smart people always think they can do it better than their management. So go for it. Run your own company and take the risk.
Being smart plus ambitious and working for someone else is utterly painful. You are compromising from the get-go. You know you can do it better but you aren't allowed to. You succumb to a form of mental slavery, as a result.
So maybe I'm happy as an IT person because I'm not all that smart. Definitely not ambitious. I'm kind of lazy and don't want the stress and long hours of running my own business. I think I have great ideas but I don't get offended by their rejection. My salary is at the higher end and it won't get that much better. I'll get cost of living raises and that's it.
But during my work day, I get to zone out staring at code and forget about the world because my boss shields our team from the sales and support people. The code base is challenging and it isn't CRUD work.
What more can I ask for. In a JOB. ????
P.S. My joy in life is being around really smart people. I made that my goal and that has served me well. So if you want my free advice, make sure you are surrounded by brilliance (not brilliant because they came from MIT, but brilliant because they are). Don't be afraid to be the dumbest person in the room. Don't assume that being the dumbest makes you the lowest paid, either. Maybe that's my "smart" side. I'm able to figure out who those people are and I bust my ass until they let me have a desk next to theirs and show me stuff.
i smiled while i read the thread. you know, psychologists conducted a study a while ago and they found out that extroverts (persons who are energized by being around other people as opposed to introverts -- think workers, scientists vs. artists, writers) would always say they are happy with their life, even if they are not.
they can't allow themselves not to be happy. they solved long pending problems, they made mr. rich client happy, they saved the day, they were praised by folks, they used their favorite tools. so why can't they be allowed to be happy? think about it, life is making life fair.
psychologists did the ESM (Experience Sampling Method) experimentation. the goal is simple. a timer randomly goes off at a certain time during the day, you then jot on the ESM notepad how you feel about what you are doing. psychologists have been surprised with the results and where people really found their happiness.
the real question is whether our society has redefined happiness. maybe so. happiness used to be an emotion, it is now a conscious choice.
Others have hit the nail on the head - the reason why IT workers usually aren't happy with their jobs is because IT has been demoralized.
The average IT job contains one or more of the following:
1) Clueless owners/management who will dictate software policy and tell you what you need to do despite knowing absolutely nothing about software, and then get pissed when it takes longer than the day they thought it would take, exclaiming "I don't think I'm asking for that much!" when, in fact, they aren't qualified to consider what they're asking for.
2) Cheapskates who refuse to buy anything that will help their business because they don't want to spend any money at all on anything, and typically lowball/hire one person to do 5 roles/buy cheap contract labor.
3) IT Managers who haven't been technical in years and are no longer qualified to make technical decisions, yet based on seniority alone are in charge of developers who know better than them
4) Senior developers who coast by on seniority and ignore agreed-upon best practices like testing, source control, and the like, and conspire to remove anyone who suggests alternate ways of doing things.
Thursday, June 25, 2009
"This has got to be one of the most accurate descriptions I have ever read about one of the main problems concerning software developing: everybody thinks its easy!"
1) Software can be made once and used by millions
2) There is a glut of supply
3) Most people never need custom software
4) Therefore, they think all software should be like the Big Commercial Products that took millions of developer-hours to make, even if it's a small project
This is unlike, say, home construction, where people's expectations are set by average houses built by average builders.
Thursday, June 25, 2009
That sounds like a pretty sad thesis to me. I've been in the industry (web development) almost 10 years and despite a high level of stress I feel pretty grateful to be able to do the work I do.
Certainly I don't feel surrounded by unhappy people.
In my case, the important things are being respected, being able to do quality work, and working with pleasant people who are not incompetent. I realize that in the corporate world finding those things may be a stretch, but despite what it may seem, employment is not a zero-sum game. At a fundamental level you can start your own company, but even within many organizations you can get yourself assigned to new or different projects by pitching your boss, and you can always quit for another job or career. In short, you have the power to change your life (at least in free and developed countries), so you have no one but yourself to blame if you're miserable in your job.
Having said that, I don't think there's any reason you need to be thrilled with your job. Most people in the world do a job to earn a living and get their satisfaction elsewhere. As IT becomes increasingly commoditized there will be more and more of these types of unsatisfying jobs.
Gabe da Silveira
Thursday, June 25, 2009
Do you have a link to that study, by chance? I'd be interested in seeing it.
In general, I agree with sharkfish. Work is unpleasant; that's why we get paid for it. If it were fun, we'd do it for free (or even pay for the privilege). Instead, we exchange our time and expertise for the ability to finance the fun stuff.
There seems to be a perception in IT that we're supposed to find self-actualization through work. It's not quite as pervasive as in artistic professions, but definitely more so than in other technical fields. Personally, I don't think I'm the sort of guy who can do that. This is a pretty decent line of work, but I can't say I'm "passionate" about it; it's my job, not my life. As for my hobbies and such, well, I'm not good enough at any of them to get paid for it. C'est la vie.
Now there are drawbacks and advantages to this attitude. It's hard to revel in the mundane successes, or be bright-eyed and bushy-tailed every day. But on the flip side, when things get negative (and they often do) it's a lot easier to let it go at the end of the day.
Maybe I've just had the wrong jobs, but in general, I think I benefit from being a little more detached. If I took all the bad stuff personally, I'd just end up poisoning the rest of my life.
There is no reason why work should be unpleasant, inherently.
Just consider that we were marooned on a desert island. There are things to do -- gather food, build shelter, etc. Are any of these unpleasant? Not necessarily -- pretty similar to camping/fishing/hunting, all of which people do for recreation.
Now, suppose there was some issue about people doing their share. We might keep track of how much time each person puts in in terms of work. We might keep these in "credits" since some people might be doing more dangerous/skilled work.
To make sure that people do their share, we might require a certain number of "credits" for them to eat, or sleep in the shelter, and deduct this from their credits.
In a nutshell, this is our country and economy. Jobs are about doing what society needs done, and the system we have for trying to allocate that work efficiently is the free market capitalist system. People are incentivized to contribute by paying them, and encouraged not to overuse resources by requiring them to pay for them.
However, if everyone was good at figuring out how to contribute, and did their share, and weren't greedy about taking too much, then we wouldn't need any of this at all. The work would still need to be done, and hopefully everyone would be good and efficient about doing what was needed.
But strictly speaking, the work is neither inherently pleasant or unpleasant -- it just needs to be done. It would need to be done regardless of whether someone was paid for it or not -- or we were just mature about doing our share. One could be happy about contributing to the group and survival, without any pay, even if the job was not pleasant.
The current monetary system exists because we live in a large, complex society where the kind of interpersonal incentives that worked within a small group of people (i.e. a family or tribe) don't work in a mass society where no one will notice or care about our contribution, except for someone who now gets the motivation to pay you to do something for them.
Thursday, June 25, 2009
i have that great book by Mihaly Csikszentmihalyi who created that conception of "flow."
i don't know if you will have access to the study online, the reference are: Larson, R., & Csikszentmihalyi, M. (1983). The experience sampling method. everything and much more is explained in the book.
there is a great video on TED too.
>>>>> Only certain kinds of people make good technology _consultants_ who have a chance to make a LOT more money than the rest of us.
Can you elaborate? What do you think are the characteristics that would make a top-notch technology consultant? How would one know if one is good _consultant_ material?
I mean i recently came to know about a consultant who founded or helped found and sell 3 companies for a total of $950 million - he obviously had something right or did something right.
Jang Vijay Singh
Thursday, June 25, 2009
a picture is worth a thousand words.
if you take a look at the picture, i honestly think that we programmers are either bored or in control. bored because our skill is medium and the challenge is low. in control because our skill is high and the challenge is low.
"the main problems concerning software developing: everybody thinks its easy!"
Compared to lots of jobs I think a lot of software development tasks are pretty straightforward intellectually. Of course, there is a small percentage of development jobs that are inherently technically difficult, but these aren't *that* common.
I'm pretty happy working in software development - I've had enough experience of actual hard work (digging ditches, deep sea fisherman, weeding barley fields - all things I did when a student) through to Cx0 positions to appreciate that, all things considered, it could be a lot worse.
People bitch about their jobs. It's a social thing and shouldn't be taken as an indicator of their overall happiness. It can be seen as obnoxious to brag about how good things are for yourself so it's easier to connect with people by complaining about your boss or being bored or whatever. Don't read too much into it.
Jang Vijay Singh posted:
">>>>> Only certain kinds of people make good technology _consultants_ who have a chance to make a LOT more money than the rest of us.
Can you elaborate? What do you think are the characteristics that would make a top-notch technology consultant? How would one know if one is good _consultant_ material?"
Since you asked me directly, I will answer, but....
...I can't because if I knew what that magic ingredient was, I'd be cultivating those and become that. The right blend of salesmanship, technical skill/experience, luck, reputation, ambition, market timing of those technical skills, and intense interest in making a lot of money are what I can see.
"The problem with IT, generally, is lack of respect..."
"And then if the job isn't one the technology is suited for, that ends up being the developers fault and they're the ones who work overtime to put that square peg in the round hole."
*ding ding ding*
Thus, why most developers are out of the industry within 10 years (no stats to back this up, but I remember Philip Greenspun saying this a while back).
More from Katie:
"I freely admit that a lot of my time, I feel like some sort of thief. I sit in projects which are doomed....The project is a free-fall disaster before I join and after I leave and there's just nothing, nothing, nothing I can do to rescue it at that point in time. And yet I'm being paid to be there."
"...even if I quit then the next thing will be the same..."
LOL! How many years have you been in the industry? I'd say it took me about 7 to reach this understanding of the industry in general (of course there are exceptions).
All I can say is - do the best YOU can do in crappy circumstances. That's just the reality. However, you cannot let this negativity affect your attitude or your intent to at least try to do a good job.
"Computer Programming is the single greatest job you could ever imagine. If it feels otherwise, don't blame the system. Take a good hard look at yourself and figure out what you're doing wrong. "
I like your positive attitude (I agree with it), but acting like the issues programmers bring up are all their fault is not exactly being honest either (or you've been VERY fortunate in your career). You've never had unreasonable bosses/client, ridiculous schedules, late feature changes, horrible specs, lack of time, etc? There are TONS of problems with "the system" that can't be fixed by taking a look at the man in the mirror (RIP MJ).
That said, again, I do like your positive attitude. The situation can be f*cked, but that doesn't mean you have to let it drag you down. I believe you just have to make the most of the system and do the best you can with it, once you've figured it out.
Wow...I really love this particular post and never have I seen so many personal truer-than-ever personal cliches coming from fellow programmers so I think I'm going to print a copy and keep stick it on my wall!
+1 Victor and also the concept of an expectation gap between what we expect to acheive when we start to work and what we actually acheive at the end of our careers. There are also a vast difference in working environment between IT companies with probably Microsoft in the 1990s being at the extreme left end of the spectrum (most satisfying environment) and a small IT shop with a tough manager using C/C++ on an Access DB being at the extreme right (most unsatisfactory environment).
Also after the Internet bubble burst in 1999-2000, many dreams of getting-rich-quick just popped.
+1,000,000 Katie ! Wow ! What a description! I also believe that developers and programmers should be the one exuding power! I mean we're the ones that actually code to build something but others who don't know anything tells us what to do! I think programmers are not pushy or are not united enough! + 1000,000 to a Programmers Union! I would also say it is quite similar to soccer. You have good players who can make a difference but the coach calls the shots and he only sits down on the bench but the players are busting their asses on the fields. Also another example is an influential IT Manager or VP who is a close associate of the President or the Board of Directors who uses his tight ass ways to get rid of a whole team of productive and experienced programmers invaluable to the company! It happens all the time you know!
The real IT environment should be one where programmers are totally 100% entrepreneurs and ideally not too big a company (something off the Internet pre-bubble era of Kai Powertools, Microsoft and Apples of the 70s). In this sense, customers can choose from a myriad of programmers for accounting software, for example, or for phone development. If they're not happy they can go to the next programming shop. But customers accept or reject the solutions offered by the programmers on their own terms and have no power to dictate. However, due to the large no of choices, they can probably find a solution which meets their needs. Nobody told Bill Gates how to program his DOS BIOS and large companies like IBM were willing to listen to garage shop owners like him!
["Getting a "job", in general, means trading time for money. But it's not a lot of money; you are working to make someone else rich. For every dollar that person gives you, they lose a dollar."]
Absolutely spot on. It's curse of the capitalist economy.
[Programmers have "done something about it", in general, by generally requiring some sort of 4-year degree to get into the business.]
Not true. Many brilliant programmers are self starters especially in the open source world. There is also no barrier to entry for a self starter programmer to open up his own software business and be successful (read 'Bill Gates')
I think Matthew also has a great point. Programmers don't realize that they have the power because they are are actually the ones building the system. Once managers and Presidents realize that they can't simply say to a programmer "Build this system MY way" or "I want this done in MY timeframe", then programmers will get a lot more respect. For this to happen, programmers must stay united so that the manager or President can't go to ANOTHER programmer and say "Take his place". Believe me, if this can be done, programmers will get a lot more respect and an awful lot more money!
+1 Sassy! I don't like being micro-managed by non-technical bosses, either!
+1 to Eric on the 'software business is still new' concept and on 'if I can't touch it, it doesn't exist...
Sharkfish : [Generally, smart people work in IT. Smart people always think they can do it better than their management. So go for it. Run your own company and take the risk.
Being smart plus ambitious and working for someone else is utterly painful. You are compromising from the get-go. You know you can do it better but you aren't allowed to. You succumb to a form of mental slavery, as a result.]
E : Couldn't agree with you absolutely more! Yup...this piece of cliche goes on my wall indeed!
Victor : [happiness used to be an emotion, it is now a conscious choice]
E : How so true...this piece of cliche goes on my wall...and all of the points of WayneM's post too! (Glad to know everybody else is experiencing the same problem I am!). Also agree with Gabe de Silveria, IT work is becoming more and more commodotized so we do our job to pay the rent and the bills and get our satisfaction elsewhere! Yep!
As a final note, I would just like for all us programmers to sit down and think about this for a moment : What if programmers were like Michael Jackson who travels all over the world and causes people's hair to stand wherever he walks and gets millions and millions of dollars for just singing and dancing around for one 3-hour concert ? What if programmers were like Cristiano Ronaldo (who had a go at Paris Hilton) who made the highest football transfer fee in the world and gets a salary like..what...millions of dollars per week ?
[...i recently came to know about a consultant who founded or helped found and sell 3 companies for a total of $950 million - he obviously had something right or did something right. ]
..or someone was too stupid enough to buy from him.
Friday, June 26, 2009
Recently this topic was discussed in
Friday, June 26, 2009
"The real IT environment should be one where programmers are totally 100% entrepreneurs and ideally not too big a company"
So go and start a company and try this approach - it really isn't that difficult. Nobody, least of all the capitalist "system", is forcing you to work for someone else if you don't want to.
Please let us know how you get on.
I've waffled up and down on the happiness scale. Finding a good group helps and finding a good environment helps but there is a lot that you can do within yourself as well. A lot of the problems I've had personally and seen in others (e.g. Wayne...) can be greatly alleviated if not altogether removed by:
1. Check your ego at the door. Just because everybody doesn't do things the way you think they should be done doesn't make them stupid.
2. Realize other people have other priorities. Even when you think you have the big picture, you probably don't. Presumably you are being paid to do what you do because you are good at it and it is important to you. Unless you are running the show you can't possibly know everything that's going on that's important to management or the owners.
3. Detach yourself. I firmly believe you have to care about what you do in order to go a good job. However, I think there is a fine line between caring about your work and taking everything personally. Yes it may be your code or your network or what have you, and you need to care about it, but you have to play the hand you're dealt. If you are asked to deliver something in half the time you think it should take, do your best to do what you can in the allotted time with the allotted resources. You probably think it is a total piece of garbage and is held together by nothing more than spit and duct tape. But does it get the job done? Chances are the answer is yes.
I was convinced that one of the most successful projects I ever worked on was going to be a colossal failure. It talked to the server 4 or 5 different ways using different protocols. The technology was bleeding edge at the time, which was fun, but it also caused a huge amount of headaches. The first version seemed to need constant babysitting. There were all kinds of weird bugs all over the place. I never could really relax on weekends for a while because I would keep expecting calls to come in for support and sometimes they did. The project got demonstrated to multi-million dollar clients and all I could think about was all the gnarly details under the covers that were just UGLY.
But the customers loved it and while management wasn't really happy with the early bug count, the bugs got fixed and they understood we were taking a risk with the platform we were building on. They could see the dev team wasn't happy about the situation, either, so we didn't get beat up too bad on it. They were certainly less hard on us than I was.
I think, at the end of the day, it helps to remember that you're not just managing some bits on a box but that you are trying to build or maintain something that lets other people get their jobs done or get their jobs done better. If at the end of the day other people are getting their things done, then you've done your job. And while you can always do better you should take some measure of satisfaction in the fact that you helped other people work better today. Now go home and stop worrying about the crappy linksys router and the evil legacy VB code. All that stuff will be waiting for you when you get in tomorrow. Worrying about it incessantly will not make it go away.
Friday, June 26, 2009
Engineers are tuned to think in terms of RIGHT or WRONG and MBAs think in terms of PRIORITIES.
Friday, June 26, 2009
"There seems to be a perception in IT that we're supposed to find self-actualization through work. ... This is a pretty decent line of work, but I can't say I'm "passionate" about it; it's my job, not my life. "
I have a friend, outside of work, who works in HR. He told me once, after I was complaining about not being happy at work, that I was looking at it the wrong way. HR people talk about "job satisfaction": whether you're satisfied with your job, not satisfied, or dissatisfied. A good HR person will work to increase an employee's job satisfaction, while advising that employee to look for "happiness" outside of work.
But that's not how it is in IT, is it? IT managers want people to derive happiness from their work: that's where "passion" comes from. Moreover, it you don't, the implication is that there's something wrong with you.
The management at my company (a software vendor) has been complaining a lot lately about the "lack of passion" among both employees and potential employees, and I couldn't put my finger on exactly why that irritated so much before I read the above. I think I'm going to have a very interesting conversation with my HR friend the next time I talk with him.
Thank you Katie.
>It doesn't happen in building.
I'm reminded of the bike shed problem.
>The concept is presented in C. Northcote Parkinson's spoof of management, Parkinson's Law. Parkinson dramatises his Law of Triviality with a committee's deliberations on a nuclear power plant, compared to deliberation on a bicycle shed. While discussing the bikeshed, debate emerges over whether the best choice of roofing is aluminium, asbestos, or galvanised iron, rather than whether the shed is a good idea or not. The committee then moves on to coffee purchasing, a discussion that results in the biggest waste of time and the most acrimony.
>A nuclear reactor is so vastly expensive and complicated that people cannot understand it, so they assume that those working on it understand it. Even those with strong opinions might withhold them for fear of being shown to be insufficiently informed. On the other hand, everyone understands a bicycle shed (or thinks he or she does), so building one can result in endless discussions: everyone involved wants to add his or her touch and show that he or she is there.
This comes across like *so* many meetings I've had with mismanagers.
Here's one guy who has been doing IT for a long time who is happy with his job. I've gone through periods where I wasn't. Those times were distinguished by me thinking that I could accumulate power by the force of my will, or brains, or whatever.
Many of us in IT can in fact accumulate power by doing those things. But, then we have power. Whoop dee doo. So, we're miserable while we're striving to get it, and miserable when we get it.
There IS a different way: use our force of will and brains to accumulate wisdom instead of power. Read a lot. Ask "why" a lot (not to challenge people, but to understand them). If you are in a job where the users of the stuff you make are far away from you, seek out opportunities to visit them (go along on sales calls, etc etc) and listen to what they have to say.
If you see users all the time, you already know what their concerns are. See if you can change things -- by fixing systems, by teaching, by thinking differently -- to make their lives better.
Get to know the custodian / janitor in your office building and ask her what her job is like. Once in a while ask your boss's boss what keeps her awake at night. How can you keep from learning interesting things if you do this?
There aren't many jobs that are so bad that you can't accumulate a bit of wisdom by doing them. If yours really is that bad, it's resume time! Life's too short to work without learning.
The worse thing about customers: they try to delay giving you a PO (or making payment). Meanwhile they ask you to put in a host of features into your demo that they want which you slog to put them in so that you can land the job and they don't buy from somebody else, and finally, they tell you they want Version A at Price X and you find a lot of the hours you put in were unneeded features just to satisfy the whims of the customer (and probably to prove that you can do it) but were worthwhile enough to land you the job!
Monday, June 29, 2009
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz