|
This requires a great deal of concentration and effort, and - most important - try to get the code running as soon as possible. This sounds obvious?
Critical: Select your team, or the people you work with. If you can't, go military.
Do not work with posers, primadonnas or leeches. Cut them immediately and get them assigned to simpler and easy measurable tasks.
Sounds brutal? It's the contract, the project and your ass in line. (Cockroaches survive even to a nuclear hit, and oh boy, I've seen an innumerable count of such specimens. They simply don't care and wait for the moment to go home.)
Buy time (1): avoid "Preciousness"
I don't care about axioms (prototype before code etc.), diagrams, UML, Visio, Gantts, Excel, meetings (especially meetings!).
These *maybe* were ok when all the code was in-house. Now you have to assemble 2-12 APIs in a working product. You barely have the time to understand them.
Remember: the customer will pay for the result, not for the artistic impression.
Buy time (2): Control meetings time. Avoid them if they are meaningless and a JIRA substitute.
Once a week may be fine, but a daily meeting is an insult to a professional coder. (Unless you want to have some 9-to-5-ers).
Fight hard to managers, and FROM THE DAY ONE tell them.
Get them to watch Al Pacino in Heat telling to the street guy "don't waste my motherfuckin' time". With the harsh voice (only Al Pacino can do that, but you can practice home).
Especially after a braindead meeting, nuke them.
Get the formula from the hat. 10 devs * 2 hours meeting = 20 hours = 2.5 man days. Or 8-10 bugs fixed. Or +2% missed because of this only meeting. (And who the f**k does something until 18.00 if the meeting ended on 17.00?). Take this, Mr. Manager.
Tell them the cost of their changes in the middle of the development process. It is really amazing how they like to hear themselves to attach .NET to everything they get out of their mouths. And this when deadline is on 2 weeks and half of the customers are already angry.
If they insist on creeping (or become rude and *boss*), shut up and start looking for a better job.
Buy time (3): "big happy family meetings"
Let's face it. What the hell can be the relation between one coworker and another? (Unless they were already long time friends before walking together into a company). I really don't care if a colleague wants to go to Tae-Bo, plays WoW or likes cappuccino. (Me, I like Black Sabbath and Deep Purple, black coffee, I'm a heavy smoker, with a some sort of Taliban beard, I'm playing Starcraft with all races etc. Useful informations for public, right? I bet 99.092837676% of the readers barely can wait until they meet me. )
(These are real examples. One from an anti virus company, one from a "professional grade database tools" company. I quit them both (7 months and 8 months) and now I found another company where, if someone opens the mouth, he/she really have something to say.)
Purpose
GET THE JOB DONE.
(That's the second criteria of Joel Spolsky hire/no hire workflow[^]).
Why?
That's what the customer payed (or will pay) in the first place! If you go to a diner to have a coffee and a soda, you want a coffee and a soda, right? No frills, no curly ideas, no promotions, no two-for-a-price-of-one. You want what you ordered.
It's the same on software. You want the client to come back again? Respect him, his time, and what the customer wants.
How? Attitude
It doesn't matter if you're looking on 1-2 months before deadline.
Act like you're obsessed.
Act like the deadline is tonight.
Insult colleagues that interrupts you in the middle of debug if necessary, and even throw objects after them while you watch them running at suddenly amazing speed (Ok, don't do this. Although I can think of 712 multiple cases when probably such thing was completely justified).
Avoid mistakes: don't do code rewrite before you have a working version. Don't refactor, especially if time is critical, and always is. Don't even remove warnings. /W1 if necessary. Everything to reach the goal.
How? The algorithm
Seriously, nobody knows better than you, the developer, how much this is going to take.
1. Tackle the new/hard APIs and get a prototype running.
2. Fix the bugs.
3. Complete the UI interaction and remove hardcoded things.
4. See pt. 2.
5. i18n.
6. See pt. 4.
7. Remove obvious warnings. See pt. 6, 4 and 2.
8. Do the rebuild and final tests. Commit.
9. Ask a colleague to checkout/update and to the build again to avoid missed files etc.
Done.
10. After done, sit back, relax, try to tackle hard warnings, /W4 etc.
Warnings as errors? You're kidding, right? Office warning "result still unsigned", remember? Third-party libraries, external libraries where you see from the start the dreaded "class X passed as reference to X" etc. Countless. You may end up in even more dangerous adventures trying to get rid of such things.
Aftermath
Perhaps here and there there will be "yes, it's great, but we'd like ALSO this feature" etc.
The word ALSO completely changes everything. The customer/manager does not have any chance to yell/pick on you/be rude/invoke deal break/kamasutra etc.
You did the job. He owes you now, and is almost forced to treat you like a human being (if he/she is really good ).
Kids, do not try this at work. But it works for me.
Nuclear launch detected
|
|
|
|
|
What about updating a 24/7 live system during off-hours with bi-weekly updates?
Todd Smith
|
|
|
|
|
What about it? It's still an 8 hrs/day job, I suppose. Even with 3 shifts.
Nuclear launch detected
|
|
|
|
|
I get paid overtime when we have a callout for an emergency, but it often takes more hours in a day than are available in the regular schedule to finish what I need to get done. These hours I don't charge to overtime, or even straight time, unless I'm specifically asked to stay late.
I've always considered one difference between an hourly grunt and a professional to be the way time is charged. The hourly employee is hired to fill a slot for a programmed period of time each day to do a job for which he/she is qualified (or can be trained). A professional is hired to provide expertise as needed for a variety of applications. Sometimes this calls for long hours, sometimes not, but the rate of pay is determined by the value of the knowledge, not the amount of labor contributed.
Some employers abuse this professionalism by demanding and expecting continuous overtime for a straight-time salary; that's a good situation to leave immediately, as it's not only abusive, but insulting. Fortunately, mine appreciates extra effort and returns the favor with flexible hours, unofficial comp time off, and the occasional bonus. That's "professional" as regards an employer.
"A Journey of a Thousand Rest Stops Begins with a Single Movement"
|
|
|
|
|
I was amazed at the number of "votes for working overtime at ones choice without compensation".
I'm lucky in that the company I work for indirectly encourages compensated overtime. The more the better. You won't get recognition for "above and beyond" efforts otherwise. We're very "positive praise" starved.
S.Nowlin
-----------------------
I'm a Techwriter Monkey -- handy, just less useful than the Bathroom Monkey©.
|
|
|
|
|
As a salaried exempt worker I do not get paid for over time. I get paid the same if I work 10 hours a week or 80. The trick is balance. If you work for good people in a good environment its works well. If you work for A holes well that never works, at least for me.
When prediction serves as polemic, it nearly always fails. Our prefrontal lobes can probe the future only when they aren’t leashed by dogma. The worst enemy of agile anticipation is our human propensity for comfy self-delusion. David Brin
Buddha Dave
|
|
|
|
|
I can understand that as a "salary exempt" employee. I spent a few years designated as such in another company. We at least accrued comp time that could be taken when there wasn't a deadline or a rollout taking place.
I was more less writing under the assumption that people answering were in the "should-be-paid-overtime" categorey.
S.Nowlin
-----------------------
I'm a Techwriter Monkey -- handy, just less useful than the Bathroom Monkey.
|
|
|
|
|
See Roger Wright's reply - these fall into the professional category and the operative work should be occassional. This is precisely what I would expect from a group of developers.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
It would be interesting, to me at least, to see the results of this survey based on location. To compare the working cultures of say the UK (where I live) to the Australia (where I'm moving in two weeks).
- Dy
|
|
|
|
|
wouldn't work default location is US and it seems 60% don't move it off that - I suggested lalaland as the default instead.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Hi
I am mostly lost in overtimes, i do not know whats my actual schedule of work. but yes, i personally dont get paid for overtime either, but its time to time appreciation in amount paid + some bonus keeps me going.
I do agree that people should put in extra effort as and when needed, but its also important that daily personal life is not lost in everyday overtime system
Thanks
Anuj Pandey
www.anuj.co.in[^]
|
|
|
|
|
in our company we have time reports and for occational overtime we can go earlier if it is less to do. It is really fine.
Greetings from Germany
|
|
|
|
|
Something similar here in the UK. I work in a factory. I'm one of the white collars who sit upstairs and write the software to run on the machines we sell. Because of the factory we have flexitime so that in busy times you build up time and in quiet times you take that time off.
In my case its been useful because of my wife being ill and having to do childcare has meant that i've taken time off and am currently working a little bit of extra to get back to 0.
I much prefer this to overtime or being required to work a bit extra just because its needed and impresses your boss.
|
|
|
|
|
KarstenK wrote: in our company we have time reports and for occational overtime we can go earlier if it is less to do. It is really fine.
Is there honestly less to do?
I used to work for a big company, and I suppose to leave at 5 but always leave later, because if I leave earlier I was threaten to be fired, or at least mocked by my boss because he said I suppose to work for free to earn merits in the company
Now I luckily work for a better company , and I get paid every extra hour I work
Edgar Prieto
Software Engineer
|
|
|
|
|
... is similar to serfdom.
No one should accept to work for nothing. This is exploitation
|
|
|
|
|
Ka?l wrote: No one should accept to work for nothing.
Hell, I'd better stop volunteering for charity projects, then. I thought I was helping feed the hungry, but as it turns out it was exploatation.
|
|
|
|
|
I see humour is not dead on CP
As a volunteer, I don't think you can consider yourself as an employee . And if you are, and are not paid, then yes, you are exploited, and you may well end needing the services of the charity your work for to feed you, the hungry.
I prefer the company of peasants because they have not been educated sufficiently to reason incorrectly.
Fold with us! ¤ flickr
|
|
|
|
|
I have not worked in a job where overtime (even in the $5/hr jobs in college) was permitted however in most cases it was expected. I mean you were and are expected to work more than the 40 hours that is automatically put on your time card. Although I do not work the hours as I did in the past (girlfriend will not permit that), if I was paid overtime I would have broke 100K (in Pittsburgh where $200K gets you a 2000+ square foot house with a large lot in a good neighborhood...) for probably all of the years that I have been in C++ programming job. I am still very happy in this job though.
John
modified on Monday, August 18, 2008 12:40 PM
|
|
|
|
|
John M. Drescher wrote: I mean you were and are expected to work more than the 40 hours that is automatically put on your time card.
hope then that the KY lube is for free
|
|
|
|
|
We do get descent yearly raises though.
John
|
|
|
|
|
My friend works for a big company (can't say as he is not really allowed to say what he does), and most often his pay for overtime exceeds his normal time pay.
You should see how hard this guy works...
He who asks a question is a fool for five minutes. He who does not ask a question remains a fool forever. [Chineese Proverb]
Jonathan C Dickinson (C# Software Engineer)
|
|
|
|
|
If one of my guys worked a couple extra hours one evening and submitted an overtime card (not that we have them!) I'd be less than impressed.
It's the natural of the game that one will be expected to put in some extra hours here and there.
If it is a deathmarch, then sure.
Otherwise showing a willingness to work a bit extra should rather count in your favor when it comes to bonuses and increases.
|
|
|
|
|
Hey... then why get paid for regular hours, too?
I mean... what better way to say you're enthusiastic about your job, than not asking for any money. It should get you some real points when it comes to bonuses and taps on the shoulder... The down side is that one would be dependant on bonuses, since he gave up his regular salary.
Putting some extra hours from time to time in order to meet the dead line, or to work on some great new idea, or whatever is OK, but constantly working extra hours (shifts, days...) just because the manageres are incompetent, or because the sales team doesn't really know what they are selling, or for whatever reason, and not getting paid for that is just plain old wrong.
To hell with circumstances; I create opportunities.
|
|
|
|
|
rastaVnuce wrote: Putting some extra hours from time to time in order to meet the dead line, or to work on some great new idea, or whatever is OK, but constantly working extra hours (shifts, days...) just because the manageres are incompetent, or because the sales team doesn't really know what they are selling, or for whatever reason, and not getting paid for that is just plain old wrong.
Agreed, 100%.
|
|
|
|
|
Personally I think there should be a move towards "contract" based work, and by that I don't mean the developers being actual contractors. I'm talking about the company/dev team and the developer agreeing on a distinct piece of work and a timescale, the developer can then work when/as he sees fit. This could be 24 hours a day for 3 days or 8 hours a day for 9 days, or whatever. I think this kind of work fits into this well. Obviously you'd need some leeway and some checks and balances.
That's a bit of an aside really but in terms of overtime, I get paid overtime but at the end of the day would be happy to agree a higher salary and lose the overtime pay. True flexi-time would be much more valuable to me and I think much better for the business. I know some companies do already work like this, but I've no idea how widespread it is.
|
|
|
|
|