I have an interview scheduled with a company, is it a good idea to call up the company, and get some more information about the position from the person who e-mailed me the interview request?
Sun 16 Feb | Jason |
I think you should go into an interview knowing as much about the company and the position as possible, and show as much interest and enthusiasm as you can muster during the interview.
I wouldn't necessarily phone the guy - if you have his e-mail, just drop him a note and ask for a written job description, or possibly a few specifics having to do with the product/division you're interviewing for. Then you can do your own research on the net before the interview.
Sun 16 Feb | Prakash S | 'is it a good idea to call up the company, and get some more information about the position from the person who e-mailed me the interview request?'
Yeah, you should. Most companies would expect you to ask them.
The questions you should ask them in no particular order:
1.) Dress code for the interview
2.) No. of people who will interview you, time each interview will take
3.) Do you need to bring code samples
4.) the position you will be interviewing for
5.) Obiously, directions to the company:-)
Sun 16 Feb | anon | Prakash,
they already let me know most of the details,I want to know a little bit more about the position....
In the vein of the sinking ship at sea with the rats leaving, seems many of the smart people are leaving Microsoft.
The latest is David Stutz
http://www.synthesist.net/writing/onleavingms.html
He rather blasts the former employers speed of uptake on the important technologies of the future.
Sun 16 Feb | Prakash S | fyi: the same was mentioned 5 topics below yours.
Sun 16 Feb | richard | Ooops.
Sun 16 Feb | robert | What makes you say that this guy was 'one of the smart people'. (I don't know either way, it's just an assertion to me at this point)
IMO, I think that ship can take on an awful lot more water before it starts to sink...
Sun 16 Feb | it has to be said | I'm sure there's an article somewhere under all that prententious verbiage.
the unix source control systems I used in college (RCS & CVS, I think its been a couple of years) had a feature where you could insert a macro in a comment block of your source file, so that when you checked a file in/out the macro would get replaced with the version #, date, etc...
I assumed this was a basic feature of Source Control. However, after working with VSS for a while, I havent found any way to do this.
Am I missing something, or is this (yet another) reason to dump VSS and switch to an alternate system?
Sun 16 Feb | sgf | From VSS Help:
-------
keyword expansion
Process VSS uses to replace a VSS keyword with meaningful header information when you use the Check In and Add Files commands. For example, the string '$Revision: $' tells VSS to expand the Revision keyword automatically with the current file version number.
------
There should be a list of the other keywords somewhere.
HTH
Does anybody know and had a personal experience with some good C++ IDE for LINUX for average size projects?
Sun 16 Feb | Craig | Kylix
Sun 16 Feb | Frederik Slijkerman | See http://www.borland.com/kylix for more information. There's also a free trial download.
Sun 16 Feb | robert | emacs
Sun 16 Feb | Prakash S | http://www.trolltech.com/products/index.html
Sun 16 Feb | emacs rules | Use Emacs or VIM. Learn one of these editors and you'll never go looking for a new IDE everytime you start using a different language.
Sure there is a learning curve when using these editors, but once you get past it there is no turning back.
Sun 16 Feb | | Visual Slickedit is a great editor for most languages.
http://www.slickedit.com
Sun 16 Feb | emacs rules | Slickedit is good as well. A bit pricey for my tastes though.
If emacs still has your scared, you might want to try anjuta.
http://www.anjuta.org/
Hi All,
Just a hypothetical question, if you were in charge of hiring and firing( or are), how long would you take to remove an incompetent developer, if you had done the mistake of hiring him?
Sun 16 Feb | anon | Speaking as the coworker of an incompetent developer, I'd hope you fire him as soon as possible.
Sun 16 Feb | aa | For all kinds of reasons, you need to fire someone who's incompetent as soon as possible. (Note that incompetent is different from 'lazy' or anything else that's changeable by the person with some effort or coaching.)
The longer you wait, the worse it is, both for them and for you. Doing it as soon as you're SURE means they can get on with finding a job that suits them better and you can get on with finding a more competent person. The longer you wait, the more emotional commitment there will be from everyone involved.
There are legal reasons too - if you wait two years then it's pretty hard to justify letting someone go for incompetence, if you ever landed in court.
Judge: 'If this person is really incompetent, why didn't you let them go earlier? Obviously they were fine if you employed them for two years.'
Note: For better (real!) legal advice consult a lawyer who specializes in employment law.
Sun 16 Feb | Li-fan Chen | Disclaimer: I never did HR stuff. Consult a human resources guide from the small business development office in your town.
Time before notice: How about 6 month after probation? Just in case you were wrong--gives the company a chance to reach one or two quarterly or twice-yearly reviews and allows Human Resources to take its proper course.
Accounting: Most managers account for this possibility when hiring so they budget for the cost of acquring and training two or more engineers for at least a year when they are attempting to keep one.
One possible approach: You should just let the developer know why you believe he his (her) skill sets can't be updated fast enough to do the required contribution to your project. Explain why there are no other projects that require his help. Explain to him that he should start to look for jobs that better match his skill sets and offer to help. It gives him the heads-up to start looking for another job and eventually let the current one go. Just do it in a rational and helpful manner--usually your help won't be perceived as a threat.
Personal note: I am happy that I never had to do this yet, but I have given references to the fine engineers I have had the honor of working with during the end of their terms with companies I was a part of.
Sun 16 Feb | anon | I'm not talking of somebody who's skillsets fall behind, I am taking of somebody who fails to finish any project wether large or small given to him, and always screws up.......
Sun 16 Feb | Jan Derk | First, if you haven't done so already, ask his fellow workers what they find about a team member before you mark someone as incompetent.
Second Break that relationship as soon as possible.
Some think that the worst that can happen with incompetent team members is that their return rate is zero. They add nothing to the process while receiving salary. It's much worse, the return rate of incompetent team members is generally negative. They take time away time and energy from the good guys. Leaving an incompetent team member around is one of the best ways to kill moral and efficiency.
In a review of 32 management teams, Larson and LaFasto found that the most consistent and intense complaint from team members was that their team leaders were unwilling to confront and resolve problems associated with poor performance by individual team members.
They report that 'more than any other single aspect of team leadership members are disturbed by leaders who are unwilling to deal directly and effectively with self-serving or noncontributing team members.'
Sun 16 Feb | Bella | Verify proper policy with HR. If you don't have HR, ask a friend at another firm to ask his HR.
I suggest you start documenting him ASAP. Document every screw up, and make him sign it. Give him a bad review.
Then, when the day comes, you arrange a pseudo meeting for the entire team, except him. When they are away in the room, you have security remove him from the building, and inform him he has been let go. His 'stuff' can be mailed to him,and HR can wrap up the details remotely.. This will obviate the risk of him trashing your network or stealing code/materials or going postal after he learns he is being fired.
Good luck
Sun 16 Feb | Bella | > It's much worse, the return rate of incompetent team members is generally negative. They take time away time and energy from the good guys. Leaving an incompetent team member around is one of the best ways to kill moral and efficiency.
100% true. A bad apple creates more work for the rest of the team. Incorrect work that must be fixed, etc. Team members with bad attitudes do nothing but waste everyones time as well.
Sun 16 Feb | Joe Blandy | anon, I think we work with the same guy. Not only is my guy one of the worst 'senior' programmers I've ever had to work with, he's the laziest too. For his last three projects, he didn't even start until _after_ the deadline. And the stuff he did deliver was so bad that it had to be re-written by the group that wanted it.
Our boss doesn't seem to care/notice and is constantly finding an excuse for this guys work or timeline. The current excuse is 'he works really late'. Working late != working hard. In this case it means he spent all day on the phone talking to his friends and must stay up late to get his 'work' done.
How do you solve the problem when one of the members on your team doesn't do any work and the boss doesn't notice or care?
Sun 16 Feb | sedwo | Bella,
I disagree with that scheme of removing an employee. All it does is treat him like your throwing out the trash. Its not cut and dry like that. These are human beings too, to make him look like some evil enemy will cause more resentment and possible backlash. And what kind of example will you be showing to the rest of the employees. Its a business, not some cold military bunker.
I would suggest talking to the person. Spending some time to maybe discover what is causing this disruption. Who knows, life could have turned pretty sour for the person (divorce, death, finances, etc.) and his personal life maybe unstable right now to focus clearly on work. Maybe they are still searching for the right qualities of work that they most enjoy, and are testing the waters as you are them. To react on the person simply based on the judgement of others shows a cowardice manager.
Business is business. And its the people that make the business. Treat them like human beings, and not like cattle. In the end if the decision is made to part, then atleast there was a chance to develop some mutual understanding. The last thing anybody needs today, are more bitter people.
Sun 16 Feb | Prakash S | I agree with Bella on the documenting part.
There should have been some reasons why you hired him to begin with, what were those? Write them down, see if that person is doing those.
Get some other senior member's (in your team) opinion, see what they have to say.
Maybe he/ she is one of the late starters? Do you see this person putting in any extra effort?
Sun 16 Feb | Don Wallace | Caution. Are you SURE someone is incompetent? If so, what is your objective metric? How do you measure competence? And what is your level of industry experience to make that judgement? These are rhetorical questions to be applied diligently to every such case.
The label 'incompetent' can be applied with a lynch mob mentality because someone doesn't have a personality that fits the predominant style of the members of the group or the leader(s).
Many times this can be agism. Someone in their 30s or 40s can be crucified by co-workers in their 20s, and vice-versa.
Everything negative you've ever heard about promotion by incompetence or demotion due to appearing a threat due to personal style can be associated with the label 'incompetent' applied to a developer.
In fact, in many development groups I've worked in, being deemed competent and gaining respect of others seemed to be as much about personal style - knowing the right lines, being a smartass at the appropriate times - as it was about getting work done.
A concrete example of style clash would be someone from a larger and more formal environment who is concerned with process, hiring into a small company skunk works where everyone pulls designs and architecture out of their asses. The 'formal' individual appears to only be writing emails and reading to the less educated or formal types around him, thus is pegged incompetent and wasting time.
Sometimes too, 'incompetency' can be associated with working on an unfashionable piece of technology that isn't interesting to others in the same company or group. You're incompetent by association because you are working with retro technology, for instance (such as the the few in a group that are charged with maintenance of legacy applications).
Lastly - there is a social cost to labeling someone incompetent and pulling the trigger that is similar to capital punishment. If the person has gotten a bum rap due to style and political differences, you will automatically alienate other individuals in the company and instantly create a class of suspicious employees with no trust in the management nor the company process.
Tread carefully!
Sun 16 Feb | robert | 'Then, when the day comes, you arrange a pseudo meeting for the entire team, except him. When they are away in the room, you have security remove him from the building, and inform him he has been let go. His 'stuff' can be mailed to him,and HR can wrap up the details remotely.. This will obviate the risk of him trashing your network or stealing code/materials or going postal after he learns he is being fired.
Good luck '
Sure, if you want to mark your company as inhumanly callous, underhanded, and brutal, that's a great strategy. I'm sure the rest of the team will get right back to work instead of start worrying/gossiping about who's next, or if the next meeting is a real one or a decoy to have someone forcibly removed.
Or, maybe this was a troll. It's hard to say.
Robert
Sun 16 Feb | anon | Well actually, it's not my problem, but a friend's at another firm.This senior developer with 8 years experience in C++ does not seem to care or know about knowing the difference between a copy cstor and a default constructor, as well as where to use 'virtual destructors', also ends up using switch statements instead of virtual functions....
seems to me to be a C guy, claiming to be a C++ fellow.
I really don't have a lot of details...that's what my friend says.......
Sun 16 Feb | Don Wallace | >> This senior developer with 8 years experience in C++ does not seem to care or know about knowing the difference between a copy cstor and a default constructor, as well as where to use 'virtual destructors', also ends up using switch statements instead of virtual functions....
seems to me to be a C guy, claiming to be a C++ fellow.
I really don't have a lot of details...that's what my friend says.......
On the other hand, does this person get his work done at a module level? Does he deliver whatever he's asked to deliver and does it work?
This sounds like a perfect textbook example (potentially) of a personal style mismatch where someone is being crucified or derided because he's not kewl enough. Sic: a bunch of C++ gurus scorning the one guy that conservatively sticks with a limited subset of the language but who *gets his work done.*
The items you listed would grate on me as gaps in understanding of the tool, but they're not fatal flaws in and of themselves.
On the opposite end of the spectrum, I've maintained simply horrible code written by wankers who overreach their knowledge with techniques that they really don't understand, or who glop up what should be simple procedural code with object soup that is much more difficult to maintain than straightforward code using less advanced constructs. Now, THOSE (overreachers) are the people that should be run out of their jobs!
Sun 16 Feb | Gregg Tavares | Well, I'm curious, some of you guys *seem* to think any level of incompetence is just someone having a bad day, bad point in their life, etc. For you people, when would you just actually KNOW the guy is incompetent or would you ever?
For example, I worked with a guy once, he was given a relatively simple task. I expected it to take him 1 week, at most 2. It took him 6 weeks and when he finally gave it to me it was buggy and not working. After futzing with it for a couple of days and realizing was was pretty hopeless I re-wrote it from scratch in 2 days.
As far as I know, the entire 2 years he was there he never delivered anything useful to anybody.
At another company there was a guy that in 9 months could not manage to get a single display up on the screen yet the boss would not let him go. No, he did not have other special responsibilities.
Sun 16 Feb | anon | I'm talking of somebody who writes pretty unreadable code, and delivers maybe 20% of the time, and who takes a huge salary chunk claiming to be senior......
Sun 16 Feb | braid_ged | In Australia people do not get fired for incompetance.
I am with Erik Naggum, incompetance should be a crime and I know a lot of people who should be in jail.
Sun 16 Feb | Uberanonimator | 'ends up using switch statements instead of virtual functions....'
Oh... this is your definition of incompetance.
Is this a troll? At least come up with a fake name for your troll rather than anon.
But if this is serious, you are just totally lame. Where do you work so I can avoid it? you're the one whose rear should be tossed out.
Jeez. Freaking language snob. Get some work done. I would magfer you're the one who gets no coding done while this other dude codes cyclones around all of you there.
Sun 16 Feb | anon | It's no troll, and I don't work there,what my friend said is the guy could use any methods he wanted, but has to get the work done, but not only does he not produce the required output, but produces unreadable junk.........
Sun 16 Feb | Bella | > I disagree with that scheme of removing an employee. oyees. Its a business, not some cold military bunker.
Yes, there are many ways to do it. I was sharing how my last client would do it. He do not have to follow suit.,
Sun 16 Feb | Bella | > I'm sure the rest of the team will get right back to work instead of start worrying/gossiping about who's next
Or, they could simply concentrate on doing their jobs, thereby not having to worry about this happening to them. I am speaking about the culture of Tier 1 blue-chip financial firms, not some liberal advertising or fashion agency. There are 500 waiting in line to take your job, so they do not need to worry about being 'gentle'. Sad but true. And don't shoot th messenger.
For a thought experiment today I was wondering what it would be like if we had a Union for Computer Programmers. I cant help wondering if we are missing some basic rights that most workers take for granted.
On the plus side we would be able to bargain for things like fair salaries, 40 hour weeks, and overtime payment.
I guess a negative side would be possible corruption of unions, and the treatment of programmers who didnt join the union.
Im not decided on where I stand on the issue but I think a union would also be able to have some say on overseas outsourcing.
Sun 16 Feb | Prakash S | Correct me if I am wrong, but these 2 issues come to mind:
1.) No other field has more consultants than IT, and there is no advantage for most of these people to join/ be a part of a union.
2.) Unlike the other industries, airlines for example we do not have have people who are specialists in a particular engine, etc..
Our industry has not matured enough. And I am not so sure that people in this industry are the kind of people to join an union (we are not the greatest social animals)
Sun 16 Feb | | All other professions have some sort of professional body or union that fights for their rights, and programmers certainly should. Have a quick look at these:
http://www.washtech.org
http://www.programmersguild.org
http://www.ieeeusa.org
There are good - and different - groups in the UK too.
Sun 16 Feb | Bored Bystander | This occupation could use some protection as well as some standards enforcement. The ego of most programmers is the only thing that stands in the way.
For one big thing, the problem with younger programmers that are into the 'extreme' lifestyle mentality is that it gets employers used to hiring people with no lives willing to donate countless hours of their lives to someone else's profit-making enterprise with no strings. For the rest of us with outside commitments and who desire normal and balanced lives, the flooding of the market with cheap, sub-par quality workhours is a detriment not only to earning higher wages but to even getting a degree of grudging respect from employers, clients or managers. People in business look upon *everything* as a transaction and I can assure you that they don't respect or even appreciate someone that is willing to give away anything of value.
The thread about work hours hit a nerve with me and it has implications re: the idea of a programmer's professional trade group. The problem of programmers who impose no standards on their work life is a much more important and deeper issue than the outsourcing trend, IMO, and it's been going on for years.
As far as the Programmer's Guild goes, they have private Yahoo mailing lists that seem to be filled with nothing but repostings of news articles to each other. I've followed their progress for a couple of years and they are going no-where pretty fast, with no apparent leadership and no stated unifying goals, and the founder of the Programmer's Guild announced last summer that he was leaving the industry to go to law school. Bully for him, but it does not speak well of any movement as such...
Sun 16 Feb | Daniel Shchyokin | Don't forget that a union and association are two different things, think AMA or ABA vs. AFL/CIO. AMA/ABA is more of a lobbyinh group that promotes the general interests of lawyers/ doctors but does not involve itself in the setting of working conditions/wages for individual members/call for strikes (collective bargaining), though it does things like collect data on wages working conditions etc... to help individual members bargain for themselves.
I've always thought that the first model (AMA,ABA)would work well for prgrammers.
Sun 16 Feb | one programmer's opinion | Bored Bystander,
I agree that many programmers (especially young technologists) are easily manipulated. Many seem to be very naive about the world of business and do not realize that they are being taken advantage of.
Sun 16 Feb | Vincent Marquez | Bored bystander, I think you bring up some good points, but about young programmers willin gto work extreme hours, I will say that happens in any high paying industry. Look at 'young' doctors or lawyers. When they get into their industry, they're asked to work way more then 40 hours a week. I would guess that at competative engineering firms it is like that also. I don't think IT/software is any different.
Sun 16 Feb | Bored Bystander | Vincent:
>> Look at 'young' doctors or lawyers. When they get into their industry, they're asked to work way more then 40 hours a week. I would guess that at competative engineering firms it is like that also. I don't think IT/software is any different.
The difference is that our field has little financial upside, majorly compressed salary distributions, and a firm and clear boundary defined by most companies that separates IT people from candidacy for 'real' management.
Also, doctors and lawyers have 'practices' and defined professional reputations, and there is the concept in medicine and law that experience equates to delivery, which seems to be solidly refuted by the marketplace for our services. If you're a contractor in IT and you talk about having a 'practice' and deep experience, most clients and borks laugh at you and seem to smirk 'yeah, right, as though you were a professional'. Nope, in our field you're just a damned body no matter what you've done, and if you have experience you're assumed too old and/or overpriced....
I agree that a professional association would be a much more constructive model for programmers than a union. But I honestly don't think that most programmers are sophisticated enough to 'get it' and associate themselves with something of this calibre.
Access is for weak minded people that think the pinnacle of computing was reached with distributed compuiting on Win95.
Access offers:
No security
Poor performance
Ability to make the most fscked up data models im aginable
Vendor lockin
A dead end
Nothing that Fox pro cant
Convoluted vba
On click suck my ass
Nothing you cant find elsewhere
In short why use it? All you do is slow the rest of us down when we talk to a customer they say, well there is this guy in the department who has worked with access which I see as akin to oh, yourre a surgeon, I have a knife too.
Sat 15 Feb | | STFU
Sat 15 Feb | Joe Blandy | But why would I want to roll out SQLServer or Oracle or even MySQL if Access gets the job done and is on my client's machine already? Suppose you just want a relational storage for something small?
Why am I even bothering to feed this troll.....
Sat 15 Feb | Very Telling | Sorry if I hurt feelings of desktop developers.
No, not a relational database for everything. But access is the boy in the bubble, how many times do your desktop solutions get borked because another vb program was loaded?
On the larger scale, if MS wins desktops dev is viable. If it loses and computers become nodes as I hope then you better learn how servers work.
Sat 15 Feb | Eric Debois | (I get the feeling you are adressing this thread to someone in particular. Are you?) The only problem with access is that it is the tool of choice for people who dont understand relational modelling.
Otherwise I think its a fine choice for small databases with a limited set of users. In that situation most of your points are irrelevant.
Sat 15 Feb | Very Telling | Yes, weak minded people
Sat 15 Feb | Andrew Cherry | Hmmm. Please forgive the following comments, I admit now that I have been out on a Valentines drink with my current squeeze. But...
That last comment typifies what pains me about many debates these days. The implication is that if you don't understand relational modelling then you shouldn't be let near a database. Well. A computer scientist should understand relational modelling. But essentially most people's business is providing tools to people that are NOT computer scientists.It reminds me of the arguments that come up around Unix/Linux, where people defend having to compile your own drivers and suchlike.
Access does a very good job, and what you see as misuse because you look at it from a purist point of view, is essentially just a tool making someone's life easier. If you care about the purity of data and structure, design a tool which maintains that while still enabling your average user to use it without a 3 year degree course.
Access is a tool and nothing more.It can be used well. It can be used badly.
However, my defnition of being usable would be something like 'lets the user accomplish what they want to, without actually breaking anything else'. I think Access does quite well on that one in general (yes, I have got experience with it, and dev experience at that).
I'm sorry for feeding the trolls, going off topic, etc. I'm alsoi sorry I couldn't resist posting after too many Sapphire and Tonics. There goes any credibility I had!
Sun 16 Feb | Matthew Lock | I think the widespread use of Access actually helps computer programmers as people who try to build a system in Access quickly appreciate the difficulty of building a program.
About 75% of my work is building a new system which started of as a 'home made' Access system.
Sun 16 Feb | Stephen Jones | >>>>All you do is slow the rest of us down when we talk to a customer they say, well there is this guy in the department who has worked with access which I see as akin to 'oh, your're a surgeon, I have a knife too.'<<<<<<<<
Dear very telling,
It appears you have not been able to sell somebody a piece of your highly overpriced client server 'expertise' because they had somebody in the department who knew enough Medicine to recognize snake oil when he saw it.
>>>>>Access offers:
No security<<<<<<<<<<
I don't like the Access security model one bit, mainly because of its complexity, but the fact that you appear not to understand it doesn't mean it doesn't exist.
>>>>>>>Poor performance<<<<<<<
You're confusing two things in your post. The first is the Jet database engine, and the second is the Access application. You can use Access to design for other database engines, including MS SQL, MySQL and Oracle (indeed it is the second most used design tool for Oracle after Oracle forms).
For small databases Jet is fine (in my opinion the problems are likely to come more from locking problems with simultaneous users than others) and for small/medium databases where a lot of ad hoc queries are being done it can be faster than client server because the processing is done on the client not the server.
>>>>>>>Ability to make the most fscked up data models im aginable<<<<<<<<<<<<
Yea, and a typewriter can allow you to produce great literature, or the kind of misspelled rubbish you're spewing out here.
>>>>>>>>Vendor lockin<<<<<<<<<<<<<<
Any database you buy has this to some extent. I would have said it was easier to adapt an Access project than many other kinds of applications.
>>>>>>>>A dead end<<<<<<<<<<<<
All databases have a lifetime. To give you a couple of acronyms is called the DBLC and is often closely linked to the SDLC. Or is this, another of the PC is dead pronouncements we hear from businessmen trying to sell us something.
>>>>>>>>>Nothing that Fox pro can't<<<<<<<
I don't know anything about Fox Pro, so I can't answer, but even if your statement were true, so what?
>>>>>>>>Convoluted vba<<<<<<<<
Do you mean that VBA is convoluted per se, that the Access implementation of it is more convoluted than the Excel or Word version, or that the wizards produce convoluted VBA?
>>>>>>>On click suck my ass<<<<<<<<
I wasn't aware that this was a feature of the current version of Access. Possibly your attempts to code for it are what are producing the convoluted vba.
>>>>>>>>Nothing you can't find elsewhere<<<<<<<<<<
A pretty meaningless statement. In general the great advantage of Access is not that it slows people down, but that it enables them to be much more productive than with straight VB. Excel VBA is even faster to work with, but Excel is not intended for databases.
The fact that you can create the tables, and then produce the E-R diagram afterwards, which you seem to find so disagreeable, or threatening, is in fact an advantage.
Trolling naked, my dear friend, is no longer considered au fait in polite society. Try and find a couple of facts/fig leaves to cover your private parts.
Sun 16 Feb | Eric Debois | 'The implication is that if you don't understand relational modelling then you shouldn't be let near a database. ' /Andrew Cherry
It does ofcourse depend on the situation. With personal use, noone give a ****. As soon as we enter the professional space there are big risks with using improperly modeled DBs. The organisation may become dependant on a application that has hidden flaws. Crappy modelling usually doesnt show all that much untill the application is under some kind of pressure or is filling up with lots of data. And then it can deterioate in to total chaos in short order.
Besides, basic relational modeleing is not tremedously tricky. Most people can learn what is needed for smaller DBs in a few days. Our students get a two day intesive seminar and they usually get it right.
Sun 16 Feb | Konrad | If someone has some data they need to store and manipulate TODAY, to do their job, they are going to store it today. And they will store it with whatever tool they have to hand.
You can certainly remove Access from people's machines so that they won't be able to create messed-up, baroque data models, held in insecure files. The outcome will be, sorry, they need to store data. And they'll put it in Excel.
What will happen next?
- They will color various rows and columns differently and not provide a key
- Some of the dates and numbers will in fact be strings due to putting a space or two before them.
- They will hide columns and rows, and other people working on it won't realise it
- They'll put 'next week' in your date field rendering the data useless
- They will add cryptic comments to various cells which you will then have to work out the meaning of and adjust the data accordingly
- they will arbitrarily distribute the data between worksheets with no other key than name, and then they will will forget to update the other sheets when they alter one. They will also get the first name, last name order wrong.
In the absence of a proper system that is aligned with what they have to do (i.e. processes), people will get on and create whatever they can in order to do their job. If they haven't got a system, they'll use Access. If they haven't got Access, they'll use Excel.
Why use it? Because there's nothing else and someone has to get on with their job with whatever they've got.
Sun 16 Feb | Wayne Bloss | >>Access is for weak minded people...
Okay I'll play this game. Let's say I need an application that will run on somebody's laptop. One that they can use while on the airplane...no server in sight. I only need about 6 tables and some simple relationships to hold the data for my app (it's a media cataloging app).
Wait a sec, you're right we need SQL Server or MySQL for this, Access totally couldn't do the job.
Your consulting services must be about as useful as JPEG's to Hellen Keller.
Sun 16 Feb | Prakash S | ' JPEG's to Hellen Keller. '
which song was that from, umm .. knowing my poor memory.....
Sun 16 Feb | Prakash S | Weird AL of course:-)
http://www.thepentiums.com/lyrics.html
Sun 16 Feb | Very Telling | Still, Access is shit.
Sun 16 Feb | Prakash S | thanks for letting me know.
Sun 16 Feb | Herbert Sitz | Very Telling -- You sound like someone who's gotten into trouble with Access yourself, because you don't really understand (1) how Access really works, or (2) how to build a database application.
Access can be used like a toy database, but it most definitely is not.
I won't even get into explaining how every one of the statements you make is false. You can look at Stephen Jones post above to get a taste of that.
I will say something regarding one of them though: You say Access 'is a dead end'.
Do you have any understanding of how Access can be used as a RAD tool to create front ends for any database under the sun? By default your front end will be built to seamlessly access a Jet fileserver database. But if your application outgrows Jet, you can plug in just about any other database using ODBC and/or OLEDB/ADO.
So the way I look at it, Access is anything but a dead end. It's not difficult at all to reconfigure an Access application to use a SQL Server back end, or any other back end. At least it's not difficult if you know what you're doing; I don't think I'd recommend it as something for you to do.
And VBA might not be the greatest language in the world, but it certainly works okay if you know what you're doing. I do understand that some people have problems with keeping things neat and clean when they use it. But is that a problem with the tool? Or a problem with the user?
No, Access isn't the greatest thing since sliced bread. But it is a valuable tool for a wide variety of uses. Like almost anything else, though, it rewards users who know what they're doing, and penalizes those who don't.
Sun 16 Feb | RocketJeff | >>Nothing that Fox pro can't
From everything he's been saying (and the quote above) it seems to me that Very Telling is one of the breed of FoxPro programmers who can't believe that anyone uses anything else (including SQL Server/Oracle/DB2, because 'FoxPro is Faster').
While there are plenty of programmers who like FoxPro as a tool, there is a quasi-religious cult of FoxPro users out there. These are the people who, when Java was getting hot, stareted refering to the FoxPro runtime as the 'FoxPro Virtual Machine' since it was 'just like Java' in needing a runtime engine...
Being a 'use the appropriate tool' kind of person, I like[d] FoxPro for certain tasks, but its best days are behind it.
Hello,
When designing HTML pages, do you still try to accommodate Netscape 4.x users?
When I was launching my website some 3 years ago, Netscape 4.x still had a market share of about 10%, so I had to bite the bullet and create a separate stylesheet for Netscape (selected with JavaScript), forget about useful CSS mechanisms like inheritance, and have a significant amount of formatting information in my HTML. Im convinced that all these workarounds effectively doubled the time it took to develop the site.
I just had a look at my website statistics for January. Netscape/Mozilla users accounted for 4% of total page views. More specifically, Gecko-based browsers had 2%, while Netscape 4.x had only 1.2% of the total number of page views.
It looks to me as though its no longer necessary to design with Netscape 4.x in mind. Do you think we can finally heave a sigh of relief and enter the world of simple, elegant XHTML/CSS code?
Sat 15 Feb | GiorgioG | I just got done helping FedEx (Trade Networks division) redo their portion of the web site (http://www.ftn.fedex.com) and they required that it work in Netscape 4.70+
But I think these large corporate web sites are an exception to the rule. Most of our other clients don't care.
Sat 15 Feb | Anonymous Coward | My QA standards require:
IE 5.01 sp 2
IE 6.0 sp1
Netscape 4.79
Netscape 7.01
Opera 5.2
Opera 6.1
Mozilla 1.2.1
I usually add:
Konqueror (KDE 3.1)
Netscape 3.04
Phoenix 0.5
I wish we had a Mac so I could require:
Safari
But this is makes testing with Konqueror twice as important as Safari uses the same rendering egine (KHTML).
Sat 15 Feb | Martin Schultz | I just make sure that the HTML validates (and work in mozilla and IE). If a browser can't fissplay the HTML properly
then its the browsers problem and not mine.
Sat 15 Feb | Anonymous Coward | Valid HTML doesn't cut it.
#1) HTML is a mark-up language not a page description language. Browsers are allowed to display the same code differently.
#2) Clients love to have their sites designed by graphic artists. The artist does a mock-up in Photoshop. The client screams if so much as a single pixel is out of place in the finished site.
#3) Clients are willfully ignorant of #1.
Last project client's president/CEO used Netscape 4.73 and their VP/CIO used Opera 5.2.
Sat 15 Feb | Chi Lambda | I designed a small site for a start-up a year ago. The HTML validated.
A couple months ago a new CEO came aboard. He uses Netscape 4.7 on his laptop. He sent me an e-mail to fix the site because there were some 'problems.'
Moral: you never know who makes up that ~5% group.
Sat 15 Feb | runtime | If you add a Mac to test Safari, you should also test Mac IE because it is quite buggy and not equivalent to Windows IE.
Sat 15 Feb | Wayne Venables | Our website, www.coffeegeek.com, is designed to run in all the browsers that Anonymous Coward listed above. We send a custom (stripped-down) version of our CSS file to NS4 because otherwise the site is almost unviewable in NS4.
We, however, do not design for NS4. We design for IE and Mozilla and then we test in NS4. If it requires a small effort to get NS4 to look 'Ok' then we do it, otherwise we don't bother.
Often it's easier to fix your site to make it work in older browsers than it is to the field the complains from users who can't view the site properly.
Sat 15 Feb | Walter Rumsby | Use @import.
Design your site using structural HTML and only use CSS for presentation (margins, colours, etc). eg: http://members.optusnet.com.au/~wrumsby (my site).
Netscape 4 doesn't understand the @import rule, so if you say:
I guess you could also use a block which only includes the @import rule and preceed that with a which loads the external CSS for Netscape 4. I don't worry about Netscape 4 myself - structurally the site makes sense and renders in a sensible fashion - I don't do any extra work for Netscape 4 users, but I don't exclude them from my content.
Also, Find a Lynx viewer (Google search 'Lynx viewer') and see what the page looks like unstyled too.
Sat 15 Feb | Tomasz P. Szynalski | Chi Lambda -- I'm probably dumb, but I'd just tell the CEO to upgrade... If you were developing a desktop app, nobody would expect that it run perfectly on a P90, would they?
Anonymous Coward -- Does it take a lot of effort to make a page look 'OK' on all the browsers you've listed? Which of them require the most effort? I assume you just check if a page looks OK and don't try to make it look 'perfect' in every one of those browsers; I guess you'd have to have 12 different stylesheets to accomplish the latter.
Also, is there a way to install both MSIE 5.0 and MSIE 6.0 on the same machine? Is it worthwhile given that IE 6.0 has what I understand to be an IE 5.0 emulation mode that can be triggered with the appropriate DOCTYPE declaration?
Walter -- feeding a separate CSS file to NS4 is all right, but I've had to use a lot uglier hacks to make my site look acceptable in NS4. For example, NS4 does not understand inheritance, so you can't do:
...
and then
table.foobar td { font-size: x-small ...
You have to do:
...
td.foobar { font-size: x-small ...
You have to add a class selector to every single cell in your table. So it's not just a matter of whipping up a separate CSS file. Your HTML will look uglier if you design for NS4.
And there are other problems, such as having to put everything into tables rather than divs, having to code table widths and heights in HTML, and having to add redundant tags simply because NS4 ignores the formatting on a
, for example.
Sun 16 Feb | Of all the rotten luck... | True story: Three out of the last four people whom I tried to impress with my web-design skills were all running Netscape 4.X (one of them on an ancient Macintosh). I'm sure my portfolio sites looked rotten on those systems, especially the Mac.
This weekend I snapped. I took Friday & Monday off to visit a friend in Houston and found myself working (on my laptop) when not out and about in Houston instead of relaxing, etc. My boss hadnt noticed I requested those days off and scheduled a meeting to demo the application on Tuesday. To make a long story short, I lost it and emailed my boss telling him to reschedule the meeting. And to my surprise, he did. No issues, etc.
So since then, I refuse to work 1 minute past 5pm. I think if more people took this attitude, wed have fewer unemployed programmers and generally happier employees. Today, a programmer friend of mine goes off on a rant that his boss expects too much and that he puts in way too many 80 hour weeks.
So, Im just wondering, how many hours do you work per week? That includes learning new skills, research, etc.
Personally, I cant justify working more than 40 hours anymore, no overtime pay and Ive gotten to the point where I dont enjoy programming because just like anything else, too much of anything can be a bad thing.
Even after just 3 days of 8 hour days, I find myself in a much better mood. Oh well, just food for thought.
Fri 14 Feb | jw | I often wonder why programming has a culture where long hours are the norm. Personally, I hate it. It makes me sad to see the 40 year old guys at the office at 8:30 PM. I don't want to be like them.
Fri 14 Feb | Simon Lucy | Its called 'Promises'
Look we promised we'd get this release out, and (ok I promised), and we just have to (ok, no I didn't ask anyone first), but you agreed that you'd have this done (ok I know you had a hardware problem but they don't understand), we just have to do it.
Repeat ad nausiam.
Fri 14 Feb | tapiwa | Stop whining. If you do not want to work 80 hours a week then don't.
I am happy putting in sometimes 90+ hours (yes that includes weekends) a week. I would hate to *have* to go home after an 8 hour day just because some politician decided that it was in the public's interest.
To call for a limit to the hours to increase employment is preposterous. I mean why stop at 40 hours. Why not all work only 20 hours. That way we get even more folk employed, and we all get to spend more time with our families etc etc etc.
Long live long hours!
Fri 14 Feb | Practical geezer | Tapiwa,
You don't honestly think the 40-or-so hour work week was 'invented' to increase employment, do you?
Don't you think it would be based on practical experience with and scientific research after human productivity under specific working conditions?
Meaning that in general, people become less productive, or even counter productive after a certain period of continous work.
'In general' means that it isn't exactly the same for everyone and for all kinds of work, under all kinds of circumstances.
So why agree on a 40-hour work week? Because that at least gives you some idea of what is reasonable to expect. As opposed to not knowing anything at all and having to find out in practice. With all the consequences that come with it.
Fri 14 Feb | Astarte | Tapiwa, how long have you been working? Because I am starting to see a scary pattern emerge. People leave college and join a company where long hours are the norm. There is this culture of 'We're techies, we're hard-core, we work long hours because we're committed to getting things done'. So you learn this culture at the knees of the 'old folks' and you preach it to anyone who will listen. Adding to this is the fact that most good developers really love what they do - often they started programming as a hobby and they love the idea of turning a favourite pastime into a job.
But cut down to a few years down the line. The guys are demotivated, their health is falling apart and they start hating their jobs. But by then the culture is entrenched and they have set such a precedent that they can't walk away any more - they are now known at the company for being a 'gets things done' kinda guy and their bosses just keep loading it on. They also often don't have the skills to say no because they've never tried it before!
And then you get really sad things happen like people quit 'for no apparent reason', or go postal, or have a heart-attack. Or my absolute worst, suffer in silence.
Fri 14 Feb | Bruce Rennie |
The problem here is that organizations typically are geared so that 'rewards' are given to those who put in long hours simply for the long hours.
Example: Joe Programmer puts in an 80 hour week finishes some promised feature just at the deadline. The crowd goes wild. Joe's a hero.
Unfortunately, later, when that feature spawns 20 or 30 defect reports, no one thinks back and says 'You know, maybe Joe putting in 80 hours a week isn't worth it'.
Joe remembers the pat on the back for pulling off the miracle. He doesn't think about the extra work he's created. Hell, it's possible he doesn't even see the defects and that some other poor schmuck has had to fix them instead.
Combine this with a manager who's not really seeing what's going on and who rewards Joe with a promotion and more money and is it any wonder that Joe is going to continue pulling all-nighters?
Fri 14 Feb | sedwo | IMHO (love this disclaimer); humans have to work (or stay busy some way) to live a content life. Your work 'should be' fulfilling. If its not, then find a way out. Working long hours sometimes is a part of life. Things just have to get done (feasibly). Some people though are workaholics and they build a culture and lifestyle around work. Its more understandable if you're running a startup (lots to learn!), but even that has to wind down after time. If not, the human will burn out. Even overtime pay loses its luster after a while because people eventually start asking, 'What the heck have I done with my life?', after 'x' number of years.
Monster.ca and others love to advertise 'work=life'. And in North America it seems to be true. You live to work! The morons who decided to give human civilization on this continent only two weeks of vacation time were obviously workaholics.
There are still occasions where some long hours are required within the schedule. But ultimately, its your choice (atleast here, in Canada). I used to live at work, but realized that unless those extra hours are directly going back into your own interests (eg. own company), then all you are doing is wasting good daylight.
I now work 40.001 hours a week, and try not let work get in the way of life.
Fri 14 Feb | programmer | Tapiwa, I'm guessing you don't have a family.
Because 80 hour weeks are for people who either (a) don't have a family, or (b) don't give a shit about their families, and surely you don't fall into group (b).
But your attitude ('long live long hours') also suggests you don't understand families and how they are important to a good life.
Fri 14 Feb | Benji Smith | I work about 41 hours per week.
The purpose of work is to give me money so that I can live a fulfilling life. Of course, I also happen to enjoy it, so I do programming projects in my spare time sometimes. Or I go to the movies. Or I hang out with my kids. Or I take the time to prepare a nice meal with fresh ingredients.
If I have to work late one evening (it happens sometimes, and I don't mide), then I come in late or leave early the next day. When you get paid on salary, the value placed on your time decreases when you start to work more than 40 hours. Don't do it.
Furthermore, if you work 60 or 80 hour weeks, you're contributing to a culture of error in the IT sector. Want to know one of the reasons that programming deadlines are so impossible to reach? They are based on 8 hour days. If you say to a manager 'I can get that done in a week,' the manager adds 40 hours to the development schedule. Unfortunately, you probably meant 'I can get than done in 80 hours.' Time estimation erros like that pile up pretty quickly and ruin life for everyone else.
Fri 14 Feb | Philip Janus | 'What would you do with your life if you won a million dollars?'
Well, of course my first answer is 'two chicks', but then my second answer is that if I won the lottery, my hobby would be coding.
So that means that at work I'm being paid to do my hobby. I do not see this as a bad thing.
The other contributing factor is pride in one's work - generally when I'm working long hours, the long hours are a result of my own standards (or a demo, but that's a rant in itself). But the hours don't wear me down as 'work', because I'm usually enjoying what I'm doing, and attitude is a major contributor towards mental health (if you hate your job, it wears you down faster)
Of course, the final thing to note is that I've only worked a job that didn't pay overtime once, and I'll never do *that* again. ;-)
Philo
Fri 14 Feb | .za | 'The morons who decided to give human civilization on this continent only two weeks of vacation time were obviously workaholics.'
This (above) and the long hours is one of the reasons I decided to turn down job offers in the US.
Work to live, not the other way round !
Fri 14 Feb | Ian Stallings | I worked 80 hour+ weeks while contracting to dotcoms a few years ago and what did it get me? zippy. nadda. Never again.
I usually work about 40+ because I get paid by the hour and I like to put in about 9 a day. Anything past that and my mind wanders and I become unproductive. Plus I have a 3 hour commute each day and a daughter to watch on the weekends. Even at 40 hours I find myself only having 1-2 hours of free time each day to just sit and read or relax.
Remember this is a marathon, not a sprint race. There is no end in sight so don't burn yourself out just to buy your boss another summer home.
Fri 14 Feb | Benji Smith | Philip Janus,
I can understand your love of programming. I think that if I won the lottery, I would still do a fair amount of programming.
But you really still shouldn't work more than 60 hours in any single week, ever, unless you have ownership in the company. You also shouldn't average more than 45 to 50 hours per week over any given year.
When you work long hours for the same pay, you are lowering your value as an employee. You are saying 'not only can I deliver X in a week, I can deliver X+1 in the same time period, for the same price.' If too many people are willing to give away extra work for free, the wage statistics for the entire industry suffer.
If you really like programming, go have at 5:00 and work on personal projects. If you put in 40 hours a week at work and then another 40 hours on your own projects, and if you're even remotely innovative, you should have a product within a year or two that you can sell yourself. Having all of that extra code, that you own yourself, is a significant asset.
Do yourself, and everyone else (but more importantly yourself), a favor and retain the value of your extra hours for your own benefit.
Fri 14 Feb | Nat Ersoz | I rarely see a need to work over 40 hours per week. But I mean a solid 40, not read JoS, read slasshdot, read email, check stocks, chat about TV. I mean 40 solid hours, period. Then I'm done. I go home and at least *try* to forget about it.
Fri 14 Feb | Philip Janus | You are saying 'not only can I deliver X in a week, I can deliver X+1 in the same time period, for the same price.'
****
No, I'm paid hourly. 'Not only can I deliver X in a week, I can deliver X + 1 in the same time period, but it will cost you more.' The people you really want to rebuke are all the wage slaves that keep taking jobs that don't pay overtime.
Philo
Fri 14 Feb | Kyralessa | tapiwa,
I'm curious. Have you ever calculated your hourly income based on salary / hours worked per week?
I used to work at a bank on salary where I got the hairy eyeball whenever I dared take my hour lunch or leave after eight hours of work (which I pretty much always did). Eventually I quit because they wouldn't let me off for Thanksgiving (important family holiday).
A friend of mine, who got me the job, was a manager there, probably making twice as much as me, but working as long as 18 hour days in his department. In return for his dedication, he got fired over a departmental irregularity that wasn't really his fault, and he's been looking for a job now since August.
I don't know about him, but I sure learned a lesson from these circumstances. In my new job, I make less, but work for a university where I get 18 hours of no-strings-attached free tuition a year, all of which I use; add in the value of that, and I make more. And I'm hourly.
And I'm bored stiff, but that's another story.
Fri 14 Feb | Joe Grossberg | Simon:
So true!
Here's a very common dialogue with our CEO (30-something people at our web dev./web software firm, so she's still involved in such things)
Boss: 'How long is this going to take you?'
Programmer: 'Barring any unforseen issues, I'd estimate a week.'
Boss: 'No, that's not good enough. Guys, we NEED to get this done by tomorrow.'
Programmer (to self): 'Oh, well since you put it that way, I'll just bend the laws of time and space!'
To her credit, she's getting better about it -- due in no small part to the fact we've had 70% turnover in the two years I've been here (some programmers, some not).
Joe Grossberg (who worked 12 hours yesterday because our team is spread so thin)
http://www.joegrossberg.com
Fri 14 Feb | flamebait sr. | I work 40-50 hours / week. I generally try to put 8 of my best hours in per day. This means that 8 hours of me actively coding, working on problems, etc. Time I spent towards lunch and chatting and phone calls and surfing the 'net doesn't count towards this.
I've met some mutants who manage to keep concentration and be able to work more than 8 hours in a row and not break everything. Those people are rare and special. Usually, the rest of the time, you either write code that's quite buggy, or you are working 8 hours and goofing for 4 hours and calling that a 12 hour work day.
Coding in 12 hour days is like playing guitar whilst smoking pot. You think that you are in an awesome guitar groove, but the stone-cold-sober person who's listening is probably thinking that he's heard better music from a 4 year old.
It's a viscous cycle. The boss expects you to work 12 hours, so you measure your effort so that you don't burn out in a week. You get used to that, so the idea of working a shorter day doesn't occur to you.
But really, I think most people would rather surf the web and play games from their comfortable chair in comfortable clothes, with the dog napping on your toes. They'd rather spend quality with their friends and family instead of chatting with co-workers.
Fri 14 Feb | Nat Ersoz | 'Coding in 12 hour days is like playing guitar whilst smoking pot...'
flamebait (the XXII), That paragraph should be made into a motivational poster or trophy or something.
That's the best synopsis of what a work day should and should not be I've ever seen.
Fri 14 Feb | Tj | My view is this: There are a very rare few companies where working overtime makes any difference at all. For the rest, many waste your time so that you're working to maintain average productivity, except that there's a cost in resentment and burnout.
Maybe there are so many answers because companies differ wildly in this regard.
I'd say one big factor is the amount you can talk with others interestingly. And also, how gratification occurs.
Fri 14 Feb | Tj | Oh yeah, and individual variability.
Fri 14 Feb | Bored Bystander | (this is not directed at the poster or any of the respondents, this is simply a rant.)
Ah, the idealism of the techie working on his bosses' projects... slaving away 60+ hours per week for glory, for nothing in writing, for pipe dreams and promises.
Companies work techies into the ground because they can get away with it, because in turn many techies (and presumably many 'bright' people) are convinced that there is honor in killing yourself to make someone else rich.
It's always amazed me how brilliant 130+IQ types that can rip out 10s of thousands of lines of C++ can be such completely gullible and naive simps when it comes to understanding that they are being exploited. It's as though there is a law of nature at work that says something like 'academically brilliant but must be utterly clueless and retarded about craven exploitation.' It's no wonder that heahunters and borks (contracting brokers) consider us nitwits and dick with us mercilessly.
I think it's a sick system that is supported both by the greed and dishonesty of business culture as well as the pencil necked geek idealism of the fool that thinks that coding is the entire universe, who is 'paid to play' in his mind. Try to sustain that for even 5 years and see how many all nighters you pull. The main problem is - companies and bosses conveniently *forget* your accomplishments. Business is ALL about 'what did you do for me lately?' Younger techies let themselves get whipped into a fervor for some new crap that their company is interested in, they bleed themselves white for months, and often wind up disregarded or even fired.
This is why I'm a contractor. Businesses lie, and deferred rewards not supported by written contracts are for *fools*.
I'll take my rewards on the tabletop in real time, thankyouverymuch. Glory is for the naive.
Fri 14 Feb | Bored Bystander | Oh, one more thing. This was not a socialistic, business hating rant. Business is entitled to do whatever it wants with consenting adults. If those consenting adults en masse think that it's a good idea to act as slave labor, it's really nobody's business to 'reform' either party.
Normally, most classes of workers have more common sense than to live for the job. Not so for programmers.
My point is that programmers and other techies are in a special class of paraprofessional that is simultaneously extremely vulnerable to unfair labor practices as well as thinking itself a sort of elite godhood of meritocracy.
Fri 14 Feb | this and that | I'd only work 80 hours/week if it's for a company I own or I have tons of stock options. Otherwise, it's just a day job.
Fri 14 Feb | Andrew Hurst | I'm salaried and I work 40 hours a week. And if I work 45 hours one week, I'm allowed to work 35 the next. It works similar if I work 12 hours one day (on my own choice), I can work 4 the next, or however I want to account for it. 'comp time' is what they call it. Its nice that where I work they're really attentive to whats healthy and productive, and they don't work you into the ground. fyi, I work the US gov't.
A related anecdote: I was talking with a client the other day about a very large application port we're working on (4D database and client app ported to Oracle & oracle forms and reports). She asked when I'd be finished (its almost done, kinda), so I said 'its too big with too many variables to give you a reliable estimate, but I'll keep you updated weekly.' She said 'OK' and that was that.
Fri 14 Feb | Kyralessa | 'It's a viscous cycle.'
Quite so. Thick, gummy, and sticky, and hard to work your way out of. :)
Fri 14 Feb | robert | 'I often wonder why programming has a culture where long hours are the norm. Personally, I hate it. It makes me sad to see the 40 year old guys at the office at 8:30 PM. I don't want to be like them. '
If you were married to their wives, you'd probably change your mind. The work-all-day-and-nighters are doing that because it's the best offer they've got, usually.
Fri 14 Feb | Anonymous Coward | An enormous number of studies have been done to determine how much work it is possible to extract from a human being.
The US Navy has been especially persistent.
Bottom line: 56 hours per week sustained. Attempting to get more is very counterproductive.
Even in times of crisis one can't get much over 60, and maintaining that level for more than a week or two causes effective productivity to be less than 40 hour week.
Fri 14 Feb | Contrary Mary | The 'if you really loved programming, you wouldn't want to work less than 80 hours a week' logic is an evil lie used to keep sane people out of computing. It's like saying 'if you really loved me, it wouldn't matter that I'm sleeping with your best friend.'
Unless your definitition of love doesn't include the word 'healthy.'
Fri 14 Feb | Prakash S | 'if you really loved me, it wouldn't matter that I'm sleeping with your best friend.'
-gotta agree with this - hilarious:-)
Fri 14 Feb | raindog | Hmm... What are you guys talking about?
If you work for McDonalds, the question of hours per week is easy. You flip burgers - you work. You stop - you don't work. Simple.
But for programming as something that has to do with thinking (well, sometimes), the measure of 'hours per week' is not that meaningful.
When you say you work _exactly_ 40 hours per week, does it mean that you stay exactly 40 hours at your office and never:
- look at news web-sites
- never read JoS, usebet, slashdot, etc. at work
- never spend any time on other not directly-work-related activities?
Or does it mean that you include reading JoS, interesting programming books, etc. in these 40 hours, justifiying it by the fact that you learn new things, that can be related to your work? But then, do you read anything work-related from home? In this case, do you include these hours to the beforementioned 40 hours/week?
I'm curious because I have no idea how many hours per week I've been working, typically. Depending on the definition, it could be anything from 10 to 100 hours per week.
Fri 14 Feb | Brent P. Newhall | I work 40 hours a week. I'm a technical writer, though, so that's not precisely the same as programming. But I certainly have deadline stress ('The developers just finished this feature! We're going to ship it tonight. Can you write the documentation by then?').
That number includes breaks and relaxation at work (reading websites, eating a quick lunch, etc.).
I only work more than 40 hours a week when there's a critical deadline. I make sure to schedule *plenty* of time in my estimates, so that crunch times are rare. (Note that this is not needless padding; it's recognition that things *will* go wrong, and providing adequate time to deal with it.)
Fri 14 Feb | Kyralessa | raindog: Good point. I can think of a few good tests for whether something counts as work:
Am I spending this time the way I want?
Are they paying me to do it?
Would I do it for free?
Analogies might help; if I lead a bicycle tour, it's a safe bet I enjoy cycling. But leading a tour group is probably not the first way I'd spend my time all day (more likely I'd ride solo), and I wouldn't lead a group for free. So it's work.
If I'm studying a new technology at the office with the boss's approval, or because it's to be used specifically on a work project, then it's work. If I'm doing it because I think I might use it later on the job, but then I might not, then I doubt it's work. Probably one good way to ask is: Who gets more benefit out of me learning this, me or the company?
Oh, and if it bores the hell out of me like my job does these days, it's definitely work.
Fri 14 Feb | Tim M. | Anonymous Coward (or anyone else):
Those Navy studies sound interesting. Could you point me to an origional source? I'm interested in research in this area - the anecdotal stuff here is great, but I'd love to read some 'real' studies.
Fri 14 Feb | Bella | > So since then, I refuse to work 1 minute past 5pm.
This attitude is why firms opt to hire 25 year olds and/or outsource. Of course, it then becomes 'age discrimination.' Not 'work ethic' discrimination.
Fri 14 Feb | Bella | > It's always amazed me how brilliant 130+IQ types that can rip out 10s of thousands of lines of C++ can be such completely gullible and naive simps when it comes to understanding that they are being exploited.
Who's exploiting whom? Who made you king to decide ? No is forced to work w/ a gun to their head. They are there by their own volition, and its your OPINION that they're being exploited. Get a clue.
Fri 14 Feb | Jeff Hultquist | Back in the good old days of the dot-com era, the local
newspaper of the Silicon Valley would frequently run the
same basic fluff piece about those crazy hardworking kids
in the next-big-thing startup.
And without fail, each of these articles would mention
the 20-hour work days, and every single article would
be accompanied by a picture of those same hardworking
troopers playing foosball at midnight.
In my experience, sixty hours weeks at most places
simply means 'nothing better to do, and no where else
to go'.
Fri 14 Feb | GiorgioG | Bella writes:
Who's exploiting whom? Who made you king to decide ? No is forced to work w/ a gun to their head. They are there by their own volition, and its your OPINION that they're being exploited. Get a clue.
----
It's an accepted norm. And personally, I can't see myself doing that in 5 years, let alone next week. My lifestyle wouldn't change all that much if I were making $10/hr doing something much less stressful. But that isn't the case for probably a good deal of you (seems like there's an abundance of really smart & experienced people on this board.) I don't have kids, family, blah blah. Others do and that's why they can't say 'screw it' and go work at some lowly job for much less $.
Don't get me wrong, I enjoy the work, but it should not be my primary mission to make my boss extra money on my time. My contract says 40 hour work weeks. Does yours? If so, why are you working on your time? Maybe people don't look at it this way.
In any case, it's more about fighting myself into ignoring imaginary deadlines (they all are imaginary) and enjoying the work at my own pace, on 'their' time - because hey, in the end, it's just a job.
Sat 15 Feb | Prakash S | Giorgio,
From all your previous posts I can guess you are pretty smart guy. Why the hell do you want to slave away in a cubicle.
If you are getting paid by the hour, don't work for more than 40 hours, and absolutely no work on weekends.
If you have not yet read 'The 7 habits of highly successful people', go read it now.
Cheers!
Sat 15 Feb | Bella | > She asked when I'd be finished (its almost done, kinda), so I said 'its too big with too many variables to give you a reliable estimate, but I'll keep you updated weekly.' She said 'OK' and that was that.
Are you bragging about bad project management ?
Sat 15 Feb | GiorgioG | Prakash wrote:
<<
From all your previous posts I can guess you are pretty smart guy. Why the hell do you want to slave away in a cubicle.
>>
Not sure if I'm all that smart, but thanks for the complement. I don't want to slave away in a cubicle. In fact I slave away in my home office and sometimes in bed, which is why it's hard to get away from work. Boss calls at 5:30pm, wants this, wants that. Ok, it's not everyday and it's not usually a big deal, but still.
<<
If you are getting paid by the hour, don't work for more than 40 hours, and absolutely no work on weekends.
>>
I'm salaried and at the low range of the pay-scale at that. but mostly the issue is there's no separation of working in an office vs. working at home. Granted, it's nice, but I have other issues with it (I feel like a hermit, etc.)
I think I just might need a change (shameless plug - my resume is at http://www.galantecorp.com)
<<
If you have not yet read 'The 7 habits of highly successful people', go read it now.
>>
Bought it a couple of weeks ago. Also reading 'What should I do with my life' by Po Bronson. Pretty decent so far.
Sat 15 Feb | GiorgioG | <<
>She asked when I'd be finished (its almost done, kinda), so I said 'its too big with too many variables to give you a reliable estimate, but I'll keep you updated weekly.' She said 'OK' and that was that.
Bella wrote:
Are you bragging about bad project management ?
>>
If the project has loosely-defined requirements, many change requests, or the developers are delving into new territory, there's no way to guestimate the right completion date unless you're going to pull it out of a magic hat. Usually these are hourly projects (at least at my company.)
<<
GiorgioG wrote:
So since then, I refuse to work 1 minute past 5pm.
Bella wrote:
>This attitude is why firms opt to hire 25 year olds and/or outsource. Of course, it then becomes 'age discrimination.' Not 'work ethic' discrimination.
Bella, just an observation - you seem to jump to conclusions fairly often. Relax.
>>
I am 25 years old ;-)
Sat 15 Feb | Neil E | I've quite enjoyed this thread, it's nice to see everyone's getting away from the horrible must-work-more attitude of a couple of years ago and realising social life, family etc is also important. Maybe it's because of all those stock option promises turned out to be worthless.
The thing is though, the person who works extra hours for *no more money* is spoiling it for everyone else, both in the workplace and in the marketplace. Put it this way, if I complete a piece of work in 10 hours and charge the client for 20 that is obviously fraudulent (and probably illegal under the accounting rules, I don't know).
But if I promise them 10 hours and charge 10 while actually taking 20, that's seen as acceptable. But you're still cooking the books, how can you know how to be competitive if you're not doing your accounts properly? It's just not a sustainable way of doing work.
I guess this could be one of the many reasons all those new media companies struggles and failed once they got big enough to take on more staff.
Sat 15 Feb | tapiwa | Jeez, I did not think I would stir this much emotion.
First, a disclaimer. IANAC (i am not a coder). I work with figures. I do however end up doing some database and web stuff in my department. (because it is quicker than waiting for helpdesk to sort it out). Maybe it would be different if I was a coder, but I find I can work *many* hours a week, and produce work of the same standard as I do when I work a 40 or 35 hour week.
Secondly. Maybe my attitude is a result of my upbringing. As a kid, I worked for my parents. They ran their own business. The attitude of doing what it takes to get the job certainly prevailed in our household. Secondly, because I was the bosses son, I could not really be seen to be slacking ... ...
Sat 15 Feb | tapiwa | <>
I am always suspicious of studies on human behaviour and what the optimum conditions for perfect workmanship are.
Why does most of the world have a five day working week? Even God is supposed to have done six days and then rested. (not sure what he did after that though, so he might still be on a long weekend.)
Is 35 hours the law in France because some politicians thought it would be a good thing(tm) or is it because of some scientific research.
Why, in a lot of countries, is the retirement age set at 65 for men and 60 for women. I am sure that there is some research to support that one too.
In fact, why are the halves in a soccer game 45 min long? Bet you some scientist decided that that was the optimum time to have players on the pitch to avoid overexertion :)
One thing that comes to mind is an album by the Doobie Brothers .... What were once vices are now habits. I would add what were once habits, are now laws! (EU directives on working hours anyone?)
Sat 15 Feb | tapiwa | <>
I have been working for a long time. I am 26, but I started working for my parents when I was pre teen.
<>
Not really. Family lives in another country. Having said that though, I do have a solid social life.
<>
Hear Hear!!
<>
Your assumption here is that you can seperate the two. I get on really well with the folk I work with. My mood or attitude does not change when I am at work. If I am having fun, does the fact that I am having it at work make it any less than if I was with my family? Personally, I don't think so.
<>
The problem with the rat race, sprint or marathon, is that even if you win, you are still a rat!:)
Sat 15 Feb | tapiwa | <>
I have, and it does not change a thing. Still happy.
<< many techies ... are convinced that there is honor in killing yourself to make someone else rich.>>
My motivations for working long hours are personal, and I am happy if other people are happy to stick to the 40 on the contract, but don't force me to go home after X number of hours.
<>
I totally agree with raindog on this one. This is one of my problems with the idea of the 9-5. There are a few jobs that require your physical presence in the office from 9-5.
If I agree to do a job, by a certain date, then the onus is on me to deliver. If I get the figures wrong and end up working muchos hours, and I don't like it, then next time I will think twice before saying yes.
<<'nothing better to do, and no where else to go'. >>
I agree with Jeff on this too. Sometimes I get to the end of the day. Decide I have nothing else/better to do, and continue working! I need a life .. .. (anyone know any single, good looking, intelligent and interesting females in London?)
Sat 15 Feb | tapiwa | <>
Yo Neil, let's put it this way, every pub that is running a happy hour, aka buy-one get-one-free is spoiling it for all the other bars:)
Why is there a natural tendency to not view labour as a commodity which must be traded at the market value.
It's called competition. If I know that there is a shortage of jobs, or rather a glut of programmers, I can try and convince a potential employer to get one and a half programmers for the price of one (long hours for same pay). If I can convince him that I can deliver, then he will more likely employ me instead of someone whom (all other things being equal) will walk out the door at 17h01.
Sat 15 Feb | GiorgioG | Tapiwa wrote:
<<
First, a disclaimer. IANAC (i am not a coder). I work with figures.
>>
Are you an accountant/finance person? Do you make money for your company? The reason I ask this is because most developers I know, with exception to ones that work in large enterprises, produce a product that will be sold, be it as a retail package or a consulting type product. So in effect, we are directly producing income. And most of us do not get any extra compensation for shipping the product 1 day, 1 week or 1 month early so Inetrode's stock can go up 0.25%
<<
Secondly. Maybe my attitude is a result of my upbringing.
>>
I think everyone's attitude is a result of their upbringing ;-)
My father's worked 70+ hours for most of his life in a factory. But he's hourly and makes more an hour than I do. Would I find that to be an acceptable lifestyle? No. Even if I were being paid hourly.
<<
The attitude of doing what it takes to get the job certainly prevailed in our household.
>>
At the end of your life, what do you want people to remember about you? That you were a hard worker? Or that you lived life to the fullest? If work 'completes you', great - I suspect this is not the case for the other 99% of the people out there.
Sat 15 Feb | tapiwa | Quick response before I dash out.
I believe in working hard and playing hard. I don't think that there is a single person in our offices that can outparty me. Work life balance.
More importantly though, I like to live life day by day. I want to go to bed every night, and think 'It's been a good day'. This might mean having been super productive. It might mean having been to a great party. It might mean .. ..
I figure if I have a great day everyday of my life, then its been a good life!
Epitaph:: Sleeping, not dead.
Sat 15 Feb | Phibian | 'Why, in a lot of countries, is the retirement age set at 65 for men and 60 for women. I am sure that there is some research to support that one too.'
Actually, according to my sociology prof from 'Sociology and Work' (several years ago, but I could *probably* dig up the reference if I needed to), the retirement age was first set in Europe (Germany?). 65 was chosen based on then-current life span ranges. At the time, a relatively small percentage of people would live long enough to collect social security upon retirement - meaning that the cost of implementing a retirement age was minimal, although it looked good. Other countries gradually adopted the same measure. However, as our lifespans increased, the retirement age was not adjusted.
Most sociology of work and organizational behaviour courses at the university level these days also mention that the 'you should retire at 65' mentality is relatively new, and not at all based on research on mental capacities / ability to work of people over 65.
Sat 15 Feb | Dennis Atkins | tapiwa,
In regards to your question, there are plenty of good looking young single women living in your neighborhood in London who are looking for a good looking fellow like yourself.
You will have to work less than the 80 hours a week you say you work to meet them though...
It's all part of the life decisions we make. Where do you invest your time? If you love programming, then work for the man 40 hours and work on your own stunning new product on your own time during another 40 hours and become a billionaire. If you love women, work 40 hours for the man and spend your free time travelling about with your beautiful girlfriend during another 40 hours. But if you try to do all three, you are up to trying to sustain 120 hours a week.
Sun 16 Feb | Neil E | 'It's called competition. If I know that there is a shortage of jobs, or rather a glut of programmers, I can try and convince a potential employer to get one and a half programmers for the price of one (long hours for same pay).'
Or to put it another way, 'I'm all right, jack, I've got a job. I may be getting paid 33% less than I could be, but I've got a job. Aren't I clever. God bless the market.'
Lets hope you can find food and lodging for 33% less, too - no doubt the market will satisfy that need, too?
Hell, why not just go the whole hog and work for free?
Several recent posts on here have pointed to management as possibly the biggest deterrent to success on many software projects. Any theories why its such a problem? Ive seen a lot of symptoms advertised here, as well as a few pat answers like Managers are stoopid, but nothing that points the way to a solution. What needs to change?
Thu 13 Feb | Prakash S | Management should learn about Software development or better yet, management should be made of people with software experience. Of course this is not fool proof.
Fri 14 Feb | Daniel Shchyokin | Expanding on prakash's point
It is hard to aquire the skills needed to be a good project managers. You need project managers that can discuss/plan a project intelligently with programmers/QA, and understand when something is legitimate and when they are being buffaloed, and understand the business, and have enough spine to stand up to/effectively deal with sales/vps, and still be flexible/energetic enough to change plans, co-ordinate/problem solve for/with different groups (i.e. I know we told you to implement featureX first, but teamA is late with feature Y, so hold off on featureX and do featureZ type stuff).
It is a hard job and ALL these traits are rare in one person and I have only worked with one guy who can do all this, Tim, if you are reading this, I miss you.
Fri 14 Feb | Philip Janus | Another option for a good manager - someone who understands they don't know software and knows to keep out of the way of the developers.
Instead, they act as a referee - general guidance, deconfliction, keeping upper management off their backs, etc...
Philo
Fri 14 Feb | PC | It's easy to observe the managers making mistakes and I don't know if I would be any better. I've seen some really bad management where I work, but I guess it could be worse. One problem might be that the managers all come from technical backgrounds. The interpersonal skills needed for managers are hardly related to their technical education and experience.
On the other hand you don't want a manager with great interpersonal skills who doesn't understand technology. And how many people are good at both?
I imagine a great manager would be similar to a great parent -- they know how to let people develop their natural talents. It must be wonderful to work for someone like that. A great manager must have faith in human nature, tolerance of individual differences, and also has to expect a lot from people. Don't tolerate laziness, but don't think people will work harder if they're afraid of you. People will work harder if their efforts are appreciated, if they're made to feel special and important. How many managers understand that?
I guess the essential ingredient is wisdom, and you can't expect the average manager to have much of that.
Fri 14 Feb | Daniel Shchyokin | 1. 'Instead, they act as a referee - general guidance, deconfliction'
This does not work:
How can you referee when you don't understand the issue. granted you don't have to be a great programmer, but some understanding of software development is required (and it can't be just a general understanding).
I had a project manager at my previous employer who came into my cube and started asking me about the project.
PHPM: Are you done with X
ME: No, I am getting a class cast exception when I make this function call, and I do not know why. I will be done as soon as I figure this out.
PHPM (who claimed 8 years of programming experience by the way): What is a function call?
The problem with this is that to her any project description does not sound like:
'We need to define the Schema, Map A Set Of Objects To THe Schema, Design The UI, Code, Test Debug'
To Her It sounds Like:
'Blah Blah Blah I will be done on the 28th of June', She cant referee, she cant make intelligent decisions about coordination, she cant intelligently adjust the schedule, she is useless.
2.'keeping upper management off their backs',
how can this happen when she does not know what is going on- lets say I finished feature X, but not Y does she know which i more important, does she know which one should have taken longer, suppose feature X 'should' take 2 weeks and feature Y 'should' take one day, suppose I do feature Y, and play doom for 9 days how will she know I've been goofing off or am incompetant unless she has enough programming knowledge to know the difference.
More important when she deals with management on such issues, lets say product needs to ship tommorrow come hell or high water, will she know to tell UMgmt. feature X should be cut and not feature Y? Will she know when QA hands Her A Test Schedule If its realistic, or will she bow to Sales and say OK 2 days of testing sounds ok.
A project manager NEEDS hands on programming experience, otherwise they cannot deal with techies, and they are not capable of intelligently making the decisions that need to be made on ALL software projects.
Joel: correct me If I am wrong, but isn't one of microsofts criteria for managers: NEVER hire a manager that is incapable of doing there subbordinates jobs.
Fri 14 Feb | Slava | >>Another option for a good manager - someone who understands they don't know software and knows to keep out of the way of the developers.
Instead, they act as a referee - general guidance, deconfliction, keeping upper management off their backs, etc...<<
Also, economic planning, reports, etc.
That's my description:) MBA degree instead of Computer science, general management skills instead of programming ones.
I had spent about 40% of my time 'keeping upper management off' my developers' and my client's backs, really hard work...still can't understand why tops always think that they know how to program Java better than Java developers do and how to do business - better then their clients ...
Fri 14 Feb | Slava | Daniel, it looks like you had a bad manager, that's all.
Good manager doesn`t do his subordinates work, he manages his subordinates well to let them do their work.
His work is to find an expert and let this expert solve the problem.
Another example, not from programming field: I worked in bank when I was young, and our president didn`t have a clue about security guards work, about cashiers work, about ATM supporting personnel work, etc - how did he managed to be a bank's president?
And where are you going to find a guy that can count money, work with currency detector, carry a gun to protect bank's property, fix a broken ATM, work with credits and loans, etc, etc - to fit a position of bank's president that knows how to do work of his subordinates?
Buy a book about management principles and read it, you'll understand what I`m talking about.
Fri 14 Feb | Vincent Marquez | As I learn more about management, I've been thinking that programming is a lot like a team sport. You may have some good players, or a good coach, but until everyone learns how to work together and figure things out, the process will always be lacking. The most successful projects i've worked on seemed to come after a few rough starts, even when really good people are involved.
Fri 14 Feb | | Daniel said it right when he said that managers need backbone to stand up to the customers' pressure. Like him I've only had one who has had it (mind you, he was just as mean to us if we were slacking, so it cuts both ways :-)
I don't think (s)he needs to be a developer himself though, he just needs to be able to smell bs from far enough away and be able to take the advice of those who do know.
Fri 14 Feb | Canuck |
As I learn more about management, I've been thinking that programming is a lot like a team sport. You may have some good players, or a good coach, but until everyone learns how to work together and figure things out, the process will always be lacking.
I really couldn't agree more.
I like this analogy because good teams have great leaders. And all great coaches have systems that promote winning. In order to win with the system however, you need players with talent that buy into the process.
Its the same with a technology team:
Do you have a good leader?
Does he/she have a good system?
Do you have talented professionals?
Does everyone buy into the system?
Unfortunately, I have never been on a 'team' where I could have answered 'yes' to all of these questions.
Fri 14 Feb | Please, please don't ever quit! | Daniel wrote:
'A project manager NEEDS hands on programming experience, otherwise they cannot deal with techies, and they are not capable of intelligently making the decisions that need to be made on ALL software projects.'
I would have been inclined to agree with you on, save for my current manager, of the last two years.
He is non-tech, in every sense of the word. Yet, he has delivered more products on time, on budget and within scope than anyone I have ever worked with before. His last project had a $2.5 million budget with a staff of 10.
How does he do it?
1. He makes it his job to allow us to do ours
2. Testing is his first priority
3. He trusts us
4. Tremendous amount of common sense
5. He plans, but with our estimates
Fri 14 Feb | Philip Janus | 'Joel: correct me If I am wrong, but isn't one of microsofts criteria for managers: NEVER hire a manager that is incapable of doing there subbordinates jobs.'
I have heard from a few successful executives that there's a go/no-go point in the 'small company growth curve.' Somewhere around the 100 employee/$50M point companies reach a critical mass. Whether they continue to grow, implode, or stagnate is based on a fairly simple metric - can the founders make the shift from small company to large company mentality? And one key indicator - when middle management becomes a necessity, do they hire technicians or leaders?
Technicians: Fail
Leaders: Prosper
Middle management should not be dealing with how the programmers do their jobs - they should simply be coordinating the job getting done. If the programmers need an ombudsman to deal with management then you get the most senior developer to do that job.
Here's a hint - the entire military runs this way. Officers don't know how to service tanks or launch missiles. They are there to lead.
Finally, the best boss I've ever had (out of a cast of dozens) is also the least technical boss I've ever had. He coordinates and prioritizes, but how things happen is completely up to me.
Philo
Fri 14 Feb | Daniel Shchyokin | Phillip Wrote:
<<
'I have heard from a few successful executives that there's a go/no-go point in the 'small company growth curve.' Somewhere around the 100 employee/$50M point companies reach a critical mass. Whether they continue to grow, implode, or stagnate is based on a fairly simple metric - can the founders make the shift from small company to large company mentality? And one key indicator - when middle management becomes a necessity, do they hire technicians or leaders?'
Technicians: Fail
Leaders: Prosper
>>
I am not saying you need one or the other, I am saying you need both. And 'Leaders prosper' is a less than scientifically accurate statment, i've seen plenty of 'leaders with no technical skills' fail miserably, just as technicians.
And, as far as me having a bad manager, my point is I've seen lots of bad managers which were either 'Technicians/Leaders/Neither' and you need both qualities, and they are rare, and thats why most software projects fall behind
As far as Slava pointing out that the manager delivers projects on time because he 'trusts' his developers, then he is lucky not good, because lets say he had to build a team from scratch, if he didn't know how to program (and I am not saying godlike programming skills, but at least some basics)how could he hire good programmers.
As Far as the Branch Manager Example: yes he doesn't know security guard jobs, janitors jobs, maintenance jobs etc... but you better believe they wouldn't hire a branch manager who didn't know: financial accounting, auditing, govt. regulations, loan under writing,how to use the tellers software etc ... Mind you he doesn't need 50 years of expereince as a teller, or be a master at any of them, but he does need to know them.
Fri 14 Feb | Bored Bystander | Manager all suck. It's the fault of business culture.
The biggest problem I see with software management is the same problem with ALL management. It's the business culture of putting people whose job is not to 'do' up on a pedestal and it's the self infatuation of so called managers who only see the power trip they're on.
In my opinion, a manager should be a referee, a prioritizer, and a facilitator. In practice, most managers think that their only proper role is to 'lead' by force, and this usually degenerates into nothing but coercing people under them to do things that the manager can't understand or comprehend.
Whenever I've had a resource problem or needed something in terms of management support, managers have been the absolute last people I'd elect to ask for a decision or support.
Leadership is most properly exercized by example. Most managers confuse leadership with an authoritarian mentality and glorification of themselves.
Lastly, management generally attracts the wrong candidates. People who gravitate to management and are accepted in that culture tend to have narcissistic personalities that should *not* be entrusted with leading anyone.
Fri 14 Feb | Matt H. |
If you like this thread, you'd probably get a kick outta my blog:
http://www.csis.gvsu.edu/~heusserm
heh.
Fri 14 Feb | confused coder | One problem I see almost universally in the practice of management, and elsewhere as well, is people actively ignoring uncertainty and dynamism in the world. Instead of acknowledging it and managing it, they ignore it. What's more, I don't know of any more reliable way to send a manager into a panic than to raise the issue to awareness. It's actually kind of comical, unless you happen to be unfortunate enough to be impacted by this behavior.
For example, on a project a while back the manager wanted our first task to be to put together a project schedule. This of course seems reasonable. The thing is that once the schedule was developed, any deviation was looked on as mortal sin. It got so that the primary goal of the project seemed to be making all the plan's predictions come true, rather than producing a quality product in a reasonable amount of time at a reasonable cost.
My theory on what happened in this instance, and in so many others, is that the manager wanted to take a snapshot of the world at project inception, build a model plan to achieve his goal, and then hold the world constant while we followed the model. How naive is that? Instead of working to have the plan meet the goals of the product, we wound up working to make the product meet the goals of the plan. Needless to say that the outcome of that effort was dismal, at best.
I don't understand what motivates this kind of behavior. It's reasonable for the manager to want an accurate assessment of the situation as early as possible, so I understand why they tend to use early estimates as promises. What I don't understand is why it has to be a scalar value. Why not a range? A range will always be more accurate than a point and it carries a great deal more information than a point. A range can reliably be used as a promise very early in the project, but points cannot.
They do this over and over even though they know it's going to hurt them, the product, and the team. What motivates this self destructive behavior? What kinds of metrics are managers usually evaluated against? Maybe that would explain it.
And why is (manageable) uncertainty so scary? There are good tools and techniques available for dealing with it, it's not too hard to understand, and properly managing it is a great way to push up quality while pushing down schedule and cost. Why are they afraid to update their plans when new information becomes available, both good and bad? Why do they treat models as if they were a high fidelity representation of reality, instead of a useful abstraction that simply allows them to focus?
I'll probably never be able to get on well with management because I really have a hard time getting inside their heads. I understand the business pretty well, I think, and so much of what I see management seems contrary to what I believe the goals of the business are - almost irrational at times. It's scary.
Fri 14 Feb | Brent P. Newhall | I've seen that 'deviation from the schedule' fear myself, and I think it's common and incredibly destructive.
I believe that this often comes from a human tendency to want fixed dates. Contracts often specify that the product must be delivered by a particular date. Customers want firm dates.
There's nothing wrong with this, as long as everyone understands that these dates are estimates. When management is unwilling to return to the customer and say 'Our server exploded in flaming chunks, which set us back three weeks,' then you have trouble.
On the gripping hand, it is *hard* to go back to a customer and say that you've screwed up. I don't envy management when they have to admit that something's going to be late.
IMHO, it's a character issue. Management should be willing to trust its employees and be honest with its customer(s) about actual progress.
How many honest people -- not just managers, but people -- do you know?
Sat 15 Feb | Must be a manager | > Here's a hint - the entire military runs this way. Officers don't know how to service tanks or launch missiles. They are there to lead.
This is not true, and it's worth looking at because military organisations are extremely effective and good at what they do. In professional armies, officers most certainly do know how to do the main jobs of their subordinates. They are forced to undergo the same tough basic training.
Even pilots of the most advanced fighters are required to to be able to refuel them and perform basic maintenance without help.
Getting back to software, the whole point is that people without understanding of software will not be good managers in softwre environments.
Sat 15 Feb | Daniel Shchyokin | <>
The commandant of the marines corps still has to pass his marksmanship test every year or he retires.
According to Tom Clancy the commander of an aircraft carrier can ONLY be a former fighter pilot, not a surface ship commander
Sun 16 Feb | management candidate | 'Getting back to software, the whole point is that people without understanding of software will not be good managers in softwre environments. '
This is an interesting point, maybe some of you could comment further on it. The teams I've worked with typically have two leadership positions. There is a technical lead who is responsible for planning and executing the software development. This person has to be very knowledgeable about all aspects of software design and implementation and typically acts as the team's 'guru' of sorts.
The other position is the project manager. His job entails managing the process by which the team produces the product. This fellow isn't always a 'software guy'- he relies heavily on the tech lead for summary information about that part of the product. (He also relies on leaders responsible for other product components like documentation, media, and so forth). The main inward facing responsibilities of this guy are to manage the schedule and budget, make sure that everyone is coordinated, manage project risk, and so forth. In other words, this guy manages.
The trick here is that the interface between the manager and the tech lead has to be effective. The manager has to keep the tech lead posted on the state of the business so that the tech lead can assess the impact of changes to the product. So, for example, if priorities change, the tech lead can adjust his plans to accomodate them.
Similarly, the tech lead has to communicate important information to the project manager. He needs to provide information about changing estimates, work completed, and so on - anything that might have an impact on the overall product plan - so that the project manager can respond to it accordingly.
This system seems to work pretty well for us. I've been in the role of technical lead a few times now, and I've always been trusted enough so that my decisions are respected. I've always (except once) had a lot of esteem for the project managers I've worked with, as well, so I've always tried my best to accomodate them in my plans. This has worked well, so far. I'm planning to try the project manager role soon though, so that's one reason I posed the initial question. I want to make sure I do a good job.
So what I'd like to know is, the quote mentioned above seems to imply that a single person is performing both of the roles I've tried to describe above. Is this common? Are most of the complaints mentioned in this (and other) threads coming from environments where only one person is doing both of these jobs? Should only one person be doing both things?
Sun 16 Feb | Prakash S | 'a single person is performing both of the roles I've tried to describe above. Is this common? '
- most times, yeah.
Sun 16 Feb | Daniel Shchyokin | 'The main inward facing responsibilities of this guy are to manage the schedule and budget, make sure that everyone is coordinated, manage project risk, and so forth. In other words, this guy manages.'
Mgt Candidate,
this can work, but the criteria is that mgr. guy, and sw guy must trust each others motives and judgement a lot, i.e mgr guy, must trust sw guy to decide what a risk, but step back for a second if all manager guy does is keep schedule, listen in on meetings and write emails, i.e does none of the technical leadership work, assesing priorites etc.., well if it were my company that persons title would be admin assistant not a manager.
Reading through an article on the possible causes of the Space Shuttle disaster, I am reminded that we are human and that even though all of our processes might appear to be reasonably flawless, to the point where they are almost certain to succeed in their mission, there will always be those errors, flaws and/or limitations in these systems that have not been accounted for.
No matter how well we design and test our systems, our innate human nature will always get in the way. Fred Brooks discusses this in his book The Mythical Man Month.
Our communication is limited. Each person has his own thoughts. To bring everyones thought processes together as one is near impossible. How can we as humans overcome this limitation. Wasnt it imposed on us by God himself (The Tower of Babel)? To save us from ourselves?
When God saw that all of the people of the world were building a tower, he thought that if they can do this then they can do anything they set their mind to. So he enforced barriers of communication. He made us speak different languages. We all learn at different rates and in different ways. Each of us understand concepts in his/her own way and has different viewpoints. Wouldnt it make sense that the further we become dependant on our own systems the further we stray from God?
In order for the Space Shuttle to succeed, there has to be an immense amount of communication. I cannot even begin to comprehend the amount of information that has to be communicated to build, launch and fly the shuttle.
Do we need to explore space? Are we meant to explore space? Or for that matter, fly airplanes, drive cars, ride motorcycles? I guess the alternative is to go back to primitive ways of living. The only form of transportation we are good at using is our legs and some people dont even have that luxury. What makes us think we have the right to do something so fragile as exploring an environment outside of our own? Do even have the right to create the means necessary to do this?
Maybe computers have made it too easy to communicate information, but this is the way of the future. The future will hold more complexity as we continually build our systems. There must be a break even point. The point where the systems that we devise no longer ease our workload or it may be the other way around. The more complex these systems become the more work that will be involved in maintaining them. Either way, we are still only human, and in the end all of our efforts are only futile.
Thu 13 Feb | Prakash S | This post is like the Calvin & Hobbes cartton strip I read yesterday, in which Calvin says that he will not do homework, since it will lower his self esteem....
http://www.ucomics.com/calvinandhobbes/1992/02/11/
Fri 14 Feb | Simon Lucy | Well reading that this morning soured my coffee.
One of the problems about God is that it gives everyone else a poor sense of self esteem. Personally, I'd rather accept that I screw up sometimes but sometimes I do rather wonderfully well and with others sometimes achieve things which seemed beyond our grasp.
Communication, in the Shannon sense, is everything but those involved in that communication don't have to control the whole conversation in order for that conversation to make sense.
Fri 14 Feb | Brent P. Newhall | JSD, I sympathize. However, I must disagree. You wrote:
'What makes us think we have the right to do something so fragile as exploring an environment outside of our own?'
Why do you think we *don't* have that right? Yes, it's dangerous. Yes, we may die. But that willingness to do things dangerous, even if we may die, is one of the things that separates man from animal and makes humans noble.
Regarding reasons for space exploration, Robert A. Heinlein wrote: 'The Earth is just too small and fragile a basket for the human race to keep all its eggs in.'
We just have to remember that things like exploring space -- or even hopping on a plane to visit Hawaii -- aren't nearly as important as the connections we make with other human beings, with the simple things in life. But as long as we keep that in mind, noble pursuits remain noble.
Fri 14 Feb | JSD | I'm saying that it is not God's intended purpose for us to be in 'outer space'. We were created to thrive in earth's environment. If we were meant to be in 'outer space', or to fly or travel faster than a walking pace, God would have given us those abilities. Who do we think we are attempting to do these things that we were not meant to do? What gives us this 'right'? Our own ability to choose what we do. This very ability that was endowed by God.
Hence, If/When we pursue these 'noble feats' then we must accept the inherent risk. Is pursuit of this human intellect looked down on by God? I would say yes, but not in a damning sort of way. God does not want us to hurt or harm ourselves, after all we are his creation. He also does not want us to turn our attention from Him by placing these things that we create ahead of Him as a priority in life. It is fine to have noble pursuits, as long as you place God in the fore-front and don't believe that you have or even can achieve these things without his giving you the ability to do so or that you have done so 'by yourself'.
As far as the earth being fragile, I agree that it is, but it is also man that has polluted it and abused it's resources. We are the cause of our problems. The solution man continues to pursue is to add more complexity. As the saying goes 'Progress brings problems.' It's a constant paradox.
Sun 16 Feb | Joe Paradise | JSD,
Climb back into bed and pull the sheets tight over your head. You'll be safe there.
A good read from Dave Stutz, fomerly of Microsoft
http://www.synthesist.net/writing/onleavingms.html
Sat 15 Feb | Prakash S | quite a good read, and talking about good reads here is Tim Berners-Lee's article about the 'Semantic Web' - May 2001
http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21
I want to watch some of the movies made about the dotcom era. Wasnt one called startup.com? Wasnt there a documentary about some government agency that was making a health website? Any others? Are these available in your typical Blockbuster store? Thanks!
Sat 15 Feb | Troy King | The movie 'Startup.com' was about the govworks.com web site, if that's what you're thinking of.
Sat 15 Feb | Nick B. | I rented and watched Startup.com from Blockbuster, only because I saw it sitting on the shelf and it caught my interest.
I thought captured the greed, over-exuberance, and the ultimate bubble burst reasonably well.
But the film quality isn't that great (it almost looks like a home movie), and I would have liked to see more about the aftermath. I also would have liked to see the filmakers go farther with the 'people, relationships, and contentment are more important than $$$' theme.
I thought it was OK but not great, you'll probably like it if the dot com boom&bust is a subject that interests you.
Sat 15 Feb | Prakash S | FWIW:
You have seen Office Space of course, there was this other movie, 'the first $20 million is always the hardest' - based on a book by Po Brosnon I think.
Sat 15 Feb | Ian Stallings | Code Rush was another movie from the dot com era. It was a documentary inside netscape that aired on PBS. They were in the transition of opening the source to Netscape, creating Mozilla. After watching that I felt pitty for them, they worked very hard but it was obvious that they had no process (symptoms: late hours, tons of bugs, sleeping at the office, one person in charge of a chunk of code that nobody else in the company knew, etc.) and the company lacked direction.
Joel's Snoozers | Fri 14 Feb | I-shouldn't-be-here-so-late-on-a-friday-because-I'm-in-a-bad-mood
Oh man, two snoozer articles in a row. Joel, please get back to writing about things you are an expert in. Not things you are just beginning to learn.
And about that Dell article. You said you thought Dell had a bad business model. But look who you bought your server from?
Fri 14 Feb | Michael Swieton | Because they have a bad business model they must have a bad product? Is that what you're saying?
If a company is organized so as to lose money, that's too bad for them, and maybe for my warranty, if I care, but if they have a good product, I have no problem abusing their misorganization so that *I* can get a good deal.
What's so unusual?
Fri 14 Feb | Nat Ersoz | Latest quarters results have Dell's profit up 32% as I recall, and prior Q's similarly impressive. While many suffer, Dell thrives. I don't think there is anything wrong with Dell's model - except that they should preload RedHat on their Laptops :)
As for their use of JIT (just in time inventory), its a method man ylarge companies use to maintain flexibility and quality. Quality, because delivery of parts is a significant part of delivering systems on time (one component of quality as both Dell and their customers see it). By operating with minimal inventory, Dell forces suppliers to live up to order commitments - otherwise the supplier stands out like a sore thumb, and there is immediate negative feedback (Dell notices).
Anyhoo. Happy Valentines day. You smooth dog you.
Fri 14 Feb | Ron E. | Although Dell notices, they sure don't do anything about it. Long story short, a machine ordered a month ago has still not arrived. As a matter of fact, when my relative went online (she was the one who ordered it), the status was showing as cancelled! Ack!
Unfortunately, this seems to be the norm nowadays from Dell. I've heard similar stories such as this.
Fri 14 Feb | | One word. Outsourcing.
Sat 15 Feb | Julian | Regarding the initial topic, Joel has a full-time job, and his weblog subject matter is limited to whatever he comes across while running his company. It's reasonable that figuring out a good microphone setup is the most interesting thing that he has dealt with over the last few days.
Sat 15 Feb | Prakash S | 'Joel, please get back to writing about things you are an expert in. Not things you are just beginning to learn.'
- I for one am interested in whatever happens in a start-up, if the 'mic' is the most exciting thing, so be it.
'You said you thought Dell had a bad business model. But look who you bought your server from?'
- Don't know if you are the kind of guy who pays more money to buy stuff just because you don't like someone's business model!
Sat 15 Feb | Damian | >And about that Dell article. You said you thought Dell had >a bad business model. But look who you bought your >server from?
The Dell article was written as a result of troubles with purchasing from Dell. If Joel didn't buy the Dell, he wouldn't have written the article
DUH
Sat 15 Feb | Diego | 'Joel, please get back to writing about things you are an expert in. Not things you are just beginning to learn.'
Joel is still busy so I consider myself lucky he can even write these articles and post them up.
I like how Joel is sharing his learning experiences. It shows even smart people make mistakes and you can't be an expert in everything. And Joel does not have an MBA but he still writes good strategy articles. ( I also liked the tutorial despite the poor sound quality. I viewed it as very acceptable since it showed how easy it is to use CityDesk.)
I also thought web servers were pretty much commodities. So you can still buy it from a company with a bad business model. Even if the company goes out of business next year which is unlikely, who cares. It was cheap and reliable. It would be easy to find someone with the right training and experience to fix it in case anything happens. Then again, I am no expert so i really should not be saying anything. ;-)
Sat 15 Feb | Bored Bystander | I agree that it's interesting reading about the process of starting and operating a small software company, microphones and all.
This industry s