Fog Creek Software
g
Discussion Board




How discouraging

It looks like the steady flow of pessimism and bitterness on this board hasn't waned in light of what people are referring to as an economic recovery. This bothers me, because I've wanted to be a programmer since I was a kid. I'm a student right now.

So my question is: what is the best route to take in software development right now? There is plenty of talk about small businesses, contract work, sales & marketing (?), or something like that. It seems people here say that if you get a BS and rack up years of experience, you will wind up making peanuts while the sales people rake in ridiculous amounts of money because they can make small talk about sports and have nice teeth. A company, it seems, consists of a few top-level executives, accounting/marketing/sales employees, and some number of adjunct technical people who are basically expendable: the engineers work like slaves while the technically incompetent people sip champagne in their mansions and laugh at the nerds. I find this hard to swallow.

I also find it strangely reminiscent of high school, where the cool guys get laid and the geeky ones writhe in teen angst.

How is someone majoring in computer science (me) supposed to become proficient with that? If I'm going to be in a university for the next three years, what can I do so I hit the ground running? My university doesn't offer "business" courses, and I kind of doubt that the problems people complain of here could be prevented through textbooks or exams, anyway. I know people who majored in "business administration," and they didn't learn jack shit.

Alternatively, if there will be better ways to pay the bills in 3-5 years, I'd like to hear them.

Warren Henning
Monday, February 16, 2004

Not sure how practical this is, but when I went through uni I worked for some accountants, and now have no CS experience.
If I could do it again I would find a comp sci firm, any firm big or small, and beg them to let me work a day a week to get some work experience.

Having said that I know the US do alot of interning, which is not done at all here in Australia. We have people come to work under that label 'work experience' but it is informal, and is usually the jumping point to a real job.

Aussie Chick
Monday, February 16, 2004

Don't worry too much about the grumbling.  You'll find that whatever you do work has it's frustrations, some petty some no so petty.  To deal with them you can:
• bottle it up - not good for your health
• whinge to your workmates - not good for you career
• whinge to your other half - not good for your career
• whinge to your mates.

If your mates are spread all over the world and don't actually know your name well so much the better.

a cynic writes...
Monday, February 16, 2004

I really need to finish my coffee before I post.  Today's corrections:

"..some *not* so petty..."

"• whinge to your other half - not good for your relationship"

a cynic writes...
Monday, February 16, 2004

Also:

"...has its frustrations..."

;-)

They're There
Monday, February 16, 2004

Yeah alright - its (belonging to it) doesn't use an apostrophe, whereas it's (a contraction of it is) does. 

It's Monday morning, that's my excuse and I'm sticking to it.

a cynic writes...
Monday, February 16, 2004

Warren said ". . . where the cool guys get laid and the geeky ones writhe in teen angst."

I think you'll find the cool guys are writhing in someone else's teen angst.

BOTV
Monday, February 16, 2004

I didn't get into computing until my mid 20's, and sometimes feel better off for having being a "user" before I started coding. My negative feelings towards a career in IT is only because as soon as your getting towards 'Guru' status in your chosen field, the manufacturer seems to 'improve' the product or worse replace it - meaning your back to the bottom of the learning curve.

Not many other business areas get 'knowledge churn' at the rate that the IT department does. (Think desktop support only 10 years ago and count how many versions of Windows there have been since then!).

I must say that my most enjoyable time has been as a consultant for a small software house, where I was regularly out of the office meeting clients on-site. Now working for a big insurance compnay I am no more than  "the coding machine in cubicle 7".

Choose your employer wisely.

Back to coding for me  :)

Raddy Echt
Monday, February 16, 2004

Do what you like.
You like to program: program.
Forget the money.

Once you start working hard on what you really
like, you will earn enough to make a living.

Not enough? Need millions? Two houses,
ten houses?
One wife, three hundred?

The more money, wives, houses and cars
you 'll have, the happier you 'll be.
Sure...

kind regards
John Fisher

John Fisher
Monday, February 16, 2004

"I also find it strangely reminiscent of high school, where the cool guys get laid and the geeky ones writhe in teen angst."


Meet your new boss, same as the old boss.


Monday, February 16, 2004


I dunno if you heard the expression:

"90% of everything is crap"


Right now, companies are struggling.  Any company with more than 100 employees has executives that don't see reality first hand, and have to rely on the reports of subordinates ... subordinates that want to get promoted.

So the subordinate will struggle to find out what the boss wants to hear, not the truth.

So the boss makes bad decisions.  The coders feel angst.  "If I was in charge ..."

90% of the people in the system feel cheated, lied to, etc, etc.

A few pieces of advice:

1) Look for the industry you want to work in and take a few courses.  Health Care?  Transportation?  Etc.  The best way to advance is to work in a company that is growing in an industry that is growing.  Think about it.  Yet when most people look for work, they just want "A Job."

2) Find a city that can support coders that has lots of jobs for that industry and computer science.  Then get THE job, not A Job.

3) Learn about living below your means, budgeting, and saving.  "Millionaire next door" is a pretty good book.

4) Consider an explicit professional development program after your graduate.  Something like construx Software's program:

http://www.construx.com/professionaldev/organization/pdl/

(Free Registration Required.)

Once you have 5+ years experience, explicit professional development is the difference between looking for "A Job" and being able to get "The Job."

5) Don't chase the hottest trends.  If you think "Java" will be the next big thing, so will 50,000 other code monkeys.  Focus on technologies that deliver value that will be in demand 5 years from now because they are good.

6) Think 2 jobs out.  "Where am I going?"

7) In your current job, think strategically "Am I growing, am I learning, will this get me where I want to go?"  If yes, great.  If no, talk to your boss.  If still no 6 months later, start looking ...


I hope, at the very least, you now have one reply that is not crap ...

Matt H.
Monday, February 16, 2004

Here are a few things to think about:

1. There will programmers in the United States for some time in the future. Focus on being the best damn programmer you can and learn from those who have jobs.

2. Learn a valuable skill regarding “pessimism and bitterness” – Listen, evaluate, then discard. Do not fall into the trap of sounding off your bitterness to fellow co-workers as stated by somebody else. Be positive and excited about what you are working on. There will be plenty of people who want to keep you grounded, just ignore them.

3. The paid programming work you do will always be a balance of these three things: getting it done fast, getting it done cheaply and getting it done with quality. Remember that somebody is paying for this and you must always be the contributing skeptic. You contribute to the end goal, but you make conservative decisions and question everything. You want to make sure that the person whose money you are spending is spent in the most efficient way. Return on investment is the mantra of the recent economic crash. Is what I am doing going to add value?

4. Figure out what you value. Do you value having lots of cash or doing what you want? Sometimes you get both and don’t assume that those that have lots of cash are somehow not doing what they want. Sales people are as much a contributor as you are.

m
Monday, February 16, 2004

m is right. These are the same words that were spoken to the slaves as they built the pyramids, and the slaves forced to row longships for Barbary pirates.

Be happy with your lot. Carry an extra block each day. Row harder. Don't burden your colleagues with your whining. Or else you will feel the whip again.

Know your place
Monday, February 16, 2004

>getting it done fast, getting it done cheaply
>and getting it done with quality.

The problem is: If the customer says "It's ok to have a few bugs, I need it fast", it will have a blown pointer error and Crash. Then the customer will be pissed.

Poor Quality Software is not like clothes at Wal-Mart, that do what you need but feel awkward - Poor Quality Software DOES NOT WORK. It's like a shirt that's 7 sizes too small - you just can't wear it.

The customer will never accept something that doesn't do what they bought it for.  They will complain and complain, and you will have to fix it on your dime or develop a terrible reputation.

So, in the end, it's late, buggy, and cheap.

The BEST way to cut costs, in my opinion, is to invest in quality.  Investing in quality means less time spent on re-writes and bug fixes - instead, you spend that time on new, billable projects.

Investing in Quality is one of the few ways I know to differentiate yourself from the pack.  So, when customers say "It's okay to not have quality", educate them.

If they still insist that they need buggy software, let them hire someone else, or get it in writing.  Refuse to provide a warranty for merchantibility or fitness of use.

Then when it's buggy and they can't live with the errors, charge them for fixes.  If they get it, you may have won a customer.  If they haven't, no problem.

If you go the professional development work, you won't starve in this economy.

good luck,

Matt H.
Monday, February 16, 2004

Know your place – I am amused, I must admit. However, consider the alternatives:

1. Assume all jobs are going away and spend lots of time rumbling about how the corporations or the government is out to screw us programmers – or better yet, go become an accountant for the rich.

2. Learn a valuable skill regarding “pessimism and bitterness” – Join in the ranks of these folks. Spend most of your day complaining about your circumstances. When not complaining, look for better relationships that surely must be out there. As soon as you feel the man is getting you down, it must be them and not you – jump ship!

3. The paid programming work you do will always be focused on technical sh!t, so let those business people worry about the bottom line.

4. Money is cool. The more money you have the happier you will be. Sales people who have more money than we do are our enemy. They obviously are not as smart/cool/enlightened as we are because they have extroverted social skills.

m
Monday, February 16, 2004

Matt H. – Good clarification. I guess I was thinking more compromise on design. Don’t build a stadium when they only want to park the car.

m
Monday, February 16, 2004

What economic recovery is that?  Nobody I know has experienced any such thing.  Stock prices don't mean shit to working people, and the jobs just aren't there in any field.

But moving on...

As long as there is an economy in the US, there *will* be work in the US for programmers, but ultimately not for the average programmers or their managers.  It seems like the days of throwing a team of 30 middling programmers and testers and managers and analysts and nonprogramming faux-architects at an idea are fading, now that ostensibly cheaper substitutes are widely available in India and Romania.  But the fact still remains that most of those teams can also be replaced by much smaller teams, often just one person, realizing the same cost savings without the dangers and overheads of outsourcing.

What I've seen myself and through the reports of colleagues is that there are still plenty of jobs for the really good folk, and even quite a few for the average folk, but it's extremely hard to get your resume read with the deluge of resumes of the middlers.  Eventually, that corpus of mediocrity will finally move back into other fields, as the realization that their 1999 earning possibilities in this field were an aberration.  Couple that with the word trickling out of good success with small, agile teams, without time-wasting CMM/ISO/RUP baloney.

To me, it looks like we're in a transitional period, and we'll continue to see lots of turmoil.  If you think you have what it takes to be the best, then the prospects are still good.  (And let's face it, if you can imagine giving up programming to pursue a greater pile of acorns, you will probably never be very good.)  If you just expect to be today's average, selling your unspectacular 8-hours of toil for a nice wage, then you're setting yourself up for disappointment and just adding filler to the resume deluge.

veal
Monday, February 16, 2004

>Good clarification. I guess I was
> thinking more compromise on design.

RIGHT!

Time, Money, Scope.

Pick two.

That I agree with much more ...

Matt H.
Monday, February 16, 2004

In determining whether there is a recovery, don's ask a bunch of people who are out of work.  Look for facts.

Demand is increasing. That doesn't mean everyone is working. That doesn't mean things are or ever will be like it was in 1999. Hiring always lags behind a recovery and more so than ever in this one. 

It does mean that if you compete without the negative attitude of those who refuse to beleive that there is a recovery because they are still not working, you'll beat them back to work.

nudge
Monday, February 16, 2004

Hiring can't lag behind a recovery, because hiring would *be* the recovery that matters to most people, and from what I can see, that's not happening.  Exactly which facts do you consider relevant?  Please share.

And please do tell the cause-and-effect relationship between negativity over an imaginary recovery and getting a job, and how donning a rosey outlook will give somebody a hiring advantage.

veal
Monday, February 16, 2004

"Hiring can't lag behind a recovery, because hiring would *be* the recovery that matters to most people"

No. *Most people have jobs* and increased economic activity increases their confidence that they will keep them.  Businesses always try to meet new demand by increasing productivity before hiring.

If you choose a different definition of recovery than the economists use, that's fine.  All those businesses that are increasing development and production seem to think the economists definition describes whay they see happening.

Look at the number of job postings online vs 6 months ago, or even 3 months ago. 

Too many people are still out of work. But their prospects are increasing not decreasing. Everyone should be encouraged.

nudge
Monday, February 16, 2004

The replies have been helpful. Thanks.

To a few other posters who scoffed at me using the word recovery: I realized that was a likely response, which is why I said "what some are referring to as a recovery."

Warren Henning
Monday, February 16, 2004

Couple comments--

First of all, Whats all the whining about?  Developers make more then any non-management position at most companies...  a *lot* more.  That should count for something.  Two:  Why not learn the hottest trends if your already a competent programmer?  I know a couple guys who get calls from recruiters every day giving them offers just because they worked on some giant, priopriatery platform thats in high demand.  Sure, those skills will be worthless in 3 years, but its not like these people don't know the fundamentals, and for 100 bucks an hour, I'll learn something that will only keep me employeed for a couple years. 

vince
Monday, February 16, 2004

My recommendation is to pursue a minor or two.  Bioinformatics is a hot field and it is going to be much more difficult for people without some Biology background to get into.  Any kind of business minor is going to be helpful.  Basically just do something to make yourself stand out from the average programmer.

Anonymous
Monday, February 16, 2004

Bathe frequently?

;-)

Urck
Monday, February 16, 2004


There have been a sea change in which the work of software development has been commoditised and wrangled into a subordinate position in the corporate hierarchy.

This is where corporate executives like everyone. They would have liked lawyers and accountants there too, but those professions actually grew up before business management did, so they're tough, and they stood their ground.

The result of this change is that, slowly, over periods of five and ten years, the programming workforce is transitioning to one of dumb lackies. You can already see this quite a bit. The best people have already started their own small companies or started turning to other fields.

It's not the mediocre who are being flung off; it's the professional ones and the best ones.

Me and the view out the window
Monday, February 16, 2004

"Do what you like."

This is good advise. What I like to do is spend money and be important. When I was seven years old I said when I grow up I am going to be a millionaire, and that is what I have done. Following my passion was the right choice for me. Decide what you want to do with your life? Perhaps your passion is to earn low wages working 70 hr weeks while being looked down upon and told what to do by people whose intelligence borders on the ape like? If so, then a career in development might be the right choice for you.

Rich Happy Guy
Monday, February 16, 2004

Beside the tech, learn also the other stuff like organisation skill, communication skill, etc. These will be helpful for your interviews later, to land a good job at good company. You still have 3 years left at uni right? It's enough time for you to involve yourself in many on and off campus activities where you can learn the other stuff. You might also think that computing is your calling today, but by exposing yourself to various activities it might be that you'll find other stuff that's more interesting for you or something that can be combined with computing that will put you in a particular "sellable" niche careerwise.

Marv
Monday, February 16, 2004

so how did you get rich, happy guy?

vince
Monday, February 16, 2004

I concur

Do whatever pleases you.

In every field there are people who are passionate about what they do. But they are rare.

It reminds me of the time I met this professor who specializes in Bone Marrow research. He was a distinguished fellow and one of the best in his field. He loved what he did so much that whenever you brought up the subject of his interest, his eyes would twinkle and he would start gesturing animatedly as he started on his favourite topic.

Just talking to him was an experience in itself. His energy and passion for what he did was infectious. It made him a leader that people followed.

So, if you have wanted to be a programmer since you were a kid. Good for you! Don't worry about trends and such - 5 years ago it was IT. Today it is bio-sciences. Who knows what tomorrow will bring forth?

Anon
Monday, February 16, 2004

This isn't a great time to be looking for work, but my guess is three years from now it'll be better. 

Try to do some freelance work while you're in school.  Even if you take a bath on the money part it will be good for you, and it might end up being a viable alternative to second shift at the pizza parlor (cough cough).  If you don't like that or it doesn't work out, try getting an internship or volunteer work or whatever.  Just find ways to get in contact with the real world as much and as often as possible.

Don't let the negativity get you down, just go for it.

Matt Conrad
Monday, February 16, 2004

*  Recent Topics

*  Fog Creek Home