The Pragmatic Programmers Interviewed
jpkunst writes "An interesting interview at the O'Reilly Network with Andy Hunt and Dave Thomas, authors of The Pragmatic Programmer, who recently started their own publishing company. Many topics are covered. Dave has this to say about outsourcing: 'To get job security, developers need to position themselves as highly effective business-value generators, working with the rest of the company to solve common goals. If you sit in your cube waiting for a spec to be thrown over the wall, then you may be in for a wait -- that spec might be in an envelope on its way to Bangalore'"
is overrated, the only jobs that get outsourced is tech support, because after they sell you the product they don't really care if you get good support or not (and many times you actually get good support from outsourced companies)
there's so much hype going on, but the fact is that only some 0.01% of all jobs are being outsourced and the chance that you'll loose your job over it are practically nil. you're more likely to loose it by being incompetent (this is pretty common these days.)
eden.h4xx.com - whacky free for all image board
is unemployed and stocking shelves at Wal-Mart
eh?
Let's see him try to send that spec through email. hehehe.
But seriously. System adminstrators seem to be about the only job you can't send overseas. The real programming jobs are all done in India these days, with planning and scheduling handled to a lesser extent in the U.S. since the collapse of the dot.com boom.
I don't begrudge the engineers in India, I actually think they are doing a very huge favor for most of us left in the U.S. They are relieving us of the cost of developing simple UIs and basic programmatic functionality while allowing us here at home the ability to spend time designing instead of coding. We can then send our designs overseas to the programmers in Inida for implementation.
But system administration still can't be outsourced. Programming can be, but sysadmin'ing and program designing (what's the right word??) can't be done by foreigners. It's got to be done right here at home by people whom we trust implicitly.
I have been pwned because my
whether its silicon valley or bangalore,how pro-active you are counts not the "waiting for specs" thats counts at the end.
highly effective business-value generators, working with the rest of the company to solve common goals
Be a good drone - that will solve all your problems with the rest of the money herd.
CEO's earn billions ripping off the middle classes that is until there none left to steal/con from
i hear there are still openings in car cleaning and burger flipping though, so its not all bad
Thanks for many a damn fine hamburgers...and also a software best practices book apparently.
'To get job security, developers need to position themselves as highly effective business-value generators, working with the rest of the company to solve common goals. If you sit in your cube waiting for a spec to be thrown over the wall, then you may be in for a wait -- that spec might be in an envelope on its way to Bangalore'
The man is so right on. I went freelancer a year ago myself. I have to stick right to the processes and problems in order for my IT stuff to deliver results that count. That's when IT work starts to be fun, actually has a meaning, produces happy customers and - on top of that - brings in the cash. I can only second what he says.
We suffer more in our imagination than in reality. - Seneca
Trust can't be outsourced.
(applies to sysadmins and more).
Anyone notice that in their efforts to use outsourcing, companies are willing to commit themselves to levels of specifications that are just insane? I'm doing this right now. I'm writing up specifications that are so detailed it would be just as easy to write the code. Of course, if I was writing the code I would be discovering bugs at the same time and problems would be corrected sooner. I figure the number of our analysts is equal to the number of analysts and coders we'd have needed for a similar local project. All the money spent on outsourcing could have just been spent on documentation.
Outsourcing in my limited (just this 1 project) seems to be a good way for consultants to draw a fat fee while they manage the outsourced project. It is like watching someone buy something expensive but they're happy because they saved 20%. Not posting anon just in case this will get me fired and force me to move on.
t
To get job security, developers need to position themselves as highly effective business-value generators, working with the rest of the company to solve common goals.
In other words, developers must try to become gods.
If you lost your job today, don't despair. You may die tomorrow anyway.
My company has cut back on my health benifits, increased my personal contribution toward them, withheld raises and bonuses the last four years, restructured a thousand times until it's hard to know which way is up in our organization (or which organiation we're even in at a moment) and are constantly putting us under the moral-degrading "layoffs may be pending" glass.
Exactly why should I feel motivated to add value to a company that is taking value away from my employment?
> Were either of these guy's Dilbert's boss in a past life?
Either that, or they were neatly combed by Dogbert as interns for a while.
The dangers of knowledge trigger emotional distress in human beings.
To get job security, developers need to position themselves as highly effective business-value generators,
..and since nobody knows what the (*&%#)@$ that means, it provides every company with an automatic, built-in excuse to fire anyone, anytime, for any reason.
Business 1
Employees 0
working with the rest of the company to solve common goals.
Goal of the company: fire everyone as quickly as possible to save money so we can afford extra buffalo wings with our catered lunch.
Goal of the employee: to try and stretch seven weeks of stagnant, inadequate wages to pay for 12 months of rent, since ain't no FUCKING WAY this job is going to last two months.
Companies and employees no longer have common goals because middle management has put a great deal of thought and effort into making the workplace a toxic, hostile, adversarial environment which makes it much easier to keep the Just-In-Time-Fired(tm) policy generating quarterly revenue savings and bonus checks.
Working 80 hour weeks for piss-wages in a 19th century management structure is way way WAY past obsolete, and the workplace is a festering sphincter of liars, cheats and misery. Let's talk about fixing it instead of trying to be a "team player." We could start by replacing office politics with something that doesn't actively and constantly diminish good ideas and positive thinking.
Oh, and yes, I'm bitter.
I'm also right.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
generally isn't made on the basis of skill or knowledge but on the basis of how much they want to spend for a certain task.
All the training in the world will not matter if someone is bangladesh is able to work for what would be starvation wages in your country.
I am a programmer, but my main value to employers is that I spent ten years working in other capacities: management, sales, construction grunt work, you name it. As a result, I usually don't *need* specs from analysts or product managers, because I usually have more business experience than most of them and can figure it out for myself.
Most of the programmers I've worked with lack this experience, and as a result end up having to be told what to do because they don't understand the full context of the problem they're being asked to solve. They often come up with elegant solutions to the wrong problem...
Preach on brotha, those fucking customers need to go fuck themselves. I programmed the shit, that's good enough. If they find a bug that means they broke it and it's their own fucking fault. Managers are guys that couldn't do anything right except annoy the shit out of other people, they need to be chained to the bottom of the ocean.
Are you serious? All the real programming jobs are done in India? Hahahah...you have no fucking clue at all. The only things outsourced are yet-another-web-app that can be done with templates. the REAL innovation is still done at home. So you gotta trust your sysadmin for security but it's ok to outsource the programs which handle the precious data to foreigners? hahahah!
You really don't know shit. Are you even a real sysadmin? If so I hope you don't work for my company. I successfully sysadmined machines 1/2 a world a way back in 1998...didn't need no local sysadmins except when you had to cycle the power or replace dead hardware...which is quite simple.
Anything can be outsourced.
Blar.
Actually thats the role of the Company, thats what its there for, to be in business. Its up to the developers to fulfill the requirements of the specs. I'm not saying developers cant be more pro-active in pushing technology and solutions and helping to pitch for solutions but ultimately the budget and PHB's constain what is and is not possible. I work hard for my clients but I am under no illusion that I am a comodity and despite good working realtionships the rug can be pulled from under me at any time. As I tell most of my clients, if I do my job properly they wont need me after the project anyway.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
>> position themselves as highly effective business-value
>> generators
Yeah, just like our bosses, let's talk about how "highly effective" we are and how much "business value" we generate. Let's do it INSTEAD of work, because that's what management seems to have been doing very successfully for the last decade.
How about BETTER MANAGEMENT? How about managers who, in fact, know what the fuck they're doing and have come from the very bottom, not straight from some stupid MBA program. Where the heck are you going to get them if all your "very bottom" is in India? Do you seriously think that folks who have no idea how software is built can successfully manage Indian technies? Think again then, "highly effective business value generator".
And guess what will happen to his company when there are enough IT jobs around. They'll go titsup very quickly, because mistreated "business value generators" will simply throw in the towel.
To answer your question: no, there is not.
It's inspirational to realize that software consultants actually do what they do for money.
"Don't repeat yourself"
Durr.
"Think about the kind of work that can be effectively outsourced (where "effectively" is used in the context of some manager's opinion). Can they ship stuff offshore that can be specified down to some fine level of detail? Yup! Can they send repetitive, rule-based, highly constrained stuff overseas? You bet! The stuff that will stay is the stuff that involves more intuition, and more interaction. To get job security, developers need to position themselves as highly effective business-value generators, working with the rest of the company to solve common goals. If you sit in your cube waiting for a spec to be thrown over the wall, then you may be in for a wait -- that spec might be in an envelope on its way to Bangalore."
It's fun maintaining code from India. It's also fun to tell your customers and your boss what the program should do. You should try both sometime.
"Explain how agile processes can reduce risk. Explain how lightweight approaches can earn value faster. And explain how they should outsource the mundane stuff, and leave their talented pool of in-house developers free to work on the next revolutionary change to the company's business."
These are the same people that advocate nightly builds and all that other crap that just gets in the way. All you have to do to make a software project successful is have at least two people who don't suck at life working on it, and have them delegate the boring work to the people who thought going into computers would make them rich - all consultants do is take common sense and dress it up so it sounds good to management, and in turn, management gives them a shitload of money. I've never heard of a software house suddenly turning around and not sucking because "we hired a consultant, and his strategy was fricking awesome, and suddenly we were making products that like didn't suck, and it was pretty cool." Managers only hire consulants if their teams aren't making the numbers they should, so they can therefore justify the lower productivitivy of their teams by saying that they're "adapting to the new vision/strategy/paradigm," and that's usually enough to buy them a year of suckage until upper management wises up - and knowing upper management, that rarely ever happens.
Performance really doesn't play an issue in outshoring to India - if your job's so simple a monkey could do it, your job's going to get outsourced, regardless of your performance. You can't really match cost efficiency of someone who lives in a country with 1/10 the per capita income. All you have to do is pray for the language barrier and hope the companies who are employing offshoring all get burned when they need to maintain the code - I think it's a fad, but I've been wrong before.
It's amazing the things you can get away with when you're one of the top contributing engineers at your company.
Not to say that what I "get away with" is anything more severe than coming in late a lot, but still...
Also, when you're a top engineer, you can do stuff like yell at the boss and tell the CEO when you think one of his ideas is stupid or something like that.
problematic programmer? I thought maybe they interviewed someone from Microsoft!
and on my last job all of the system administration was done remotely. I wasn't physically at any of the sites I administered. The only people on site were operators and cable monkeys. And the only reason the sites were where they were was for bandwidth reasons. They could have been anywhere, really.
Umm, it means that you need to earn the company more than you cost it.
Umm, it means that you need to earn the company more than you cost it.
Umm, no. It means you get down on your knees and beg for your job on a daily basis.
And no company will EVER honestly state what an employee "earns" for them.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
An SA role CAN and are being outsourced. Via the road, my work is 1682 miles away on a border is inbetween. I only need an operator who knows how to plug the power into a wall socket and occassionally hit a powr switch.
I actually like living where I want and working where I am needed. And the two do not need be the same places.
Enjoy your false sense of confort.
I work in an IT department of a large company. The reason I'm confident that I can't be outsourced is because I'm not just a programmer. I do design and business analysis as well, meaning that I use technical tools to solve problems for the business. You cannot outsource problem-solving, because it requires communication with and knowledge of the business and its problems.
Even if 100% of programming were outsourced, application design and specification will always be done on-site. If businesses go this route, then what will happen is a meta-programming specification language will emerge. On-site 'analysts' will produce a 'document' in this specification language, and this will contain around 50% of the complexity of the finished application, which is why it will need to be in a very precise and well-defined language.
In order to communicate with a computer, you need to be extremely precise and know what you're doing. There's a complexity of information problem, because a computer can be told to do basically anything. I can't type one line and get a complex program. In the same way, I can't just tell a programmer 'write me a database app which does our accounting' either. I have to communicate my knowledge and requirements to the person. Depending on their prior understanding of the problem, that will be anywhere from 25% to 75% of the information in the finished program. You save a little because humans are (variously) intelligent, but really, you have the same problem--communicate the rules and behaviour of the application.
I like programming computers because it's an interesting way to solve problems. But it's my problem-solving ability which gives value to my company, not my ability to type in C.
Have to agree with parent. Even experience in other fields of computing (networking, sysadmin, building even) is a big win. I've been in consulting jobs working with other programmers (Indian and American), and the problem with most was their focus only on programming. They just didn't have any other experience to draw from.
A recent weblog entitled Why Do We Need Publishers? pointed out that print-on-demand (POD) makes small print runs more affordable and more profitable than cultivating a relationship with a professional publisher.
From the authors' response, it sounds like they actually have a fairly traditional publishing arrangement, where they print books in quantity, and distribute them through O'Reilly. The question is also kind of a non-sequitur, because they say "POD" and "small print runs" in the same breath -- POD was supposed to be a technology for printing copies for individual readers on demand. Printing short press runs isn't a new idea. The whole POD thing was one of those things that really got oversold in the 90's. The fact was that the technology and business aspects never really made sense.
What is really cool, and really makes sense, and is really practical technologically, is what they're doing by making their book free in digital form but also available in print.
Find free books.
> To get job security, developers need to position
> themselves as highly effective business-value
> generators, working with the rest of the company
> to solve common goals.
So to live in the US, you need to have a huge ego, tell everyone else they're idiots, and hold up the entire operation so you can be the funnel through which everything must go. If it doesn't go through you, you have to call the person who bypassed you an idiot.
That seems to be the modus operandi of the guys with the most interaction with the entire company. It's an ego sport.
You write this message full of vitrol and then dare to complain that office politics diminish positive thinking?
Go to Europe. They have job security there.
Here, you are expected to make something for yourself if you have good ideas. Start your own company or go to one that appreciates you.
Might I ask what kind of job made you bitter like this? Where did you work, what did you do?
Ahhhh....so the maker of thick, juicy hamburgers and frosties didn't die -- he just became a coder. Whew, I was sad for a while there.
'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
We hired some chimps from a huge international consultancy. The document they produced is so piss-poor we are on our sixth draft. In the time this has taken (2 months) with two very expensive consultants working full time and two in-house developers checking their work part-time, we have
The threat of offshoring has been massively over stated. More and more companies are seeing that this process (send the requirement to India) is simply not cost-effective. It may take some time for all PHBs to see this but it will happen. That's business.
There is (hopefully) a happy ending. The outsource providers tendering for this gig are charging in the region of 700UKP/day (about $1200/day) for a Java programmer with about 3 years experience (I'm not making this up). Most say that they can cut that cost by about a third if we offshored. Well, gee, that's still more expensive than hiring some local contractor with 7 years experience who can sit down and talk to the business people. We're getting "buy-in" from management to save money and not offshore. We'll have a decision soon and it looks good.
Agile methodologies will be the saviour of the Western programmer.
--- "We've always been at war with Eastasia."
I've never had to beg for a job in the past 6 years. Of course they won't state it... the company's financials are not the business of an IT worker, but if you are making the company money, they have no reason to fire you. If you are draining the companies money, why do you expect to stay employed?
they have no reason to fire you.
They don't need a reason.
If you are draining the companies money, why do you expect to stay employed?
I don't expect to stay employed, regardless of how much I'm earning/spending. That's the point.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
Coders in banks need to learn about interest and amortization, coders in nuclear facilities need to learn about half-lives and gamma rays, coders for phone companies need to learn about telephony, coders for mom and pop stores need to know about mom's left-hand arthritus (so avoid F1-F8).
Not only is it relevant or valuable for coders to understand the context of the business they are in, it's vital. In fact, code-sense should take backseat to business-sense (although informed by coder-logic). Too often a tech solution will be shoehorned in when a practical solution based on knowing the business will do.
One time I stopped a restaurant manager from uprooting and reconfiguring all of his networked terminals and printers the day before a national holdiay in favour of a solution involving no more than a sideways abacus sitting on the bar. It wasn't a technology problem, it was an information problem. For that day, and that day only, blender drinks were being made at the beer tub, not at the bar. Problem was, orders for blender drinks were printed out at the bar, not the beer tub. The plan was to rejig all the printers and terminals so that the beer tub would have a printer, and then to reconfigure the POS software to route blender drinks to the beer tub. This sounded like a lot of hassle for one day, and knowing the 'stability' of the POS system, it was a recipe for disaster. The beer tub was in clear view of the bar. All the person there needed to know was how many of 3-4 different blender drinks to make. My solution was this: get a colourful child's abacus and mount it horizontally, so the beads slide from left-to-right. Each row represents a different drink (yellow=pina colada, red=strawberry daiquiri, etc). When an order comes up in the bar, the bartender slides the appropriate bead(s) over. The person at the beer tent can see this, and make the drinks. The server collects the drinks and slides the bead back. At any time, the person in the beer tub knows how many of what kind of drinks to make, and nothing had to be rewired or reconfigured or coded. And it worked like a charm.
Of course, over the years I've come up with a lot of elegant solutions to a lot of wrong problems, but never regretted it once. Usually, a good solution to the wrong problem is about 70% of the solution to the right problem, and even if it's not it invariably ends up being the crucual 30% of some yet unforseen problem. Software's cool that way.
One problem that comes of being a competent and experienced coder is that managers assume you know everything and assume that they don't have to know anything, rendering them (more) useless.
The question I always ask myself before starting any coding is: "Is this going to let the user go home early? Or work late?"
You want job security? Look at the US Government. Many of the original IT geeks are retiring and the federal workforce is aging.
Granted, salary doesn't keep up with the private sector, but the Civil Service GS system gives you regular step increases, COLA, and locality adjustments.
But you're the one who is saying 'fuck value-added', so I'm guessing you're three steps away from being a civil servant anyway...
My father is a blogger.
After Sun Microsystems canned several
software lab support groups in Santa Clara and
Menlo Park a couple years back, they actually
had the temerity to fly in sysadmin people from
Bangalore to keep some servers/routers
functioning on a regular basis.
Even with expensive planefare, the labor arbitrage
made this an economic win -- this all despite a
concurrent and very public H1B-related employment
discrimination lawsuit by Guy Santiglia,
a laid-off Sun/California system administrator.
I view outsourcing as a natural development and inevitable. Its been happening in manufacturing throughout history, i mean look at the industrial revolution - Britain gets a head start and is a market leader, then everyone else wants a bit of the pie. And fair enough
One thing to realise is that a lot of software is aimed at a worldmarket, so it shouldnt matter where its developed. The advantage of building it in India for instance is that you can open its accessability to bigger markets because the cost per unit is reduced.
At the end of the day i dont regard IT as a lifetime career anymore. Im glad for it too because i want to do other things - and thats the opportunity in the market
Look, you sound like a kid I used to know (me) so let me offer you some helpful advice. This whole thing about "business value generation" is why you have a job in the first place, and until you understand it you're going to spend the rest of your life going from one de-.com-posed job to another. The days when companies would keep people around on the theory that they would somehow, someday make the company money are long since gone. On the other hand, if you really, consistently, solve your bosses' (note the plural) problems, you will never lack for work and never get fired.
I speak from experience. In 1998-2000, I was a consultant (UNIX systems, Networks, perl programmming.) In 2000, I read the tea-leaves, looked at the business cycle (you know, the thing Clinton claimed to have defeated) and came to the conclusion that it would be a good time to work for a major corporation who /might/ keep paying me through the recession. So, I looked at my clients - people who knew and would appreciate my abilities and compensate appropriately - and picked one to go to work at. Had no problem getting a job there, even though I suspect I was the highest salary in my group.
Unfortunately, the company I chose was WorldCom. I spent two years looking over my shoulder, waiting for the axe to fall, while it hit people all around me. But I also spent that two years fixing the problems that my bosses' wanted fixed -- and making sure that when I had an initiative or something I wanted to do, I explained it to them in terms of /their/ problems, not mine. So, it wasn't "this mail server setup is a huge kludge and I'm sick of messing with it and its obsolete and I want to replace it with something better" but "I'm fixing this mail server now, but we could've prevented this crash with a small investment of hardware and free software, thereby avoiding client downtime." At the end of the day, I was one of the lucky few who kept their jobs.
Why did I keep my job? Because, in the minds of my management and their management, I was a "highly effective business value generator." The people who lost their jobs didn't necessarily have fewer technical skills than me (although, frankly, a lot of them actually needed to go), and they certainly weren't disliked or unloved. What they didn't know was how to connect their job to the interests of the corporation. (N.B. Don't stab people in the back trying to get noticed. In fact, you should try to make them look good just as hard as you try to make you look good.)
So learn this lesson and learn it well: despite what 100 years of syndicalism, liberalism, socialism, and -- dare I say it -- labor unions may have led you to expect, your job as an employee is to produce business value that can ultimately be translated into money. The company does not exist for the purpose of caring for its employees or establishing a social safety net - it exists for the purpose of increasing shareholder value. If you can do that - increase shareholder value and make sure your boss knows you do it - you will /always/ land on your feet, even if you do happen to lose your job for a while.
That's part one of getting rich. Part 2 is "always saved 20% of your gross income in quality stocks." Part 3 is "don't be a jerk. Take care of people and they'll take care of you." Part 4 is, "have fun, whatever you do, because nobody likes a whiner."
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
They don't need a reason.
Of course they do. They might not tell you what it is, or write it down anywhere, but there's going to be something in their head that makes them decide who it is that needs to go. And if the person making the decision is (a) an honest person, or (b) owns a sufficient amount of stock in the company as to have a vested interest in its wellbeing, that reason will have to do with whether having you there is, in their view, beneficial to the company as a whole. (Managers who act contrary to the interest of the company are a completely different issue -- but, having been working for startups and small businesses for the last five years, I haven't dealt with many of them). So -- you do your best to make the company money, and they'll do their best to make the company money. If they think firing you is part of what they need to do to best earn the company money, then that's exactly what they can and should do -- but if you can produce sufficient value, then doing something like that would be counterproductive, and (worse!) reduce the likely future value of the stock they own.
I've read the interview, but I could not find a single idea about programming...
well, except the tipical 'metaprogramimg' misconception (pretending 'meta' is something different to 'programming'), but nothing more, did I miss the line?
What's in a sig?
I'm fixing this mail server now, but we could've prevented this crash with a small investment of hardware and free software, thereby avoiding client downtime
/always/ land on your feet, even if you do happen to lose your job for a while.
No, you aren't, because a) you don't have the authority b) the person who does have the authority won't approve it and c) the suggestion causes several people to complain that you aren't being a team player because everyone else in the department agrees that management was brilliant for approving the current mail server.
I've spent a few minutes in the cubicles. I know the basics.
If you can do that - increase shareholder value and make sure your boss knows you do it - you will
I automated a job that saved our company about 2,000 man-hours once. The resulting shitstorm of office politics led to one of the managers screaming hysterically at us in a five-hour process improvement meeting saying that if we ever made the management team look stupid again they would dock our paychecks.
The controversy continued for four months. The database team decided my idea was good enough to include in the next set of test procedures. The other teams all disagreed. Upper management had to be called in from their golf games. My guess is that half a million dollars was spent in meetings and overtime over those four months.
It was later explained to me, two of my co-workers and the entire database team (in a very slow, politically-correct voice) by an HR representative (unspoken threat: open your mouth again, and you're fired) that we should write a memo explaining our idea and send it to our immediate supervisor for approval before starting any new work.
We later found out that the Department Director (a Senior VP) with the unanimous approval of the entire senior management committee and several members of the BOARD OF DIRECTORS SPECIFICALLY ORDERED all of the group managers to ignore all such requests no matter how simple or worthwhile they may be. Those who made more than three suggestions in a month were told, in writing, to stop "wasting time on non-core projects" or re-assigned.
Two dozen people quit. Five were repeatedly threatened with their jobs, one to the point of having to go on disability for depression. Everyone else just kept quiet. The atmosphere in the office from that point forward was indescribably gloomy.
That was one of my few successful attempts to really do anything useful at a large company, or "increase shareholder value." I personally saved the company about $100,000. The company spent over half a million $ arguing about it and treating us all like idiots.
It is just further proof that competent, smart, skilled employees are not welcome in the workplace.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
They might not tell you what it is, or write it down anywhere, but there's going to be something in their head that makes them decide who it is that needs to go.
...and it's usually something arbitrary, having absolutely nothing to do with that employee's qualifications or experience.
If they think firing you is part of what they need to do to best earn the company money, then that's exactly what they can and should do
...and middle management took all the money home. What a sad, sad world.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
This is not insightful, IT centres are most often ranked as costs, not revenue generators, it depends on the type of business, if you are selling IT, ok you are making the company money. If you aren't you are part of the operating cost... you can never "earn the company more than you cost it".
Another elitist fancy pants spews the same old obvious, self indulgent dry heave we have been hearing for years.
"Want to keep your job? Just be perfect like us. Oh yeah, and dont't write any more crappy code."
Jesus man, what company did you work for? Can you reply or e-mail its name so will never buy anything from them or apply for a job with them?
kirillstp (at) hotmail
Thanks
Not every company is so shit faced. Where I work, suggestions to save time/money are appreciated. I work for a very large bank in IT, and we are appreciated by the business folks that we work for and the upper management actually sees their IT department as an asset. In fact, our business colleges look to us for help to make their grand ideas concrete and implementable.
if you look at those bills, you'll see that they where introduced by democrats. how convient, considering this is an election year.
Bullshit. I've seen plenty of people get fired, and they get fired for reasons. If you don't know the reason -- well, not understanding your deficiencies and being able to work around them is probably part of why you got canned. That, and simply resenting the suits rather than understanding what is is they do and why -- yes, they're generally quite comprehensible, even without all the self-pitying cynicism.
Huh?
See, that's why I don't do big companies. Startups and mom-n-pops (those with a good chance of success, at least) have a much better eye on the bottom line, and less of an eye on political jockying.
Don't make the generalization about all employers, though -- it's just not true unless you get so big that management misses the forest for the trees.
Like say a language where you declare what functions do rather than specify how they do them? In a very precise and well-defined language? Believe it or not, such languages already exist! In academia we call them "functional programming languages". These exotic beasts significantly reduce the programming burden and they are frequently considered as runnable specifications. I bet if you wrote a memo suggesting that the company look into it, you will be promoted to just doing design and business analysis!
In all seriousness, wouldn't that be a good model for development? Have the analysts write applications in functional languages and then outsource the rewriting of key routines in C? QA issues with offshoring would disappear...
Do yourself a favor: Get a new job.
Whatever you talk about with another prospective employer, don't talk about your current job. The anger will come out and you'll end up sounding like a loose cannon. It doesn't take much to get rejected from new employment. Just talk about what you can do and what you have done. Keep mum about the management where you work. Keep your eye on the prize and focus on that. I did it. You can too.
I worked for one of those companies where the walls were coming down and management was NOT competent to know it. I focused on what I could do for the new employer and I got the job I needed to get somewhere. Your obvious anger has to be put aside for long enough to bail out.
Good luck.
bob@Osprey:~>
I got hired by a large software company to perf/stress test the app that was a mix of windows app and a webapp (very complex DHTML, custom ActiveX controls in some places, can run in online or offline mode, the latter is integrated with Outlook).
So I was a low level guy, and a new guy on the block to boot. I've done a quick evaluation of available tools and the only thing that could accomplish the task the way I liked it (and the way it made sense) was Mercury Interactive Load Runner. The only problem was - it was $150K for a license, and nobody was going to spend this kind of money on performance.
So after whining to the management for a while, I sat down and wrote my own replacement for this $150K tool that did all I wanted.
You know what happened next? You've guessed right, I got attacked by the management, Dev manager in fact (I hope he burns in hell when he dies). And dev manager and product unit manager were pals, so no matter what I did, the Dev manager would have his smalltalk with PUM and bring whatever I was doing to a grinding halt.
I've done this thing anyway (weekends, overtime) and shipped two versions of this god damn product with it. Dev manager eventually got fired for not being careful enough with his language when talking to customers.
My career got screwed, though. I only got one promotion on that team despite busting my ass REAL hard and delivering world-class "business value".
The moral of the story - you either fuck the product and do what the management says, or you fuck the management and yourself and do the right thing. There's no third way out. The way I see it, it's always better to get fired for doing something than for doing nothing.
When your entire data center moves to India, so does your job, buddy. But guess what? You can still get another job as a sysadmin, providing you have a current & transferable Top Secret/Lifestyle/Polygraph security clearance. The big Catch-22 is that if you don't already have the security clearance, you are fscked. It takes 2 plus years these days to get that clearance, and not too many employers want to hire someone for a job (maybe) 2 or 2-1/2 years, meanwhile paying them a living wage for some other position. On top of that, the employer has to shell out the $15 - 25K USD to pay for the background check. I have seen the exact same sysadmin positions advertised for nearly 2 years, because the employer would not hire someone that didn't already have the security clearance that their work required. (So much for the aftermath of 9-11-01, and our glorious leader's war on terrorism.) The people that do have the job qualifications AND the security clearance are still in the military. Some would get out and take that civilian job, if only their tour of duty didn't keep getting extended. Sorry to sound a bit bitter here, but if I had known 15 years ago what I know now about the future prospects for the USA's IT industry, I would have becoem a plumber or electrician. Those jobs cannot be outsourced overseas, but are instead threatened by cheap imported labor from illegal aliens. There are plenty of construction job sites in the Metro DC area where you cannot get hired if you don't speak Spanish. The Bush administration seems bent upon what it's corporate overlords want -- cheaper labor from any source possible. If you want to survive the Bush "revolution", get used to a much lower standard of living (and shuffling your feet, averting your eyes, and saying "yessir, master") for whatever job you can get.
I work for a consulting company that sells implementation and customization services on top of an accounting software package. There's a fair amount of coding, phone support, and remote-control-their-workstation support, but there's also the periodic need for on-site work.
Obviously, the on-site work can't be outsourced (geographically; we do have one or two local contractors). The other stuff isn't outsourced because the communication overhead (both money and time) is deemed not to be worthwhile.
In particular, if the person who goes on site is the same person who did the other stuff - and thus knows it like the back of their hand, in a way that even well-documented outsourced work can't match - then simple requests can often be fulfilled on a same-day basis, sometimes even a matter of minutes. Clients love that.
In particular, when a system goes into live operation for the first time, it's not uncommon for the end users to come up with a metric buttload of "how do I do X? X is critical to me!" that they didn't think about until that point. Some of these require customization (especially if they already had us do some other customizations before going live), and some are just due to users not paying attention during training. We need to address the last-minute customization requests in a damn hurry, for two reasons: to prevent users from being stuck without X for days on end, and to free up time to deal with the last-minute training requests.
If you were the perfect employee and you were truly competent, smart and skilled, you could have convinced management that you actually saved them $100,000. This is obviously not the case.
I'm not trying to troll or insult anyone, it's just that I know some brilliant people who for the love of their live just can't work someplace for more than two years. At that time, everyone's fed up with their attitude.
8 of 13 people found this answer helpful. Did you?
I agree with almost all of what you said. Providing value to the customer in ways that the customer (not you) values is a major key to success.
I will have to say, though, that there are many stochastic inputs to the success function. At one of my previous jobs, I did work that I thought was important for the company, and which was greatly appreciated by many people at the company with no direct ability to reward me, but which senior management showed little interest in.
One day, a new senior guy showed up and it was rumored that he was being groomed to be the next CEO. That guy spotted my work and thought that it was so important to the company that suddenly I became a big shot.
Our "future CEO" must have offended the wrong person, though, because one day he just vanished. Within a week or two, the board replaced him with one of the Old Guard senior execs and after another month or so, I got laid off.
All along, I was doing the same work, so its intrinsic value to the *company* was the same, but my star rose or fell depending on the outcomes of boardroom battles that had nothing to do with me or my work.
I still believe that you are correct about providing value to customers, but it only increases your chances on average. It doesn't guarantee success in any individual case because of the numerous random factors over which you have no control. Still, by trying again and again, you can often get the random factors to cancel each other out over the long run, which is why I mainly support your thesis.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Look, I got laid off from my last job, too, and I think that your reaction to this is absurd.
"Office politics" is the big problem? That's just another term for people interacting with each other. The only place with no politics is a place with no other people. Everyone has his own agenda in this world, at work and everywhere else, but I don't see any sense in complaining about that. Most people's agendas aren't evil. They're just primarily driven by personal considerations. Isn't yours?
Business is nothing more than trying to get others to advance your personal agenda by finding ways whereby you can advance theirs. Call it politics or just call it business. So what?
And when you say that there is "no such thing" as a company that appreciates you, I'm sure that either you are wrong or it's your attitude that makes you right--but only as it applies to you.
My previous employer didn't appreciate me enough to keep me, but it was because the types of problems I was good at solving weren't high priorities to the senior execs who ended up running the place. So, too bad for me, but that doesn't make them evil.
Either I need to find some place that does care about the type of problems I'm good at solving, or I need to learn to solve other types of problems that other people care more about. Either way, I can and will deal with it, probably effectively, and you probably can too if you change your approach.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
None of these things I've mentioned require significant expense on software. Subversion is free; the Wiki software is free (and it can be used for two of the above tasks). I've worked for too many companies, though, which no longer exist; none of these companies had ANY of the above tools in place. All the successful ones had at least one, if not all, of the above.
... by the Dew of Mountains the thoughts acquire speed, the hands acquire shakes, the shakes become a warning
I've seen plenty of people get fired, and they get fired for reasons.
Well, I've seen plenty of people get fired for no reason.
well, not understanding your deficiencies and being able to work around them is probably part of why you got canned.
That's it! If only we were perfect. Then we would never get fired. Please.
they're generally quite comprehensible, even without all the self-pitying cynicism.
Sure. They lie and fire a thousand people, then order from the buffet menu. Sounds great. The bonus check should be here by the cheese course.
I'm WAY past cynicism and self-pity. This is simply realizing the truth: Intelligent, competent, hard-working people are not welcome in this job market. Period.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
IT is tough in Washington. The good news: the problem about security clearance is almost unique to the DC area. My advice to you, sir, is to outsource yourself. Get out of the Potomac/Patapsco swamp basin as soon as you possibly can.
(Admittedly tough if you have kids though).
Google confirms: Ruby is the world's most beloved programm
If you were the perfect employee and you were truly competent, smart and skilled, you could have convinced management that you actually saved them $100,000.
This assumes that management is reasonable, which is not always the case. You have a point in that many geeks lack good communication skills--I'm not exactly a stellar example myself, I have to admit--but there are, unfortunately, people who simply refuse to listen to reasonable arguments. (If not, would Dilbert be nearly as popular as it is now?)
Moreover, in any medium-to-large-size company, employees will typically have several layers of management above them, and even if the employee himself is "perfect", they can still get the short end of the stick if middle management can't communicate to their superiors effectively.
So yes, it's possible the parent post was the result of attitude problems, but it's also possible that the company just refused to acknowledge his contributions. Don't blame people for things they have no control over.
It's a dog eat dog world. If you want something different, I'd suggest a good church (if you could find one.) All a hunder years of liberalism has accomplished is to make people /pretend/ that the world is anything different. Of course, these people who are busy pretending wouldn't know an economics textbook unless it hit them upside the head.
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
Not sure if this will help, but, here goes. My experience about human organizations (not-for-profit, for-profit, small, medium, large, whatever) goes something like this:
... people bring on their friends, both managerial and technical, to bring like-minded people to fight their interests in the larger battle for the corporation's direction and resources.
Small organizations: take on the strengths and weaknesses of their leader to an almost pathological degree. If weaknesses outweigh strengths (which is most often the case, especially someone with the force of will and ego to start their own organization), it becomes like living in a dysfunctional family with very difficult parents.
Assuming you can deal with the inherent risks of small company life (they can go under, they're not usually prestigious, and they don't offer traditional "job security" of a nice bonus & severance package), this probably is the easiest way to avoid bureaucratic politics, though you'll have to deal with the more intimate personality conflicts that tend to arise.
Large organizations: All large organizations, whether corporate or public service, seem to be obsessed with "mechanizing" their structure and processes. It's an irrational form of rationality. They don't look at their task, what the purpose behind the organization is (it has to be more than "profit"). Through this, they sow the seeds of their own destruction.
Such organizations inevitably become politicized and split by bureaucratic and technocratic interest groups, unless top management keeps re-enforcing & renewing the organization's purpose -- having a reason for existing: a goal, a mission, something that transcends the power-politics and aimlessness of "profit maximization". Of course, this never lasts. But it is the moments of renewal that matter -- that make organizations worth working for.
What's a techie to do? Nevertheless, in a politicized organization, which seems to be what you have the most experience with, Machiavellian tactics are what tend to be the only effective course, in the large, anyway. Being staff, techies can't really play at this, they can only line up behind a player and hope to contribute their talents & knowledge to the organization without getting too caught up in the struggle. Your best bet is to try to pick a faction that somewhat shares your values, and have a team & manager with enough upper management factional support to ensure you're somewhat protected from the politics.
Of course, none of this is easy to find -- the best way is through having a network of techie friends, hoping that someone lucks out. This is why you usually see "changing of the guards" in any management firing & re-org
Anyway, the above is a bit of anecdotal, but some of it is based on real organizational theory, which might help you understand the utter pettiness that tends to devour many of our institutions. (I'd suggest some Henry Mintzberg to start).
-Stu
So use Python, already, dammit!
He he, sorry, I'm not trying to be religious but I do see Python as a good example of keeping things simple... You get spoiled and stuff like J2EE just looks absolutely hideous. Python is certainly part of the "pushback against complexity" that Dave Thomas goes on to mention.
OK, so go and mod me into oblivion...
I'm posting this anonymously because ... well, I like getting a paycheck...
I work for a company that will tell you, up front, that about 5% of their staff is comprised of programmers in India. That's actually crap, it's closer to 75%, but that way they sound like they're cutting edge while still being patriotic.
But what this company is finding through failure is that some of the programmers in India are no better, and often far worse, than the programmers they could have hired here. Having a single high paid programmer on-site costs them half as much as offshoring simply because the projects sent offshore typically have to be sent back between 20 and 30 times with long lists of issues. Most of the issues would be typical of complete raving amateurs learning to program as they went along. Since these programmers are creating software that this company then delivers to its customers, the pain level has been high. This company is now starting to hire local talent to repair relationships with its customers, but the damage to their reputation will take a while to heal.
Are all offshore programmers bad? No, I'm sure they're great. Are they better than domestic programmers? On average, I'm confident in saying no, they're not, even taking cultural issues out of the picture. But the fact is that a project is rarely conducted in an effective manner without a certain level of face-time at all levels.
(that nifty analysis tool that helps the bean counters chase late payers)
(your purchasing comparison report which helped procurement negotiate better discounts with key vendors)
(revenue up by x% due to your analysis to support cross-selling)
Confucius say, "Find worm in apple - bad. Find half a worm - worse."