* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

What Are Developers Looking For in a Job?

What is it that keeps developers happy and motivated?
Flat screen monitors, the latest tools or is it simply a big paycheck?
We are looking so I'm curious and by the way not a developer.
SalesGuy Send private email
Wednesday, July 20, 2005
 
 
All of the above, plus 401k, an office with a door that closes, the power to actually do your job right, and interesting projects to work on.

Probably more, but that's most of my list.
Aaron F Stanton Send private email
Wednesday, July 20, 2005
 
 
Other smart(er) people to work with
Andy O Send private email
Wednesday, July 20, 2005
 
 
Oh yeah, forgot that one.  Pretty important.
Aaron F Stanton Send private email
Wednesday, July 20, 2005
 
 
- Good equipment
- Door that closes
- Smart people
- good pay
- 401k w/matching
- 3+ weeks PTO
- flextime
- training / book budget
- 40 hour weeks
- properly staffed team to get the job done.
- no bake sales, bowling nights, or weekend retreats
Sassy Send private email
Wednesday, July 20, 2005
 
 
They like it when you scratch their tummy.
son of parnas
Wednesday, July 20, 2005
 
 
1. How do flex time and 40 hour weeks along with a good team all come together?

2. Training: Not an unfair request but if might dig deeper here... Why do "Smart People" need training. You should be interested enough in your career to read books. I certainly dont get to go to any advanced CEO classes.

3. 3+ weeks paid time off: Ill give you 8 but you have to earn it not sure if a 40 hour a week monkey who needs training should be away from the office that much

4. Good equipment/401K/Smart People etc: Absolutely
SalesGuy Send private email
Wednesday, July 20, 2005
 
 
The "smart(er) people to work with" is pretty important, right below money in my list. 

I can deal with bringing my own flat-screen monitor, keyboard & chair.  I don't care if I'm in a cube, open-plan office, or real office.  And I don't care if I'm using a sheet of plywood for a desk.

But if I'm working with a bunch of bozos, it's time to depart for greener fields.  Or pull out my copy of "The Prince" and try and get them fired.  [evil grin]
example Send private email
Wednesday, July 20, 2005
 
 
I think training is often overrated. The few times I've been on a training course, that pace was so slow and was pitched too low to hold my interest. I recognize that it is valuable to have a set block of time to learn something new without work distractions though. But the fact remains: I have only been to one software development related training class that I thought was worth while (it was a course run by Steve McConnell, who should need no introduction around here).

I would place training very low on the list. I would rather have extra vacation time. never underestimate the recruitment and retention value of being generous with vacation time.

Flextime is essential. Every other software industry employer offers it. The usual way to deal with it is to have core hours when everyone must be present (typically something like 11-3).

Having a private office is a big deal, but you would be surprised how few places offer that. You see, most places don't really consider software developers to be "real" professionals. They're really just a kind of secretary.

Of course, if you treat your software developers like that, you will get software developers that ARE just a kind of secretary.
Rob Send private email
Wednesday, July 20, 2005
 
 
I think having a good library, one that is regularly updated, is far more important than training, especially for smart people.
nickel Send private email
Wednesday, July 20, 2005
 
 
What I want is a company that'll accept that sometimes you have to go back and refactor (clean up, in a structured way) old code.

If you don't allow time to do this, two things will happen.  First, it'll take longer to do things, because it takes longer to read messy code, and it's much harder to verify that you're not introducing new bugs when you change things.  Second, it'll send the message to your developers that you don't really care about quality.  They'll take this message to heart and get very cynical, and your product quality will take a nosedive.  Both of these things will be very frustrating for your developers.

I'll grant that developers tend toward "It'll be done when it's done," but managers also tend to always want to charge ahead without paying for past sins.  A balance is needed.
Kyralessa Send private email
Wednesday, July 20, 2005
 
 
"...flex time and 40 hour weeks..."

Simple.  It's reasonable to expect 40-hour weeks out of people, but it's also reasonable to let someone off for a couple hours in the morning if he makes it up in the evening or later in the week.  It's a matter of treating people like adults.

Incidentally, I worked at a place where I had to clock in and out, and to my surprise, I liked it.  Every week they printed up a time report of the previous week and left it out where anybody could browse it.  So when you had to take time off and make it up later in the week, there were never suspicions about whether or not you really did it; it was all right there in the report.

"Training"

I agree that it's overrated.  I get my training out of books, which are far more economical; a $2000 one-week training course equals 40 books.  Forget the training, and have a good library.  Or better yet, pay well enough that developers can build their own libraries.

"3+ weeks paid time off"

Strongly agree.  It's ridiculous how little time Americans get off compared with the rest of the world.  My wife is from overseas, and we haven't been back to her home country in a few years because either I've been out of work, and we don't have the money to go, or I've got a good-paying job but then I don't get enough vacation time to go.  It irritates me to no end.
Kyralessa Send private email
Wednesday, July 20, 2005
 
 
1.  A boss with a clue. 

Once you have that, everything else just sort of happens.
Crimson Send private email
Wednesday, July 20, 2005
 
 
When I was just starting out as a developer I didn't think much about the physical office environment.  It seemed like employers would just naturally provide a good place to work for highly trained and highly paid college graduates.  After a couple of job changes I found out that sure wasn't the case.  A good work environment is truly rare.

However, I have been lucky enough to work in a good office space.  One where everyone had a private office with a window and a door.  And it was reasonably quiet.  Having had the experience and having learned how rare such a benefit is, I put it high on my list of requirements, but also realize that I'll probably have to accept work that doesn't provide it.

I have also learned that, like requirements for software, one has to be careful in listing the specifications.  My current spec:
- Quiet.  If the HVAC sounds like a tornado, if speaker phones are blaring in the halls it doesn't qualify.
- Private.  One person working in the room.  A cubicle doesn't qualify, nor does an office shared with even one other person.
- Office.  That's a ceiling and four walls that go to the ceiling.
- Door.  One of those solid things that opens and closes.  One other thing: You really shouldn't have to close the door except in rare circumstances.  It's there just when you need it.
- A clear window.  "Outside awareness" as the Santa Teresa report called it.  Clear because some employers cover the windows with plastic film for various purposes.  Some of it makes the great outdoors look slightly gray all the time.
argon
Wednesday, July 20, 2005
 
 
1)  $$$$$
2)  9-5
!
Wednesday, July 20, 2005
 
 
>>> Why do "Smart People" need training. You should be interested enough in your career to read books. <<<

I'll agree with you on this.  People complain about not being treated like a professional, but they often don't act like one.  I don't like to depend on my employer for advancing my training.  My employer needs to provide opportunities to use skills that I learn on my own.

My own list of what I look for:
- Interesting work.  Both the application and the technology used to create it.  This requires lookly closely because some projects that look uninspiring can turn out to be quite intersting.  And the opposite is also true.  I am going to be very careful in project selection if I ever work for NASA again.
- Physical support for getting the job done.  This includes office space, computers, lab space (if needed).
- Good management support for getting the job done without getting burned out.
- A good team.  Smart and cooperative people.

Most of the things that make a company a really good place to work are part of a company culture that is built up over years.  If you want to add a bunch of people in a hurry you can add a few frills such as paid training, etc.  Or you can just pay a lot more money.
argon
Wednesday, July 20, 2005
 
 
I said it earlier:  The power to actually do your job right.  If I see the right way to do the job, and I can do it, and it needs to be done, get out of my way.  Let me do my job.

Far too many jobs have not allowed this.
Aaron F Stanton Send private email
Wednesday, July 20, 2005
 
 
The developers here put a lot of emphasis on the things that make it easier to get their job done and done well.

So why is it so hard to find employers with the same interest?
argon
Wednesday, July 20, 2005
 
 
The money is the main thing.

The secondary main thing is a comfortable place to spend the day.  And you know the difference between something designed for an animal and something you wouldn't mind sitting in all day.
anon
Wednesday, July 20, 2005
 
 
Get a boss with a clue, and everything else will fall into place as if by magic.
Crimson Send private email
Wednesday, July 20, 2005
 
 
Agree with most here...

Just regarding the training issue: I still think it's a huge bonus when a company is willing to support/fund courses such as part-time MScs or BScs. But agree books can replace most 'intensive' training courses.
+= Send private email
Thursday, July 21, 2005
 
 
Apart from money one of the most important things to me is to be treated as an adult with respect in a flexible working environment.

Productivity is more important than bums on seats - I simply couldn't work somewhere where you would walk into work and the boss would look at his watch and say "You're 5 minutes late" or "you took five minutes too long for lunch" or something equally ridiculous.
redeye Send private email
Thursday, July 21, 2005
 
 
regarding training.. I'd second that, but I've always interpreted training as simply _budgeting_ (both money- and most importantly time-wise) for it. I.e it's not really about courses beeing spoonfed stuff but about beeing able to go to good conferences and buy and be allowed to read the good books.
Charlie
Thursday, July 21, 2005
 
 
"How do flex time and 40 hour weeks along with a good team all come together?"

My boss did this a few years back by saying that everyone had to be there from 10-3, but outside of that he didn't care.  I had my schedule set up to come in early at leave at 3 and someone else came in at 10 and worked late.

This was just enough to miss the rush hours...
KC Send private email
Thursday, July 21, 2005
 
 
Every company has work that needs to get done that no one wants to do.  You need an intern or a Jr. programmer to do these tasks under the direction of more Sr. programmers. 

I know I could use one.  Right now, it's like having a surgeon mop the floors of the O/R.  Of course the surgeon is making tons of money doing it, but all he's thinking is "8 years of medical school and I'm mopping floors".
Ian Send private email
Thursday, July 21, 2005
 
 
"Productivity is more important than bums on seats -"

Sometimes the problem with flextime is YOUR COWORKERS feeling like you're slacking. Perhaps they don't see or are not aware of your productivity.

I worked at a place (as a telecom engineer) and was on flex time  (9 to 6 instead of 8 to 5).  Other workers saw our engineering group (we were all on the 9-6 schedule) coming in late and were apparently jealous or though were were slacking off.  Lots of politicing ensued.

I agree that productivity is more important, but how do you measure productivity?  That's a tough one.  (I have a programmer working off site, so I clearly care more about productivity b/c I have no way to verify how many hours he worked).
Mr. Analogy {uISV} Send private email
Thursday, July 21, 2005
 
 
Thanks to everyone who responded to my question. Of course I'll post this on the Jobs site too.

This is what we need and what we offer

401K: Yes
3 Weeks PTO: You've convinced me
Good Pay + Performance Bonus: Definately
Office with a door: Not yet but within a year
Smart People: I think so
Flex time: No but we are not clock watchers either
Training: Look above. Someone getting all of that should be well trained!!

Requirements for this position:
Live in Washington DC Metro Area
Lots of experience developing in C#.
Sound expertise in Microsoft SQL Server.
Experience with Visual Basic 6.
Experience using source control tools (we use Visual SourceSafe).
Ability to make reasonable estimates of how long a task will take.
Excellent written and spoken English
SalesGuy Send private email
Thursday, July 21, 2005
 
 
"What I want is a company that'll accept that sometimes you have to go back and refactor (clean up, in a structured way) old code."

Boom. +1 for Kyralessa.
John Haren Send private email
Thursday, July 21, 2005
 
 
Given I was looking recently, here's what I was after:

1. Interesting work, both in terms of problem domain and technology.

2. Bright colleges.

3. Nice office environment. I've yet to visit a UK company where developers get their own office, so plenty of daylight and a fairly quiet office where the main criteria on this.

4. No heavy overtime culture.

5. Support for training. I'll agree with a lot of the posts here that books are generally the best way, and many courses aren't worth the time, but if there's some form of training that I think would be useful I'd like some support for it.

6. Money's always nice but isn't a prime factor.

7. The usual benefits, being in the UK this is 5 weeks holiday, pension and health insurance.

8. Decent business support. Decent equipment is a part of this, but so's a usable telephone system.

The at least part of the reason I was looking was as my current job doesn't have 3, 5 or 8.
Ian G Send private email
Thursday, July 21, 2005
 
 
I want to work for someone who is not an ass.  Comments like:
  >Ill give you 8 but you have to earn it not sure
  >if a 40 hour a week monkey who needs training
  >should be away from the office that much
if given seriously will very much hurt your chances of hiring/retaining a good developer.  Good developers expect to be treated with respect.

As for training, the environment keeps changing.  I would want an employer who understands that and allocates time for training, budgets money to buy the new books etc.  I understand that I am a professional and part of this is up to me, however other professionals also get this type of training and support (google for "accountant sarbox training").
sam
Thursday, July 21, 2005
 
 
"Comments like:
  >Ill give you 8 but you have to earn it not sure
  >if a 40 hour a week monkey who needs training
  >should be away from the office that much
if given seriously will very much hurt your chances of hiring/retaining a good developer"

I second that - I assume you want someone with a balanced life who will stay with you long term as the business grows.
Bill Rayer Send private email
Thursday, July 21, 2005
 
 
Training means:
- conferences
- books
- courses for software that cannot be bought on my own, i.e. SAP

There is simply no way to gain practical experience on some of this business software because you can' buy it or try it.
Sassy Send private email
Thursday, July 21, 2005
 
 
So you are looking to hire someone who isn't a "40 hour a week monkey"?  Sounds like you have fallen into the 'Culture of Overtime' over at SalesGuy land.
Sassy Send private email
Thursday, July 21, 2005
 
 
C#, Visual Basic 6, Microsoft SQL Server.

A smart person with experience in Java or C++ or Python will learn C# just fine.  Visual Basic 6 isn't that different from Visual Basic 5.  Somebody with solid skills in Sybase or Access will pick up SQL Server.  Get over your fixation on buzzwords and you'll actually have a chance at finding somebody who will do a good job.

About training: Smart developers don't need classroom training but they need opportunities to learn.  Pay for membership to sites like Safari bookshelf.  Let them install a new language and experiment with it.  When you do an upgrade of your company-standard language or database, let them actually use the new features of the database or language.  Encourage them to come up with out-of-the-box solutions like writing their own domain-specific scripting language to simplify a larger problem.
NoName
Thursday, July 21, 2005
 
 
Tell them what you want them to do.

Ask them how long they think it will take.

Pay them enough they don't have to worry about anything except your software.

Stay of the way while they do the work.
Katie Lucas
Thursday, July 21, 2005
 
 
"About training: Smart developers don't need classroom training but they need opportunities to learn.  Pay for membership to sites like Safari bookshelf."

Depending on your business domain, IEEE or ACM membership could be useful as well.
nickel Send private email
Thursday, July 21, 2005
 
 
- good technology ie .NET
- good pay
- Good equipment
- Smart people
- 401k w/matching
- 3+ weeks PTO
- training / book budget
- 40 hour weeks (not more then 50)
- properly staffed team to get the job done.
- QA process/people
- Business Analysts
- Rewarded for a job well done. If someone works 50 hours a week, then give them some comp time!

I don't need flex time. But, I do the "Core Hours" idea sounds cool.
Patrick Send private email
Thursday, July 21, 2005
 
 
The tools to do my job effectivly.  Don't evaluate a tool and decide the delux version does what you need then but the economy compact model and expect me to get the benefit out of it.

Let me do my job right.

Decent work invironment.  If it must be a cube then 6+ foot walls still with a door and let me shoot the idiots that play radios without headphones.(State regulations may hamperthe last part)

Make the recognition and trade off for the crunches.  I understand that from time to time the long hours and extra effort is necassary.  Do something to thank me for it and DON'T make it the company norm to have to do that.

In most companies there is a certia amount of mundane programming that needs to be done.  I accept this but let me work on the interesting pieces and stretch myself into area I may not already be an expert in from time to time to keep me from getting bored.

Pay me fairly.

Treat me like a Professional.
Douglas Send private email
Thursday, July 21, 2005
 
 
I have a slightly different take on the training aspect: What's important is the type of training that you *can't* get from a book. All the employer-sponsored training I've taken in the last year is typically for management types, but still very useful for the software developer.
Unless you code away buried in your own little corner that no one else goes near, you need to interact with others. There are many training courses out there that recognize that good "people interactions" drive the successful business.

I agree that I don't really want software training: just pay me enough so I can buy my own books, or better yet, have the department buy them. Still, a very important form of "training" for me is tuition reimbursement. My employer paid for my Master's and in return got a more dedicated and skilful employee and I became more marketable. Think win-win!
lw Send private email
Thursday, July 21, 2005
 
 
I can share the following with you based on my own experiences running an ISV and being a consultant at everything from small companies to fortune 20 companies.  Being that I often help companies interview and hire developers I try to keep my finger on what they want.

Attractive benefits very much depend on the level and lifestyle of the employee you're trying to attract. 

Most younger, single developers I have encountered rate benefits approximately like so:
    1)Salary
    2)Work Environment
    3)Tools provided
    4)PTO
    5)Healthplan / Benefits

Most older, married developers I have encountered rate benefits approximately like so:
    1)Work Environment
    2)Healthplan / Benefits
    3)PTO
    4)Salary
    3)Tools provided

This is not to say that older developers don't care about salary, they certainly do expect to be paid the going market rate.  However you have more flexibility on salary if you can give them a great package of 1-3.


As for paid training I would agree that for the most part this is a waste of time and money.  An education benefit is definitely valuable for IT workers who seek their Masters.  Personally, I always encourage developers to go for their MBA since a general knowledge of how a business works is invaluable when working with other departments and business clients.


"Flex time" isn't as valuable as having a VPN network set up so that workers can put in time from home.  Most organizations have times when overtime is required, a straight 40 hour workweek is generally only achievable in a government job.  Many more experienced employees, especially those that come from consulting backgrounds will balk at positions that have frequent unpaid overtime.  Developers tend to be good at math, so if they figure that they're working 10 hours a week of overtime, that's like taking a 25% paycut.  That being said, most employees are less resentful of overtime if they have the ability to do it from the comfort of their home over VPN.

Most employees desire flextime not because they don't want to be around their co-workers, but because many services/errands/etc are run during business hours.  A family guy can't take care of sick children, visit the doctor, drop by their local city hall for whatever errands, etc without taking precious PTO time.  By providing a VPN and allowing employees to work from home on days when such events occur you do not lose any productive time and the employee doesn't have to use PTO on things they'd rather not.  It's a win-win.
Eric Wise Send private email
Thursday, July 21, 2005
 
 
eric to a certain extent i agree. I'm presently looking at a copy where I'm willing to accept 5-10% less then what I typically ask. However, they have a 15% retirement plan, guarnteed.

I feel like keep me within market rate, and give me a great job and then it won't be worth my while to go anywhere. But, you have to give me a great job!
Patrick Send private email
Thursday, July 21, 2005
 
 
Does *nobody* look for growth potential?  Like, in the "interesting" vein, but different: the ability to learn new skills or take on new responsibilities.  I can't be the only one that is looking for more of this...
Rich Send private email
Thursday, July 21, 2005
 
 
We are a great company to work for but we want te be even better, the top choice for top developers. We want to know: What are developers looking for in a job?

Before answering though, some ground rules please:

#1 - Do not say you need a top salary. We don't have the money and quite frankly you're not worth it any way because, well, you are a developer and that is menial labor.

#2 - Do not say you need a private office with a door that closes. We value TEAMWORK and MANAGEMENT here. If your immediate supervisor can't see you at all times, then how will he know if you are working?

#3 - Do not say you require a training or book budget. We are looking for PROFESSIONALS who know their field and not students and amateurs who require books and additional training just to do the job we hired for.

#4 - Do not say you want 9-5, weekends off, flex time, and/or more than 1 week vacation. This job requires DEDICATION and COMMITMENT, which lazy people who want short work hours don't seem to understand. It's time to pull togetehr to get the task done at crunch time and we have so many clients that crunch time is everyday, something a TRUE PROFFESSIONAL understands.

So tell me seriously so that we can get those top notch people we keep hearing about: What are developers looking for in a job?
Original Poster
Thursday, July 21, 2005
 
 
Personally:
A project that's challenging, has some arty/interesting/cool aspect to it, as opposed to yet another tedious database-driven business tool. Ability to experiment and make decisions myself rather than just being handed an inflexible spec. Being involved in the business and respected rather than just treated as some kind of programmer monkey who goes away and does his magic.
Matt
Thursday, July 21, 2005
 
 
to original poster: great post bro!

#5 Developers are like hookers, we use them once and throw away (like a used condom).

#5' Developers are like hookers, once we use them we throw them away (like a used razor blade).
BOOKER
Thursday, July 21, 2005
 
 
Original Poster:

Surely you jest.

In case you're not joking:

Not interested.
Aaron F Stanton Send private email
Thursday, July 21, 2005
 
 
To: Original Poster

You are clearly someone who does not understand how to communicate with workers who are intelligent (I guess since nothing is certain in life, you could just be a troll).  If your company is a software company, you might want to consider being good at your core competency.  That means hiring people who are good at what they do, giving them the tools to do it (books, computers, offices, phones, vacations, etc.) and then staying out of their way.  We are professionals, and as professionals we know what we are doing, we don’t need big brother looking over our collective shoulder.  It is as important to us as it is to you that we get the product out in the best form possible and on time.  We shouldn’t have to worry about trivial things like health insurance or when we are going to get some vacation time, those things should be amply provided.  We should be thinking about how to make the company more money.  If you give us the chance we will. 

Can you tell I just came from somewhere that was owned by a salesman that thought salesmen where all that a software business needed to be successful?  He actually told me once that he didn’t need the developers, he could sell anything.  It didn’t end well for him. 

Josh
Joshua Volz Send private email
Friday, July 22, 2005
 
 
How can we be both menial labor, and professionals? How can you say to our face this is a menial job, and still expect dedication and commitment? No one except developers, and the medical intern/residents have to deal with that bullshit.

Books are required because said management is always finding a new tech that we need to use, which we have no way of knowing, because it just came out last month!

And anyone who calls a 40 hour week "short" should be drug out into the street and shot.

Friday, July 22, 2005
 
 
"#4 - Do not say you want 9-5, weekends off, flex time, and/or more than 1 week vacation. This job requires DEDICATION and COMMITMENT, which lazy people who want short work hours don't seem to understand. It's time to pull togetehr to get the task done at crunch time and we have so many clients that crunch time is everyday, something a TRUE PROFFESSIONAL understands."

If you want commitment from a true professional I suggest you spell the words properly first. I have worked for companies that want 'true proffessionals' and IMO they look for someone they can suck dry and spit out in a year or so. Nothing in your post convinces me your business does otherwise.
Bill Rayer Send private email
Friday, July 22, 2005
 
 
Whoops I fed the troll (SalesGuy != Original Poster)
Bill Rayer Send private email
Friday, July 22, 2005
 
 
to Original poster, I didn't like youre menial labor references. But, this bothered me ...
"#4 - Do not say you want 9-5, weekends off, flex time, and/or more than 1 week vacation. This job requires DEDICATION and COMMITMENT, which lazy people who want short work hours don't seem to understand. It's time to pull togetehr to get the task done at crunch time and we have so many clients that crunch time is everyday, something a TRUE PROFFESSIONAL understands."

Gee, everyone else offers at least 3 weeks vacation and you expect me to have just 1. Quit being cheap, go out and hire some staff so people aren't overworked.

Yeah, all businesses can get chaotic from time to time, but have a process and people in place to handle it so that the majority of time our lives aren't chaotic.
Patrick Send private email
Friday, July 22, 2005
 
 
Troll?  or Sarcasm?
I'm having a tough time telling the difference.
example Send private email
Friday, July 22, 2005
 
 
Sarcasm basically.  It's rather scary the number of posters who seem to have taken Original Poster (who does not seem to be the original poster) seriously.  Do people post here before they've had their morning caffiene?
argon
Friday, July 22, 2005
 
 
From the Real Original Poster: SalesGuy

Firstly to Sassy: You are absolutely incorrect about overtime mentality at SalesGuy land. All I expect is for work to get done when it is promised. You estimate...you deliver if it takes 45 hours I would hope you stay. This is not an art class where you have the luxury of procrastination.

Sencond RE:original poster: Of course its sarcasm

Finally;
Thanks to all of you for your responses. For me this was really an exercise to see what was important to developers and it has paid off. By the way in case you care, here is what I'm looking for in a developer in order of importance

-An intelligent and professional person
-Committed to helping our company grow
-With a good sense of humor (A lot developers fail here responses in this thread are proof of that)
-and the ability to work well with others (the other 50% of developers fail here) including sales people!!
-Im not a clock watcher and hope you are not one as well

Thats basically it, everything falls into place and is negotiable.
SalesGuy Send private email
Friday, July 22, 2005
 
 
before I am corrected:

I did not mean the other 50% as that would be 100%!! I meant the same 50%
SalesGuy Send private email
Friday, July 22, 2005
 
 
You may not realize how difficult it is to convey humor with pure typing.  That's partly why I responded the way I did - but it was tricky enough for me to decide if that post was a joke or not, and I found it annoying.

You may find that developers have a sense of humor all their own that most of the rest of the world just doesn't get.
Aaron F Stanton Send private email
Friday, July 22, 2005
 
 
To the Americano's, you were born with capitalizm.
The highest value in your country is the dollar.
You wer born as slaves to money.

A well known phrase says that the capilalists will sell the rope that will be used to hang them. BTW the terorists used the victem infrastruture in 9-11... How Ironic & sad.

Your economy have no compassion, no justice built in it.
IBM just moved 13,000 jobs from Euorpe to India.

To the big capitalists we (Americans, Indians, Europeans, Programmers, Nike show makers) are all the same. DUST!!!
Solon
Friday, July 22, 2005
 
 
For starters, you might want to pick up a copy of the book "Peopleware" by DeMarco and Lister. 

It's perhaps surprising (or not), but a lot of the things that developers want in a job are directly related to enabling them to actually *DO* their jobs.
BillT Send private email
Saturday, July 23, 2005
 
 
Solon, show me an economy that works that does have compassion.

Compassion is about the individuals.  A system is about groups.
Aaron F Stanton Send private email
Saturday, July 23, 2005
 
 
> Firstly to Sassy: You are absolutely incorrect
 > about overtime mentality at SalesGuy land.

(I'm gonna bust an an aneurysm in my head laughing so hard)
He has your number, you are a dangerous and well known species. 

 > All I expect is for work to get done when it
 > is promised. You estimate...you deliver
 > if it takes 45 hours I would hope you stay.

This sounds almost reasonable, except it is not.
Nobody can estimate things they don't see.

I doubt you have a great business analyst who is writing up awesome specifications.

I further doubt that you allow your programmers to spend enough time to do any investigation or design work.

In real life, design work comprises most of the hours in a project. 

Until that work is done, and a developer has a *detailed* idea of what he is supposed to do, any estimate is garbage. 

Less experienced developers will accept such assignments, and even feel guilty for not meeting their estimates.

Experienced developers have learned that committing to a firm estimate on a flimsy spec is a bad thing.  A very bad thing.

 > This is not an art class where you have the
 > luxury of procrastination.

Perhaps, but I am sure *you* will treat it like an art class: 
"I don't care if it meets the spec, CHANGE IT!"

Good luck, you will need it.

I am sure that some unsupecting junior programmer is about to get an education...
Cat Herder Send private email
Sunday, July 24, 2005
 
 
"All I expect is for work to get done when it is promised. You estimate...you deliver if it takes 45 hours I would hope you stay.  This is not an art class where you have the luxury of procrastination."

This is a mistake, as others have said.  Let me try to explain why.  It's your only real big one, but it is a big mistake.  Only a shiny new graduate would accept a software engineering job under such conditions.

I hope you don't think I'm being overly humorless here.  I've got a real point that a lot of people miss.  I missed it for years, and I *am* a developer.  And it has nothing at all to do with procrastination.  Or with poor quality guesstimates, either.

Let me point out one thing:  everything that is interesting to build and customized for your business is also something that has never been built before.

Think about the process you describe:
You describe the features you want.
The developer estimates the cost of the features you want.
Then the developer begins to build those features that don't exist, buy those that do, and hook them into your existing system in a way that makes sense.  He or she will learn things along the way that are gonna change the estimate.  If that isn't true, you should be buying it from Best Buy, no?

This *can* work under limited circumstances with very short-range estimates.  But however much you improve your ability to estimate, you're dealing with a fundamental problem that the estimate is made at the time the developer is the least informed about the problem.  [This is incidentally why fixed-price contracts are the wrong choice for most business development.]

Consider the phrase: Research & DEVELOPMENT.  Think about how you budget R&D.  How you schedule it.  Imagine treating a top researcher that way.

This is one of the things that is meant by other developers who have said that being treated with respect is important.  We are professionals.  We know what we're talking about.  We're still going to produce wrong estimates.  Because it's RESEARCH.

How often and how badly we produce wrong estimates depends as much on the information you provide us as on our skill.  But your choice of words lacks the flexibility the real world demands.

Imagine that you give a programmer a complicated, three-month long task, and then when they're almost done some new requirement comes along.  Something obvious.  Of course, now that there's a widget there has to be a thingamabob too.  All widgets need thingamabobs, right?  Even though it's not in the design spec, it'd be impossible to *use* the widget that was called for unless you add in the thingamabob, right?  Now, imagine that your programmer tells you "No.  You're not allowed to change the rules after the project starts.  Instead, I'm going to deliver a project that you can't use."  That's the same thing you do to us if you fail to acknowledge that new information can and should change expectations.


**
Hire somebody who you can trust to give you a good estimate.  Then, if they learn something new and change the estimate, trust them again.
**


*Whew*  That went a little long.  Sorry.  Sleep deprivation, I guess.
Chaz Haws Send private email
Tuesday, July 26, 2005
 
 
"All I expect is for work to get done when it is promised. You estimate...you deliver if it takes 45 hours I would hope you stay.  This is not an art class where you have the luxury of procrastination."

I have done a lot of things for a living my 40-odd years of annoying others on this planet.  Farmer, rancher, miner, army soldier, construction, ..., and software developer.  In my experience software estimates are totally different from estimates in the other activities because of the boolean nature of software problems.  When the hole in the drywall for the electrical box was too large and a gap showed on one side of the cover plate, well, the boss had some oversized plates in the truck.  Spackling and texturing hide a multitude of hammering sins.  But when the framegrabber won't initialize because of some system or driver problem, you're DEAD IN THE WATER until that gets fixed.  The clock is ticking but progress is halted, or even going *backwards* as anxiety level rise.

The worst example I can recall off the top of my head was an install problem with a VB5 / MDAC program.  We shipped a beta to a customer but when he installed it his MS Office applications quit working.  Very Bad.  It didn't happen on any of our test machines so it was a real b*tch to figure out.  It took me two days to solve.  (Not 8 hour days, 20 hour, nap-with-your-head-on-the-desk stink-like-a-gym-locker days.)  An imaging component we used would create a DLL-Hell situation in a small set of circumstances, such as our customer's (victim's?) laptop.

Naturally this extra 40 hours of unforseen work blew the snot out of that part of the schedule.
Mark Jerde Send private email
Wednesday, July 27, 2005
 
 
You guys are just lazy and undisciplined. As a director at the Mayo Clinic we do a lot of research. I ask the researchers, "How long will it take for you to develop a cure for this sort of cancer? Couple hours? A week?" They then give me an estimate. When I come back, they better have that cure or they are out on the street. It's not like this is some open ended thing, we have specified the exact sort of cancer they need to come up with the cure for. In the medical field, there is not the luxury of procrastination like this is some sort of freaking art class.
Dr. Wieben
Wednesday, July 27, 2005
 
 
Here's a perspective from one of the "junior programmers about to get an education". I'm a CS major going into my senior year, and doing my 2nd CS related internship this summer.

When I apply for jobs this coming year out as a new graduate, I understand that I won't have the amount of leverage other experienced developers do. Hopefully my grades, internships and aptitude will make up for it. Still knowing I may not be able to demand all this, I'd say my list would look similar to the general consensus, with the following emphasized:

-Interesting work, and some degree of authority over my tasks. I understand I'm green, but it doesn't mean I'm incompetent and need a babysitter.

-Flexible work hours, one of my internships had this, and it was convenient, let me miss traffic, and made me more productive. In my current stricter internship, I find myself doing more "clock-watching" when I can't quite get in the "zone" and therefore am less productive.

-More vacation time - even at the sacrifice of my salary. I know I'm young, but I still want to enjoy my youth. I believe in a work hard, play hard mentality, and I'm used to 3 months of summer vacation (though working at internships), and I don't want to burn out. 21 days doesn't sound like that much to me, but if it's more than usual, I'd probably take it.

Overall, for me, I have to believe in the company's products, that they're actually useful, and products people will want to use. Also, I need to believe in the company's future, which goes along with the possibility of career advancement. I have to be continually learning and given the chance to move up through hard work and dedication.
Darwin Send private email
Wednesday, August 03, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz