The Worst Development Job You've Ever Had?
manavendra asks: "I'm currently working for a solution provider for telcos, and as part of product migration the entire API has to be 'internationalized'. Owing to a legacy architecture, most (if not all) application logic is still embedded in PL/SQL stored packages. My job: find hard coded strings, and replace with calls to the globalization API.
Yes there is a script written to handle most tasks, but its quite primitive (not to mention fears of automating 'too much'). Boredom is at all time high. Have tried all means of whittling away the time, and hence this question to other Slashdot users: What's the worst ever job you had to do in the name of 'software development' (or as a software developer)?"
Yeah. Populating a database .. manually.
Internet startup.
Turn batch perl scripts for searching domain names for sale into a live cgi.
The "server" was a P133 running bsd. Once I got it to run, it would take 15-20 minutes
to generate the output. The web page would periodically reload once a minute. The Boss
had a cable modem set-up where after a certain number of reloads, they would just cache the
page. He never actually got to see it work.
THe next day another guy just loaded all the possible names in a database on a fast machine
with gigs of ram. Response time? Sub-second.
I still got paid, though (much to the chagrin of the owner).
In the future, I would want to not be isolated from my friends in the Space Station.
Unless you were in the manager's office I don't know anyone who would like working on a production line.
...worked on an Open Source project (:-P
This is a very good point. For example I have a friend (who is actually an engineer) who, if he could do ANYTHING he wanted to, would work on old cars all day.
This would make me go insane, I HATE even changing my oil.
To each their own.
"I work at Slashdot and all I got was this lousy T-Shirt"
worst. job. ever.
~12-13 years ago I was working at a place developing software for the trucking industry. One day I came to work and the door to our offices was locked (I was usually the first one in). I went to the landlord saying "The door to our offices is locked." He held up a bounced cheque and said "I know."
Fortunately I had some cash saved so I lived for a while but then I got a phone call many months later from Revenue Canada (like the U.S.' IRS) saying I hadn't paid any income tax on my income for that year. "Uhh.. I have my paystubs showing that it was deducted..." Turns out the owner was deducting tax, charging taxes, etc and not remitting. Faxed in copies which saved my butt.
That isn't the worst development job I've had but it was the one that left the worst taste in my mouth.
Trolling is a art,
Bill pays better.
All of my worst have been ill-concieved college projects assigned by TAs, particularly ones that have little to nothing to do with the course. Augh, now I'm having flash-backs to buggy Nachos stuff for an OS course.
nuff said.
"Please make more secure code", screams Mr. Gates at the top of his lungs.
I converted 65 ASP files to PHP in 2 days (Saturday/Sunday) plus Access DB to MySQL.
no sleep, boring as hell!!
In my dad the worst job I ever had was converting those bloddy cog wheel counting machines into valve computers. We considered ourselves lucky if we got one vavle each too. Software? Kids these days are so spoilt.
EGG, the Electronic Gamers Guild
a developer job you insensitive clod!
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
Any of the ridiculous projects I had to do in a software engineering class.
I wrote some outlook automation stuff that used the outlook api's only to have the next service pack disable the ability to use half of it because of security lock downs. The only way to get around the problem was to link outlook with exchange. bleh.
What a waste of time.
I coded an online database form that had over 200 questions and several thousand fields (no not all displayed at once).
The coding wasn't hard but it was vary repetitive and boring.
EA David Gardner -"... but the consumers have proven that actually what they want is fun."
Yes, the Y2K bug was real. No, nothing happened. Why? Because poor fuckers like me worked our asses off doing the most boring programming work known to mankind for 2 years straight.
Replacing hardcoded strings... I was a CS trainee back then. CS trainee is the "Cheap labor" of the IT. Thus, a lot of companies use them to do boring tasks that no regular employe want to do.
perception is reality
I've never had a development job, you insensitive clod!
(And at the moment, it doesn't look like I'll ever have one.)
Not long after having joined a development group, I was given a list of software (mostly open-source security / hacker sort of stuff), and instructed to find a way to "re-brand" the software to imply that we owned it. To make us look better to venture capitalists for a commercial INFOSEC spinoff we were trying to ramp up.
Needless to say, I said no, almost got fired, and eventually fled the sinking ship a year later. They ended up spinning off, failing miserably, and selling for less than the cost of my current house.
My biggest regret is not swiping an Aeron as I left.
I was hired to help update a financial company's internal software. The day I get there, I get told that the funding for the project was cancelled. I spent a summer in a file room re-organizing the hard copy of all their transactions. I'd have quit, but I needed money.
The Blaster Master Fighting for Truth, Justice, and Evil Pie since 1979
I have to write software where the specs seem to be changing and/or expanding every other day or so. This makes me sad because it means I may have to rewrite some stuff I spent *hours* doing a few days ago.
Converting a quarter of a million lines of VB code to Java...
The meek shall inherit the earth, in 3 by 6 plots. - Lazerus Long
I know this is cheating, but I must say: the worst development job I've ever had is unemployment. Lots of work, but no pay. Any job is better than no job, so long as you're getting paid.
In the early 80's, working for a major computer manufacturer, we had to change the process id's used by the OS from 8 bits to 16. (This was on a 16-bit minicomputer.) This meant going through the entire code base (which contained a lot of assembly code) and finding every piece of code that used the other 8 bits of that 16-bit word for something else, and splitting them up! Talk about boooring and unrewarding!
Yeah....I hated working with the software developer, once it gets on your clothes, it never comes out. I much prefer the new Polaroid software for that reason.
___________
Huh?
Coding a 401k tracking and transfer system in UNIBASIC. Hands down. An incredibly aged and horribly designed system (honestly, are any legacy systems WELL designed?) that definitely was NOT defined with extensibility in mind
Doesn't sound TOO horrible, I know. And it wouldn't have been, if this weren't my first professional consulting coding job. At a hostile client site (The boss could be heard almost daily shouting, "When's that [CENSORED] from [CENSORED]'ing [CONSULTING FIRM] gonna be done with that [CENSORED]??!!?"). In a factory in the middle of nowhere. In a language that makes COBOL look like Epcot center.
warn "Just Another Perl User" if $anyone_cares;
How about being a school lackey, working on creating small software packages for people you know will never know how to use them to their full extent and getting paid 5.25/hr because they only have room in their budget for a workstudy. The people are great to work with, the job is as dull as can be. Being in better places getting paid more is on the workers mind. If they added incentives like free tuition, or free books, etc. Things would be better off for myself, instead of working 2 jobs to keep up with the cost of living while going to school
Writing worms and viri for spammers. And go figure, the fucker split when I had finished and paid me in Penis Enlargement Pills.
... from the no-shit department.
;)
was also my first job, first assignment. Rewrite all date/time routines to offset the year so the company wouldn't have to pay for their DEC RSTS license. They planned to set the system clock back 4 years.
I found a new job within the week.
Worked at a startup .com that thought it was going to make billions selling cult/foreign movies. My boss was a flaming 300lb male crossdresser who hired other 'developers' who barely knew front page. I was under pressure to make this amazingly creative super site while the Big Gay Al constantly changed his mind about what he wanted.. I had to be frisked before i went to my office because the rest of the employees often stole stuff (our office was above one of their video chains in nyc). And if things wernt working out, my boss would threaten to "fuck our asses.".
---------
No matter how thin you slice it, its still baloney.
You can have the best job in the world and it still sux because of who you work for.
Like when your boss has chronic halotosis (or "halo" for short.)
mine does.
There was this project that used Opensource tools, and everything was fine and dandy.
And then, some PHB felt that this does not have adequate punch since it would not convince potential customers, and so there was this plan of changing it to using propritary stuff.
It probably had a lot to do with the fact that the company was hiring cheap MCSEs rather than competent programmers.
So, all the perl/cgi/php code was converted into ASP, Apache to IIS, MySQL replaced by MS-SQL and platform shifted from Linux to Windows NT (NT - mind you).
And oh yes, did I say we had agents on the *nix box which had to be rewritten in VC++? Which, not to mention, kept crashing every two minutes or when there were too many connections.
Everything turned messy, the whole project was deigned useless and a good product turned bad.
Perl programmer at a huge porn site that had been in business since 1994. Lots of shitty coders passed through that place over the years and there were a lot of versions of Perl. And we never rewrote or redesigned anything, we just fixed it.
Hacking a 4GL (remember them?) to do something it was never designed to do. I was actually quite successful, but sure did make me bitter! Abstraction is important, but don't ever work on a project where you have to abstract upwards then downwards to get what you want!
I live in a Spanish speaking country, without any knowledge whatsoever about german. Three years ago I was working for a German company developing the intranet for a very large european corporation.
:)
After eight months of joy and fulfillment (the project was really good and enjoyable) I was reassigned to take over a project started three months before my arrival (it was 11 months old when I took care of it) because the Project Manager had been fired. The project had to be delivered in two or three months and was the bigest pile of sh*t I have ever seen: harcoded strings, copied and pasted all over the place, used three different database servers (Oracle, MS SQL Server, Postgres) depending on the mood of the developer, used a client/server architecture when it was not needed and created a lot of innecesary APIs (it had a complete implementation of a SOAP-like protocol, implemented for communications, instead of using SOAP or Axis). It was about one million lines long and 40% done. Those three or four months where living hell trying to decode what the heck where the developers thinking (BTW, the project did not have any single piece of comment).
At the end we delivered the system with one month of delay, but the client was happy and to ease the pain I was promoted after setting it up on production
Life isn't like a box of chocolates. It's more like a jar of jalapenos. What you do today, might burn your ass tomorrow.
Rewriting a hardware controller GUI that is a hacked-up rewrite of a hardware controller GUI that was wrapped around some DLLs that were written and grafted onto by many, many people over the past few years.
/exports I made when I got tired of pouring through C source code to find the name of a function.
Here's a real example I'll make generic:
setTemperature takes a temperature and a byte index of either 0 or 1. The corresponding getTemperature takes an integer index of 0, 1 or 2. Yep, you guessed it, the 0 and 1 of the setter correspond to the 1 and 2 of the getter. Neither function has bounds checking, so you'd better get it right the first time. Oh, and we're not allowed to modify the DLLs containing said functions, just use them.
The "API documentation" is a dumpbin
Ugh.
The hospital had more than 15,000 pages of "standards and procedures" documentation. Almost no two were in the same structure.
I had the "good" part: create a structure to which all these documents could be adapted and then make an application for putting the documents in a database.
Two intern developers had the "bad" part: scan and OCR 15,000 pages of hospital documents. Proof-read them for OCR errors. Since no one was willing to pay for a tie-in between the OCR program and the application I developed, the interns had to cut-and-paste the documents from Word to my app. I wanted to cry for those guys.
My sigs always suck.
"We need to you to convert all of this old data to a usable format: Comma-delimited ASCII."
"No problem. I'll set up perl, do some regexes, it's all good."
"Perl?"
"It's a really good parsing tool. I'll just install it and..."
"You can't install new software on these computers. You'll be fired if you do."
(Gak!) "What am I allowed to use?"
"Whatever's there."
(Oh, no...)
It turned out that "whatever's there" means "a word processor", specifically Corel WP6 on Win3.1, and it wasn't all good; it was, as a point of fact, all bad.
And there was lots, and lots, and still more lots, of this data, which needed to be checked manually for incorrectly-placed linebreaks...
Mike Hoye
No matter what the sw was used for, if it was developed using TDD, then the poor souls probably had to watch the movie 100+ times
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
Try to come up with more and more clever scripts for finding where changes need to be made rather than doing it by rote brute force.
Not only does it make better use of your brain and avoid boredom, but until you get to the last 1% of changes, it is the more efficient thing to do. Then, at the very end, cave-in and make 10 changes by hand to get the overall beast to work.
There is nothing more mind-numbing than doing repetitious work that a machine could be doing. It's kind of like moving rocks, only worse, because you can't disengage your attention from the task as much as you can when moving rocks.
"Provided by the management for your protection."
I find that the "worst jobs" are often caused by the people you're working with/for.
Sure, you can get a boring job, etc - but life can be made really difficult when you have a "mean" boss. It's time to get out when this happens.
Unreasonable deadlines
If you thought that the deadline was unreasonable then you were not "XYXC" people
Had to deliver vaporware
Were told that if you didn't deliver vaporware, you weren't "XYZC" people
If you told managers the truth, you were told you had a bad attitude.
"Chuck" wanted you to tell HIM the truth.
direct managers took you aside and told you that you were to tell them the problems NOT Mr. Calahan (Chuck).
They were a bunch of FUCKERS!
They treated programmers like shit because they could get new ones from the local TECH school for dirt cheap!
CEO fucked stockholders and burried fucking in balance sheet.
Sad fact - CEO DIDN'T do anything illegal! Beleive it or not - our system is fucked.
How I know above - SEC investigated and found nothing wrong.
I'm stopping now because I"m boring myself....
I'll never again explain to a client who doesn't have unit tests how important unit tests are. Nothing is worse than writing a zillion unit tests for someone else's piss poor code that wasn't designed to be tested.
Donald Trump, but I got fired.
Access database. With a baroque VBA frontend.
I work in a kitchen factory as a CNC programmer. Sometimes my boss gives me peaces to make and there dimensions where they are supposed to fit but no other important dimensions so if a radius is too big or to small it can become kind of disastrous and I don't hear the end of how much I suck and how useless I am...not that I mind about it...when something goose wrong here everyone hears about it even the ups guy.
...wanted their core software ported to a new shiny processor family running under a very famous OS.
They deployed us to help doing the job, and the first thing we found after trying for a few days to build one of the kernel drivers is that there are about thirty times more warnings than calls to the compiler in the build log (grand total was over 10k lines)--just cleaning that up was a nightmare). Segmentations and modularization that almost didn't exist, interfaces that were not defined (but implicitly), functions with same name and different signatures all around the place; duplicated definitions with different meanings...you name it.
Everything that had a big red tape saying no-no in the book was there...
The code was basically held together with needles. We bailed out of there swearing that was the last time we worked on non-free software. At least free software doesn't charge millions for it.
I coded my job to be performed by cheap labour in india.
now i sell crack cocaine
I once had to maintain an assembler written in COBOL
As a Computer Science major who is graduating in August, I will gladly take your boring developing job.
At a major PC manufacturer, the project being setting up data connectivity between US and the new manufacturing facility in Malaysia. Weekends, late nights, a couple 24 hour nights even--I bled for that project.
The fruit of my efforts? A severance package once the outsourced facility came on-line.
TPS reports, anyone?
"You mortals are so obtuse." -Q
The worst development job I've ever had was cleaning up Malda's code in S.L.A.S.H.
Even for accounting systems, because they might touch the data.
Even for grade III systems that might touch the data, eventually, next year, maybe...
Let's dis-regard the techies opinion because after all 100% computer security is easy to achieve with written procedures.
I've trained my whole working life to write programs when I should have been training how to write documentation.
Client: Law Office specializing in evictions
Role: Subcontracted web-database development
Project: automate printing, filling out of forms used to kick people out of their homes.
Situation:
I was asked to modify some word documents with fields for automatic data entry. I told them I was a backend/interface guy and wasn't qualified.
They really wanted me to do it, or at least look at the job. I spent a couple hours looking at this hopelessly complex job (the documents were made by someone mad and any adjustment rendered them out of spec.)
The law company then screwed me out of fifteen hours of work claiming I wasn't qualified for the work I was hired for or something. I told them fine, and didn't work for them anymore, even on their database application.
They never completed their project, and now some other company is occupying that building.
They fit all those lawyer stereotypes I never took seriously (unlike any other lawyer I have met and had the pleasure of talking/arguing with -- except on the 'Net, and those were astroturfing for MS or whichever)
mefus
In Open Society, GPL Software frees YOU!
I re-edited an all-in-one custom BBS package so that messages stored in a non-standard database could be expired, and deleted so the disk didn't run out of space.
It had been quickly hacked together in BASIC and the guy who wrote it never bothered to store the message number internally. In fact all messages wer 1K and the software just paged through the file 1k at a time, so after 544k message no. 544 began...
--
never thought I'd have the ocasion to tell this story... (note : actual numbers may vary a factor of 100 or some more. the story got from mouth to mouth and everyone added a margin...) anyway...
British Petrol one day did a huge investigation of the operating cost of their computer park in europe. According to the survey, they had a loss of about 50mil Euro on the current systsem because it was outdated, monolith and required way to much maintenance. So they hired JDEwards to create a complete new system from scratch. For everything. And your mum. And her kitchen sink. And the kitty litter filling bags cords factory keymaker's kitchen sink. U get the point.
They start with spending about a milion on a whole building made of cargocontainers that they pull out of thin air in less than 2 weeks. Then they fly over 150 indian programmers and stuff'em in the cargo containers to create the new software. Could have been 450 too (I can never remember a face, let alone an indy face !)
They work like madmen and create a HUGE system. I mean huge. I never counter the number of tables, but just PGDOWN scrolling thru them on AS400 terminal took a few minutes. NOBODY (and I mean aboslutely nodbody) had any grasp on this beast whatshowever. Except for the indy dudes offcourse. They walk thru it as if it were a minesweeper readme file. Amazing guys. Really.
Then they leave because the contract is done...
[insert deafening silence here]
Doh.
Big Fucking Doh
A $75.000.000 system and noone who can even crate a user account.
Anyway. I was hired as a local to create very stupid simple Access interface on top of it to monitor incoming-outging fuel-truck traffic. I was hired 3 ays before the indy blokes left the building (which was taken down 6 days later)
Try to imagine my HUGE BIG FUCKING DOH here, mkay ?
When will I end this grieving ? When will my future begin ?
Tried to hack around, couldn't convert the files.
Final solution:
DOS-box in windows running old system
Key-emulator to go through the whole system, through every option.
Screen grabber to grab output and convert to intermediate format (Q&D).
Importer for new system
Well, not that proud of it afterwards, but hey, it worked!
Writing accounting software for the construction industry using MFC and B-Trieve.
After twelve years in the software industry, including work with award-winning graphics and voice recognition packages, I never thought I'd end up here, but then the local economy imploded. At least I have a job. Biding my time...
Everything was a program and it all had to fit into 640k. The C code was horridly formatted like:Suffice to say it sucked.
We were also using a non-relational database which is a network-model database. (Rather than store key info it is stored as a child item, it eliminates key duplication). You had to do all the locking yourself. No schema changes on the fly either. You had to write a program to copy out of the old and into the new. Set manipulation (like fetch_row(), but worse because you had to manually connect parents and children) was your responisbility.
As if that wasn't bad enough, we were using a new MFC on top of this arcane database format. This MFC app had been sent to China to be done by the lowest bidder. Suffice to say the code was not built for cleanlyness, it was written to fit a requirement.
Sensitive confidential information was stored in this database, which was more or less an ASCII file, with no security. Puruseing through you could see passswords and information. Fortunately, the format itself was rather jumbled, so you'd get a block that made sense and the next one wouldn't.
I worked hard to fix it, and we made significant strides while I was there, replacing it with PostgreSQL. Everything improved. Seciruty, speed, and it was easier to write software against. But I left before the project hit production. Most of my day was devoted to fixing these 16 bit programs.
A lot of states change there forms by a miniscule amount each year. I had to update our reports. That is called Tax compliance. Rather than have an easy way to di it, I'd change a margin and recompile.
Our testing department was me and my boss. Later we added a third to the mix. But as long as we got "works for me" on our desktops, we shipped it. It usually worked out ok though.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
Back when I started my career in 1983, I worked for an insurance company that let the actuaries run their own VSBasic programs under TSO without any release control. Aside from dumps debugging, my job included periodically going through the source code of hundreds of programs to determine if the user was using company resources for personal uses like tracking lottery numbers or NCAA brackets.
On one occasion, the operator scratched the pack that I had recovered MSS volumes to for this purpose, leading to weeks of tape recovery from Iron Mountain. After recovering thousands of files and not recovering hundreds, not one user had even noticed anything wrong. I quess they didn't need any of those files after all
To err is human. To arr is pirate.
Comment removed based on user account deletion
I once was hired to develop Britney Spears's singing abilities.
I will never work as a developer again.
I graduated from a top 5 CS school and took what appeared to be a great job in a research group at IBM. Turns out, they changed my job a day after I got there and I spent the better part of a year writing code in Javascript... object-oriented javascript. I'm truly scarred for life.
I had an independant contract that I was working on not too long ago. I love the "real" job that I have, but the on-the-side project would have provided some extra cash.
My friend and I went into the deal without writing up a contract, and also without requiring a final set of specifications up front. This was our biggest mistake, because the guy we had the contract with kept changing the specifications on a whim. You could tell that he hadn't ever done real development work either, because he though his changes would be simple, when in fact they usually involved two to three days of work.
As it went, we took far longer than we had estimated, and we never got paid for the work. I guess we still own the copyright on the code, but it isn't really useful for us in any way. I had spent many nights coding a program that I didn't really enjoy instead of doing hobbies or going out. I had to endure a number of phone calls that occasionally came later at night, because the guy that we had the contract with was socially inept. Lastly, he did not speak English very well at all.
That whole experience almost turned me off to the whole independant project experience. At least now I know that everything needs to be defined in the beginning, with little room for change. The design needs to be in place before the coding, otherwise you'll get bogged down in a quagmire of continuous "extra" features.
You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
Writing and maintaining client-specific accounting programs in RPG-II.
What this means is, we wrote a seperate program for every client, reusing code where suitable. Thus, if we found a bug, we could MAYBE fix it the same way in every other client's code, but only by manually merging it in each.
Oh, and I got paid $4 an hour.
I lasted less than two months, and that only because I needed the money. I actually would have lasted longer, but I discovered that I was also being used as a "mule" to smuggle drugs, so I decided the time was ripe to take my leave.
jobs in the indian subcontinent qualify to be cribbed about here...
i live on an alternate planet
I have the joy of programming in LANSA. Does anyone have a gun?
[ shudder - twitch ]
Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
"The plural of anecdote is not data" -- Bruce Schneier
The worst development job I've ever had is the development job I currently have.
I've been pretty lucky with the work itself. I can't say from that prespective that I've had a job I haven't liked for several years. It's the politics that go along with positions like mine, especially in federal and state governmental entities for example, that I don't like. But hey, I guess I should count my blessings. I had a job a few years ago, where the guy from the staffing company I was working for (brainpower) wanted me to re-negotiate my own contract. All I wanted to do was make code draw pretty pictures...
This signature has Super Cow Powers
In the words of the my boss's boss (the guy who wrote this mess), "It'll give you a chance to learn java..."
-Eldurbarn
The XAS code was closed and only the boss had access to it. However he wanted us to develop some VB apps that would work with it. We had no documentation and when I asked why the boss told me that we don't work with documentation anymore but with UML. I asked where the UML models were and he muffled something about not having any.
I tried guessing what things did by their variable name but the boss enjoyed variable names like varTempOne, var1, var2, var3, generic1, generic2, myVariable, etc...
One day I asked if I could see the source code to XAS. I learned quickly that it was a mistake.
Clients were constantly calling because the XAS servers were going down unexpectadly. The problem was the logs growing to more than 2 gigs in size. Every second line of the logs would have a copyright description with the name of my boss all over the place. He was so proud of his XAS. Unfortunatly though his XML wasn't valid in any sense. He pissed me off so much!
After 22 days of this BS I had rashes from the stress of working there. I told the boss I needed XAS source code to work with or documentation to work with. That night I received a phone call telling me I didn't need to come in the next day, that they were going to do without me. I was so relieved I did a huge party.
I talked to the boss's boss the week after. I explained what was going on and a month later the boss I had trouble with got fired along with his bum buddy. I was so happy! :)
Last I heard the guy's wife left him too. I couldn't be happier! :)
Bored/hate your job? Try working in an IT department(it's like programming, only you have to deal with bitchy people all day, everything is your fault, and you get paid less), or unemployment.
I'm sure I'll get slapped "flamebait" or somesuch, but I'm really tired of these "my programming job sucks because it is not emotionally fulfilling" stories that keep popping up; many of us IT geeks don't have jobs, and you programmers are whining about how rough your lives are because you're getting paid to hit "next" in find&replace? I don't have much sympathy, especially since most of you were paid significantly better than us(on average, a few years ago, a javamonkey wet behind the ears would earn 2x what I did as a sysadmin with several years experience). If you don't like your job, change fields to something you think you'd be good at and find more rewarding.
Please help metamoderate.
Here's a case where the sw/technologies were okay and at times even fun to work with, but also where we had such a clueless customer (their PMs, programmers, etc.) that dealing with them was just plain painful. So much so that it overshadowed the joy of design and development. "Uses cases, requirements, building something that actually works? Are you sure we are talking about the same project?"
Now if you're a good time waster and a "yes man" then it may be a place for you; maybe even the best sw development job.
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
But since I never really learned VB in college, I was forced to learn it now.
So when I first opened the VB book, it felt so weird to me learning Microsoft. All of it was "click this" and "click that". I am used to writing code not drag and drop.
Opera Watch - An Opera browser blog.
For an entire month my project manager refered to me as her "Graph Bitch".
I got it done and it was sweet too. Never, ever, saw a single customer though, the project was canned at the last minute.
Well, other than the fact that it was a very high-pressure job and I sorta did kinda enjoy it at the time....
.: c9100 h,b,a (Speak a voice prompt in the file 'c9100)
I had a job in the early 90's programming IVR applications (i.e. call an 800 or 900 number and interact with a computer via touchtones). Most of these apps were the front-end interface for the psychic lines you see advertised on late-night TV. You call in and either choose to try and talk with either a specific 'psychic' or a random one. Either way, the service bureau's system calls a psychic working out of their house on the back side and connects the caller with the 'psychic'.
Now, the app language I used was called CLASS, and it allowed for a whole whopping 99 variables ($00 through $99, the first 30 of which were reserved) and looked a lot like a bastardized cross between BASIC and assembly language. Something like this:
start:
say
wait start: $46 (wait for a touchtone, if none go back to start)
if $46 = 0 presszero:
if $46 = 1 pressone:
goto start:
pressone:
You get the idea. Evil stuff.
So I'm writing apps in this crap all day. Not exactly the most maintainable code in the world, let me tell you.
And then there are lots of fun things like up-front limiting. This means that there are tons of freaking losers in the world who will gladly grind their fingers to the bone punching buttons to talk to a 'psychic' and ringing up $5000 phone bills every month, but then charging them back when they get their phone bill. ("It wasn't me! Somebody snuck in and spent 8 hours straight on my phone!") So you have to make sure and limit the amount they can use per month.
Also, I had one client whose 'psychic' pool were either "your personal angel" or "your salem witch" depending on which 900 number you called. We had to make damn sure and play a tone to the 'psychic' to tell them which one they were supposed to be for that call or hilarity would ensue, let me tell you!
Combine all this with the fact that the company I worked for was pretty much run by the clients, and you have a pretty sucky high-pressure job writing in a crappy language.
Blecckkkk!
love is just extroverted narcissism
A recent job is one of the worst I have ever had. This project had all the other hangups as any other development project (long hours, deadline issues, over budget, etc.) but the main problem is that many people on the development team simply do not like technology, IT, or coding.
.com bubble. This team has been together since before the bubble and probably are still working together, loathing the career paths they have taken. IMHO, they entered IT when it was glamourous and they could make a good living..now, they regret that decision and are unhappy each and every (week)day.
I believe this is a symptom of the lingering
> I don't know anyone who would like working on a
> production line
Quality Assurance in a Twinky factory?
Norman Cook's Ode to Sl
My assignment:
Develop a BIOS for an 8086 SBC, using an HP64000 develpoment system.
Use Pascal.
Ignore the lovely and idle Motorola 68000 SBCs and development systems occupying the lab. Those were off-limits. HP had just donated their development systems, Intel the SBCs and 8086's, and the free databooks for all students. We had to use those. Oh, and remember that they had a bug that miscompiled indirect relative addresses, in other words, linked list buffers were unallowed. Use arrays.
It didn't matter if you could patch the buggy assembly output yourself. It didn't matter if you could fix the damn broken development system. Use arrays.
Oh, and you're stuck with the lab partner assigned, by adjacency on the student roll. My partner did zero work. I worked 50 hours a week for a 1 semester credit hour lab. I wrote the linked list buffers, patched the assembly code, and found the error in the compiler.
And failed the assignment. So I redid the buffer routines (in Pascal, remember) using arrays, and got full credit.
For the class, I scored 92.5% out of a possible 100%. Unfortunately, the final grade was assigned on a strict curve, with the mean at 95%. Therefore, for all my work, I got a C-, and so did my partner, who did nothing...
I switched to straight EE the next semester. I decided I'd rather design microprocessors than program them. Even thermodynamics was easier than that lab. (And we used Kittel and Kroemer's wacked-out thermo text.)
I can see the fnords!
"I just paid a about 6000 for this software, i want you to integrate it into our system"
This comment does not represent the views or opinions of the user.
Fresh out of college I was a Y2K debegger for the state government. I would look through endless lines of 30 year old COBOL for 2 digit years. Some of the searches were automated but it meant submitting batch jobs and waiting for results or an error...sometimes for hours. Worst of all we had no internet access in the building. I sure took a lot of "toilet naps" that year.
I once had to port some code from Win32 to Irix. The only catch was that the only available Irix box was located half way around the world, and was only reachable through a crippled telnet link with about two seconds latency, that went down roughly every five minutes. To make things worse, the Irix installation was pretty messed up, and leaving even vi unusable as a text editor.
So, what I was left with was porting the code one sed command at a time. Got the job done, but I'm not eager to do that again.
- Rolf W.
I spend much of my time at work programming in RPG and OCL. That beats all of you guys, I don't even need to read your posts. Which I won't do, as I'm sure it will all be "I have to test computer games for a living, feel my pain" or "I am forced at gunpoint to work on porting Halflife 2 to linux, don't you all feel sorry for me"
Pussies!
See the jargon lexicon under 'code grinder'
I am currently working with a team in which I was hired to convert hard copy forms into Flash documents so that users could fill in the data but retain the look of the form. After working about three weeks on the project the lead boss decided we didn't need to retain the original look and so shifted the project to Python/Adobe. All the three weeks worth of tne project were essentially useless (although I get paid by the hour, so its not all a loss).
A little learning never hurt anyone.
I was hired to be a sysadmin at a aerospace supply chain software firm. My dba skills were "a plus".
I soon found myself converting pl/sql procedures for most of my day with no documentation on what they were supposed to do, or why. I was just supposed to "get them to compile".
Additionally, my attempts to get rudimentary sysadmin things in order (like a working backup of the dev systems and rc.d startup scripts) was viewed as "trying to take over our vendor technical support relationships".
My hiring manager did not speak to me after I started until I was asked to quit because of my "bad attitude".
I made them fire me so I could collect the unemployment.
I'd tell you all about my worst software development job, but wait.. I'm only a 23-year-old college graduate. So, since I have no experience (and since I don't live in India), I'm not allowed to have a programming job.
Documentation. That is not even a deliverable to the customer. Death by documentation. I'd better get right back to it :(
Was that by any chance Prime computers?
There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
is working on a web site right now that has over 600K pages, almost all of which are generated on the fly by Perl scripts. The server is constantly over 75% cpu use because the site has been known to get over 10000 hits an hour for fairly sustained periods.
What's so amazing is that all those pages are stored on the hard disk and yet another part of the application uses a database for queries, not for storing the web pages or anything, just for storing user data and some statistics.
Every database query has the IP address of the SQL server hard coded into it. The server is still running on a RedHat 6.2 box because the original developers left the company over three years ago and nobody has touched it since.
Luckily they pay me by the hour.
John the Kiwi
Another job I had in the late 80s was at a CASE software vendor. The salesguy came back from Japan and announced that he had sold an installation in Kanji, then asked us if we could get it ready by Labor Day (it was mid June). After working 13 days on, 1 off it was ready just in time.
My manager thanked me and said "Take two days off, but don't tell the rest of the team. I'm only giving them one day off>"
The punchline: Of course I told my co-workers, and found that the PHB has said the exact same thing to each of them.
To err is human. To arr is pirate.
Imagine a place where you spend a month writing a detailed design document for a simple project, then when you start to code it, the boss gets agitated when you don't see him daily.
Imagine being a developer with 10 years experiance having your code read daily, then being criticized on the following:
Variable names -- BlueDog change to DogBlue, but changed back the next day
Can't use pointers in C++ code, because the manager doesn't understand them. Must use almost useless references.
Can't use INI files because "Microsoft is going to remove support for them from the OS".
Can't use byte or short because the compiler is faster with ints.
Then to add to the stew being threated with:
Contractors fired exactly on the 3rd week.
Contractors fired for voicing an opinion. Any opinion.
Contractors being fired after being told no one was going to be fired.
Being told you need this job more than we need you.
Perhaps this doesn't sound like much, but when it occurs day in, and day out, for months on end, it's a very hostile and unpleasant working environment. It's like being a sock puppet for the village idiot.
My Satan-spawn manager at one startup job was funneling large sums of money to his friend, who ran an offshoring outfit in China, for writing horribly obfuscated code (intentionally, of course, for job security). Naturally, after I pointed out our awful code to the Prince of Darkness (aka our CEO), I was hated by said manager. The CEO said "no excuses; make it work, or else."
After tearing my hair out for months about this, I refused to work on a weekend and was immediately fired. In the two days after that, my blood pressure went down by 25 points (not an exaggeration!).
I hear they're being sued now for industrial espionage. The embezzling thing has yet to hit the fan.
I once wrote a monstrous "lottery" / "pools" system in RPG II on an IBM System/36 for the COPE Foundation (formerly Cork Polio) in Cork, Ireland. It was ugly... although the customer was happy with it at the end.
Later cow-worker decided something needed to be shipped to a custommer. Rather than grabbing my working code off of a newly installed fileserver - he goes onto my machine, finds a module in my development directory, packs it up and ships it with the rest of the application to the custommer. When somehow my code didn't work the next day (suprise suprise - I was halfway through rewritting an ISR), I had to sit through being yelled at for 2 hours by the owner of the company. I agreed to never leave any code around that wasn't fully functional (basically I started encrypting my development areas on my hard drive) so this could never happen again.
Too many other stories to relate... two days after getting my BS degree, I handed in my resignation and count it as an experience on how NOT to develop software.
I have mod points and I am not afraid to use them
What's the worst ever job you had to do in the name of 'software development' (or as a software developer)?
You'd like to know, wouldn't you?
I ever touched was embedded into the RTF fileformat.
:&
It was for some kind of presentations that
could react on actions from hardware connected
to the PC.
Look at this:
Big header
<<< if a = b { >>>
<<< shoot_me(); >>>
<<< shoot_me_again_pls(); >>>
<<< } >>>
some more text.
And yes, every line had to be opened and closed.
This "language" is called SIAS.
Right now, I'll take the "worst development job ever".
Training my Chinese replacements.
I know two people who liked standing in a line shoving ads into newspapers.
However, they were both retarded.
Repetitive manual tasks allow my mind to wander and lets me think of interesting things to do. These days I'm just so mentally exhausted from work I just come home, stare slackjawed at the monitor, and hit reload on /. every 15 minutes or so
If I have been able to see further than others, it is because I bought a pair of binoculars.
writing a data access layer so that a java front end could utilize as400 application logic and data. JDBC calls are fixed field messages so your select statement looks like this:
dsalkflaaf010001010hahahahfoofoofoofnnana383838
counting characters is no fun and gives you a headache. its only slightly better than counting pollen grains in a microscope 40 hours/week (another bad job).
Where do I begin? Oh yes...
I once was employed by an insurance product publishing company in indianapolis. The project manager made all his decisions with rock-paper-scissors. I'm not making this up. Whenever a bug needed to be fixed, he would call all the developers into a room and play RPS until there was a loser.
Once, I worked for a company run by Scientologists. They did software for the timeshare industry. I lost that job when the IRS seized the company for failure to pay payroll taxes.
While working at walgreens corporate, i was once asked to clean desks with paper towels and windex... for $68/hr.
I once worked for a trading firm in downtown chicago where my boss, while standing behind me to look at my code, would put his... package... on my shoulder. I would scoot in to get away and he would step closer until I could no longer get away. That job didn't last long.
These are just the highlights of my ilustrious IT career.
Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
Posted AC because I don't want this one coming back to haunt me ever...
Worked for this company during the dot com boom. They wanted to be another monster.com job site -- only uglier and with crazy people managing the place.
When we started they asked things like "Can we capture people's social security numbers and personal information automatically the moment they visit the site?" Uh, no. They also used catch-phrases like "Less Volvo, More Porsche." Ugh.
We had a very small development team, with a very short deadline, almost no communication at all, and gross mismanagement. I drank so much coffee and was under so much stress that half my face froze for about a week. Maybe it was just a stress reaction, maybe I had a mini-stroke. I still don't know.
The best part was when someone made a last-minute change to the site literally minutes before the launch party was set to begin, and broke the whole thing. Lots of panicked cell-phone calls going around at that time, let me tell you. We got it working again just in time, but it barely mattered. A few months later almost the entire dev team was laid off due to gross mismanagement. That left me as the sole guy in charge of the web dept., where I was completely miserable until the day they laid me off too. What was funny about that was the boss sent a nice letter to the whole team talking about how big our profits were and how great we were doing... the day before he called to tell me we were doing -terrible- and he was very sorry to let me go.
Worst job ever. I don't miss it.
Incidentally, that last big job was a five-million dollar contract, being managed by a guy who was getting paid $150K a year to, as far as I can tell, ignore phone calls and generally screw up the entire company. I never learned the whole story, but there were some sexual politics involving that guy, our boss, and somebody's girlfriend. I never learned all the ins and outs (snicker), but I think the moral of the story is, don't hire a guy whose ex-girlfriend you're nailing and pay him $150K a year to fuck over your company.
Incidentally, the site I worked on is still around, some five years later now, and I check back every few months to see if the snarky notes I wrote in the HTML source ("Meta tags when we get to it." "This is only working by some miracle of God; don't touch it.") are still there. They are.
I've been working out of the co-op (internship) program from my university in an IT department's software development group. I use an ill-concieved, buggy ASP-based content management system that needs to have its server rebooted every week for no apparent reason. It also has a nasty habbit of reformatting HTML as it thinks is best, which would be compeletly unuseable on any known browser. It also like to put the FONT tag in as often as possible.
:-)
The rest of the time, I work with ASP. I have to constantly listen to the Microserf beside me who tells me how much better things will be under ASP.NET and that we should upgrade. I wouldn't mind ASP execpt that I inheireted a program written by a previous student. They decided to make backups in the same directory and just rename some of the files, so I have some random combination of file.asp, file1.asp, file2.asp, filenew.asp, fileold.asp and fileColor.asp. The internal code isn't much better. The record sets are all label "rs1", "rs2", and so on, and they get reused, across the multiple files included on any given page! I still have no idea how most of them work and make changes by the copy-and-tinker approach.
To top it all off, they looked into project management software and liked this OpenSource PHP thing that a local company pedalled. Well, they bought it an installed it when I was back at school and it turns out to be the biggest piece of crap I have ever seen with the most illogically designed mySQL database that has to magcially talk to MS-SQL thorugh our netadmin's convoluted LAN. Of course, being the OSS advocate, I now get to maintain this POS and hear from the Microserf how OSS is bad and MS is good and uses this POS as evidence.
But I get to back to school in 1 month, and that keeps me sane.
--Andre
Top-runner would have to be 3 and a half years' work paid for entirely with a $2500 computer - even cheaper than outsourcing to Cheapistan :p
[Z?]
Easy - I once accepted a job porting the back end of a major telemarketing firm's software to AS/400. You know the little pause when you pick up the phone before the prisoner on the other end starts the time-share pitch? Yeah, that's them. I quit after two weeks - and the first week was training.
Use your Blackberry Pearl as a Bluetooth Modem in OS X
is
funny
as
hell
I'm not kidding.
"... I want you to do these reports every day, should only take you twenty minutes."
So two days of creating the Excel spreadsheet later (I didn't use Excel before that so I had to learn how to do it) I had something that took an hour to fill in every day, and two hours on Mondays due to the weekend. The worst part was that all of the data was either from their database or from a website (user/pass passed via the URL, i.e. I could have spooled it) so I could have written something to automate it but oh no, we can't use any short-cuts, it has to be made by hand every day.
F### you Yatin.
Damien
You know, we're looking for some political candidates...
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
When I was a grad-student I was given a task to port some incredibly old Fortran IV code to Fortan 90.
I'm not actually a programmer, so it sucked even worse. In the end I ran away and spent three months backpacking around the US on the grant money. (You see some wierd shit in the Texas Greyhound terminals at 3am).
When I got back I picked up a job putting paper in printers and kicking non-students out of the computer Labs at a different University. Ended up heading their team of 17 staff.. which lasted three months and made me realize that you are better off stuffing paper in printers than dealing with the type of asshole who decides that a University position is a good way to goof off for the last 20 years before retirement.
Norman Cook's Ode to Sl
Man, the worst developer job ever for me started 23 years ago and continues to this day.
All I had to start with was one cell and a uterus that wasn't even mine!
Hey, at least you have a fricking job. The company I was doing work for had a massive layoff. The worst job I had is NO JOB!!!
http://www.progressquest.com/
I should have been happy, because that meant that almost no testing would be done, and so the work be an easy bill (I work as an independent contractor). But somehow, the fact of knowing that the work was futile took all the fun out of doing it. Kind of like making holes to fill them up later. I was very happy to have it finished.
The best part, of course was that not a single bug has ever been reported in that application.
Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
I'm looking for some voters
- John Kerry
12 hour days
7 day weeks
Evil, manipulative boss
Terrible game-design
Weak lead programmer with no management skills
Fragile, super-crufty codebase
Emphasis entirely on marketability as opposed to quality
Unhappy, fragmented team
I tried resigning, which was met with various nonsensical threats, eg:
"We will sue you for your entire earnings to date",
"I will make it my mission to ruin your reputation in this industry, you'll never work again",
and my favourite,
(him) "The publisher will not stand for you resigning"
(me) "I'm not breaking any contract or law, what can they do?"
(him) "I'd rather not say how, but they will get you"
I ended up getting forced into working 4 months notice. During that period, I managed to completely forget that I love programming and I love videogames. It made me want to go work in McDonalds.
Working for one of the nation's largest banks, I held the title "business analyst". My team needed to implement a custom client/server application within a 700 person processing division.
Because I was not under the IT umbrella, I was not authorized to install or use "development tools" on my work PC. Interesting as I had been promoted to my position from within the technical training group where we certified all bank programmers before they could develop bank systems for production.
Realizing It would take about 4 years to get our project on the IT schedule, and outsourcing dollars did not exist, we turned to the only applications deployed on our PCs: the MS Office suite.
Using Excel and our knowledge of n-tier architectures, a colleague and I used some excel spreadsheets as a DBMS, while others functioned as the presentation layer, and our business rules were coded in VB of Applications macros (this is a sub-set of the oh-so-robust Visual Basic language specifically for MS Office).
This was horrible work and mind numbing to try to figure out how to push Excel and the VBA scripting language to its limits. Worse still, I became one of those people who buys a "Using MS Excel" book at Barnes and Noble in hopes of getting some documentation on VBA.
The thing worked great, though scalability was aweful, and in the end, IT promoted the other guy to a "systems analyst" position while I left the bank for a dot-com (oops...but that's another story).
I only came here to do two things; kick some ass, and drink some beer...looks like we're almost out of beer.
In 1996, I took a job as the IS Manager at a not for profit with a network of peecees after a year of trying to talk them out of hiring me. ;-)
Prior to this, I had never really even used an "IBM Compatible". Unix and OS-9 (a RTOS, not the Mac version) put bread on my table and, though I didn't hate peecee's, I never had messed with one.
They seemed to crash a lot (;-), but the lusers had all grown accustomed to that, so I just scratched my head and worked on the Lotus Notes projects they actually wanted me to do. *So* much of how they did networking (Win 3.1 clients and NT 3.5 server) seemed cryptic and Magickal to me. Of course, my good old "Managing NFS and NIS" (was that the name of it?) was useless. Later, O'Reilly's MCSE Nutshell books prolly saved what little sanity I had left...
Eventually, I Saw The Light, Drank The Koolaid, and Sold My Sold to Bill Gates. Now I'm As Happy As A Stepford Wife. Well, I *did* get my *wife* a PeeCee to run her CPA review.
Mark
Supporting a C++ critical app that had no documentation and whose creator was long gone. It was filled with, seriously, arrays of pointers to arrays of pointers to arrays of pointers to arrays.
My therapy is going well...
Accept a position for a rendering position at a local studio on a project being ported onto a next generation console system, then find out that I have been switched onto AI because the person working on AI has ran off to set up his own company after six months. Go through the code and find out that for this entire time, this guy has been writing complete garbage (half the code is commented out, the other half is #ifdef'd out). No testing as you go along. What little functioning code there is, doesn't amount to more than half a screen. Management either don't know, don't want to know, or don't want to admit that they know how bad the situation is. New tasks which would require a week of experimentation are being scheduled for two days. Furious that the last guy ran off, they are hell bent determined that no-one else should learn about low-level programming except for senior staff.
I left after three months.
Well mine isn't bad as much as it was bitter. First job I ever held I was hired to write a new type of publishing system (this was in early 2000 mind you) with all kind of great ideas (many of which aren't even done in CMSes today). I happily begin designing and whip up a couple of prototypes to show my boss and convince him my ideas are solid. However we're talking about an application which is supposed to be a complete end to end publishing system with document stores including media, editing, seamless interchangable web and print presentation layers all specified to run on CORBA using an Oracle database as the store and a mix of Java for the services/servers and C++ for the GUIs and performance intense operations. After over half year of working and getting close to a 0.9 of the document store and the web layer the plug gets pulled and I get demoted to doing webpage script development.
And get this the CEO was angry with me because I (just me) hadn't gotten the application done within those months. I told him that he had no idea what a system like the one he wanted entailed in development and a few months later I found a better place to work.
The company I worked for would take any contract that came along, and I mean ANY contract. That was how I got to write the quizzes on the CD-ROMs for the MCSE For Dummies books. In Authorware. There were six of them: MCSE TCP/IP For Dummies, MCSE Windows NT For Dummies, MCSE Networking Essentials For Dummies, ... Oh, Lord, I've never known such pain.
The crowning moment, though, came when a hardware guy (father, scoutmaster, perfect citizen) had to miss a day for jury duty. That afternoon, my coworker called in and said he would have to miss a second day because he'd been picked as a possible juror on a case but they'd not gotten around to directly questioning him yet.
Our leader promptly badmouthed my coworker in front of our entire staff for not "doing what he needed to do" to "get out of it." While it was never spelled out, it was obvious he was angry that my coworker hadn't perjured himself to get off the jury.
Two days later, my coworker returned as promised. As he'd predicted, he hadn't made it through the direct questions - he's an engineer. When he heard about what had happened in his absence, I made sure that he was one of the first to critique my resume.
"Prepare for the worst - hope for the best."
Working on a CD-ROM many, many years ago for a large corporation, via a third party (we did the work, they managed the client, and they paid us per hour.)
:)
Spent 3 months designing and building the CD-ROM, got to beta, and suddenly a person at the corporation that the third party "forgot" to bring in for reviews saw it, hated it, and said "start over". Was assigned a new producer.
Spent 3 months designing and building a second, all-new version of the CD-ROM, got to beta, and a person who had been part of the reviews "changed their mind" and we needed to start over. Was assigned a new producer.
Spent 3 months designing and building a third CD-ROM (midway through the producer resigns and I get another one), and at beta, they decide they want "changes" -- then "significant changes" -- then "let's just start over one more time". Was assigned a new producer.
Spent 3 months designing and building a FOURTH CD-ROM, and a month before beta submitted my resignation, to take effect the day we hit beta. My company heads begged me to stay "until the CD-ROM (was) done", but based on what had happened in the past, I dedided the likely completion date would be 2018, so bailed the day we hit beta.
I have no idea what ultimately happened to that project. At least I learned quite a bit about the subject matter, more than any user of the CD-ROM ever will.
- The code base for the entirely custom code (60,000+ lines) was mostly written in pre-ANSI C, done by math undergrads in the mid 1980's
- There was no testing procedure in place for software development; everything was done on the live machine.
- There were no makefiles; I had to figure out the entire build procedure by hand.
- I didn't even address the security of the system. The database was just a binary file that was written by a library. All the DB security was merely implemented in the front ends to it, anyone with shell access to the machine (which was everyone in the company) could read and write to it freely. It had credit card transactions retained back to the early 90s in it.
- My boss was a cokehead with a Napolean complex. My office was the server room which was adjacent to his cubicle. All day in a room with no windows
- There were tons of alignment bugs when old binaries were recompiled, often I would manually shift the address in a pointer to get something to work.
- There had been no full time developer ever; just a string of cheap CS and math undergrads (like myself) who would burn out after a few months playing sysadmin and programmer to my boss who didn't believe in paying for keeping it up to date and well maintained.
- The code quality was... terrible. There was one program for controlling a cutting device that used an array of twenty-odd floats for each of the variables rather than using real variable names. Hundreds of lines of crap like "f[23]=f[11]*(f[17]-f[1])".
I only lasted a few months. Not enough money for the stress.Manually breaking down our beautiful Herman Miller cubicles, loading it into a rental truck (which rolled out into the street at one point when its brake failed), and moving operations from our swank Pasadena offices to a warehouse in Monrovia, where we worked for eight weeks before moving back to Pasadena, where we worked for four weeks before RedHat bought and closed down ArsDigita. Great co-workers, lousy 'software development' experience...
For those of you who are too young/un-edumacated, parent is a reference to 2112, by Rush.
Props to the power trio.
The "What's the worst job you've ever had" story appears about every month. Can we please have a tiny violin icon for this story when it's posted.
I was coding a (somewhat simple) PHP application to read data from a textfile and stick it into an HTML table, along with a header and footer to make the page look pretty. It also had an "add" function where a user could add entries to the textfile which would then add a row to the table. It was a program for updating a web page with the latest scores from a sports league. Pretty simple, but it was my first PHP program I'd written from scratch so it took me all day to code, debug, test, code, debug, test, etc.
I finally got it working exactly the way I liked it, so I uploaded the "final" version to the server and ran it one last time. Then I noticed a typo on the submit button. Simple enough, I said. I had been using a Cygwin version of vi to write the script (you'll see why this is important later), but I had already closed all the windows I had open with the exception of my browser. So, I opened up FileZilla (FTP client), connected to the server, and double-clicked the file. Here's where the trouble starts.
When you double-click a file in FileZilla (at least with my configuration) it downloads the file to whatever directory is open in the file browser pane. Normally, if a file with the same name already exists, it'll prompt before overwriting the file. But I had just restored a site from a local backup so I had FileZilla set to automatically overwrite without prompting. The bottom line is that it downloaded the PHP file off the server onto my machine, erasing my local copy of the script. In a normal situation this would have been fine. BUT...
I had FileZilla set up to open PHP files in Notepad - yes, Windows Notepad. You probably know what happens when a *nix textfile is opened in Notepad - it displays nice little "blocks" wherever a line return should be. I didn't feel like getting vi back out, so I used Ctrl+F to search for the typo and correct it. Done. I closed Notepad (after saving the file) and uploaded it back to the server.
Everything should have been fine at this point. However, when I refreshed the page in my browser, I got a syntax error. Argh! I quickly opened the file in Notepad again - and later vi - only to discover that Notepad or FileZilla or something had stripped all the line returns out of my script! It seems to me that the script should have run after this, but for some reason it didn't, and FileZilla had overwritten my local backup.
So, I spent the next hour or so going through my code and pushing Enter wherever it was necessary until I got the code running again. The best part?
I showed the finished program to the client later on and they told me they had decided against using a computer to keep track of scores. Thanks for your effort but we decided we don't want to use your program.
*sigh*...
-- If you can read this, you are too close to my signature.
I doubt this qualifies as the worst software development job ever in anyone's mind, but it's a story nonetheless...
I was working at a dot.com-focused consultancy during that period in which the "New Economy" was going down in flames but no one was really talking about it yet. After completing my development work on one project, I was informed that I, along with a few other developers that had survived the last round of layoffs, was being given an "alternate assignment."
Since our sales department couldn't sell work for shit, we were assigned to work to help them find leads. What that amounted to was the following: we were each given a section of a list of big companies in the area. First, we were to ascertain what kind of web presence they currently had, and propose some ways our company could help them improve it. Wait, that's not the funny part.
Second, we were to obtain direct contact information for their CEOs, CTOs, etc. by whatever means necessary. Now, occasionally you could dig something like this up via the company's literature, possibly with the assistance of a phone book, but usually it wasn't publically available. In this case, we were encouraged to call up the company and tell them whatever we had to for the receptionist or whoever to give us that information.
Picture, if you will, a small handful of mostly socially inept geeks. Picture them cold-calling companies and try to string together various tall tales, misdirections, and outright lies to scam poor employees of said companies out of the direct line phone number, e-mail address, and home address of several of the companies' top executives.
Hilarity ensues!
I hate working for companies that are organized so poorly that they take forever to make decisions. The worst part is when you try to jump in with ideas to fix how everyone's organized and how slow everything goes, the right people never hear about it and by the time the ideas get to someone who cares I'm already pissed off and don't care to persuade anyone any more.
That and Employers with trust problems. I've lost count of how many times I've told someone we weren't going to hit a deadline, why, and how we could fix it only to get brushed off and yelled at when the programming team misses the deadline. No one listens to anything other than themselves any more in business.
My worst job was reworking some API some idiot created that had strings hardcoded throughout different java files, including some in jar failes that people no longer had the source for.
Had to put everything back in the database where the data belonged!
Long story short, I got fired. I put forth an appeal, so the termination was changed to 2 weeks suspension. Paid suspension! After they did a lot of checking of dates, they found that my story was actually true and they had just fired the only person who could actually fix the problems they were having.
I took advantage of the opportunity and used those 2 weeks to find a new job. As soon as I got "rehired", I quit. Interestingly enough, the company got bought out that week (probably by the folks who sent the trojan to us...) and the buying company went bankrupt a few months later. At least this sob story has a happy ending!
Ceci n'est pas une sig.
:wq!
VBA for Excel
how long until
I once worked the "back end" for a gay porn site.. ~m
"Yes, I have a Disaster Recovery Plan. It's called my Resume"
I'll take the 'tards for $200...
I had this job, where there wasn't much to do, but I was forced to play foosball all day and listen to MP3s. Oh, and we were all force-fed cappucinos on a regular basis. Oh god, the horror...
For your security, this post has been encrypted with ROT-13, twice.
i wish i had the willpower to wait 15 minutes
People with OCD (like me) often find pleasure in repetitive jobs. Sometimes I'll even repetitively fiddle with something at hand while I'm thinking about something else.
And just because I'm autistic doesn't make me retarded.
tasks(723) drafts(105) languages(484) examples(29106)
Project is down the tubes, its $5m over budget, everyone is doing 100 hours a week, code quality is rubbish, review doesn't exist. Management ASKING the development team to cut quality corners.
And everyone knows its going to get canned before it goes live.
Oh boy was moral good.
An Eye for an Eye will make the whole world blind - Gandhi
Dude, think more creatively -- you should OUTSOURCE this work to India, and chill out for the next few months at half salary (yours minus what you pay for the work).
In your spare time, you could pick up some coding jobs that are more fun, and make some extra cash, or just relax, and learn to play go, or hack on the next generation X desktop.
In fact, I'm going to look into outsourcing me here. Who will know? Plus, all my work will get done at night -- I'll look so damn productive... Gotta go.
I used to work for a really small ISP with only a few employees.
My boss came up to me with an Access database of account transactions and wanting me to get a total by hand. I basically told him "uhhh... I think I'll write some code for that." He kinda scoffed and said "okay... but don't waste too much time on it." I'm more of a linux programmer, and didn't know enough about windows apps to interface with the DB, and I didn't know enough about Excel to do running totals through rows. So eventually I rigged up some VB code directly in Access, and that worked out alright. Took me a little over a day.
Another day he was excited because we got in Cobalt Raq servers. He wanted me to move the bigger commercial users (on RH) to this Raq server. I just couldn't figure out enough about the Raq API to enter hosts automatically, and ended doing each one by hand through the web interface, what a pain. My boss just wanted to be able to live without a real admin and use the web interface (makes sense, I guess).
Not as bad as most people, but that's about the worst of it. I also had to do tech support, but those stories are too common to be worth bringing up.
My current job - I have to monitor all posts on slashdot to make sure the guy we hired to internationalize our PL/SQL isn't posting on slashdot while he's supposed to be working.
Proud neuron in the Slashdot hivemind since 2002.
I work as a performance tester. If I encounter a person from "the business" or a project manager who has never encountered performance testing before, They will *always* overestimate how many users the system will support.
"Oh yeah, the supplier said it would support 2,500 users, easy. We've made some changes, but we have a userbase of 2,000 so test it to that."
Fair, enough.. I can only do what Im told, right? So I spend weeks writing scripts and running tests and at the end of it have to break it to them gently that their $3m system can only support 100 concurrent users at their specified response times (if they specify anything *at all*).
turned up to a new client with a suit only dress standard to do some "network consultancy" I ws promly shown a ladder and a drum of cat5 cable and told to run it through the roofspace to these 25 new outlets.
That's right. I was hired by a team on a tight deadline. I could read C then, but had no experience in coding it. However, I was the only person in the team who already knew the assembly language for the target machine. They had a prototype of their code half written in C, but it turned out there was no C compiler for the platform they had to run on.
So, they handed me the code and I typed in the equivalent assembly language. I quickly discovered that I could write the assembly about as fast as the two other programmers could write the C. One month later we had a working demo. It may not have been a truely awful job, but it sure was mindless!
Sounds like what I am going through. I work for a small company that runs a 12 year old point of sale system written in FoxPro. The previous programmer had spent the past 12 years modifying and customizing it, but never bothered with documenting his changes or even commenting (or indenting for that matter) the code.
So now I get to massage this HUGE kludge of a program. I'm being sneaky though. I'm going back and commenting everything and developing a replacement on the side.
Maybe I'll get promoted too.
echo
This is pretty obvious, so I'm sure you must have thought of this. I'm just curious why you couldn't have done it.
"Prepare for the worst - hope for the best."
Funny, I didn't really want to be there in the first place. being right out of college on my first project, we didn't have much of a choice.
I don't care what you like or don't like doing, that is a miserable-ass job!
Computer Science is Applied Philosophy
The worst development job I ever had was at a chip-design and fab company. I was hired to
install all their to-be-ordered Solaris boxen to replace their legacy Apollo boxen. One week
after I hired on, the whole project was cancelled. I had no Apollo experience, other than using
them as room heaters five years previously in college. So I was tasked with converting their
scripts for chip testing, written in Aegis, to "Unix". Only at the time DomainOS was out, Unix
was a Pretty Neat Toy, and these boxen ran some smallish version of Unix, consisting of cobbled-
together BSD 4.2 and SysVR3.
So, I got to
1) learn Aegis
2) figure out which commands I would NORMALLY use on a NORMAL Unix box
3) figure out which command from which version of Unix on this box would fit my need.
I became the tester for these scripts, despite the fact that I was not a chip designer or
tester, and had no idea what a "bad" result looked like.
So I tested as well as I could, then started putting smallish scripts out into production.
A few of them worked, a few broke, and the manager decided that conversion was just
Too Dangerous. So I was told to stop.
So, for the next two months, I sat in a nice office with a window, by myself, surfing the
web, until I found a job that didn't use boxen that were so obsolete that HP offered
no training for them.
* US retailer W2 processing (maintenance - rules changed annually for all 50 states; some Mainframe Assembler; Documentation long since lost)
* US Union Workgang Bumping application (build - COBOL/CICS/DB2; database schema changed daily).
* UK Bioinformatics application; (build - JAVA/Oracle; database schema changed daily; DBA didnt use views because "they are inefficient".
* UK telecoms billing (maintenance - Death by documentation)
* UK logistics (recode; COBOL programmer who taught himself C. Liberal use of goto and longjmp; all data global; no structures or pointers; no memsets; RDBMS to store AND access a graph)
But, the best one has to be the job where I spent 3 months (weekends and evenings) hitting the salesman's mad deadline. I got a crate of beer. The salesman got a weekend in Paris with his wife. Still, all is forgiven because the company in question is in the process of destroying SCO.
I wish at was Friday, but I dont want to wish my life away. So I wish it was last Friday.
When I saw this I couldn't help but think of Office Space.
Joanna: So, where do you work, Peter?
Peter Gibbons: Initech.
Joanna: In... yeah, what do you do there?
Peter Gibbons: I sit in a cubicle and I update bank software for the 2000 switch.
Joanna: What's that?
Peter Gibbons: Well see, they wrote all this bank software, and, uh, to save space, they used two digits instead of four. So, like 98 instead of 1998? Uh... so I go through these thousands of lines of code and, uh... it doesn't really matter. I uh... I don't like my job, and, uh... I don't think I'm gonna go anymore.
Joanna: You're just not gonna go?
Peter Gibbons: Yeah.
Joanna: Won't you get fired?
Peter Gibbons: I don't know, but I really don't like it, and, uh, I'm not gonna go.
Joanna: So you're gonna quit?
Peter Gibbons: Nah-uh. Not really. Uh... I'm just gonna stop going.
Joanna: When did you decide all that?
Peter Gibbons: About an hour ago.
took nearly a year as the customer's requirements constantly changed. pity me.
FYI, the account information had multiple accounts to keep track of, had fiscal years/quarterly totals, and things like that to make it more complicated than just +money, -money type stuff. And it was long.
My current job. Before I begin, I've fortunately JUST been granted permission to stop development of the current major version, and rewrite the app from scratch, because the devleopment timeline to implement the new features in the existing version, far exceeded rewriting the app sanely to ensure extensibility wasn't a problem. And before anyone says "why not refactor?", I did consider it, though after you read what's below, you wouldn't want to refactor this mess either.
Our flagship product is written completely in VBA. The front-end was created using Microsoft Access. The back-end for data storage is Microsoft SQL Server. Oh-hoh, but you've heard NOTHING yet.
The VBA developers of the past was the VP and a few interesting individuals. None of them knowing how to program, nevermind in VB. It's largely a mass of 150,000 lines of spaghetti code. Functions are far from being imdepotent -- you'll have forms that touch all portions of the application. Lots of globals that are used frequently, often with conflict. One guy apparently didn't know how to use variables, so he'd embed text boxes on the main form, and set their visibility property to false, and use them to store values. Not only for the current form, but for the ENTIRE APP. It's great fun debugging those!
The database schema is just as bad. There's no normalization. We're talking strings that describe a product being primary keys. There are no constraints on columns, and adding them would break a lot of existing data in most deployments. Everything seems to be tacked on, often without thought. So instead of having detail tables, or linking tables, folks would just add columns. There are numerous tables in the database that bump up against the limit of how much non-BLOB data can be stored in a row, since nothing is normalized.
There's lots of other weirdness too. Someone apparently had fun learning from books -- why use the built in REPLACE() when you can write your own that only replaces one character (as opposed to substrings), in only one instance, can't define a start and end position, and doesn't support binary replace. And then use it throughout the entire app, improperly at that.
150,000 lines. How many are comments? 200. Written documentation? None. Spec? They didn't use specs.
Did I forget to mention that the database schemas also different from customer to customer, and the front-ends themselves, including weird one-offs for individual customers. I spent a month consolidating schemas and front-ends so we could have ONE distribution.
There are some reports with 1000 lines of code-behind. Yes, reports. Why? Since the database is a mess, and the only way folks apparently matched data up was through joins after joins after joins (ever see 4 nested outer joins to match up two colums? I've seen it FIVE times in the same sproc!).
Did I fail to mention that there's no record locking? Yup, deadlocking issues are abound.
Did I fail to mention there are no CASCADES? That NOTHING in the app is transactional, including pushing accounting data into other packages -- some methods in which involve DIRECTLY modifying the other package's tables!
Did I fail to mention that between all the hidden controls, and virtually everything being databound (running this app over anything but a 100Mb LAN is near impossible), actuall causes some interesting issues in which multiple threads fight for the same data, in which pointers apparently get crushed and misused, resulting in Access itself crashing.
Triggers. 800 of them. Why have a sproc wrap everything neatly within a transaction when you can have triggers do all sorts of wacky things!
Naming conventions. Something like boolWhatever isn't a bool, it's a double. Things that should logically only support 2 states, are really 5. Maybe our app supports quantum indecision, I don't know.
Did I fail to mention that is uses ADO 2.1, and EXPLOITS several bugs in it. Moving to ADO 2.5 (or newer) comp
> Did he say anything insightful? No.
It wasn't exactly a huge revelation, but some people (sometimes, especially the highly intelligent) have to be reminded of the simple ideas instead of making it overly-complex.
Ported a large scale IBM mainframe application to run on Windows NT with CICS for NT and DB2 for NT. Additionally there was a Unix based batch processing subsystem that I had to get running under MKS shell for NT. The front-end application was VB/ActiveX Documents that hosted a 3rd party terminal OCX.
UGH
the guys from strange brew liked the bottling line
My god - my department still uses the Motorolla MC68HC11. I used it a couple years ago for a 2 credit computer engineering lab course that I did 40 hours of work a week for. We had to build 2 calculators (one that took input from a keyboard and another that took input from a keypad we wired on), a voicemail, and an electronic etch-a-sketch. I ended up putting in ridiculous amounts of work, and nearly failed 2 other classes in the process - all for a whole 2 credits. To this day, I still have a picture of the voicemail we did.
To make laws that man cannot, and will not obey, serves to bring all law into contempt.
--E.C. Stanton
Debugging a TENCORE program written by a co-worker who thought GOTO was a perfectly reasonable command to use. A LOT.
Job hunting has a fundamental depressing property built into it: you're always unsuccesful as long as you're still doing it. When you succeed, you're not job hunting anymore.
I've found that my posts don't format quite right w/o a sig.
built a huge reporting system for a baby bell a few years back. Potential savings turned out to be up to be in the range of *hundreds* of millions / year - due to massive automation that system could perform.
Everything was going great - our little team got the entire system prototyped and working fine in six months. Going straight into production was mostly just a point of paperwork at that point. Total budget and project duration were both *far* under typical telco projects.
But then...
1.) New management team took over. Since IT stinks so badly at the telcos, they never deliver, and were terrified of high user expectations that we had developed. So, they tried to do everything to kill the project.
2.) Some functionality we planned to deliver was shifted to Bellcore (now Telcordia) - one of the most incompetant software shops in the world. We estimated a cost of $500k, Bellcore said $6 million.
3.) New alcoholic manager screamed at team members (just for the hell of it apparently) and forced us to switch from standard server platform to HP. Then spent much of year getting flown around to HP events at HP's cost.
4.) I left - tired of being screamed at by alcoholic. All other project members were also looking around.
5.) Telco discovered bookkeeping errors that required it to shelve all projects in process. Since purchasing & porting to HP slowed production down by 3 months - project wasn't in production yet. Was mothballed.
6.) Entire team let go.
*2 years go by*
7.) I find a posting in a job site for developers to work on system that sounds just like this one. I speak with consulting firm - yep, it's the *exact* same system, and they're trying to take it out of mothball. But they're paying an indian subcontractor almost nothing to do it. I tell them that I designed a vast amount of this complex system and knew it like the back of my hand. As the most valuable resource that they could possibly find - they offer me about $20/hour to join the team for 3 months.
I quickly decided that unpaid unemployment was better than the shoe-sales salary they were offering to fix the problem that their incompetence created.
The worst website server-side-scripting language ever invented. It reads like it was designed by a drunken incompetent programmer on a boring weekend. Every WebHub function looks something like this: .html, but each file can contain multiple pages, each of which starts with something like:
%=G|thisText|thatText|%=D|blah=%=%
That's a _simple_ example. If you put whitespace in the wrong place, it probably won't work. It requires delphi modules to do nearly anything (including basic arithmetic). Oh, and pages aren't related to files. The files all have to be
<h1>-Pagename,,,,title-</h1>
And it only gets worse from there...
I'll start with management. They have no technical skill and like to be "hands on" in the development process. They never come up with specs and endlessly change things. They request a change to the UI, I do it and the next day they are like "Why did that change?" "Because you told me to change it!" "Change it back!"
The product talks to a server but management can't understand why we need the server for any operation. We can do some things without connectivity, but some things require the server. There has been no end to this argument. They drive me and the other engineer nuts.
It only goes downhill from there. Now lets talk about the code. Okay, it was written by a non-programmer who (thankfully) is in another part of the country. His code is the worst stuff I have ever seen on so many levels. To start with, the identifiers are meaningless drivel, mostly with numbers to indicate successive portions of a long complex operation (e.g. EncryptDocfile, EncryptDocfile2, EncryptDocfile3, ....)
Then there is the logic. Its a twisty mess of patch upon patch and boolean flag upon boolean flag. In general, if I spend some time at it we can reduce 100's of lines of code to 5-6 proper lines. And lets not forget about defensive programming... This code takes defensive programming to a new level. You've heard of event-driven programming, right? Well, this is exception-driven programming.
See, in Microsoft C++ you can wrap exception handlers around blocks of code. Bad pointers and the like can be caught. This is useful when writing certain specific classes of code. This code uses exception handlers to fix bugs. So it has 7 years of stuff like "I don't know why this routine throws an exception, so we handle it and try something else."
But if you try and fix the pointer crashes you throw off the event flow which is partially dependant on the pointer corruption!!
Other highlights: You gotta love how the code allocates 3-4 1024 byte buffers on the stack of a routine but then goes out of its way to malloc a 56-byte structure (hard coded size, of course) that is used only for THE LIFE OF THAT FUNCTION as a local variable.
I'm really toning it down. The code is a lot worse than I can ever describe. At the end of the day I feel like I need to take a "shit shower" just to get the stench of the code off me.
Then we have the marketing & sales department which aparently have no clue about what our product is. Because the other engineer and I love going to a meeting where a customer wants to know about feature X. Too bad this is the first we've heard of X.
Every day we have a fresh plate of dicks to eat here with no end to the supply in sight!
I had the job of reprogramming an 80's satalite interface, that for some reason was based in COBOL, which is probaly the most stupid colluded language evey. I just reprogrammed a complete c++ visual interface, that earned me a promotion! Juts stick with it u may get one (a promotion) too!
one day my boss came into my office:
... " (I mean that's a bad[tm] question)
..."
"do you know XML ?"
"uhmm
"there ist $BIGBIGCOMPANY we are working with are having problems with this XML software"
"hmmm
"needs to be done by this weekend" (hell, it was thursday!)
"No, don't know anything about XML...." (this was lying, but it sounded really, really dangerous)
next week I read on a newsticker: $BIGBIGCOMPANY fucked up a 1/2 billion project... failing XML-based software
...I did a fair bit of database conversion/munging work in ADS (don't ask) accessing ISAM files on a 286 running the Convergent Technology Operating System (CTOS) (again, don't ask).
Loading 5-6K records took several hours, unless it failed, which it did often and randomly, in which case I would restart in hopes of a success.
The Army reading list
Use the pills, hunt them down, and f them over more than they f'd you over.
It's embarassing that I once had the opposite job -- purging unneeded paperwork from the files of long deceased criminals for the justice department and recycling it -- and absolutely loved it. I could sit back, pump the headphones, and just zonk out for $8 an hour (respectable summer pay at the time).
For a while I treated it as a game...raced this guy I worked with to see how many file drawers we could do in a day. The two of us got up to 27 or 28 per day before the manager (now my mother in law) asked us to slow down. See, we were budgeted to be there all summer, but they couldn't pay us if there was no work, and at our pace we were each going faster than any other three people working there combined.
So instead, we slowed down and chatted with each other. Showed each other the uglier male prisoners' photos, and the prettier ladies. We read off the obscene things some of these folks did that put them in the big house.
Basically, we dealt with the drudgery by inventing tiny bits of fun. My friend's father did the same when he worked for IBM. At the time, he was also the resident poet at a coffee house. So any time he'd maintain a program, he'd inject a quick haiku or image poem in the source code. Supposedly, the poems are still there...
Hey freaks: now you're ju
Sometimes I'll even repetitively fiddle with something at hand while I'm thinking about something else. That, my friends, is how you pitch one right over the plate.
"Nobody owns the fucking words man." - James Dean
"Software Development" by entering opcodes by flipping switches to set a "word" and pressing a "Load" button. After "Load"ing the code, Press "Run". When things went wrong, enter addresses and peek what is in memory. Yes, I did this once in 1977 on a Intel 8080, a PDP-11 type in 1982. I have have developed countless programs using Punchcard. Believe me, Your work is *Pleasure* compared to punchcard work.
I have some. ;)
How much?
The system had the verbosity of HTML combined with all the readability of compiled assembly viewed as bitmap images
I had to assemble my own cubicle. I died a little bit that day.
"If you think you have things under control, you're not going fast enough." --Mario Andretti
I'm going to have to make a blog entry one of these days with all the bad experiences. But one of the high(low?)lights has to be the time I spent when my company was a subcontractor on a couple of jobs done by Andersen Consulting.
The important insight I had about Andersen Consulting years later, was that Andersen's main product isn't software, it's billable hours. They don't actually want to produce workable software, because then the billable hours will stop flowing in. So instead they do everything in their power to fuck up the project royally. At the time, I was baffled by their behaviour because I was driven to produce high quality software that did what the customer needed, and I couldn't seem to get that done under Andersen conditions. Understanding that simple fact about their main product made all the following experiences make perfect sense.
- Andersen always operates in "crash mode". Their people work incredible long hours, and if you work along side them they expect you to work the same hours. On one 9 day long project, I got an average of 3-4 hours sleep a night. I once saw one "Anderoid" yell at another because she was leaving at 11pm, to which she responded that her boss told her that she had to work 36 straight hours the next day so she was going home to get some sleep. One time one of the Anderoids and I were trying to solve a specific problem, and I was having a hard time concentrating and it seemed we were going around in circles, so I went home to sleep at around 1am. The next morning, I came in rested (by Andersen standards) and the guy I'd been working with was still going around in the same hopeless circles. I restored the hack job he'd done on the source code from my personal backups, and tried out an idea I'd had in the shower that morning, and it worked perfectly first time. Subsequent times working together, I told my company that I wouldn't go unless I had control over my working hours - I'd work long hours if I had to, but they wouldn't be the norm.
- Andersen hires idiots. They used to boast about how they didn't care about qualifications, as long as they had the "Andersen Attitude". One of the guys on the projects I was on had a philosophy degree. He knew about as much about programming as I did about Cartesian Dualism.
- Andersen is more concerned about looking professional that actually getting work done. One job we were in a large echo-ey room - about 100 of us at big long tables with no partitions or anything to deaden the sound. I brought in a Walkman because I was having trouble concentrating, and was told that I couldn't wear it because Andersen didn't think it looked professional. Evidently 15 people standing around having animated conversations right beside my chair was "professional", but listening to some music with headphones wasn't.
- Andersen are slave drivers of the worst sort. As well as the long hours, they also don't seem to pay that well. And they can transfer you around the country (or overseas) with almost no notice and you have very little say in the matter. One guy on the projects we were on together said that in your entire career at Andersen you can only refuse one assignment - if they wanted to transfer you to Antartica tomorrow, and you've used up your refusal, you have two options: go buy a down parka or quit. He told me that he hadn't been back to his home base in over two years. It was little wonder that the only married Anderoids I met were married to other Anderoids. And even that was no guarantee - one guy I met had been transferred to another city from his wife, and since they'd both used up their refusals already, they hadn't lived in the same city in over a year.
- Andersen enforces their bizarre behaviour requirements on their people by holding this carrot and stick: If they do what they're told, work long hours for little pay and have no sleep or personal life, they will eventually make Jr. Partner. The working conditions don't get any better, but the pay does.
On the first project we did together, my company actually poached one of the Anderoids to come to work for us. On the second project, he came along - you should have seen the faces of the Anderoids when he and I got up at 10pm and said we're going home.
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
It's not programming, but recovering old-emails from Exchange backups in response to a subpoena is a torture worthy of mention.
Implementing a complex, and I mean complex, set of rules that resulting in work reported by our billing system as "ok" or "not ok". Think of the "ok" as you get commission, and "not ok" as you don't. See where this is going already? LOL
Since there was certain type of work that was mandated by contracts, etc., this certain kind of work was automatically "ok" even if it didn't meet the complex rules for being "ok".
When the project planning launched 45% of the work was "ok". Before one line of code was written, the percentage had been manipulated by the middle managers up to 55%.
When the project was implemented it was up to 65%. That was when I quit and took another position. My co-workers at the old job, later reported to me that it was up to 95%. D'oh!
Nice to slave away like a dog and have it be totally useless!
To me the really funny part was I was sent pie charts out to the Project Team and the CIO about this every month. Then when the CIO found out 95% of the work was "ok" no matter what, he acted surprised.
"Who cares if the horse is blind, just load the wagon."
The worst software job I had was to sit on a Friday and Saturday watching a log file and monitor an application. I mean 24 straight hours "Tail -f" and "grepping" log files and gathering reports. For security reasons they wanted us to stay at work instead of watching it remotely. And worst of all...no slashdotting or web surfing...just starring at a damn log file. Man wwhat kind of crap is that! I was ready to flip burgers and asking people if they would like to supersize their orders!
Number one I order you to take a number two!
I had to write an application (from scratch) so I gave the interface designs to the company. They gave me a slew of changes that they wanted me change. So I went ahead and changed them. After about 6 months the company complained that the interface looks to drab and amateurish. So they hired an other consultant to remake the interface and the one they agreed on is very close to the one I originally requested. Because the second consultant was an artiest by trade he was very picky on how I need to alter my work. So then we had to debate wether Text Based links which are easy to program and modify v.s. his graphical links which had all the fancy antialiasing (Which my computer did with the text links). So they had me put in graphical links. Later on after me charging them for every little link that needed to be change because I had to go in photoshop and make a link that looked the same. They finally decided to go to text links to save money. It is frustrating when you give good consulting advice and they don't listen to you and then go back after some time with someone else's credit for the idea. Then they give me more stuff that makes the interface harder to use and to program without much benefit. But they are the customer and they are paying for it, and they pay for me to remove it and put it the way I wanted.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
At my first job I used to make web sites and modify stolen cgi scripts.That was one hell of a boring job ,I thought 4 times before posting this here.*embarassed*
HTML has to be the most boring thing ever!Eventually i found PHP as an alternative to the perl cgi scripts.that made life a lil interesting.
Lord of the Binges.
You are describing wage slavery. Even the worst job can be defended with 'it's better than no job'.
- We need to use the most expensive JSP interpreter we can find.
- We need to use the most expensive JSP IDE we can find.
- We need a separate computer for each person (including those who will work primarily from their computer located off-site), plus a test server and a backup for the test server and an extra computer just in case.
- We need to make the database as related as possible - if you can make a lookup table for a Yes/No field, then by all means you should do it!
- Make sure each and every table has an auto-increment integer index, expecially those tables that will contain over 100 million records.
- Development time must take at least 18 months to provide a proof-of-concept, but cannot produce anything that may be actually used.
Needless to say, I was kicked off the job and threatened with being charged under the Patriot's Act for complaining about the job on my BLOG. Now, I'm out of that environment and wrapping up a 4-month conversion of a VB/SQL2000 application to PHP/PgSQL. Practically the same job, but I really love this one.The previous comment is purposely vague and generalized, but all of the facts are completely true.
My situation is kinda similar to the parent. You folks remember the Commanche helicopter? I was hired to work on that six months before the army told us they were gonna cancel the project. That was a month ago. You wanna know what the really wierd thing is? I'm still working here. Unfortunately (or fortunately, depending on how you look at it), they haven't given me anything new to work on. Right now they're paying me to play solitaire and read Slashdot. My boss literally told me to just look busy. You may think it's fun to be paid to goof off, but it's really really boring. Gimme something to do, damnit!
At CompUSA, mine had the delectible odor of cigarettes and coffee. It was super-great when I'd be sitting there hunched over a computer, removing some part, and he'd come over and start talking to me about how I should be doing it, like he knew a better method for removing RAM or something. Nothing worse than a smelly dumbass for a boss.
Slashdot is proof that Sturgeon's Law applies to mankind.
...of jobs, it was the worst of jobs
When I was 17 I got a job at a local pizza place, they highered me to bus tables, do dishes, basically bitch work.
One day the boss heard me talking about programming with a friend of mine during my break. Figguring that I knew about that "computer shit", I was promptly put to work in that capacity.
At the time I had some basic knowledge in C++, Linux, electronics, but I was far from an expert.
The boss decided that it would be nice to have some automated software to handle inventory, employee timesheets, calculate taxes, etc. She also wanted to be able to access this from home, print out reports, generate scheduals etc.
They decided instead of highering someone who was actually qualified they would have me do it, since they were only playing me $5.15 an hour.
It seemed like a good thing at the time, no having to be on my feet all the time, no doing dishes, and it would be fun. Plus I might get a raise
It ended up being a nightmare.
Along with writing software, they had me servicing the pinball machines and the managers had me working on their personal computers as well.
A lot of the time too they would schedual me for say 4 hours a day to work and then give me unreasonable scheduals so I would be working 10 hours a day, no overtime.
I wanted to quit but of course my dad wouldn't let me, said it showed poor work eithic. So for over a year I was writing software, repairing pinball machines, doing work on managers machines, setting them up a website, anything they could think of and only making about $100 a week.
Famous Last Words: "hmm...wikipedia says it's edible"
My first programming job, right out of school was with a small mortgage company. I knew things were going to be bad when the monthly processing run to distribute interest payments to the various loan 'investors' crashed on my 3rd day, while I was still figuring out where my predecessor had hidden stuff before he was fired.
2 years later, I quit after my entry in the employee pool on which regulator would close them didn't win. My final check wasn't really a check, since no bank would open an account for them. I got a paper sack literally filled with small bills.
I thought I was done with them, but 2 months later the trustee handling their bankruptcy called and I went to work for him as a consultant, recovering their data. We got almost 90% of the principal identified and recovered, which surprised everyone and netted me a nice bonus. But the real bonus didn't occur until over a year after that, when armed guys with badges and everything showed up at my door. I didn't even know postal inspectors carried weapons, but they do. They wanted me to help them prosecute and convict the owner of the mortgage company.
There is nothing in the world as satisfying as the sight of a former bad boss being led off to serve time in federal Pound Me In The Ass prison.
Ported a largish project from SGI to Linux ... about 200K lines of C/C++, about 200K lines of Fortran. Much of this code came through various iterations starting with Vax & Cray machines.
... no problem.
:/
Most written by engineers, not software developers. What was written by software developers made it even worse. Rather then pass data sanely consistently between the C/C++ half of the code and the fortran part of the code, it was passed by 3 different methods:
1. As normal arguments
2. By allocating huge blocks of shared memory, and passing offsets & hardcoded sizes back and forth between the two.
This was a nightmare because GCC doesn't align structures the same way as the SGI compilers, and everything was hardcoded in 3 different places (C headers, fortran files, a C array that some (but not all) calling functions looked stuff up from. And there were hundreds of structures involved, all had to be manually aligned. Many didn't have the same (or even similar) names on the fortran & C sides. Throw in some gratuitus unions, and it was a disaster.
Tried using the gcc compiler flags to get it to align the same way as the SGI compilers, but always resulted in code that segfaulted arbitrarily.
3. Through some kind of 3rd party btree database. We had the source code, and it built on Linux, but didn't behave in a manner consistent with how it worked on the SGI. Couldn't contact the original developer, even to give him license fees, so spent alot of time digging through that to get it mostly working.
Also, lots of SGI proprietary motif extensions that had to be worked around, SGI proprietary file formats to be worked around, etc. big vs. little endian issues to be worked, gigabytes of output to V&V between the two versions etc. And some meatball that wrote lots of code with variable & function definitions in the style of ThisIsMyTemporaryIntVariable
Finally, they decided to write their own memory manager. Which of course, didn't work the same way on Linux as it did on SGI.
And of course, you know nothing was documented.
But when it was done it ran 3 times faster then the SGI version on machines that cost 1/10 as much. But then they decided to drop the whole thing about 6 months later.
Anyway, my employer lost a big contract because the starters were against any type of information system improvement.
<side_note>
The starter is the person who sits next to the first tees for the first hole on the course and tell groups of people when it's their turn to start. The starter is a very powerful person at the course.
</side_note>
It seems that the starters objected to our info systems because it would have made it more apparent how many people they let play for bribes. Like the doormen at popular dance clubs, starters routinely except off-the-books bribes to slip people into the startng lineup.
I joked that perhaps if we can't beat 'em, we should join 'em, and should create The Graft Module to help channel elicit funds into the starter's pockets. That way if we could get them on our side and get the contracts.
Tht was a couple years ago. I'd be interested to know how that situation continues to evolve in the golf world.
I've found that my posts don't format quite right w/o a sig.
I landed in the middle of a project that had been in development for TWO YEARS, and was poster child of evil software engineering malpractices: hardcoded numbers and strings, no separation of content and logic, no coding standards, no comments, no docs, no NOTHING. Mixes of PHP, javascript and HTML in the same line. Copied and pasted javascript code that nobody knew what it did, but when pasted in worked. And, of course, with fire-breathing bosses looking over your shoulder. And with crappy dell computers on 14" monitors that gave 70Hz at 800x600. I had left a job coding java in a decent environment with people from wich I could learn lots, but switched for the money. Not long after that I realized there's more than money to a job. I left that job with the begginings of stress-induced breakdown I would suffer a month later, and a vow to never again work anywhere before asking about the documentation policy.
If it involves those three words, run screaming into the night--saves time later.
One line blog. I hear that they're called Twitters now.
Ha! At least you guys got to write some code. I once contracted for 6 months to a firm writing a very simple piece of firmware for a very simple piece of railway control instrumentation. Now I understand the need for safety, but this was incredible...
:-)
"Project Engineer" basically too shy to talk to anyone - the original guy, who was not bad, had quit.
TWO full-time safety engineers.
"Lead Engineer" who changed his mind about the design basics every three weeks.
Four other engineers including myself.
And for those six months we did nothing but write design documents, beginning with a "C coding standard" and attend design review meetings to revise those documents. At least it paid well - but I've had jobs like the ones above where there was no money at the end of the job and they were more enjoyable. At the end of the contract the most satisyfing thing I had done was a build system with makefiles, but I later heard the "lead" scrapped that for his own design. And then scrapped that too
Joel has a great thread on this subject.
VB may be evil, but it can't touch what it replaced.
... in the original MS Excel "my code is a spreadsheet" macro language.
My worst programming job? 1991 - I had to build a lockable databasing/math/graphic app with full idiotproof GUI
It took me a week to even figure that the language didn't really have variables. I'm not kidding. You put formulas in cells, and the formulas returned their results to those cells, just like in regular Excel sheets. Except that you didn't see the results or have any way of knowing this was happening, because code sheets (unlike data sheets) display the formula rather than the result. Then you gave that cell a name, and used that name like a variable. But the cell had to have a location in your code column. None of this was documented.
Instead, all the examples put the name of the variable in the column to the left of the code; the documentation seemed to imply that putting the name there created a variable you could use later on. On the contrary, that text in the left column was just a comment; to create the "variable" you had to name the appropriate code column cell using a menu option. Identifiers didn't appear in the code anywhere.
After two days of trial and error, I was able to write code with variables. Then the hard parts began.
Over 90% of the development time was spent just trying to deduce how the language worked.
From my point of view, VB is a godsend.
I stole this sig from someone cleverer than me.
Currently working (for the past 18 months) for a not-so-recently merged telco, translating legacy network inventory data. Most of the critical fields are free text (or left unset); the structure of the data itself is flexible (on the whim of the operator who entered it); where templates have been supplied the operators have ignored them. We've had to write tens of thousands of lines of wildcard pattern-matching rules.
Working at Initech was the worst. They took my red stapler away then made me work in the basement and take care of the cockroach problem.
Wasn't an active member of the bar or serving a counsel, though. A shame, as I'm sure we could have done something if he was an "officer of the court" encouraging perjury.
"Prepare for the worst - hope for the best."
My first job after college. A top secret project at a major defense contractor to reengineer a classified government system. A featureless, windowless building. Every person has their own safe to store classified documentation.
It's a noncompetitive contract. The contractor has taken hundreds of clueless idiots, given them crash courses in current technology, and declared them all to be experts.
The phones are monitored. The computers are monitored. Nobody will talk about the project because it might be a security violation. It takes months just to get the general idea what we're doing.
What are we doing? Creating stacks and stacks of technical documents, documents that refer to documents, requirements with five nested levels of numbered paragraphs, interface documents, design documents, operations documents, systems to track the cross-references, the changes, the acronyms. In short, creating the mother of all piles of paper, that will eventually ensure that weeks must be spent checking and re-checking every page each time someone wants to do some work.
Some day, in the future, we may start actually writing code. Some day very far away.
I quit one day after my contractually agreed one year was up.
There is no worse job than a job where there is absolutely nothing to do.
It started innocently enough, I had been doing a variety of Linux contract programming jobs, and got hired by one company to help port their flagship product to Linux. Usually not too bad a job, and the product itself was something of a spiffy concept, and worked decently on some other Unix platforms.
First problem is that it turned out that this was, essentially, abandoned code, and the original programmer had quit under unpleasant circumstances and moved back to (some random country across the pacific), and wasn't on speaking terms. It was poorly documented, *very* platform specific, and relied a lot on undocumented behavior by the OS. Needless to say, it took quite some time to figure out how everything worked, a lot more time to get a decent Linux prototype running, and even more time to work around a lot of niggling Linux issues. Ugly, and the company already had customers lining up out the door to buy what didn't exist yet (and certainly wasn't tested).
Then, once all the niggling little details were mostly worked out, they shifted the platform from Red Hat Linux on x86 to a custom Linux running on Netwinder BMs running StrongARM 110's, which, unfortunately, required a lot of entirely different low-level coding to get working. By this point I was working many late-night hours, and my bosses were doing near-hourly status requests.
What's worse, I got called for jury duty in the middle of this, and despite some good attempts to get jury duty delayed, I had to show up---and immediately got myself sequestered as part of a many-week long trial. I essentially had to take a 90%-finished product, and with almost no warning, pack it up hardware and all and dump it on another contractor. And I had my contract summarily canceled (i.e. I was fired). At least it was behind me...
...until 6 months later, as I am packing up to move out of state, I find myself walking out the front door into a process server, and faster than you can spell "subpoena" find out that I'm now a witness in a civil case in which my previous employer was suing the contractor I had handed everything off to. I spent much of the next several months spending many unpaid hours giving depositions and statements, only slightly relieved that I wasn't on the recieving end of a lawsuit.
Oh well, they must've gotten it worked out, the product is still for sale for Linux, but I know better than to even try to ask about how things turned out.
but generally i expect more from slashdot readers. I don't expect them to be any more compassionate than the next 'guy', but i do expect them to be more critical. Not critical as in "hey ugly, your breath stinks", but critical as in, "let's take conventional ideas about what it means to work in the sex industry and let's actually think about them". I don't see any of that going on here.
The reality of what you are talking about is far more complex than girl + fucked up life + booze/pills/hooking = stripper. This is the story that is told in our society and it exists in our collective unconscious. It's a handy myth, because it serves a purpose. It allows men to believe that the stripper he is paying to lap-dance him is already messed up and therefor somehow deserves to be treated like a whore. Ultimately this serves the stripper because she needs to get paid just like everybody else. The myth fails to serve the woman-as-stripper though, because the reality of each woman's situation is blanked out within this framework.
Besides the fact that making sweeping generalizations about an entire class of people is sloppy thinking.
-isaac
i don't have a sig, i swear.
Years ago I worked at IBM and had to write software in Pascal.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
You know, there's a reason it's called "Thermogoddamics".
The only reason we have the rights we have is that people just like us died to gain those rights. -- Cheerio Boy
This was the same company that:
- Used Dreamweaver because it worked with stylesheets, but yet they just used the font tags to change anything.
- Wouldn't use Dreamweaver's built-in templates, despite the fact that every page except the home page on each site looked the same.
- Wouldn't develop a content management system despite the fact that they had over a hundred static sites that had 98% of the same content duplicated site-to-site and were developing on hundreds more.
- Wouldn't do anything that looked like a shortcut (development wise) because it scared them.
- Had no documentation for their large J2EE system.
- Complained that open-source software was no good, but yet used IBM's Web Sphere which used Apache v1, on Windows no less.
The US operations closed a few months after I left them, but the best part was my manager was fired a few short weeks after.
F### you Brian.
Damien
most (if not all) application logic is still embedded in PL/SQL stored packages. My job: find hard coded strings, and replace with calls to the globalization API
Wow.. that does suck. Taking code with readable stuff like "SELECT %s FROM custable WHERE name='%s'" and having to turn it into an obscure and SQL-function-specific API code that is nowhere near as intuitive and readable (and that ultimately just generates the SELECT call again) would indeed wear on the soul on so many levels. I feel your pain.
Start adding something like for (i=0,j=0;i1000000;i++){j|=i} before every API call. Your job will feel more tolerable, and if you are lucky, will come to an abrupt end some day.
Within it, I actually found a leap-year-determining function which went like this:
IF Year = 1980 THEN RETURN TRUE
ELSE IF Year = 1984 THEN RETURN TRUE
ELSE IF Year = 1988 THEN RETURN TRUE
ELSE IF Year = 1992 THEN RETURN TRUE
ELSE IF Year = 1996 THEN RETURN TRUE
ELSE IF Year = 2000 THEN RETURN TRUE
ELSE IF Year = 2004 THEN RETURN TRUE
ELSE IF Year = 2008 THEN RETURN TRUE
ELSE RETURN FALSE
Why do I call this this worst function of all time? Because A) it doesn't actually do the job it's supposed to B) It transcends obfuscation into the realm of the deeply sad and C) It's actually harder than doing it the obviously right way!
All employees must wash hands before seeking equitable relief.
So I take it you are not following in the family business? ;)
Seems as if there is not as much need for Developers these days.....
eat shiat and bark at the moon
That is why I stayed the hell out of the software development industry...exactly why...lol
If carrots got you drunk, rabbits would be fucked up. - Comedian Mitch Hedberg R.I.P. 03/30/68-2/24/05
Oh, sure, all the /. teenyboppers (emphasis on bop) will be saying, "sounds like my dream job", but it really was horrible.
While it is not a requirement that porn companies be run by schizoid paranoic losers, they all seem to be.
This gig was no exception. The guy who ran the place clearly suffered from chronic depression, only barely understood how web technology worked, and was mind-bogglingly penny-wise/pound-foolish.
An illustrative example. For another client, I was being sent on an expense-paid trip to the colo facilty they shared, so I told Nutcase, "If you can get me a pile of CDs of the latest content-tree, I can load it onto the server while I am in town" This led to a several-day whine-a-thon how his CD burner was on the fritz, and he was going to have to go to great lengths to borrow a friends and blah blah blah. "Well, that's fine -- I leave for Los Angeles on Tuesday at the crack of dawn, so if you get them into DHL for morning delivery Monday at my house, I can load them up."
I get back from LA later that week, and he asks, "Did you get the content up?" "No," I reply, "I never got the discs in time..." "Why didn't you cancel the trip!! This is really vital for me!"
I patiently explained that this wasn't his trip, and I will deal with his content when I get the media.
Some weeks later, I finally get a box of CDs (he had sent them parcel post. Mean shipping time between the US and Mexico for parcels is like six weeks), and tell him, "Okay .. I got the CDs today. Do you want to pay for a trip to L.A. to do the load up, or what?"
"I thought you said it would be free ... "
"I said it would be free if I were making the trip on other-client's nickel. That is: If I were in town for his thing, I could stick your CDs in the drive while I was there. Now, you've MISSED that window, so what do you want to do?"
"You're always trying to fuck me over like this.... OKay -- I won't pay for the travel, but you can upload them from there, right?"
I think to myself: God, I hate this man.
"Sure, I can do that ... "
So, he paid me USD 25 an hour, for dozens of hours, to use a very slow connection to upload twenty CDs worth of content, because he did not want to spring for a fifty dollar round-trip train ticket to LA.
Or, another time, we're having some issues with one of the admin tools, so I'm on the phone with him. But he doesn't want to talk about the ####ing site, he's busy bragging how he's nailing this model or that model.
I am not the kind of guy to break his balls because he has figured out how to pay for sex without calling it prostitution, but I really could not care LESS who was waxing whos chili. I just want to get this problem resolved and close the ticket. But I do not get that. I get three and a half billable hours listening to him talk about his sex life.
On top of that, it's a harsh development environment. You have every horny hacker-nerd out there trying to steal your content, so you have to be on top of every possible security loophole. You get slammed bandwidth wise at random intervals as the whims of the horny public swing around in the wind.
Finally, it's a real negative point on your resume. Other employers will steer away from you, because you must be "tainted" in some way.
I'd do Telemarketing before I do programming for another pr0n site.
How does the Slashdot Effect happen given that no slashdotters ever RTFA?
Recalls an ancient Chinese story.
/., where a certain disrespect is a requirement.
Subsistance farmer. Prize possession: a horse, that pulls the plow. Horse escapes.
Farmer faces starvation. Neighbors console. He says:
"Good news, bad news, who can say?" (GNBNWCS)
Horse returns, drunk(1), several other wild horses in tow.
Neighbors ecstatic. This is the ancient Chinese equivalent of winning the lottery. He says:
GNBNWCS
Farmer's son out breaking one of the FNG ponies. Thrown, compound fracture, now looks like Yassir Arafat(2).
Neighbors console. He says:
GNBNWCS
The king comes through the village, gathering young men to go fight. Farmer's son is convalescing, so he stays. The rest go. (The story relates nothing of the causa belli, but it may have had something to do with evening a score with another ruler over an assasination attempt on the king's father).
At any rate, the king is defeated in battle, and the villiage sons are wiped out, except the farmer's.
GNBNWCS
(1) OK, not in the original, but this is
(2) This story favors the Artistic License over the GPL
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
- was essentially undocumented
- would fail on install 5 times in a row and then magically work the 6th time
- work 5 times in a row and then fail thereafter requiring a complete wipe and install
- worked once for the developer on the simplest test case, so ready to ship
- Had APIs with helpful parameters such as A, AA, AB, AC
The client site was essentially an OfficeSpace environment in the midwest. Thank god I was only there for 9 months.Did intranet development. Before the bankruptcy it was pretty cool. After the bankruptcy:
1. Everyone pretty much showed up when they wanted to... except managers. The better coder you were, the later you showed up. The guru usually got in about 11 AM, just in time for...
2. Lunch! Lunch started around 11 AM and usually spanned 2 or 3 hours. Typical noon-time activities included runs to the local comic book shop, eating at the sushi place or going over to someone's house to watch a movie or play Game Cube.
3. Around 2 or 2:30 PM we would start to wander back in to do things like work on projects that would eventually be canceled because of budget cuts/layoffs/political fall outs, maintain legacy code or juggle... juggling became pretty big... although I usually worked on my web comic, so I never really learned how to juggle.
"What's so bad about that?" you may be asking... well, I have never been so demoralized or depressed as when I knew each day was going to be pretty much a non-productive wash. Yeah the money was OK, but there was negative job satisfaction with the added morale booster of regularly getting to watch your friends get laid off... wondering if you would be next.
Now I'm web master for Hinds Community College, have my own office, a budget and actually got a raise by leaving the corporate world for academia (quite the opposite of the tech trends in the late '90s)... I didn't get laid off from WorldCom, so I got to leave them... and, boy, that felt great! ^_^
particlesphere.com - quantum
Oh man, do I have some bad memories of one of my first development jobs ever, way back in the late 1970s. I had just dropped out of school, and anyone with a few computer coding courses could get a job almost anywhere. I got a job in Denver, I figured I could spend my winter weekends on the ski slopes.
So I went to work for the US Geological Survey. They put me to work translating some old FORTRAN II programs into FORTRAN IV, the programs were old NASA programs used for data analysis. I had an old Hazeltine dumb terminal hooked up to a fancy new Data General Nova with an array processor. Everything had to be tediously edited with a line editor, one line at a time, no full screen editor was available. The first part of the job was translating everything from 8 bit words to 16 bit. This was the first step to getting them ready to conversion for the array processor. It was incredibly fucking tedious. But the worst part was testing the programs. When my first conversion was ready for testing, I took it to the boss and asked him how I was supposed to test it, did he have a data set to run against it? And if I could get them to run, was there someone who could check the results for accuracy? And then I got the shock of my life, the boss admitted he had NO IDEA what the programs DID, so I was completely on my own.
Life in a cubicle began to really suck. I didn't think it could get worse, but all that sitting at a desk aggravated a medical condition, I developed "Jeep Rider's Disease," a pilonidal cyst. Sitting down was unbearable, so I had surgery to remove the cyst. It was horrible, essentially they cut out a big chunk of your ass crack, and leave the raw meat exposed so it slowly grows back together. After a week or so of recuperation, I returned to cubicle-land and sat on a little inflatable donut shaped pillow. It was even more painful than my prior condition. I tried to work at home, sitting on my stomach while typing on my homebrew computer, via a dialup. I was still getting the work done, putting in well more than 8 hours a day, but nobody saw me in the office, so I got fired for chronic absenteeism. Actually, it was kind of a relief.
I hung around Denver for a couple of years total, working at a couple of different developers. And here's the punchline: for the two winters I was in Colorado, there was a freak winter drought, it only snowed ONCE in two years. There was never enough snow to ski, and they didn't have artificial snow machines yet, this was the Rockies and nobody ever figured they'd need artificial snow. I never got to go skiing even once.
My worst one was when I was on a work placement. I wasn't getting paid and I was given this nightmare job of converting a large Fortran program into QBasic (I think. It was a while ago). It had been started by someone else and was in a bit of a mess. I was working on this for a few months non-stop and it drove me nuts.
The worst experience I ever had in my job was writing (and the in-field debugging) of an atm-like machine designed to sell tickets at amusement parks in 1993/94.
One case in particular:
I was at a large amusement park in Ohio famous for many roller coasters (name witheld), and we had installed this atm-like machine to sell tickets.
I was in the field updating the software. In order to do this, I entered the little booth, and had to turn the touch screen monitor around to use with the keyboard. This left the front of the machine open. As people would walk by, they would throw garbage, gum, cotton candy, ice cream, etc into the opening, thinking they were being 'funny'... it would land in my lap, then they would run away, laughing, saying to their group of friends "There was a GUY in there!"
Converting the punch card based records of holes dug in the road in my local authority by utility companies to a digital replacement. Two weeks work experience, no chance of automating it.
Surprisingly I've worked in computing pretty much ever since I graduated.
Special Relativity: The person in the other queue thinks yours is moving faster.
I'm not making any of this up.
My most recent co-op term required me to code some biology software for a startup company. The boss decided that rather than do any real work, we'd look at all the open source software we could find, take the parts we liked, and make a commercial product out of it.
One day, he came in with a 1.5' bar of structural steel. He borrowed a grinder from a a hydraulics shop and ground the steel into a dagger. He did this inside. This meant that there was iron dust (conductive) all over the computers. It took him about 4 days to make this dagger, but he'd start yelling that "people are dying of cancer while you're checking your email!" He played with this dagger every day. It was scary.
The last thing he asked me to do was make up a list of "all the built-in functions for C++ and Java". I showed him the Javadocs, and he told me to "put it in a spreadsheet." When I refused, he fired me. He's since decided to make this massive software project out of BASIC. Not Visual Basic - BASIC. TRS-80, CoCo2, Commodore64 BASIC.
To top it all off, he chewed tobacco. He was a vegan (which is fine; I'm vegetarian) and yet he chewed tobacco.
That's the worst development job I've ever had.
---
ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
I had to manually update the shipping cost tables for UPS, FedEx, and a couple other companies to about 30 or so systems. Each in a different state, so I couldn't just copy and paste.
Mike http://thenextgenerationofradio.com
marijuana: the cause of AND solution to all of our problems. seriously d00d this sounds like a good opportunity for you to get into chronic smoking...
Well, I feel your pain on most of your post...but, in the area of database...if there isn't a proper natural key for the primary key, I'm a big fan of sequences and triggers to generate unique integer primary keys. And if the database is to be on a RDBMS, then hell yes, it had better use a related model...gotta be normalized. If you have a good model, the rest will fall in place.
However, I will agree with you about the expensive gear, but, with Gov. rules, they pretty much rule out trying to do things with open source...something I try all the time. Heck, have linux on many desktops around here...but, they are trying to get them out....and forcing that NMCI piece of crap down everyone's throat....
But, I gotta speak up for the database parts you complained about....you can't shortcut on that...ESPECIALLY if you are dealing with 100+ million records....
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
My immediate supervisor was a dude who was best friends with the department manager, which is why he had his job. I know this because they had the same working relationship at their previous bank, and bragged about it. Anyways, my supervisor fancied himself a programmer, which he was not. I was saddled with existing Perl code and it was my job to fix it and enhance it during the course of the day. I did my job well. Apparently, my supervisor would get bored late at night, and would wade through my code and reformat it and re-comment it to suit his own style tastes. No functional changes, just comment styles and formatting. And broke the code in the process. Every night. Every morning I came in and there were people waiting for me wanting to know why the software was broken. Nothing I said to my supervisor or the department manager made any difference. I fixed the same stuff over, and over, and over. And all my co-workers knew was that my software was always broken.
I had a friend. He had a job. "Just a few screens," he said. I said "Ok! I'll do it."
:-/)
Then came the meetings. Then came the time. "About a month and a half in man hours." I said. "About a month and a half," is what they heard.
"Five screens only," said they. "Five screens," said I.
But wait! There's more. Next week there were four more! Four more screens and reports to go. Four more screens - but a month and a half still to do them in.
But then came next week and lo and behold! Sixteen other screens had to be made you know. Because the ones from before required these screens or else they would not operate. So now we were at twenty-five. But a month and a half - no more.
So off I went and checked them out and who should be hidding but twenty-five snouts. Yes! Twenty-five more screens hidden under buttons and some even had twenty-five cousins. So now I was up to seventy-five. "Seventy-five screens!" Says I. "But only a month and a half to do them in," says they. "Preposterous!" Says I. "Not so!" says they. "You can do it - you're a wizard today."
"Fat chance!" says I. "Look at the reports! One for each is seventy-five reports! Whatever happened to the five? Where did these all come from?! I'm working night and day but these screens are falling like bullets from a machine gun!" "But you said you could do this!" they quipped. "Yes, but it will take seventy-five years at the rate you are going!" I said.
And so the dust flew and we squawked and we chattered and finally decided the fate of the matter. There just was no way to do the screens in the time alloted. I gave them the five and then bravely departed. The extra fifteen I threw in when they paid me some more, but I've stopped work on them and they leave me alone.
I talked with my friend again the other day. Now there's an upgrade and the other members of the company say: "There's only five screens we want you to do. They are simple - they are few." And now my friend must face them and say "You're full of S*** - just go away!"
(Taken from a true story. The company has well over 150 screens, has nothing in writing about what they do or how they do it, all of the screens are interconnected and require all of them to be created before anything will work. Even after it became obvious that there were hundreds of screens and we tried to talk about it the company would not sit down, print out copies of all of the screens, and even tell me how they worked. It became a nightmare which we (thankfully) stopped after almost three months had gone by. Although the screens were being made I would be told each screen should operate in one way only to have someone else say it should operate in another. No cohesion, standards, nothing. But a nice program still.
Someone put a black hole in my pocket and now I'm broke.
The CEO had this Physician buddy to whom he owed a favor and since I was pretty much twiddling thumbs between projects (and playing copious amounts of Quake) it landed on my lap.
I had to take a VB Form based App (this was way back in 98) which was essentially for a Doc, which takes him through a million forms with questions (with a liberal dab of option buttons/check boxes/list boxes and combos) which he would choose and choose and after what seemed an eternity, will finally spew out some BS in the last form which sounded like what the disease was, the symptom list and what he should do.
Anyway, the problem for me was (did I tell you that it had a million forms of all sizes) all the labels/text boxes/frames/ FUCK!! all the controls had dark green/purple/red/radiant blue/deep yellow/bright orange and every conceivable color as ForeColor and Back Color. Which meant that if the Patient even saw the UI, he would go color blind for a week. So I was assigned the task to clean it up and not touch the functionality. Ofcourse I pleaded with the CEO to let me rewrite the piece of shit software (in better words), but they wont let me. Why? It was the bastard's pet project, so I had to clean it up and thats it. And Did I tell you that there was not even a fucking DB used to store all the information being entered, it went in to a Text file. I guess the sonofabitch while learning VB on his own, didnt buy a book advanced enough to teach him the 123's of Database Management.
Anyway, to top it all, I had to give justification about my hours to my Project Manager. I toiled day in and day out (to the extent that I promised myself never to touch the UI ever again), and cleaned up the mess to a point where if someone looks at the UI, he or she doesnt clutch their heart and keel over (Think Dilbert!)
All through the two weeks it took me, I had to suffer all my counterparts sitting around me coding in C++ and passing smart ass comments on how the backcolor of TEXTBOX1 didnt match the Forecolor of LABEL1.
Rapid Nirvana
Unfortunately, he spent the rest of the time backstabbing his subordinates, taking undeserved credit, covering his bad decisions, and doing work for his cousin's development firm on company time.
One Friday, we were told to stay until 6pm for a meeting (to accomodate our California branch). We were told the VCs had pulled funding and the company was shutting down. When the meeting ended, the managers in California stayed behind for two hours to answer questions. This jerk turned into a jerk-shaped puff of smoke, grabbed a previously-packed box he had set by the door, and was gone.
After about a year of unemployment, I finally accepted a job offer. That night (what a weird coincidence), he called and tried to flatter me into accepting a job at his "New Start Up". I choked down the bile and politely told him I wasn't interested.
Oh. I almost forgot. His method of commending a (male) employee was to say: "If you were a blond, I would kiss you on the mouth". While his method of saying he didn't like the way you did something was to say "Well, Fred. I'm going to have to fire your ass ... hahahaha just kidding."
I used to build all kinds of custom multimedia presentations for a former employer. Typically, various parts of the presentation would be customizable by the end user (e.g. ability to swap out videos or change some text). On one project, the requirements kept changing every day but I worked hard to meet them, adding and removing features as requested. I spent about 3x the hours budgeted working on this thing. Finally, it ended up that what the client really wanted was an empty presentation with a pretty background that would let them add their own bullet lists to slides and then display the slides linearly. Yes, I had just re-created PowerPoint, only with less functionality and for 10x the price!
Your fantasies contain the seeds of important concepts.
I'm working on a helpdesk but did some little Notes Developement aside. :)
Every week management would create 1 word document for every contractor with the working hours and sent it of to the agencies. Time consuming for management and a lot of big mails for the agencies.
I was asked if I could make something in Lotus Notes that would automate this.
My first idea was, contractor enters in hours, manager signs it and text e-mail is send to agencies. Management loved it so I started to develop and showed them the end result.
They were happy but would like to have to have the working hours directly imported from our phone system. Great!, no problem. I only had to re-write half of the code, find a way to extract the data from the telephone system, confert it into a format that notes was able to import, etc.
When that was finished they came up with another change, and again and again and again.
What could have been a few weeks work (doing other work aside), lasted almost a half year.
I learned the hardway to setup a development contract between you and your client.
What power has law where only money rules.
What's the worst ever job you had to do in the name of 'software development' (or as a software developer)?
When I was a physics student, doing a summer internship with a research institute, it came out that I had learned FORTRAN as part of my physics undergraduate curriculum. And that I was good at FORTRAN.
"Aha," they said. "We could use that."
My assignment for the rest of the summer: update this old data analysis program, which was originally written in FORTRAN-IV (using punchcards .. even the data you entered was assumed to be entered via Hollerith) and later updated using FORTRAN66, and later touched using FORTRAN77. It needed to be updated to support some additional datatypes, and should compile on a quirky, incomplete FORTRAN90 compiler on the Macintosh (F90 had just been submitted as a standard, and wasn't official yet.)
I was a DOS & UNIX guy at the time. Macs were anathema.
I converted the program, and cleaned up the source while I was there, and it all compiled with their FORTRAN90 compiler. But it was an experience I never wanted to repeat.
Ironically, after university, I didn't do any physics research, and now I work with computers!
Well, it's for linux, so if you have windows...guess this isn't a solution for ya. Also the GUI isn't much to speak of, but it gets the important stuff done. (And works very nicely as a cron job =)
I once worked in a company that relied heavily on Visual Basic. Almost everything was written in it, and anything new was required to be writtin in it. That's not so bad, I can tolerate Visual Basic in exchange for money.
.. well, wrong.
One day I was asked to write a program that converted a vector image into VB code. A Visual Basic program that writes a Visual Basic program.
That's just
You can have the best job in the world and it still sux because of who you work for.
Gee, are you talking about EDS?
you may have heard the chorus:
Oh yeah, life goes on
long after the thrill of living is gone...
You guys are fucked up.
"the guys from strange brew"???
You're talking about two of the funniest characters of all time -- Bob and Doug McKenzie!
You make them sound like a couple of movie extras!
I once had to debug a legacy TCL script that was serveral thousand lines in length. I win already, but, in fact, it got worse. Every variable was named after a different species of rodent. No lie.
if {$vole == $mouse} {
set temp_9 $weasel
} else {
set temp_9 $stoat
}
You show up at the test taking place and this
system will give you an automated test. It will
score it and produce a certification card for
your real estate sales license if you pass.
The programmer created a visual basic application
for the state of Missouri. They then sold it to
the state of Georgia as well. It's
a completely different user interface. How
does he do it? He codes IF statements all over
the application to hide/show the appropriate
form controls and business rules. It was
completely impossible to edit anything on the
form.
-- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
I hope I do not offend anybody, but the worst job for a true developer is to create user interfaces. Try having a dumb ass telling you to change the color of this or move the button here and there... WTF... I mean, you spend a week trying to develop a dll to meet the "customer specifications", and then you think the user interface will be a walk in the park... Wrong!
Dealing with dumb ass users who request that the computer greets them and reads their thoughts...
Yes, madam, I am going back to work now... *sigh*
I know someone who spent a summer programming scheme which is real close to lisp. He claimed it was the worst computer job ever.
Let's just say the last 20 pages of his code was all closing paranthesis ")", that's how aweful the experience was.
PS if anyone can find the C64 version, I'd sure like a copy. I've long since lost my copy.
If a job's not worth doing, it's not worth doing right.
Back in the late 90's I was working for a company that made graphic file import and export filters. If you used any graphics app in the '90s and perhaps even some of the current versions and have ever brought in a file from some other app, then I probably worked on that code.
Well I was once assigned to write an export filter for DWF. This was a light-weight 2D format made by some company that AutoDesk acquired. To the best of my knowledge there were only two apps that used this format, the plug-in for AutoCAD to create the files from an AutoCAD drawing, and the browser plug-in to display them. Visio wanted this format supported because they believed themselves to be a competitor to AutoDesk (I know, it sounds fucked up to me too).
Fortunately the full spec for version 1.0 of the file format was freely available, which should have made this thing a piece of cake, right? But no, the viewer only supports up to version 0.2, which I couldn't find. The best I could determine was that 0.2 only supported polylines, no curves, no text, no closed objects, no fills of any kind.
This wasn't a horrible problem because we had a complete emulation library that could run out everything to simple lines, except for the fills of course, and text. So I had to make the text support. Most font engines that I've seen use closed shapes made of beziers, this wouldn't work for me, I need simple single line stuff. So I had to construct it myself. I could use AutoCAD to export a DWF file that had simple vector letters, think old arcade style text, then I converted that to CGM, brought it into CorelDraw, modified the shapes with some of the tools, exported it out to through a special CGM filter (I was in charge of the CGM filter and knew how to use it to my advantage) and then dumped it to a clear text file to give me a set of points that would draw decent looking characters and could scale decently.
But it gets worse. Since the spec for 1.0 was available management decided we should support it also. The only way we could test it was to run it against our import filter, not much of a test, is it? But the bad thing is if you had an unsupported element in a file and tried to get AutoDesk's browser plug-in to open the file, the damn thing crashed. Any attempt to make a 1.0 file crashed the only other viewer available, and my bosses saw nothing wrong with this! I was livid. I told my boss, the QA manager, and anybody that would listen that if we sent out this filter with profiles for both 0.2 (the working version) and 1.0, we would get bug reports back. But they ignored me. And pretty soon I got a bug report from Visio that said "Files generated with the 1.0 profile crash the web viewer"! No fucking shit. Actually I replied in the bug report, which supposedly would be sent to our clients, "Well duh!". I got lectured by management on that but I didn't care.
Training my Indian replacement.
I think I have seen the worst software imaginable--Aegis Tactical Utilities.
Trying to format 9-track mag tapes was such a mother. You had a little on-screen help, and two pub versions, all of which had to be triangulated to figure out the magic keystrokes on the OL-267 console.
The software, running on that lovely AN/UYK-7, would just abort if you entered a bad parameter.
And a YUK-7 boot is not-trivial. Imagine having to directly interact (in octal) with grub and the BIOS to make your system boot. Emacs is a blatantly simple dream in comparison.
And you try to explain that to the youth of today...
Back in the 80s I had to work at a customer site to do some customization on a business package my company had developed. The customer, a fabric manufacturing company, had no remote access, and no spare terminal for me to work on. The only choice was the operator's console in the bathroom-size, heavily air-conditioned computer room, where there was no desk or chair. The console terminal sat on a piece of plywood between two giant disk drives. So I spent 2 weeks standing in front of it, hacking their crappy DiBOL code, wearing a jacket, hat and headphones. My fingers kept getting cold but I couldn't type while wearing gloves, so I alternated putting one hand in my pocket and typing with the other. I was also simultaneously kicking my own ass for being stupid enough not to resign.
I don't know the source of that quote, but that about sums up my professional life as an engineer in the world of software/hardware integration testing...aka SHIT. Worst Development Job: Testing avionics software in the middle of the night on a freaking weekend while suffering heart palpitations from drinking too much RedBull. Have fun on your next flight!
For those that want to know, here is the definition.
There is a note about how they apply to NET here.
Remember when you were kids and you showed each other your "outie" or your "innie". It's pronounced like that.
Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
Well, I thought it was going to be horrible documenting this piece of code that I'd taken over (written by long-departed consultants, the same old story), but it was actually fun -- about 15KLOC in horribly unstructured code, but I had fun writing a C utility that did a rudimentary parsing job to follow the path of a call.
I ended up with a 20 page document generated right from the source code that had over 15 layers of function calls -- I remember because I ran out of file handles (one for each layer) and had to close and reopen files as I went up and down the hierarchy of function calls.
The whole development crew took part in this documentation blitz after which (drum roll, please) everyone was let go!!! Well, except for the Director and the three team leads. At least now we had good documentation for the code.
Two months later I was the sole surviving developer for 90KLOC in Pascal. Can you say Job Security?
At my first programming job, my first moronic PHB treated us all like we were a big MBA project. Yes, he WAS getting his MBA at the time.
He came up with a "mission statement" that had three parts: "Productivity, Punctuality, and Preciseness." He actually had a great big banner made up with a logo with three great big P's on it.
Truth be told, our productivity remained about the same, but the banner itself boosted our morale greatly. On the way to the restroom, we would look proudly at the banner and say, "I've got to P, P, P!"
Later, when designing a database to track our P, P, and P (at the PHB's request), one of the developers edited the logo, turning the P's upside down, making the new logo have a big 666 on it.
That PHB was an utter moron. But on the bright side of things, some of the other people I worked with were top-notch and are still great friends to this day.
The company itself, however, did stupid things, the least stupid of which was firing the newly-MBA-titled PHB that came up with such imbecilic mission statements and logos.
I'd write more, but suddenly I have to P, P, P!
.sig wanted. Inquire within.
While this is nowhere near the top stories posted here, it's my worst employer story.
I was living at home, going to community college, and just getting into paid programming. I got an interview with the company that provided software for the spice company my mom worked for. The interview went pretty well--there was an oral portion, where I talked with the company owner (he had one employee, a secretary; his previous programmer had recently left). Then he put me through a more practical portion. He sat me at a computer, told me there was a problem in the code, and let me fix it. I'd never seen the language before, but it was essentially a blend of BASIC and SQL (it's called SuperBase). So I figured out what was wrong, fixed it, and showed it to him. I left, he called later and said I had the job.
I began to work for him. I learned that the "interview problem" I fixed was actually a problem that one of his customers had reported and that he hadn't been able to fix it. I learned that he'd done most of the customization coding on the program[0]. I learned that he was a really horrid programmer. As time passed, I learned other things. Mostly, I learned that his paychecks had a tendency to bounce. I learned that if I deposited a check, spent some of the money, and it bounced, my bank would charge me a fee. I learned that being stuck twenty miles from home with a negative bank account, a debit card, and not enough gas really sucks. (I was younger then and (I like to think) dumber.)
I eventually walked out on him, leaving him owing me about $1500. I never saw that money.
[0] The program itself was for running manufacturing firms and had been written by another company. They, in exchange for licensing fees, would allow other people to take their program and customize it for specific clients. My boss had taken it and customized it for food-related companies; among his clients were a spice company and a bakery.
355/113 -- Not the famous irrational number PI, but an incredible simulation!
The first was at a place called Golden State Foods that was a major packaging and distributor for McDonalds. You know the little Chicken McNugget Sauces with the white trays? My job was to stand there for 8 hours a day with only a break for lunch and load those little white 5x5 trays onto the conveyor belt right before the sauce was splooged into them from Giant(1000 Gallons) vat of McNugget Sauce. If I missed one(or even a row) the sauce would squirt everywhere. This was a huge, dangerous Seussian machine that took an hour to clean up all the caked on sauce at the end of the day. While a worked there, someone lost a finger in the meat grinding plant, luckally I only lost my dignity.
The second half of that brutal summer was spent at the Maxell Plant packaging VHS tapes. This was the late 80's and there were tons and tons and tons and tons of them.
I used to work for the "big chip company (the other half of wintel)" until I was outsourced. The last year of my position was spent training my replacements. As we walked out the door, my oursourced replacements (in Bangalore) were outsourced (to another company) and the 10 guys that we trained were also looking for work, but they got work training
their replacements.
That was the worst year. We were offered extensions, but we'd rather be unemployed than train our replacements any longer, so we told them to shove it. Never felt better.
Okay, consider me your boss until they give you something else to do. Your assignment: Konqueror (KDE) has a number of bugs, particularly CSS related. Start fixing them.
My email address is on my homepage (nothing else worth looking at there...), should you seriously need someone to direct you. Otherwise, just start hacking away at something. I'm unemployed right now, and I'm keeping busy by hacking on KDE. (But since I'm unemployed I don't have to look busy so I don't get as much done as I'd like)
Before I could even call myself a coder, not even a "novice" coder, I was asked to edit an install script to locate a variable in the registry to find out what version of a popular CAD program was installed on the system.
I had absolutely no type of coding experience before this, and after pain staking time outside of work to clear up such terms as "variable", etc., I finally got the script to do the one thing I was tasked with. It was very rough.
However, the good point of this is that I actually learned a very little bit about writing code (even in this elementary script form). As a result, it sparked my interest in learning more.
As a result, I have since learned, to about an intermediate level, JavaScript, and some of my first code (form checking) is still in use at my current company. And, as of now, I am about done with my basic C programming language course (all self study). Each and every bit of tech I have learned doing this has directly assisted me on my job, I am a researcher, product manager, technical documentation writer and software tester.
Despite my initialy painful experience, pushing through it has greatly benefitted me and my company as a result. I continue to do a lot of personal study and training in all areas of computer technology as a result.
I was hired to write an application for social workers to perform quality assurance with. This was to consist of a simple series of questions answered Yes, No, or N/A. The Project Manager was neither a social worker, or anyone with any I.T. background other than having once taken a C.G.I. course in college, who was given complete control of every aspect of the project. Requirements changed daily - often multiple times per day, and included such gems as a comments field to explain each Yes/No answer, with another comments field to explain the comments regarding the Yes/No answer. Impossible promises were constantly made to the higher ups by the project manager, without even having a clue just what it was she was promising. The tool ended up being larger than the one it was supposed to monitor, and I ended up helping make several local micro-breweries profitable in the process. I was later offered a contract with them again, and decided there isn't enough money in circulation to make it worth while to repeat that insanity.
Get this: my new boss actually made me decide what hardware, OS, and development environment I'd be using (Xeon, FreeBSD, and Zope respectively).
Then, after spending three months turning ASP into happy code, I had to take a break to write image processing code of the sort that I was good at and actually enjoyed during my undergrad days.
On our company Christmas party, when we all climbed into the rented Greyhound bus for an all-expense paid trip to a nearby city for dinner at a nice restaurant and a play, he only packed three kinds of beer and 2 kinds of wine coolers.
Our office building's free hot chocolate and cappucino machine sometimes goes empty, and we have to actually refill the thing ourself from the large supply provided to us.
The 15'x20' office that I have to myself has only one 4-foot-wide, floor-to-ceiling window.
When I was issued a brand new computer with pre-installed XP, I had to wipe the harddrive and install Debian by myself.
OK, you caught me. My job is awesome and I love everything about it. There's a lot to be said for working outside of traditionally high-tech industries.
Dewey, what part of this looks like authorities should be involved?
My current job is a total frustrating nightmare. I was originally hired where I worked to make a new VB version of an access application. (Hey it pays the bills) So I began in earnest, devoting much time, effort and hard work. The SQL server backend database is a total convoluted, non normalized, non indexed steaming pile. The so-called middle tier performs calculations on massive joined tables, looping through each record, passing this massive recordset of multiple huge joined tables to functions and procedures that may or may not modify one or more fields in this recordset. Management then wonders why this is slow.
Project management, dont get me started.
Our project manager is an MBA with no programming experience, and a total tool. He never looks at source code, has no specification other than *random daily requests* to modify and change the application to match the desires of the last potiential client spoken to. He does not know who Fred Brooks is, he commonly asks for wildly divergent input behavior from day to day. Example: "On this form make the tab order go down after this control, then go across again" or "On this form take off the delete button on the toolbar because customer support thought that would confuse a user" or "on this form i want a to select a column instead of sorting when the user clicks on a grid column header". I have had a manager here tell me, "I am not sure if I trust this application development cycle stuff". Another wanted similiar functionality on toolbars to look different for each entry/edit area. Example: On this form I want search to look like binoculars, but on another to look different, because it needs 'more color!'. To top it all off, managers do not 'get together' on change requests, so they fight each other on how the application should work. My project manager will look and use a form for *weeks* with 'this is great' yada yada and then suddenly and inexplicably decide 'this sucks!' and request a total departure from normal functionality.
Any suggestion that things may be done better using traditional techniques is met with suspicion, or a perverse sense that I am trying to undermine their authority.
Needless to say, I dont work long hours anymore, as I feel used by people to incompetent and lazy to learn how properly develop an app.
Is that you? You're fired!
Those who can, do. Those who can't, go into business for themselves.
By far, the worst development job I worked on was a machine tool job.
The job sounded simple enough - take an existing line running on a fully maxed out Allen Bradley Pyramid Integrator, transition the entire production line (all 116 operator stations, plus automated part routing and testing) over to the new Allen Bradley ControlLogix. Now the kink - we had to do the transition while the plant was running and we could not shut down the line for any reason!
Did I mention that we also were expanding the data tracking for each part in the schedule system by 40% and were also adding 40% new I/O at the same time?
The project was slated to run for 6 weeks in the field. After 9 months - when I finally had enough and basically told the project manager to go get screwed - the project was probably half done.
It's pretty bad when you spend so much time on-site that the entire hotel staff is on a first name basis with you.
I wonder is DT Industries ever finished that project at Caterpillar Mossville Engine Plant.
Ron Gage - Westland, MI
One of two things will happen soon though that will turn it into a nightmare.
They will change their mind next week: can't take a risk on new code, so continue with the old stuff.
It compiles? Put into production now.
So I spent three months learning the (huge and horrible) MPEG spec, writing the software, sending weekly updates, demos and progress reports to the boss, which he usually commented on or asked questions about.
Then, one Sunday afternoon, he calls me and says
Boss: "Why are you writing this decoder? We don't need it. It's of no use to us at all. You've wasted all this time writing stuff we don't need. What's going on? Why did you do this?"
Me: "Erm... because that's what you hired me to do. That's what it clearly states in my contract."
Boss: "What? What?!? Why are you getting so defensive? Just tell me why you've wasted all this timing on something that's no use to us!"
After about an hour of this I realised my boss is insane.
Cress, cress, lovely lovely cress
Example:
I've always said there's something evil about a programming language that can pass a spell check.Right is wrong when left is right.
So, I didn't learn my lesson the first time around so I got another job at a large, international software company. Of course, by this time I had a lot more education and experience (even a fancy degree in Computer Science). So I thought I would be doing really cool stuff since again, they needed someone with Java experience. Instead they put me in charge of builds and managing the code repository. So that meant that every week I got to type in a command that would create the weekly build of our software. When I wasn't pushing the button, I got to write guidelines on programming practices and write proposals for new ideas that ultimately got turned down. Oh, and I also could easily burn 5 hours of the day browsing the web.
So, the lesson of the day is, "Don't work for Large, International Software Companies because they will break you down and destroy any real creative skills you possess!"
"Oh dear, she's stuck in an infinite loop and he's an idiot" -Prof. Farnsworth (Futurama)
Around 20 years ago I had a PC project for a trucking firm where they wanted the routes to be pre-planned for efficiency and the trucks loaded in the proper order. This was pre-GIS libraries being affordable (if they were even available). We figured out a shortest path algorithm, had it working in a decent fashion on the then 386 (I think, it may have been 286) architecture and when we demo'd it the customer said that it won't work. When I asked why, they said we also need the routes to skip the truck scales!
...was the worst I ever worked for. Company 'X' was pretending to build 64-nodes parallel computers.
// version of the free rendering software) behaved and scaled on our X parallel machine. After showing the boss that the performance dropped dramatically after 16 nodes (too much node to node communication) and that actually a bunch of SUN IPX machines on a regular LAN would do the job faster!!!), they asked me to stop the graph at 15 nodes and tell the customer that the performance was scaling linearly up to 64 nodes!!!
Company X had 7 Vice Presidents for 31 employees...
I was asked once to go through all doc, source code and binaries of a software to replace the name of the company that actually did the work by the name of company X. I said 'allez vous faire voir!'.
I was later asked to show how parallel povray (a
I said fuck you and luckily found another job short after. The Company filed for bankruptcy 2 years after.
...that his boss was just a freakin' pervert, plain and simple.
Retrieving lobsters from Jayne Mansfield's bum.
One was at a small videogaming company. They brought me in as a "hired gun" because the publisher had sunk millions into this game, and the developer had nothing to show for it.
So I managed to get them to the state of having a playable demo of the game in only six months. At about that time, however, one of the more "shifty" employees hacked into the financial records of the company to check people's salaries. Well, of course, being a "hired-gun", I was making at least twice or three times as much as anybody there. And of course, this scumbag proceeded to announce my salary to anybody who would listen.
Now, the other employees didn't really begrudge MY salary because they could see visible evidence that I was worth the dough. However, it only served to underscore how little THEY were being paid, so they threatened to mutiny if they didn't see a little more equity.
Can you smell what's coming? Management's BRILLIANT decision was to attempt to cut MY pay. I said no. They countered with, "This is the way it has to be." I said, "I'm outta here."
Luckily, I had a consulting gig that I WAS going to turn down, until this turn of events. However, management at the game company then tried to offer me a 25K BUMP if I would come back and save them. Well, by that time, I knew that they weren't trustworthy, and wouldn't live up to their side of things in the long run, so I said, "No way."
My other sour taste was when, as the 3D engine guy for a games company, the publisher was purchased by another company, and the new owner decided to do a financial audit of all of the current projects. And, of course, my salary was a severe sticking point with the new publisher. They didn't seem to understand the importance of the 3D engine guy, so they INSISTED that the developer lay me off, or there would be no more funding. This was despite protests from the game company that employed me.
For some reason, a lot of management seems to think that engineers are interchangeable cogs, and this was no exception. It didn't matter that I had developed the ENTIRE DAMN ENGINE, as well as the associated artist tools. Heck, I think that by the time they laid me off, the game company's management had half convinced themselves that they COULD finish the game with the remaining engineer, despite the fact that he'd never done a 3D engine before.
So after I was laid off, development of the game slowly ground to a halt. The moral to all of this is that if management insists on nickle-and-diming when it comes to experienced engineers, this behavior will INEVITABLY bite them in the ass.
It isn't a memory leak. It's an object life-span issue.
I worked on a software development contract at one of the national labs. The woman in charge from the lab was a physicist with no programming or project management training or experience. We were behind schedule and under the gun to deliver, when she had me come in on the weekend to spend 10 hours each day telling me LINE-BY-LINE what comments she wanted inserted!
I gave notice on Monday morning.
you had a large cubicle budget. complete with raquetball court.
My first task out of college was to update a system for Y2K. The stupid part: the system was developed in 1995! You think they'd have designed it right by then!
It's good to use your head, but not as a battering ram.
I have the join of making a version of our VB6 application in html. this would be fine except this vb6 app uses tricks in it's layout which simply are NOT possible in html or java. but this isn't the biggest problem... my boss is a complete detail nazi down to the N'th degree. he gets a magnifying glass and checks that things are the same down to the pixel. and if something isn't EXACTLY the same he worries and worries. comes into work at 2 am and looks at it, and NOTHING else can be worked on until it's fixed.
If you mod me down, I will become more powerful than you can imagine....
Working for the Federal Governmnet
It's good to use your head, but not as a battering ram.
It undoubtedly has to be configuring IBM Websphere products, particularly the Directory Server. Its a Right Royal Pain in the Chufter. Paul -- http://www.paullee.com
My web domain.
Perhaps an elite group of slashdot posters have developed something called a 'mod-farm' which enables them to harvest mod-points and apply them as and when they see fit...
Really? I thought he was just talking about waxing his carrot.
I met this woman who had devised her own non-Y2K-compliant date system ... In 1999.
I'm pretty sure that now the danger is past, the idiots are back to using 2 digit dates. Y2.1K is a long way off.
One of my first jobs involved staking a card desk that had the bianry version of a program, figuring out the assembly langauge version of the binary and then converting the assembly language into a COBOL program.
/.
The original program was a COBOL program, but the source and assembly generated from the source had been lost. I did have the data input and print output but there were parts of the program that supported options that hadn't been used in over a year and the company needed to know what to input to get the options to work.
Needless to say, this was a while ago. If I tell you the date, you'll all say I'm too old to be reading
...I've got to say that the past year has to have been the worst year in my career.
I was a WAN analyst for a Fortune 500 (well it was until recently) company, and enjoying all the geekiness that goes with working on a network comprised of point to point, frame relay, ISDN, VPN, and other such transports into the corporate WAN.
Last April I was told that my position was eliminated due to budget cutbacks and they were moving me to a role in IT Operations (read - HELPDESK) so that I could bring the folks in that team up to a higher level of awareness of how networks work. It meant I was going to still be employed, so I accepted. What a mistake.
One year later I find myself bored to tears having gone from WAN guru to doing share access cases for corporate users. Nothing like stepping back to 1996 in my career. You know - BEFORE I had any experience as a Windows NT / Windows 2000 / Novell / Solaris / Linux administrator, before I had any experience as a WAN analyst, etc.
I've been desperately looking for another job, and have been rather open about that at work. I was recently offered a transfer to the LAN team, but told them I'd had interviews at places that'd be more money, no on call, and about 45 minutes less of a commute. I might as well have been talking to The Bobs as they wished me good luck and to keep them posted.
Did I mention that the Ops position was shift work, and I've been stuck working every weekend since Christmas?? Just what you want to do when you're a newly wed...
Beyond annoyed at work, and thinking of changing my name to Peter.
- Dave
There are two seasons in my world - Hockey and Construction
We would extract out a subset of the data - say 1000 records or so - and design a query that should give the data needed. We would then run it against the subset records and verify that it worked. Once we were satisfied, we would run it against the main database. Then, for the next two days, we would read, go get coffee/sodas, talk, or take classes.
Eventually, the answers would come back. Then, we had to bring the numbers into something that could produce the pretty graphs and charts that the researchers wanted to insert into their research papers.
Often, the end result would be the researcher looking at the charts and saying, "Oh... I meant to have you restrict the query to drugs in this class rather than all drugs!"
Sigh... Back to the drawing board.
So the brilliant plan was -- he would issue me student financial aide, then with the help of another crook in the accounting office they would alter my work records stealing hours here and there so it looked like I was overpaid, and I owed the university money. I would then pay the money back, and it could re-enter the accounts presumably in some form they could steal. And oh, BTW, I was supposed to refile my taxes and get money back from the government because that income `never happened`. I got to commit fraud twice! :)
I was really angry, the fraud really only put ME at risk. I would have been the one who got audited, I was the one they were lying to. They tried to explain that i had been accidently paid out of the wrong account, and we just needed to do this thing to fix it...
Not being STUPID, I went to the police, and they devised an undercover operation where basically I acted like a dolt and got them to explain everything really carefully and I wore a wire and a tape recorder (backup). The plan was to then actually proceed with the fraud as they planned and let a forensic accountant trace where the money had actually gone to. It was *ALOT* of fun wearing a wire, but not so much fun being naked in a police station while they wired me. But screwing the people who were trying to screw me (yay revenge!) was priceless.
Problem was, they got cold feet and they devised another method to steal the money using. It was still illegal but almost impossible to prove. Long story short, they were never charged, and the university promised to senture them but they never got around to it.
Meanwhile its impossible for me to find a job because nobody wants to hear you were involved with the police at your last job (it actually *literally* lost me job offers).
Religion is a gateway psychosis. -- Dave Foley
Once upon a time (1984), in a land far, far away (England), I was a comp-sci student. In mid June, I hitched down to the last legal Stonehenge festival. Myself and temporary girlfriend got a lift from Reading to Salisbury by a guy driving a Porsche. Bear in mind we are both were dressed appropriately (Mohawk, bleached black jeans, way too much metal everywhere).
Anyway, conversation with driver lands me with an offer to give him a call when I was back (and down I guess). He runs a small software development company in Reading. I do, and end up doing a variety of things, the worse of which is counting packages of VAX box/racking. The best is writing Z80- assembler to interface between some cheap daisywheel printers they are trying to sell to hook up to VAXen.
Anyway, two months into this, I arrive at 9am, to find the place surrounded by the police. Office manager mutters something incoherent about the place being shutdown and being in trouble with DEC (Digital Equipment Corp) for something.
Several years go by, and I'm actually working for the self same American multi-national, and I mention the story to an old hand who'd just joined my group. Turns out he knew the whole story. The three principle partners had not just run off with customer lists and been selling third party gear, but they had been helping themselves out the back door of DEC's own facilities. The security guard who'd they'd paid off had killed himself, and the main partner had been chased across fields by the cops....
Accepted employment offer 8 months before college graduation. Was informed I was being laid off third day on the job. Poof.
I recently went through a hellish project. I was designing a website for some ex- print advertising execs who decided to start their own web business. First off, these two were pretty impossible themselves, they really didn't have much of a clue about the web, and no matter how basic I tried to explain things, I had to answer every question at least four times. That in itself was enough to drive somebody mad.
But the really awful boring part was the image generation. Now, being ex print advertisers, by the time we were finished approving mockups the site ended up being highly graphical. Don't like high bandwidth sites? Don't visit this one.
Then...and this is the killer...they decided that every section was to have its own color scheme. Requiring its own set of images. The same images--just different colors. There were eight sections at first -- but then there is a sister site as well, with eight more sections. Each section had it's own set of menu items (in normal, hover, and selected states), layout graphics, headers, subheaders, titles, etc. etc. etc.
In total, I had to generate over 1,000 images using the full-page mockup as a base. A very long, very dull process. One of the few times the keyboard really bothers my wrists.
Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
I'm not fat, I have an eating disorder. I can be bothered to pay attention, I just have ADD. I don't want to shirk from intellectual effort with menial tasks, I just have OCD. I do want to interact with others, I'm just autistic. I try to learn to spell, I'm just dyslexic. I'm not afraid of progress, I'm just a conservative. I do believe in society, I'm just a Libertarian. I'm not envious, I'm a Marxist. I'm not using Windows, I'm running fdisk in preparation for a future Linux install. Ad nauseam et infinitum.
After a few weeks of this silliness, and to keep my own sanity, I started typing out the notes verbatim--especially the jokes and nuances--like a script.
It didn't take long before someone else was brought in as the weekly meeting note typer.Have fun: Join D.N.A. (National Dyslexics Association)
Purported duties: Develop database schemas, input forms, and reporting tools for a small nonprofit.
Actual job included: Feeding envelopes into a laser printer one by one, by hand, because the individually-printed addresses would purportedly increase the willingness of donors to part with their money in our fund-raising campaigns.
I almost told them I'd do the grunt work for double the pay, but in the end I just quit.
Training my 'highly trained / just doing a job that no American will do' H1B/L1 replacement?
Actually, that is probably the right way to do it today. You could build an oh-so-trendy layer cake of objects and application servers, but it will be a maintenance nightmare eight years later.
A database + PL/SQL app can survive many trends in programming languages. Connect with Perl, Java, whatever's trendy this week. Report with Crystal Reports for ad-hoc stuff. Nobody can bypass the business logic and mess up the database as long as they work through stored procedures.
PL/SQL is dull and weak, but quite maintainable. And it reduces the "impedance mismatch" between procedural langauge and SQL.
I once spent about 3 months recoding (PHP, HTML) the website of the dot com I worked at. 5 days a week, 8am - past midnight, and some weekends. I actually coded through the new year and commented the code accordingly (/* just celebrated the new year writing this */). I got no overtime, and when I was done they decided they wanted to redo the design of the entire site because the CEO was pissed at the original designer who'd recently quit. So then I spent another month or so redoing all the HTML and was laid off soon after, but told to work one more week to make the site "self maintaining". Someone (not me) submitted this to Fucked Company using the term "self-maintaining" because it was so ridiculous, and I was blamed. The CEO refused to talk to me or even look at me for that last week. What a child. That shows what 3 years of loyalty will get you.
Still, I look back at that job fondly and wish I'd had a bigger taste of the non-dot-com work environment so I'd be able to appreciate the freedom we had a bit more. A lot of it was a nightmare, but I've yet to have another job with a basketball court in the parking lot, great friendships, and beer at lunch.
so i had to go in and do it all by hand... thousands and thousands of items. i'd do a search by vendor, bring up that column in the editor, and it was 4 5 downarrow 4 5 downarrow repeat repeat repeat.
that lasted several days... i'd break for lunch or the end of the day, and my forearms and wrists would be on fire.
to top it off, i didn't have a real desk at that place, just a board over two sawhorses (not kidding). and there was a chair shortage, so if someone nabbed your chair while you weren't looking, you were stuck with a n unpadded stool. AND i had just returned from a trip to the Dominican Republic, where i picked up a nasty intestinal parasite that meant that i needed unfettered access to the bathroom every hour or so.
ah, to be young again. :)
Just raise the taxes on crack.
That reminds me of a long-term night temp job I had after college, correcting bills for AT&T. You'd go through a printed out long-distance phone bill, figure out how much they would be saving if a certain phone plan were applied to it, and figure out how much they would have saved.
There were about sixty of us at first, and we all got paid to take a multiple-choice test asking under what circumstances one would add, subtract, multiply, or divide to get an answer. Not the answer itself, mind you, just how to get it. That knocked out two-thirds of the applicants.
I quickly found two other "college guys" to hang out with, and we discovered that after half a night's work, we'd memorized the billing rates. For the next month, the three of us would knock off more bills than the other 17 people, goof off for a while, correct some more bills, then wander around the AT&T offices rearranging people's cubicles.
I worked a couple months at a direct mailer for slave wages (minimum wage) while waiting for a real job to start. Complete mindless boredom, so all I could do was let my mind wander (or fire rubber bands into the machines and jam them, never your own machine of course.) Bad thing, the machines were cutting all the pages to fit into the envelopes, so you were reaching close to spinning blades and covered with paper dust at the end of the day. That's been my worst job.
Our founding fathers removed the guys in charge. Be American. Vote incumbents out.
Why would you be discussing the Navy's internal computer projects on your personal blog without permission? You honestly think that was a smart idea? I'm not surprised they tried to charge you with something, as a matter of policy.
Marry a bitch and have a few kids. You will be surprised how much more time you spend at work and enjoy it!!
At CasinoCity.com (this is neither an endorsement nor a condemnation of the site) there used to be a search engine that allowed you to find/sort casinos and resorts by dozens of criteria like what games they have, if the there's a hotel, hotel amenities, etc.
Well, someone had to find out all that information and that someone was me. I spent a whole summer creating lists of literally every casino in the world, and then calling every single one and entering all their information into a ColdFusion DBI.
You'd be amazed at how suspicious casino operators are when you start asking questions like "Exactly how many slot machines do you have?" Every now and then I'd reach a place that was no more than a bar with a couple poker tables and I'd get cursed out because the person thought I was working for the Feds or something.
The only upside to the whole ordeal was when I was calling casinos in Quebec I got to talk to a woman with a Japanese-French-Canadian accent. The most hilarious and incomprehensible dialect I've ever heard. It's also completely impossible to reproduce in the least.
-- I'm not a pessimist, I'm a realist. It's not my fault that life sucks so much. --
When the Netscape folks released their code as open source, they apparently cleaned up much of the language. Somebody at the big Mozilla party handed out a printout of all the good deleted comments.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Some might quibble that report writing isn't programming, but there's generally SQL and scripting involved in the more complex queries, and having to deal with end users, who not only don't know what they want, but don't understand it when they get it, is the really bad part of any programmer-user experience.
Give a hand, not a hand-out.
I was there for two and a half years. In hindsight, I should've left after 18 months, if not earlier. You know a job's bad when you get home, on two separate occasions, and break into tears. I think the beginning of the end was when I was thinking about a problem that was particularly nasty, and the boss made a comment to the effect of "We need this fixed ASAP." That was the last straw -- I screamed, in his face, "I KNOW THAT, DAMNIT!" (or words to that effect). He castigated me -- in private, I'll give him that much -- not much later.
I went on leave for a week for (ostensibly) a break. In reality, I was interviewing. The last day of leave, I phoned up the boss's boss, (or was it the boss at that stage... another sign: three bosses on the one project over the course of 30 months) to warn her that I was going to resign when I came in the next working day. "I don't suppose I can talk you out of it?" "Nope."
My last day came, I packed up my things, and walked out of the office door. The feeling of relief as I walked out, knowing I didn't have to come back, was so profound ...
As an aside: two or three days after I resigned, most of the people I regularly associated with at the time commented on how much more relaxed I looked. A few months later, we were talking about work, and somebody commented that good co-workers can make up for a lot. My response? "The people I worked with at (company) were tops in that way." Somebody else: "Fuck -- if the people were that good, and you were that stressed out, how bad was the job?!"
Had I stayed on for another three months (give or take a week or two either way), I would have received $12,000 (Australian) in bonuses (before tax; roughly $6,000 post tax). I didn't care then. I don't care now. (As an indication, $12k is more than 20% of my current annual salary). Sometimes, the money just isn't worth your sanity... and I'm convinced that if I had stayed for those bonuses, I would be well and truly flipped now. It's been nearly four years since I quit that job, and it's really only in the past twelve months or so that I've started climbing back out of the hole that it got me in.
As for whether or not I'd go back to that company -- at the exit interview I said, yes, I would. Honest answer is that it would be a cold day in hell. Working under the bosses that I worked under at that time? I'd rather be unemployed (and having been unemployed for a month, that's not a statement I make lightly.)
Frankly, I don't know how I managed to keep my sanity in some sort of shape. I give a lot of credit to a family (parents, siblings) that cared a hell of a lot, and also to some music that helped me relax and just let the tears flow; not because it's particularly sad, but because it's particularly emotive. Words simply can't express how down I was feeling during those years, and my father's heart attack didn't help matters any either (he survived, and is still going str
I once worked as a web developer at a dot-com who it turned out illegally COPIED their product catalog text from a competitor via a CGI script. There were over 2000 items in that catalog. Their justification was "we are eventually going to redo it." When I found that out, chills went up my spine because I knew the whole thing was doomed. (Please, no SCO jokes.)
Table-ized A.I.
Sure it does.
Termcap was originally an ascii-format file used by curses to describe different computer terminals. (Remember terminals?) Terminfo was an AT&T Bell Labs rewrite that used a binary data format, compiled from an ascii format that was a bit more complex than termcap. In the process of creating the terminfo file, they cleaned up the language. This most common "offensive" term that got zapped was "brain-damaged" - sometimes it got deleted entirely, and sometimes replaced with "broken" when it couldn't be totally avoided. (The old Haseltine terminals couldn't really be described adequately without using the term "brain-damaged" or something pretty much like it.)
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Multi-threaded cobol on Unisys Mainframes doing TCP/IP communications.
Can't get any jobs involving software development at all. I bailed on the cablemodem phone support hell and am now doing random IT stuff in the area. Mostly go somewhere, migrate users' data from old laptops to their new laptops, plug the holes when the server craps out or the users can't follow directions like "Click on this batch file to back your data up to the network." It's paying probably about 1/4 of what people complaining about their development and contracting jobs pay them, but at least it's steady and my boss isn't an asshole. I can ask for a day off and not get looked at like I'm insane. It works out ok. Basicly there's a couple guys like me and we get shuffled around to the various simultaneous jobs. Our boss does all the negotiation and scheduling and paperwork stuff I wouldn't want to do anyway. Usually if he's at the job with us he's doing the paperwork for the client's inventory and labeling the laptops and such, or wiping their drives. So I can't really look over at an office and grumble about how someone on top is keeping me down, it seems pretty fair to me. Since the jobs are all contracts the scenery and work is changing every few weeks or so, which reduces boredom a bit.
Introducing the new Occam Fusion! Now with sqrt(-1) fewer blades!
This is what I consider the worst of the worst, which I had to do for 6 months in 2000:
The civilian personnel arm of one of the US Armed Forces was converting all the paperwork for their 200K+ civilian employees into db-driven websites. My company was a classic Oracle shop that jumped on the web band wagon at the right time so it got to hit on some fat government contracts like this one.
The project was to be built in MS Active Server Pages and Oracle.
Problem #1: We were not allowed to run IIS because it was unsecure a hell. Solution: Chili ASP (before Cobalt bought them) running on Netscape Enterprise Server on NT 4 server. The back end was Oracle 7. Chili was never intended to do this kind of work, and it turned a bad project into pure hell for the programmers, project managers and clients involved. It was bloody.
Problem #2: The project was time plus materials. The "not to exceed" was a joke, it was moved up every month. Time plus materials equals eternal project.
Problem #3: The project was run by consensus. There were ZERO specs, just a vague agreement. The project manager on our side and the client rep on their side argued and squabbled over the stupidest crap. I remember 2-3 hour meetings arguing over the proper data type for a field, which was a waste since the client's DBA (who had godlike powers) was not sitting at the meeting so we could not do jack without his blessing.
Problem #4: The people at the client's side used the project to pad their performance reviews and never gave a crap about wrapping it up. We had our client primary contract promoted twice, so we had to start all over.
I hated that project so much that I found a better job elsewhere and gave a standard 2-week notice. Little by little every person (except the PM) involved in that project bailed too.
The only good thing that happened with this project was that there were only two of us writing code and the server sucked so hard that we learned a lot on how to write fast code for ASP. It was the one skill I took from that job that is still relevant to me after almost 4 years since I left that company.
The second worst was a project that should have never been a web-based application. A huge company (just this branch in particular has 20,000 employees) hired us to write a cost pricing tool to crunch thru quarterly sales aggregates. This is the biggest db-driven product I have written, and it took almost a year of nightly 3-way curse-a-thons between the PM, the client and myself. It got worse because the PM is a very good friend of mine and the client is a very good friend of the PM, so things were quite hectic and tense. We had zero specs, and we were working by picking the brain off the client, who is a walking encyclopedia of business practices for his company.
Eventually I got the monster written and validated, and next thing I know the thing goes live and the savings for the first year are at least $10 million. Just the first frickin year! Then they flew me to their headquarters somewhere in Connecticut where they had me walk thru the code to the Indian programmers that would take over phase two. Those two guys from their Indian branch have been the only two web programers I have ever been able to explain this project that actually understood it on the first try. It's been almost two years since the handoff and they haven't called me, so either they did fine or the project got scrapped.
Pedro
----
The Insomniac Coder
Nothing worse than a smelly dumbass for a boss.
Cheers to that!
$8.95/mo web hosting
The following wasn't software, but it was techincal, and encouraged me to move to software.
I had one contact job doing inspection during a chemical plant shutdown. During the day my boss had us sitting around drinking cups of coffee from 7AM to 5PM, then at 5 we would go out into the plant and work until 1 or 2AM, with him occassionally telling us to slow down, and then back again at 7AM to drink more coffee. this went on for six weeks. The bastard was paying a flat rate per hour and charging the client per hour and for overtime rates Incredibly boring, not very nice working on scaffolding at night while sleep deprived and doing technical work that required thought and care - where missing something would land me in court and not the boss.
Actually I designed "Clippy" at the behest of management in Redmond...Let me see anyone TOP that for worst job. I KNEW no one would want him..
The day after the huge layoff at our software company, I had to disassemble 8 peoples entire computer systems, cableing, software, etc. and move all of it into a storage room so that they wouldn't be taken by some other random group.
It was something like 45 computers.
Horrible work.
India now has all of their jobs and about 1/10 the productivity.
I worked for a record company in 1962. The Beatles auditioned with us and we turned them down because we thought guitars were going out of style in favor of electric organs. Plus, they had messy hair.
OCD? Did you have to type this message two times just like me?
OCD? Did you have to type this message two times just like me?
Excuse me I have to go back to turning my lights off and on.
Excuse me I have to go back to turning my lights off and on.
A friend of mine who owns a horse spent a 4-day weekend out near Bakersfield helping friends do their haying. After she got back, she said how *amazingly* glad she was to have a desk job and not have to do farm work for a living.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
The Bank
At the bank that uses something like the brown cirle of quality for its logo, web developers are hired to use Visual Interdev. But alas, Visual Studio is NOT on the approved software list. As a result your first week on the job is to hack the C2 certified NT workstation to install the software you need in order to do the job you were hired to do. Some folks just pay the IT staff $100 or so for the password. Some (like myself) actually hack into the box and get root access. Time at this job: 90 days
Fun misfeatures at this wan-to-be bank:
The Radio Shop
So this small radio shop needs software written, since there is nothing really available for tracking product that is in the shop being repaired. And the boss, who knows everything, just let him tell you, is using the AR package of the accounting system to track repairs. Oh, how? By billing things to a fictitious company.
But wait, his system cannot find the customers that are stealing >$1000 per month, you have to sit at the filing cabinet for a couple hours and watch your blood pressure rise. If you propose a change to the system, you have to argue for 2 years. If you keep arguing for 2 years, then that means you really believe in it. When you look at the budget for the project, you would think he is tight with money like bark on a tree. Oh nooooos! His ideas get unlimited budget. If you need 3 of something (like for a RAID array), you can have one instead. Time at this job: 10 years.
Fun misfeatures at the hole in the wall:
After reading the first few pages of posts... most of which take place during the ".com era". Its readily apparent why these projects failed. (And also why Outsourcing will probably experience the the same effect...)
Everyone seems to be coding. No one seems to be engineering.
Everyone seems to be coming up with solutions before ever really defining the problem.
Gesh... Does anyone read books on software engineering anymore? Fred Brooks wrote a book almost 30 years ago describing how to avoid these sorts of problems.
Just my observations based on the posts I've read...
We are blind to the Worlds within us
waiting to be born...
I built the first castle, and it sank, then I built another, and it sank too. Then I built a third, and that one stayed up.
emt 377 emt 4
" and "
" (no tag parsing on Slashdot posts, huh?) tags to tranform them into the most primitve of HTML formats. Remember, this was sensitive financial information so a misplaced character here and there could have serious consequences for the companies consuming this data. Usually took about a month for a single annual report to get through QA. FUN!
adgaega fgag fag afgaf a gfa gafgaf adgag adg
No seriously, it's not just a Dilbert comic, it really happened to me.
After two spectactular failures to ship a new product, we were on the third iteration of a doomed project. Of course the root cause of the problem must have been that we weren't spending enough money (of course!) so we brought in a ton of expensive consultants. Consultants, it should be mentioned, who had never actually talked to any of our customers or showed in any interest in their requirements.
My teammate and I spent 4 months locked in a tiny "team" room with the consultants trying to design the system. All the while we're working on the requirements documentations the app developers were out there writing the system.
All of which was just exacerbated by our idiot Product Line Manager who decided to throw out all the requirements AND add significant new functionality (a content management system? sure why not) just 21 days before we were supposed to go gold with the product. She seriously still believed we'd meet the deadline.
And yes, the project did fail for a third time.
Something that worked for me was to buy a real big Christmas tin of Altoids and place them on my desk. When the boss came in, he was overjoyed with the "treats" I had and would always pop a mint when he came by to harass me.
You can train them beforehand with bowls of candy for a few weeks. When the candy runs out, restock with your mints.
The one I'm in now.
Y2k was WAY over hyped. I mean you would have to be really retarted . . .
It's obvious you've never seen a large COBOL program (I wish I hadn't) with two-digit-year fields and all the validation that's done on them. These even include birth dates in programs for HMOs and insurance companies. There are massive banking, insurance, and payroll programs written in COBOL. Try disrupting the banking industry or stopping people's paychecks, and then ask them if that's a "bad thing".
Y2K was no joke, and it hasn't been avoided, only postponed. Nobody expected those programs to last for thirty-plus years when they were first written. With all the *windowing* that was done to avoid Y2K, the problem has just been pushed into the future. If the *fixed* software isn't replaced in the next thirty years or so, it will be a Y2K redux, only worse.
Year 2000 work reading through hundreds of pages of PL/SQL looking for non year 2000 compliant code - that sucked.
Other than that; the worst job I ever had was pulling lobsters out of Jayne Mansfields arse...
What are you listening to? (http://megamanic.blogetery.com/)
I once worked at a company (whose initials rhyme with "EDS"), and was stuck for a whole summer scourging through old cobol and fortran code looking for hard coded strings containing "19".
talk about tedious...
I once had to debug about 100,000 lines of code where the author had #define'd malloc to be phalloc
My boss can be a total bitch sometimes. She drools, screams inceasantly and demands every waking moment of my time. I'm on call 24/7 and I do mean 24/7. There hasn't been a day this week where I wasn't called by her at 4am and spent at least an hour working before getting to go back to sleep and wake up again at 7am to her voice. Oh, did I mention that there is no monetary reimbursement for this position? I get paid in shit, literally.. My boss is my 9 month old daughter..
On the bright side, she is definetley the most intelligent boss I've ever had and when I do spend time with her, its been the best use of my time among any other boss I worked for. Plus I'm guarenteed a vacation in another 17 years and 3 months!
The road between democracy and tyranny is paved with secrecy in the name of security.
For a while I was solely in charge of support and development for a custom steel industry machine that logged thickness and width of steel sheets. My job involved coding in Fortran-77 (the one that has 7 letter variable name limits) on a PDP-11 (a computer from the 1960's that requires its own air conditioner). Occasionally some engineer would turn off the air conditioner and permanently destroy part of the computer. We would have to rebuild it from other decommisioned machines lying around the place but even those where getting scarce! Anyway, try fixing a problem in someone elses code without comments with variable names like "HSMDCTG" (Hot Strip Mill Down Coiler Temperature Gauge) or "DCEXS" (Down Coiler EXit Speed). That was by far the worst job I've had. A close second was fixing over 15000 compile errors (>2GB of code) as a result of upgrading to the latest Solaris SPARC-64 compiler from a 32-bit version.
One summer, I worked in a web dev team in a university hospital. We took in "orders" from various professors in the medical school (class webpages and whatnot) and made it for them. One of the huge projects that summer was a complete and concise pictorial encyclopedia of all known STDs (and I don't mean std::cout - well, I suppose it comes from careless std::cin std::cout std::cin std::cout). Let me tell you - I managed to save a lot of money that summer - because I did not need to eat lunch all day during my 8-hr shift after looking at these pieces of art. It's amazing what people can manage to do to themselves.
On top of all that - it was $9/hr.
There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
in the control surface assemblies on the US Space Shuttle!
and they just laid me off, no explanation given....
every day http://en.wikipedia.org/wiki/Special:Random
I had a boss, who had six developers working for him, and three of us were working on the same project, a replacement for our existing system. Me, working in one office, another guy who worked from home, and another guy in a different office. None of us saw each other daily and it wasn't until a month or two later that we found he had all three of us working on different variations of the same project. I guess you could say he was paranoid and secretive.
Infuriate left and right
i think providing the tech support... pointing newbies to the apropriate section in the faq u already spent way to much time on because aparently too many people are either dislexic, cant read, have attention deficit disorder, or are just plain stupid
as to not be racist, not all newbies fall under that category, just the ones that email tech support
I view jury service as an important civic activity, and a critical part of providing justice. However, there are some times it's just not convenient to do jury time, and in general, if you're an intelligent person who has unique opinions and thinks for yourself instead of believing everything you're told to believe, you're not the kind of person that either side wants on the jury anyway, so your objective is to let them know that that's the case. (As you said, your coworker is an engineer, so they didn't keep him.) But it may take more than a day, depending on how inefficient your local court system is.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
"halitosis"
Working for a certain agency, no windows, not allowed to use the phone, fax, couldn't move from my desk without permission, couldn't leave the room without an escort (even for a dump) - workstation was encased in a steel case - had the ergonomics of a dump truck. Couldn't talk to anyone except if busting for a crap or cut myself on the steel keyboard case (again). But the icing on the cake was that I had to write stuff in Fortran - that really sucked. GOD is real (unless declared integer)
I've done the manual DB filler also (10,000 snail-mail addresses that were sent on PAPER for me to build a mailing list from for a National Laboratory Symposium)
The main reason was when I worked at a contractor to a National Paging Company about 10 years ago. Here's the list:
-- PHB of project worked in another state. Was always on vacation, and was overheard "I will kill everyone on this project"
-- Code review was trapping PHB at some resort or the other and showing him the program. He would critique it (nothing written about what the damm thing was supposed to do), and send changes back requiring huge rewrites as well as making the next milestone.
-- Everyone worked ~20 hrs per day 7 days per week. I was considered a slacker when I only put in 110 hrs per week w/ a newborn at home.
-- Phone menu system that covered 3 walls of a 10k sq foot office. Even the designers got lost in there every day, and they had rejected voice samples for the "Press one for...." voice. One number in a string would be OK followed by a number that sounded like it was said thru 10 inches of insulation in a whisper.
-- 20 yrs of RDBMS research was thrown out in favor of a custom built (from the ground up) database that crashed every time one message passed thru it (it was supposed to handle 100K concurrent connections)
-- Company stole all the development systems so that they could fleece some investors. They had a lackey in the back room to do the following. Message was sent and system flamed out. Lackey powered off the system, got another working, and repeated until 8 mesages went thru (60 systems flamed all over the ground by that point). It took 3 days to rebuild the charred remains back for development, and we were still required to make that week's milestones.
-- Windows code took over 2 days to compile (I guess that's a feature...less time for it to actually cause damage by running)
-- Some idiot decided that MFC was easy enough to work with (It's C++ after all), so they stuffed the entire MFC code set on top of the Macintosh C++ Libraries unchanged....man talk about a cat fight of code......NOTHING worked. Every call had to pass thru the MFC to the Mac Libraries, and back again so double the effort for ANY action...including touching the mouse or keyboard.
-- I was asked to debug a problem in the Macintosh code. I found it in a very low level library and fixed ~20 other bugs that hadn't even been identified yet. I got yelled at for going outside the code for the one window that the bug had been listed for.
I lasted about 6 months and actually cried on the way to work on occasion. When I quit, the only reaction from the others left behind was jealousy that I had actually had the balls to quit.
I still love the programming process, but now I do it for the odd CGI need, to automate my Sys Admin chores and to study Math and Graphics as a hobby. I'm MUCH happier
"I never get lost because everybody tells me where to go"
Debugging embedded code in a plant that made tires: hot, smelly, big-shot managers (the customer) yelling at you because the line is down and they're losing $XXXXX per hour, very little sleep. And the problem turned out to be a bad connectors, not software at all. I had to throw away a bunch of clothes because the smell would not come out.
Look, it's trying to think - Albert Rosenfield
Sad that you're currently mod'd troll... cuz I agree with you.
I'm sure there were a few things that wouldn't work, but people in my town were asking if their gas powered electric generators would still work, or their watches, or the electric meter on their house, or their cars.
It was astounding to me just how stupid people were. I knew guys charging tons (like $200/hr) in late '99 to run scans on Win98 for compatibility, and all they did was set the date to 00 for a few minutes.
no comment
I have another similar story. And it has the same moral - If you're a coder, avoid working with the porn industry.
I wound up trying to make a live video site for a bunch of paizans. They had zero sense, and most of the money they were investing was "won at the race track". Dunno what the hell I was thinking.
I finally got out of it when it was time to make the website. I had told those guys for 4 months that we're going to need some pictures of our girls for the website. So what happened next, technically, I did ask for.
They were having zero luck to get anyone to actually work for the site, but they knew this girl who was a manager for a bunch of dancers. (I'll leave it to the reader to determine what that actually means). And of course she couldn't get anyone on photo day, so being an ex dancer herself, she volunteers for the photo shoot.
I've never seen anything like that. Ever.
Looked like this woman had been through about 15 years of binge eating and cocaine diets. She was thin, but her skin was about 3 sizes too large. She looked like she was covered in vienna sausages.
Ready for the punchline? These idiots wanted me to put her on our homepage anyways! They couldn't see why this was a bad idea.
Might have worked as a business plan, if we could use popup technology to force popup pictures of her unless you pay us.
Fortunately I escaped soon after that. They found a new webmonkey and fired me. Thank God.
Weaselmancer
Weaselmancer
rediculous.
As part of industry trends, we were required to internationalize the whole thing; I wasn't involved directly in it, but got to see the effects upon the source code. It completely made things awkward and unreadable. It seemed to kill all of the elegance in the code.
I'm sure there are better ways to achieve internationalization, but in more than one case, I've seen it turn elegant source code into painful stuff to work on. It's an interesting phenomenon, which probably warrants some study :-)
Love many, trust a few, do harm to none.
"Like when your boss has chronic halotosis (or "halo" for short.)"
Whoah! You worked for Gooshie?!
Ah crap. Perfect setup for a rare Quantum Leap reference, and I can't make it funny.
"Derp de derp."
Where do we get a job ap for that? Forced to look at naked women all day. THE HORROR!!!
Not a development job, but I have been multiple times of my life up to my chest in fish blood in a fish hold. Some poor slob (me) has to gut all the fish we catch. Glad Im in engineering now. Blech!
Party at O'zorgnax's Pub! Buy me a Slurmtini aye?
Well, perhaps other than someone who chooses to work for a 'smelly dumbass'. What precisely does that make you? A 'smelly dumbass' ass-kisser?
I was working as a consultant at a large oil company, and one of my tasks was to train up an employee on the framework. She was this older Chinese lady, very nice and seemed to pick things up as well as any other employee there.
The thing was, she'd come over to my cube, which was in a very quiet area of the floor, and let off these loud farts. She never gave the slightest reaction. I didn't know how to handle it at all. I couldn't bring myself to make a joke about it to this lady who was probably someones grandmother. Definately the most awkward joke ever.
heh... sounds like my old job. screw you hippies!!!
where missing something would land me in court and not the boss.
I don't know about you, but I'd rather end up landing in court than landing in the boss.
As a person with 2 degrees that keeps being paid low because of laid off and having to start over it would be pretty nice to make 50-80k regular and not have to keep searching while not making beans. I would appreciate it. Job searching and starving is worse than doing same same repeatedly. Skilled trades is cake my friend tells me also. He just keeps buying expensive toys and cottages to get over his frustration. I drive a paid for old car and that's all the materialism I can muster.
So he only got $7?
find / -name "*.sig" | xargs rm
Crypto algorithms and protocols aren't something you can just roll-your-own with (assuming you actually care about security.) I hope all this brokenness is in the user interface part?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Excuse me, I have to go back to turn my computer off and on.
/me ducks
Hey, don't knock it. In my first 'tech job', I signed on to design a Web site for a power-transmission products company in Chicago. Turns out I ended up doing pretty much any computer-related project except Web design, since they were rather short on tech staff (that is, I WAS the tech staff). For example, designing a Web page also meant needing somewhere to put it, so there was my crash course in installing + configuring Linux/Apache/mailservers, fiddling with port forwarding, etc. Anyway, to make a long story slightly less rambly, boss decides that the unfinished Web page should have a product search for every type of product they distribute. (Incidentally, this is why I know Perl now :-) Things like, enter your application, desired RPMs, service factor, and available voltage, and the script grovells the database to select the ideal motor, gear reducer, ratio, etc. and present it in a neat little list with dimension data, drawings and so on.
:-)
So I says, "Boss-man," I says, "where's the product database? Show me the data structure and I'll have that stuff Web-searchable in a few days."
Boss-man says, "We don't have a product database."
"...All right, where do I get the product data? Is it on CD? Do I have to get it from the manufacturers?"
Boss-man walks off and returns in a few moments with a huge stack of manufacturers' paper catalogs, and the unwelcome news that we're "just" a distributor; we don't get product data in any usable form. Being short-staffed, I also end up being the guy charged with the task of typing in product data from the catalogs to a database. For obvious cost-saving reasons, this data is packed sardine-like into the catalogs in as small a font as they can reasonably get away with, so entering a page of the stuff would take f-o-r-e-v-e-r.
Now remember, I hired in to design a Web site for ten bucks an hour, expected to take a couple weeks at the very most...at this point I'm still the cheapest labor in the building, so this is not such a gross misapplication of a resource (me) as it seems. So I did this for, oh, a couple hours or so, 'til quitting time. Enter one line of data from the catalog tables, consult another set of tables at the back of the catalog to determine the remaining data (thermal, etc.), check for typos, enter the next line...
Boring, boring, boring. Not to mention horribly inefficient. Not being the type who likes to do more work than necessary (ahem, I mean, being the type who likes to maximize efficiency), I showed up the next day with my flatbed scanner and some OCR program. A few test scans of catalog pages to determine the format the OCR software spits out, a throwaway Perl script to convert this to comma-delimited and look up stuff from the thermal/etc. tables, and my job suddenly became a lot more fun, while also increasing my data rate roughly 2000%. It went something like this.
1) Prop feet on desk.
2) Rip page from catalog, stuff into scanner, press scan.
3) Nap and/or surf the net while waiting for scanner (remember, I already set up a Linux box for the web server, so I can surf the 'net from an official-looking server-admin-doing-important-server-admin-stuff telnet window. Lynx = awsome.)
4) Optional step. Sip coffee, eat donut...
5) Repeat steps 2-3 whenever I hear the scanner buzz its way back to home position.
6) Run perl script once there's a whole s***load of OCR data to crunch.
I never imagined a data-entry task could suck so little, but there I was. (Of course, now I'm a hardware/firmware hacker, which is way more cool
Caveat Emptor is not a business model.
Ewwwwwwwww! Hey George, this one smells bad to me. Here, taste this!!
I'm being modbombed for my opinions. Check my posting history.
OK, I checked your posting history. I saw Trolls, Flamebaits, Off Topic and so on. Every one of them well deserved with the possible exception of one which was probably considered a little too pro-Microsoft for this crowd. Even that was delivered in a tone I would consider baiting flames.
So, if you consider your karma valuable enough to complain in your sig about being modbombed, simply state your opinion in a (1) non-inflammatory fashion and (2) on topic. If you follow those two principles, you'll be OK.
A refreshing beverage may help as well.
BTW, this comment is completely off-topic and I fully accept any karmic repercusions.
Phase2 Solutions in Phoenix is the worst place to work for, period.
.Net. Way, way, way over their head.
The guys in charge are totally clueless VB programers trying to use
Plus the physical environment is the worst I've ever seen.
How bad is it to be a MS programmer? I'm not doubting that it's bad or implying that it must be. I'm curious as to how bad it is compared to programming in other environemnts (Unix, Linux, AS/400, MVS, etc). I mean, I truly hate Microsoft for their force- and fraud-related activites, and lots of people joke about how bad it is to program using their technology. Can you give me the technical reasons why it sucks?
I don't make the rules. I just make fun of them.
Worst job I ever had was working on a control system in '96. I needed a job as I'd been out of work for a couple of months and the money was getting low.
Having an R&D team you are working on axed in december is about the worst think that can happen, nobody hires in Jan or Feb.
The thing was a project started in '89 and was meant to be deployed by late '92. I joined the project in march '96.
It was a couple of million lines of C written by people without a clue, be bug tracking system died in july when it ran out of numbers to assign to bugs.
The requirements were a disaster, the design was at the level of the code, the code was rubbish and could never have been reviewed and the customer was very very upset (rightly so).
Management wasn't listening, I honestly think they were hoping the customer would back out first.
You can guess what morale was like.
Oh and they paid a pittance.
In the end (mid '97) the project was canned, ~$50M down the drain.
I Read "Death March" by Yourdon afterwards and he was talking about this project.
Be wary of strong drink, it can make you shoot at tax collectors and miss.
I'm an internationalization (abbreviation is i18n, because of the 18 letters between i and n) consultant and I positively love it. It's not for everyone but it's definitely for me. I get to combine my tech and foreign language skills (I was a Russian->English translator and interpreter for a number of years but have also studied many other languages as a hobby).
You don't deal with languages directly in i18n as you would if you were on the localization side of things, but having a good understanding of grammatical constructs across various target languages can be very helpful in pinpointing potential issues in the way that translatable content is handled and displayed. It always surprises people how English-centric their designs turn out to be.
I also enjoy writing custom code analyzers and content exporters/importers in Python, the best text language there is for text processing IMHO. (I was a big Perl fan for a long time but converted over a year ago.) I had a lot of fun writing my pseudotranslator, which modifies the English content (extends the length, adds extended chars, etc.) to test some of the international capabilities of an application.
Of course, I might have a bit of an advantage in that as a consultant I get to work with different clients on numerous projects, which forces me to stay up on new technologies and exposes me to new techniques, database design, etc. Keeps me fresh.
If you want some help with this work, please let me know. I'll be more than happy! :-)
sig != null
If you have a good model, the rest will fall in place. - a good model is not the same as a completely normalized model. I am working on a project that is a revision of an existing application, which had to be rebuilt due to the performance problems. One of the things that made the original application extra slow was complete normalization. Human names, phone number, street names had their own tables. Of-course inserting or updating or even looking up a record was much slower than in a less normalized data model. Apply common sence and the project requirements, including performance requirements when you are designing a data model.
You can't handle the truth.
One day I had to fill in for a guy who was on vacation. We ran a prepaid phone card center. There was a terrible Visual Basic POS (not point of sale) app that customers used to create orders. The orders were _FAXED_ to me and usually illegible when they came in. I re-entered the same data in the same VB POS system on our side. I had to send out a request to the printer to get the cards printed and a reply to the party that ordered the cards.
To top it all off, the servers were in the 4th basement level and the worksttion was on te 8th floor. There was a network, but the company didn't trust it, so I had to take the new card numbers down on a floppy disk and manually import them into the databases on the 4 servers. Oh, and If I forgot part of the SQL import command, it would do it all in one big transaction which would freeze calls on that server while it did the import. Good thing I only had to do it for one day, but I always felt sorry for the guy whose regular job this was.
JET Program: see Japan, meet intere
I worked for them for a grand total of 3 months. I only took up the job because there was another local company I wanted to work for, which only hired contractors, and Keane was one of the main ones they used, and my skillset matched up so exactly to that other company that I figured I'd have a good chance to get into it after a little time 'in the trenches' .
...shudder...
I found out after hiring on that Keane had actually just lost that contract with the company I wanted to work for, and the few people they still had there were being extricated one by one as their projects finished.
So I got shoved off into a corner writing unix C/SQL query library routines of the form "do this exact query, just like it's described here, and stick the results in these variables, and then return them - no, don't ask what these queries do." It was for a local Telco. The work was dull, but the pay was good. But it only lasted about 2 months. I was a bit worried that despite being the new guy on the project (of three people) that I knew more about the technical aspects of the programming environment than the people who were already on the project. I knew how to run the dbx debugger, for example. No, seriously - nobody else knew how to do that - they were saying "I thought unix doesn't have debuggers.." Understandable for an end-user, but these guys were writing code...
I sat "on the bench" after that because I didn't have the skillset that matched their contracts. Their contracts were all visual basic and some old mainfraime MVS stuff. They claimed there was no demand anymore for someone who knew unix/c/c++/perl/ and so on. (I suspect they just didn't have the ability to convince companies in that line of work to use their consultants.) They said I should learn VB while waiting. I offerred to learn Java instead, which they accepted because it was a new buzzword at the time.
Then they gave me some kind of nationalized standard skills test they have in C. They figured they could check if maybe some other city had good work that would match.
They said I scored higher than anyone in their branch ever had before.
I got scared. I know I flubbed up a few things on that test. I know I only did "okay" on it - probably somewhere around 85% correct. But if that's the best they had, then that means their reputation among places trying to hire C programmers would be awful and I'd never get good contracts with them.
As I was contemplating quitting, they said they had an opening in Mineappolis (about a 6 hour drive away), and that it needed someone with C and unix experience. While it was a matter of maintenence rather than development, they were trying to migrate from an old system to a new one and needed someone who could understand the old one to help. While not the greatest job, it still sounded interesting, so I decided to give it a try.
So, a week later, living out of suitcases in Keane's furnished apartment in Minneapolis, I started my first day on the job....which turned out to have nothing to do with my skills at all. there was no C. There was no Unix. There was no SQL. The old system they were migrating from was OS/2. The program was rexx scripts. The job was not to migrate the program at all, but to just babysit it and watch the output logs for errors until the new system came online. They lied to me. Plain and simple. They lied about what the job entailed when they said it needed a person with C/unix skills. I asked the local guy what else will the assignment entail after this portion is over - of watching the program and reporting errors - he said, that's it. That *is* the assignment. I was not involved in the migration. I was not involved in programming anything at all.
Two days later I'd found another job over the internet (a job I still am happily staying with 6 years later) and had quit Keane.
There was no excuse for their practice of
(1) lying to me about what the job entailed.
(2) sending me off far away when they do it,
probably under the hope that I'd roll over and
take it since I'd be so far removed from my
support network for job hunting.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I never had a bad programming job. OTOH I am good and not as stupid as you. You seem to be a real wimp.
Goatse.cx guy. Is that you?
There aren't enough bottles of compressed air in the world to blow the sand out of the PCs in the backs of the trucks and the tents in the Arabian deserts. Finally scrounged up a hose to hook up to the compressed air tanks of a 5-ton truck.
Fast forward a bit over 10 years and this time we remember to bring a compressor. Probably a good idea since these new Pentiums run a bit hotter than the 286s we had the first time.
Using Windows Script and a 3270 emulator to amend 100k+ records in a DB2 database.
They were a little militant about not letting analysts have any execution authority beyond some very locked down JCL, but if RACF will let you update a file and nobody'll be looking at your screen for a number of hours...
Don Negro
Perl 6 will give you the big knob. -- Larry Wall
Twice now I've started a new job where the previous development team was just fired, and they took all the real knowledge of the product with them. I've had to reverse engineer too many big systems under these circumstances, and the management always demands upgrades as if the original team was still around. Just once I'd like to see the "keepers of the flame" retained (of course, corporations now regularly do this when they offshore your job and make you train your alien replacement).
Alternatively, you can run vnc-server on your home machine, forward it's ports to localhost at work, and do all your surfing on the vnc desktop.
Either way, it may not be fast, but it's secure. Strong crypto is your friend.
Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
But the boredom evaporated when you found a photo of a "long deceased" criminal that looked a hell of a lot like your boss. A voice behind you. "Whatycha got there, boy?"
I guess that means Duke Nukem Forever is NOT gonna come out. :(
I was the only CM engineer (configuration manager, aka build monkey) for 3 development teams of 40 engineers on the US East Coast (GMT-5), US West Coast (GMT-8) and Walldorf Germany (GMT+1). I was located on the East Coast.
Each team produced multiple software products for QA. Each product had a different schedule and slightly different needs. The most complicated build were 2 products (a client and a server) that could be built in 3 flavors (original and rebranded for 2 OEMs) which each had 3 encryption levels (0, 40, 128).
It was the longest 10.5 months of my life.
it's not going to stop until you wise up, no it's not going to stop. so just give up.
Deus Ex 2
I used to work at CompUSA too Manager. Supevizzed weazel asthamtic nerds. Used to blow smoke into face of one. Im azzhole, yeah, and I vote BUSH!
I completely understand after working on a project for a compiler, which designed for 32-bit CPUs, had numerous arbitrary constants throughout the code generator involving 32-bit integers which had to be tracked down and destroyed. Not the most fun job, as you all would imagine.
In this grand game of misery poker we're playing, I'll raise your Scientologists a full house of Promise Keepers. They're an ultrarightwing fundamentalist group that brings troubled men back home to their families ... to dominate them. I had no idea.
Boss bought two $18k motorcycles that summer, yet paid his degreed engineers $22k per year. The Boss's wife (payroll) never spoke unless spoken to, even with the interns. She sat on the floor, silent, at social events at their home while he cracked sexist jokes at her expense.
They hired me for ~$8/hr (I was naive); but promised me a $1500 bonus at the end of the summer. I spent the whole summer writing free websites for their co's friends and family: Boss's church, CFO's dad's company, VP's golf team, etc. They turned down a $20k NBA team web contract and a major up-and-coming webzine while I did these things.
They wanted me to turn them into a full-blown fractional T1 business ISP with two 1988 vintage '386s and a copy of SCO UNIX. It didn't have cc, since the "dev package" was $2000 extra, no docs, and I wasn't allowed to call tech support at $150/hr. These relic (200 Mb HD) were suppossed to handle user accounts, POP, BIND, FTP, and USENET. The webserver was a Quadra with WebStar- at least it ran.
I'll spare you the details of the e-commerce retail channel for cell phones they expected me to set up in two weeks with no information, contacts, budget, or staff. No secure webserver or POS credit card sysem, either, they were too expensive. These guys practically defined "faith-based business planning".
On my second-to-last day of work, Boss told me he was having trouble getting my bonus approved by the board, because I hadn't done any work that would bring them continuing revenue. All I could think about was that damn free website for his church; it had taken two weeks.
After several formal complaints and a legal filing that fall they sent me a "Christmas bonus" check for $250 which was subsequently stopped when I bitched. (Duh)
Who knows. Maybe it had pissed him off, my last day, when I parked in his favorite spot with a shiny new Darwin fish on my car. It felt good, though. Really good.
I stole this sig from someone cleverer than me.
I graduated from highschool last year, and really wanted a job doing computer stuff. Almost any computer work is enjoyable to me - save for data entry. I stumbled upon a company that was contracted by Dell to do workstation installations in hundreds of school districts across the US.
When i went in for the interview, i felt like I was really out of place - everyone there was a college graduate at least. During the interview i was told that i would be reconfiguring software on current machines and doing the initial setup on freshly installed hardware. The dress code was best described as a step up from casual - khakis, polo shirt, etc. Nothin too bad, and i might learn something.
However, once i got to the job, i learned that myself and my coworkers were the ones who would be unpacking all of the machines, CRT monitors, and other parts. In office attire. In 90+ degree humid heat (this is summer, the schools are not air conditioned). Each school had at least 150 machines to be installed; some had over 500. Remember how much fun it was taking your TV/VCR/Monitor out of its box was? Having to deal with the styrofoam that refuses to slide out of the box? Imagine doing that for 8 hours straight all summer long. TONS of fun. Getting down on your knees/back to plug it all in isn't too bad, but doing it for 400 machines in a row?
My favorite job sites were the ones under heavy construction. There was one in particular where the main service elevator was broken, so i had to take an overhead cart with maybe 8 machines, or 4 monitors, to the other end of the school, up a flight of stairs that wasn't being worked on, and back through the school. Every foot was under heavy construction with the floor covered in debris. And we all know how well carts with office chair wheels handle uneven surfaces. Remember, i'm in office attire with shoes that were not meant for 8+ hours of standing.
I felt most sorry for the people who graduated college years ago with kids older than me, who were working along side me and obviously weren't in the best shape of their lives - I was the only one out of anyone that i worked with who went to the gym on a regular basis.
Eventually i was put on a project where the lead was very laidback. I wore my gym clothes and things were much easier. Then i quit two days before i headed off for college.
Oh, and the configuration consisted of running Norton Ghost on every machine in the lab.
"Upon attaching the waterblock to my penis, I began to notice that I know nothing about computers." -- JRockway
No. They're Canadians - just as marginal.
How are you going to keep them down on the farm once they've seen Karl Hungus?
Nothing worse than a smelly dumbass for a boss.
While the "smelly" part isn't all that great, having a dumbass for a boss... so long as that boss recognises the fact that he/she doesn't know shit about the in-depth aspects of what you do. I wouldn't say my boss is clueless... he knows enough to tell if I were jacking off and not working hard, but he also knows enough to let me do my job as best I see fit, and offer assistance in constructive ways (overtime, equipment budget, etc)
Having a boss that knows jack-shit but things that he/she knows best how to do your job... that's what sucks (as per your situation).
And of course, back to the odour topic... how far does it perpetrate? Maybe you could use it as an early-warning system to avoid getting caught at solitaire on a slow day
I've converted databases from ancient DOS programs that had to go through multiple converters and other crap that took me a whole summer, but it was fun compared to what I had to do at Lockheed Martin.
They pulled me off a project designing flight controls for a micro air vehicle so I could "get a feel for other parts of the company" but instead had me "down and idle" for a few weeks before putting me in charge of going through PRINTOUTS of three different versions of a database to verify every entry made it to the newer version. Hundreds didn't.
Before you ask why a human had to do this or why they were printed, let me tell you what my now-wife was doing: they printed a huge txt document, scanned it as jpegs, dragged those into a word doc, gave it to her and asked her to make some gramatical changes and a few additions. The original? What original? Why would you need the original -- we sent you the electronic version.
Another program I was working required an engineer a few months from retirement to reverse engineer FPGA designs he had done 10+ years earlier so I could write them in VHDL. All the maps and docs were backed up on an old tape system, and then all the tape readers were disposed of. But they had the tapes safe and sound, and honestly never saw a problem with their system. I swear to God.
5 years ago a PHB where I was working decided that we had to go object oriented and in all his wisdom decided that re-compiling the existing code with a c++ compiler would do the job. possibly the worst 2 week assignement i ever got.
BP http://www.card-central.com
When I started working as a paid developer I got into a running project to build some kind of modular web page generator tool based in VC++/MFC/DAO/Access.
Fist of all, we followed Microsofts example in using hungarian notation (prefixing the real Variable name with type information etc). So you really got to see variable names like m_lpzstrFullFilemamePath (Class member, long pointer to zero terminated String). Can you imagine having to deal with 10 variables starting with this kind of crap?
MFC (Microsoft Foundation Class) is an really ugly C++ wrapper around the win32 API exposing all win32 specific handles to the C++ layer which is needed because you have to convert between handles and Windows on the fly.
The MFC/DAO (Data Access Objects) binding is another really ugly hack which internally keeps DAO specific workspace handles in DLL structs. All these ugly hacks are kept secret. The code is hacked to look easy to use on first look. You get to know the ugly side effects when you experience mysterious crashes. Like first unloaded dll wracks all database access. After digging through Microsoft Knowledge Base, Independent Help Sites, etc. for hours you'll find an even uglier hack to fix aformentioned hack.
Apart from those system-immanent bugs there are updates. Microsoft releases Office 2000 and you get a whole night searching for the reason why your app crashes when using the DAO DLL's supplied by Office 2000. The reason was that one of microsoft code-monkeys decided to first copy a 2-byte-per-character unicode string into an 1-byte-per-character string buffer and check afterwards if it really fits. The solution for this bug was redefining some weird secret internal function which led to all internal data buffers being allocated twice their normal size. yes, that nearly doubled the amount of memory our application used, but Office-2000 compatibility was a must.
So, apart from them being monopolistic bastards, there are real technical reasons to loathe microsoft's APIs
while (!asleep()) sheep++
Standing with all those scumbags in the unemployment line. You're job may be boring, but I am positive that it would be welcomed in India.
www.bleepyou.com
I haven't been feeling all that great about my job. I don't get to do all the programming I want and I have to answer to a lot non-IT people. Its pleasant enough on a daily level, pays well, and is stable. After reading some of the horror stories here I feel really appreciative
Worst job ever?
--Getting a call from an America consultant (no names) for this 6 month Clarion gig in Miami for a big insurance company (no names).
--Having done this for a very professional Cdn firm (contract renewed twice) I figured it had to be better because it was American. I take the deal.
--Drive 2 hours to the border. Try to get TN visa. Turned back for lack of documentation (University transcript)
--Drive home. It is a long weekend in Canada. University closed. Wait.
--Endure rigmarole and pay $ for dox. Takes all day. Drive back to border next day.
--Get third degree from US Customs. Reluctantly issue TN visa. Charge 50 USD.
--Drive to Miami. In Titusburg Florida meet hacker legend the Cheshire Catalyst. See a shuttle launch. Highlight of the trip.
--Arrive on the spot. Its now an AMERICAN long weekend. Wait.
--Tuesday. Go to the office. The instant I walk towards the elevator three security guys jump out of nowhere. A Black guy in a suit with sunglasses and a walky talky and two white guys in uniform. They demand to know why I'm there. They check out my story and disappear, and I never see them again, but I know they're watching. This does not happen in Canada (and this was WAY before 9/11 too.)
--At the office, nothing is ready. Run around looking for cables for my computer. Have to install own copy of Clarion 5. Spend rest of day getting LAN access. NT shop. Sys admin has never heard of Groups so I have to be assigned access to each resource separately. CoWorker smiles right in my face as he welcomes me to the shop.
--Wednesday - was given the code I was to work on on a floppy disk. Really. At this time I realized this is an amateur shop. Ask Smiling Coworker question regarding Clarion initialization which I had not done for a very long time. He smiles, answers, and goes and tells my new boss I am incompetent.
--Friday. Fax in my time sheet and phone consultant that its there, like I did at the Cdn job. He tells me the firm is letting me go. I break into a flop sweat instantly.
--I confront the boss. You see, I was not supposed to find out about this then. He tells me this isn't for learning experiences. This is when I figure it out about Smiling CoWorker. I tell the boss I do not appreciate this treatment. I do not raise my voice or use profanity. I pack and leave the office. I do not erase any of my work. Someone had to be the professional there and it wasn't them.
--Leave the building. I never see security, but I can feel their eyes on my back.
--Go back to digs. Call consultant. He asks me what I said to the boss, as the boss called him the moment I left the office. So, not only is this guy heartless and brainless, he's gutless too.
--Cry myself to sleep. I really did and I was 43 at the time.
--Wait a week for my cheque. Intercept it just as they are about to mail it...
--drive back to Canada. Lose about $1,000 and all my respect for American management. I am home before the shuttle I saw take off lands. I later read a book that says 'At a new job, beware the guy who's really friendly'. Too true.
It's Christmas everyday with BitTorrent.
I've been fortunate to work on a lot of great projects with some good people over the years but recently I spent a year of misery at a large telecom company now trying to emerge from bankruptcy. The project was to replace a horrible C app with tens of thousands of undocumented lines of code with a web-based system. The project was so horribly mismanaged that literally every good consultant they got in left as soon as they could find another job (I saw six come and go during my internment not including myself). Some examples:
1. The managers would publically badmouth and belittle their workers to other managers in front of those people's co-workers.
2. The project manager would backstab and lie about those who disagreed with her.
3. She held secret meetings with those who would support her agenda and then try to get those who disagreed fired.
4. Her senior manager held exit interviews with those who fled, sought out meetings with those who stayed, promised to do something but never did.
5. They would set deadlines without checking with the developers to see if it was attainable. When the developers said "we can't do that" they would ignore them. (Guess what percentage of the time the project slipped: 100%).
6. They insisted everyone work weekends and long weekday hours (60+ hours per week) but wouldn't pay for more than 40 hours despite hourly contracts.
7. The proj mgr held hour+ meetings every day to discuss what we did the day before.
8. She also would break into tears with upper management if she didn't get her way.
9. They spent MONTHS arguing design without writing a single line of code. Did I mention none of these people had ever worked in Java or built a web app?
10. Work that had been planned and developed for weeks would be thrown out when the senior mgr decided he didn't like something even though it had already gone through a ridiculously lengthy approval process.
11. The discussions in meetings frequently turned into shouting matches between the indians (all the white people just plugged their ears and went back to trying to do their jobs).
12. They had some guy design the front-end completely independently as a javascript mock-up (no real functionality) without input from the actual java developers then tout it as a "demo" to the customer representatives and tell the java developers "make it work like this".
13. They completely ignored the advice of the experienced consultants they brought in in favor of the views of their personal favorites--again, who had never done this work.
Well there's more but I think you get the idea. You'd think that after having a revolving door of people come and go as fast as they could the mgmt would get a clue: "Hey! We suck!" But no...
I stuck it out for one year as I promised to when I was hired but I left as soon as I fulfilled that promise. Couldn't leave fast enough. And the manager, whose knives had frequently found my back and with whom I'd taken to secretly taping conversations in self-defense, had the gall to tell me with tears in her eyes when I told her I was quitting: "But I thought you liked it here!"
Probably a dozen years ago, writing a DOS lotus spreadsheet to track expenses with about 70 (non-tabbed) grid regions
-- because that's what they had, don't you know.
Although a guy at a tech temp agency once told me about a WordPerfect macro writing job and we both sort of simultaneously starting giggling.
Anyone will tell you the same if they have worked for Amdocs.
Slave drivers.
that I ever had was when I had to read Slashdot all day and hear people whine and complain about their jobs while a bunch of us don't have jobs.
Probably the worst job I had to do was to do a Y2K conversion of some shitty COBOL, CA/IDEAL and Assembler programs on a mainframe.
We had such a deadline that the project started in october 1999, oh, sorry, 99, and the whole shebang had about 200,000 lines of code. (with almost no documentation). To add to that, the management decided that this project was a at a good time to go from flat files to an Oracle database.
We finished in march 1900...
My worst job in the disguise of software development was typing from a book and then converting it into HTML pages :-(
The OCR process had very poor quality of output... because the books were much used.
The worst development job I had was when I worked on the 600 series of printers at HP. I wanted to avoid getting pigeon holed as a mech and pen developer (working with print cartridges and motors) so I took up the task of debugging the spontaneous reboots associated with heavy AppleTalk traffic to a printer. I had no visibility to the internals of the ASIC, I could only see the configuration registers and the system bus. I put together a bank of 16 Macs to one printer and set the alarm sounds to World War II battle samples. I would bombard the printer with query packets and try to catch the system bus and frame sequences with a sniffer when it went down. I sort of corralled the problem and reduced it by finding some mis/un configured state bits adn registers, but I was never able to reach root-cause. After the first month of nearly futile poking and prodding I would go home pissed off, go to bed pissed off, wake up pissed off, and generally loathe the day. This went on for 4 months afterwhich it was determined that I had made enought improvements to do something else and I promptly (and joyfully) returned to pen and mech development, never to consider network related development again.
Conversation #1 Me: I have a connection to get some work, would it be possible for me to work it through the company? Other: Yeah...... Me: Would it be possible to get a kickback on the profits.... ? Other: So what you are saying is if we don't pay you you're saying you're just going to do it anyways and keep all the money. Me: ( I forget ) Other: So what if I were to tell you that that kind of work is not what you were hired for.
Simple, [Australian] Department of Employment and Workplace Relations. Never have I worked in another place where daily you ask to leave only to be told that you are not permitted, even after 12 - 13hrs. The mentallity is such that they think they own you, a view that was often reinforced verbally by management. Before leaving things were so bad that staff were advised that they were only to take one of their 2 weekend days off, and this was only after approval was sought from management. This is from a department that, as it's name suggests, should be improving conditions for employees. A big hello to Anthony Parsons (DEWR Director). I loved the way you lied through your teeth to the Senate Estimates Committee and then joked with senior management about it. Respect.
So a successful work needs to be one in which there's always someone who finds your 'dirty' work is his 'good' work - and everyone's 'dirty' work is liked by someone else. Concept sounds plausible. See my sig for the URL. :)
The Dirty Work Group
This is FAKE - I had to spend 3 months training my replacement from India, teaching him how to use a compiler and MS Word since he had PhD in VBScript and could only write kidding script viruses.
I can't afford a sig!
After repeatedly asking for work and not receiving any, I started asking other people around me if they needed help. I started working on some HTML and other scripts when a boss a few levels up caught wind.
I was taken aside and told that me helping other groups messes up their books, and I should go back to doing nothing.
I had no internet to browse. Not even an intranet. Wow, was I bored. I spent an entire morning opening up all the folders on all the servers in Network Neighborhood. Thats a lot of little +'s. There were 40+ servers, so it took all morning. Then, after lunch, I closed them all.
Eventually, I was given a small task that need to be done in VB. That was a great day! I wrote lots of horrible VB code, which was pretty good by company standards, so I was finally given tasks and did some actual work.
I learned so much about doing nothing early in my career. "Always carry a clipboard," my boss told me. He said that if you go to fix someone's computer and you have a clipboard, they don't ask questions.
He always communicated via email, even though his desk was 3 cubes away. Typing an email takes soooo much longer than a 10 second verbal conversation. His desk was always a mess, and he always looked disorganized or frazzled. It made me want to communicate only via email.
He successfully lobbied to get a new catagory in the timesheets for organizing files on your PC.
Anyway, blah blah blah, the final tasks once I had my VB installed was to write software to deploy the real coders software. Once their DLLs and C apps were ready to go, they had to use my LAME ASS VB programs to setup a buggy overnight automated install instead of walking to the target PCs and using installshield. I wish I could kick my ass.
I was fooled royally with the promise of getting to learn a lot of technical stuff. I learnt early on that desperation to get a job will not get u anywhere. I spent 2 months in a job where i was supposed to sort out porn photo's sent to me every single day into categories decided by my boss. For those of u wagging their tongues about wat a cool job it was..let me tell u i stopped watching porn for the next couple of months after i quit the job :-) I had had enough.
Hmm, seeing as how I never kissed his ass, and he got fired... I'd say your painfully lame attempt at humor failed. You, sir, are a waste of sperm and egg.
Slashdot is proof that Sturgeon's Law applies to mankind.
Sorry, your use of the word "underlings" invalidates your post, and any ideas contained within. We know that you are the problem, not the employees that you regard with such contempt. Please delete your slashdot account and take yourself out of the job market, if your horrid leadership attitude hasn't weeded you out already.
I haven't thought of SCTV in ages.
...what a crew!
Wow, wow, wow, those were some *good* times...
Tommy Shanks
Guy Caballero
Earl Camembert
Edna Boil
Phillis Gumble
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
Wasn't exactly a development job, but here goes:
I was a computer operator / network tech for Reeds Jewelers, in their corporate IT center. I had two managers I reported to, since my full-time job was the amalgamation of two previous part-time jobs... and each reported to a different manager. And out of 14 people in the IT department, two were men; me, and the IT Director (who was never around.)
And of course all the girls were the man hating, feminist types, had their little clique going, blah, blah, so I was doomed to forever be an "outsider" as long as I worked there.
Rhonda, one of the two managers, was an ignorant bitch who knew shit about IT. I swear she went to one of those 1 week "how to speak management speak" seminars, and then landed her job. All she knew how to do was run around saying "Let's proactively strategize to leverage our multi-disciplinary attributes, blah, blah." I overheard her on the phone once talking to a vendor about some kit... about two minutes in, I realized this bitch had NO idea what she was talking about. None.. zero, zilch, nada.
And of course she disliked me with a passion, and played favorites really badly. There were two of "her girls" in particular that could do no wrong, and were perfect in her eyes. Unfortunately neither one was exactly an IT genius, and on several occassions I showed one or the other (or both) of them up by fixing something they couldn't. Instead of getting any thanks or acknowledgement, Rhonda acted like she was pissed off that I made her precious babies look bad...
Did I mention that I really hated that whore?
Anyway, one incident really stands out... they had this Paradox for DOS database they wanted to convert to MS Access (God only knows why, ok?).. anyway, they managed to create the Access database, but couldn't figure out how to move the data. After A FULL FUCKING WEEK of fucking with this thing, they gave up, and decided to RE-KEY ALL 2 GAZILLION RECORDS!?! No kidding.. they printed all this shit out, distributed the print-outs, and had people re-keying this shit. I came into work that night, found a big stack of print-outs on my desk, and a note saying "start keying in as much of this as you can."
Needless to say, I just went to the machine with the Paradox DB, dumped it to a file, and imported it into the Access DB. Had to write an update query to do it, because there was a calculated field in their or something, but the whole thing took me maybe an hour.
The next day, Rhonda is like "Did you get any of those records keyed in?" LOL... I was like "no, I did it the smart way and exported and re-imported them, it's done." Gawd, she looked like she'd seen a ghost... like she couldn't BELIEVE that I could do something that her precious girls couldn't do..
It was pretty much a nightmare from day one... luckily I was only there about 3 or 4 months, and then found a real programming job and said goodbye to that place (hopefully forever!)
// TODO: Insert Cool Sig
It's 2003, and I am writing 16-bit dos apps for a company. First of all I've never used abything 16bit ecept BASIC. But since college it's all been 32 bit.
Sucks doesn't it? I hate learning new skills too. Shut the fuck up.
Everything was a program and it all had to fit into 640k.
Dude, shut the fuck up already. Your post is over.
I wonder if the lost finger went out with the meat paddies.
Owing to a legacy architecture, most (if not all) application logic is still embedded in PL/SQL stored packages. My job: find hard coded strings, and replace with calls to the globalization API.
And this is "bad"? Sheesh, get a life dude, and switch jobs. I'd love that job. Easy work, and exposure to many people's mode of thought in a wide variety of applications. PL/SQL is very much alive, and being able to say during an interview that you pour through PL/DSQL code to enhance it with API calls will go a long way.
If this is a "bad" job, and you want a "good" job, perhaps you want to try game testing?
Have you read my journal today?
Just because a project is old it does not mean the source code for it has to be old. Personally I wrote a program 8 years ago for a company, and they keep comming back to me to get changes done. Of course it does have very extensive documentation (but not a full image dump of my mind), as soon as code become duplicated it gets made generic (c++ is good for this) and the whole system has have 3 rewrites (every time better than the orginal, and gives me the chance to cut the legacy crud from the code that is no longer used.
James
I worked for an Indian company that had a consumerific Web site as its product. I was one of only 2 non-Indian employees. I managed a small team. All 3 of these conversations are accurate enough that I have to post this anonymously and hope the people there never read this.
Conversation #1
Coworker: Hey, check this out
Me: What's that?
Coworker: It's the ratings given to each manager by their supervisors.
Me: How did our peers do?
Coworker: Let's see... 9 out of 10, 9 out of 10... lots of 8's and 9's.
Me: Cool. How did us white guys do?
Coworker: Here we are... hmm... 5 out of 10 for both of us....
Me: WTF?
Conversation #2
Boss: The CEO cannot find any addresses on our Web site!
Me: We don't have addresses on our Web site.
Boss: Exactly! When were they removed?
Me: You misunderstand. We have never, ever, had addresses on our Web site.
Boss: The CEO swears you did. He's furious! What do I tell the CEO?
Me: Tell him we never had addresses. Offer to get them.
Boss: Get them!?! Just restore what you wiped out!
Me: There is nothing to restore, we never collected or displayed addresses.
Boss: Perhaps you misunderstand. This is serious! Get everything back before the CEO checks again!
Me: Um.
Conversation #3
Boss: You are secretly working for another company.
Me: No, I am not.
Boss: Yes you are. I heard it. It's a rumor.
Me: The rumor is wrong. This is my sole source of income.
Boss: You want that other job so bad, you take it and get out!
Me: There is no other job.
Boss: You were out 3 Mondays over the last 2 months! That's moonlighting!
Me: No, it was Winter, my kids would get sick at school and then pass it to me on the weekend.
Boss: You must be working two jobs! I'll make this easy on you, now you have one!
Me: No, now I have none.
I am supporting some applications the break the bank for bad code. No word of a lie, I have to try and debug C functions that are 13,000 - 15,000 lines long. For a single function! The best part is that in a 15,000 line function there might be five or six comments.
No trying to keep a line of code to within 80 characters so it is readable either. Nope, single lines reach well into the hundreds of characters wide. Of course this is necessary because you are going 12 levels of indentation. if within an if within an else within a case within an else within an if within a case within an if within a while.
Debugging is a real treat. Let's see, I know that the problem is that eventually nVar1 evaluates to 4 but it should be 8. Hmm. Let's see nVar1 is possibly changed 400 times from when it was set to 8 depending on maybe thousands of possible things that could have happened.
There are some fun tricks in there too. The original coder seemed to have a lot of problems with hung sockets that were keeping the port locked even after the socket was supposed to be done. So, how about this obvious solution: write a routine that checks the port and if it appears to be locked just increment the default port and listen on that port instead. Of course eventually that port gets locked too so increment again and listen on yet another port. All you have to do is write all clients to also check and if a connection fails just start incrementally trying to attach to a port until you get one. Magic.
So mind numbing. The worst is that everyone at the company thinks that the guy who wrote the code is some sort of genius (You mean other servers don't start listening on different ports when their default port is locked up?!?). Idiots.
Well, I was contracted to update and repair an existing application written in MSWord. It took Word documents and changed them into HTML. Problem was, the default html created by MSWord was incredibly broken - probably in an attempt to thwart Netscape. Also, the formatting was horrible.
I ended up writing an HTML parser/repair module implemented as an VB OLE object (my idea) and called from an embedded script in Word (a requirement). It had error trapping, logging, and reporting features as well as automatic or manual execution depending on menu selection.
The project was doomed from the start by apathy and outright opposition from the regular employees.
I pulled a rabbit out of my hat though. My code worked! It read in the html, parsed it, and wrote lovely correct html ready to be published.
I think that's what got me fired.
Codifex Maximus ~ In search of... a shorter sig.
In about 1k files. My Perl skills got an instant boost and by that it wasn't that boring.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
All right, so one summer, there was a methane pipeline being built near my hometown of Douglas, Wyoming. That's right, Wyoming. The fact that I live in Wyoming alone, should qualify as horrible. But anyhow, I got hired onto this pipeline deal. As it turned out, about a week after I'd been hired, some rancher was complaining that the machinery, 15 miles away was scaring the mother sheep away and the lambs were being left and dying. So wouldn't you know that I had to go out and make sure they didn't get near our path. And let me tell you, in all the time I spent out there, not a single sheep ever came near our path. They just stayed over in a corner and mocked me from afar with various "Baaaa's". Well, after a couple days of that, the truck they gave me broke down. So, I took my blazer, which just happened to have a back seat that layed down, out with me. So I threw a blanket and a couple magazines in the back and went to work. While the sheep stayed in their corner, I napped. That was the most boring, most worthless, and all around worst job I ever held.
We need to make the database as related as possible - if you can make a lookup table for a Yes/No field, then by all means you should do it!
:-)
Hey, those come in handy. I inherited an schema (okay, it was horrible except they were consistent in their ineptitude) that had tables for every 'lookup' in the app.
The nice thing is, I generate all the HTML widgets off ResultSet objects with automatic security, just for fun. It's not such a bad idea.
You'd be better off internationalising it... ;-)
They will never know the simple pleasure of a monkey knife fight
I went to work for a small GIS (geographical information systems) company that wanted to add web development to their services. This company was a staunch Windows only (in fact MS only) shop. I went to work on a site for their biggest client (a city in the midwest) and the first problem I ran in to was that they insisted that the client be allowed to modify documents with MS Front Page. i tried to tell them that FP was a toy but it was hard enough to convince my boss (who knew nothing about html) to allow me to use Dreamweaver and Homesite.
In a desparate attempt to save the html of the site from being totallly raped by people with no html experience using a piece of crap editor I wrote some special generator applications for the client that would allow standardized changes to pages and allow access to only what the client needed to be changed. I got no support from my boss (and in fact was scolded for spending time on it) and was never allowed to attend meetings with the client to plead my case.
Whats worse is that every time a client would open a frameset or certain other pages in FP it would break the page in some way that I still don't understand without actually altering the html. These documents would not even open in Homesite and would have to be cut and pasted to be fixed (by re saving and reposting).
The only browser they cared about was IE and yet I was required to make sure that the site complied with accessability guidlines as this was a city government web site.
At one point I found out that the look and feel designs that they were feeding me were copied verbatum from a city site in Canada. The site (escept for the front page which some guy from the water dept. kept dicking with) ended up looking exactly like this site. I kept wondering up till that point why all other designs were rejected. In additing they insisted against my protests on stealing a Java applet they found on the web somewhere that clearly stated the need for licensing (a cheesy text scrolling thing)
This company finally went under but not before I was let go because supposedly my work was not as ""comparable" to another developer they had just hired to do ASP work.
Never mind not a soul there understood a thing about html, javascript, java or any other web technology I was working with. One day my boss turns to the VB developer and asks "I can't remember which one is it that I don't like? Java or Javascript?" He didn't know what either one was.
It's been very hard to get back on my feet after this but I did learn a lot.
I got told my contract wasn't being renewed and they were hiring some kind of intelligent chimp (ie. Relation to the boss) to take over my job. I am not kidding when I say this guy was totally clueless.
So I burned all the comments and changed all the variables to A,B,..AA,BB (resetting to A,B in methods).
One of the programs I did what you said above just to really piss him off. What was funny was after he looked at the code for a few days he told his Uncle the Boss that "He wrote poor code, however he can optimise it by building an API to interface with the A(256) variable.". I got chewed out for it from the boss for that but he realised what an idiot they hired and hired a second person to help him.
"paTTies" you illiterate "Hooked on Phonics" fuck.
You're underestimating just how depraved and desperate some porn-junkies can be. If there's a market for scat-porn for goodness sake, there just has to be a market for vienna sausages.
I've reached an all time-high. Following is what I do now
/. reload /. every other minute
1. Goto news.google.com, cnn.com, bbc.co.uk every 2 or 3 minutes
2. copy and paste another line as part of my job.
3. Read every bit that I can understand on
4. Endless cups of tea - I'm upto 8 a day. Each tea-break lasts 15 mins
5. Lunch is between 12 and 2. I make sure I "utilize" the two hours fully.
6. I do all my personal work - be it making phone calls to pay my bills, emailing friends and old colleagues, etc. - at work.
7. Complain about my life to anyone who'd listen.
Needless to say, my popularity is at all time low!
http://efil.blogspot.com/
This is one reason why I was very ready to believe that C# would use a much better programming environment than Microsoft C++. The other reason was my familiarity with Microsoft Java.
If you want quality with MS software development products, you will have to put up with lack of platform-portability. Obvious now. See also ATL/WTL.
I18N == Intergalacticization
I was once given over 100,000 lines of Fortran Code (on a paper print-out) and asked to reverse-engineer and document it by drawing flow charts. It wasn't for a fun and logical business program either -- it was for the simulation of an aircraft electrical system for a commercial flight simulator. At the time, there weren't any PCs in the office -- let alone Visio or any kind of software to do it. I was told to photocopy thousands of standard flowchart symbols, cut them out and paste them on a huge (wall-sized) piece of paper. Paper Cuts, Glue Poisoning and many, many, many long hours! It was NOT PLEASANT! :)
Working for Lockheed Martin...
Sat around for a year waiting for clearance did absolutely nothing. We didn't even have enough computers for everyone waiting and by company rules bringing a deck of cards was forbidden and reading non company approved books was prohibited. However, I did get a stupid ID card to hang around my neck and an employee number by which I could be referred to.
In the end I left the company. I had been written up for viewing 'the onion' once from a computer. "The Onion" in Lockheed and the government's eye was an anti-social movement online publication that was a threat to the workspace.
Lockheed is a JOKE!
try { println( SigString ); } catch( Exception e ) { println( 'Who cares?' ); }
Eight years ago I was paid 4.50 an hour to stick little labels onto apples (you know, the ones that you have to peel off before you can eat them).
I am not retarded.
I hate contact jobs. People pass germs around that way.
Can I get the icon in cornflower blue?
Moving dialog boxes from one side of a VB form to another, for some idot middle manager who needed to justify his newly created position in the world.
Could I move the box just slighly left.
Later.
No no, still not left enough.
Later
How about putting it underneath.
Later.
You know I think it looked better on top.
Later
Left a bit.
So, on the day you leave that crap job... do what I did and setup a box to flood ping the fucker's ip, four times per hour for three minutes flat, between 7am and 5pm
*sigh*
If it was up to me, I'd give a promotion to everyone with a villa on a private island if they please. But in this case, I just think you will not get promoted.
There are several reasons why a competent manager would refuse to promote you.
First, by your little "on-the-side development", you have entered into a state of conflict of interest. Part of your job (and in the best interest of the employer) is that you don't get distracted by heavy work on the side and you are expected to show up to work refreshed, stimulated and motivated to be productive, and not groggy, demotivated because you're doing a rewrite anyway, so it doesn't matter how well you do your "regular" work.
Secondly, if the approach that you are practicing as the on-the-side work is the better one than your regular daytime work load, you are knowingly depriving the on-the-side process from flourishing in full productivity. In other words, if your code rewrite was actually done as your main job, it could be even more efficient, more clean and even more beneficial than it will be once you finish it by working evenings with limited (human or technological) resources.
As a manager, I do not want to keep an employee who doesn't understand the business value of his own work and who practices self-destructive efficiency-decreasing methods of "attemting to shine in the end". You would, however, get promoted if you came up to me with a proposal upfront justifying to me why it's not worth fixing the mess but instead it's much more beneficial to do the rewrite. If I, as a manager didn't think it you justified well, I'd just say 'no' and we'd move on, continuing with fixing the code mess as before. At that point, if you still believed a rewrite was more reasonable and that your manager was wrong, you would simply patiently continue with the work the way it was suggested, cash your paychecks and next time an opportunity to get promoted pops up, you'd try to make it happen again.
But continuing with such schizofrenia is both hurtful to the business (through damage to your productivity from extra burden as well as decreased motivation to commit to quality of fixing the existing code) as well as to your relationship with your manager who tends to look at the long-term bottom line.
"It is not the employer who pays the wages. He only handles the money. It is the customers that pays the wages." -- Henry Ford
About the replacement for REPLACE(), that function only existed from 2000(9.0) onwards, if the db is/was written in 97 or earlier then you have to write your own. (I just checked because I have my own VBA ReplaceInString function!)
Compared with many stories here, what you are required is not absurd. Internationalization (i18n) is a normal requirement if you need a localized application or the application deals with data from several locales. If the developers before (or you) did not do it, someone has to do it now.
The developer's job is not only fun, new toys and cutting edge technologies.
"a script ... quite primitive"
Nobody forced you to use it. If you are a developer, write a better one.
We all had some bad experiences. When it is you against the boss/company, maybe is not much you can do. But here it is you against the machine. And you don't sound like a winner (more like a whiner).
I've been pulled up a number of times for web surfing when I should be working (ie waiting for some damn database reconciliation :)
to finish) so I just put mozilla to one side and installed lynx on the sparc here. Boss hasn't even noticed since for him
its in an xterm and xterm = complex-techie-stuff.
I used to work for a guy who has a window-less office.
He had a very serious wind problem. In the US I think you call that "gas".
His farts smelled like a whole rugby team's dirty underwear and socks, warmed up and all-together in-yer-face.
And meetings in his office used to be long ones...
Surely chocolate laxatives would keep the boss out of your hair for much longer..
Seriously JSPs (Model 1) are crap if you use them by themselves. They consider using a MVC (Model 2) framework such as struts,
which is far more maintainable for large projects.
For may application Oracle is overkill, and developers should consider Postgresql which very similar in style (plpgsql is quite similar to PL/SQL)
Bingo,
And that's all some developer jobs are until u eventually find out if its production line and springbord to better things or just a plain production line!
That's the beauty of O/S development. It really is YOUR fault if it's a bad project to work on because lets face it, you can easily go and do something else like, I don't know, sell hotdogs.
It's up to you. You have no excuse. I believe O/S
development is far more fulfilling and people who practice it are happier : )
The worst job I ever had was whilst I was waiting for a proper job to come along. As soon as I laid eyes on my new office I knew I was in trouble, it was in the worst part of Birmingham in a poky flat above an Alarm & Security shop. I considered turning away then and there and going home but stupidly I persevered and went in to meet my new colleagues.
There were 4 of them, most elderly ladies who had clearly been working in there since the war and a scary kick boxing psyhcopath type who I just steered well clear of.
The work was mind numbingly monotonous, Monday - put letters in Envelopes, Tuesday - enter new business into computer, Wednesday - generate new letters, Thursday - open letters received and file them, Friday - put things in bags, prepare letters for post on Monday.
Even worse the old people naturally assumed that everyone worked in exactly the same way they had done and would automatically know that at 10:17 and every 83.5 minutes afterwards it was my turn to make the drinks, that everyone filed documents based on the Forename and not the Surname etc etc. They'd never bother to tell you beforehand they were expecting you to do things, they would just moan about it afterwards ( all day ) when you didn't do it.
The worst part about was this company went from door to door offering people loans, loans at 186% APR. Obviously most of the people taking the loans were not the brightest of people and pretty poor so the worst part of the job was them phoning up saying things like:
"When's the maaan coming ? I need me money now"
"I don't know, we have no way of telling where they are"
"But I'm taking me kids on holiday in 20mins and I need me cash... etc etc"
Dreadful. For the last 2 weeks I signed all the letters as "Count Von Dracula", eventually they noticed and were very upset so I left. 3 weeks later the agency I who had consigned me this hell called up asking me to go back to work there because no one else they had sent lasted more than 2 days - I said no.
We just migrated an application from Oracle to MS SQL Server mid-development, because of the clean seperation of the low level business logic in Data Access Objects, we were able to do this without even touching the business logic objects (javabeans) or the web application (MVC using struts)
Because management wanted to pay top dollars for good architects to design the system, but didn't want to pay top dollars for somebody to maintain/update the system. The architects realised they were going to be shafted anyway, so they didn't bother with documentation.
I have no sympathy for the poster at all. Sometimes programming involves some real grunt work. Roll up your sleeves and just do it. Yes, see if you can come up with a tool that will automate some or all of the task, but sometimes, you just have to do some boring work.
I've seen really, really promising projects fail because programmers were simply too lazy to do a week's worth of this sort of grunt work. I've seen easily avoidable bugs introduced into software because programmers were too lazy to check for all the implications of their change, even when this just meant searching the source code for all instances of a function call or class name.
Do the grunt work. Get the code right, move on to something more interesting.
... that jobs are going to India etc.
I'm staggered that there is any software development going on at all in the US at all after reading these stories.
It never ends, and I don't want to do it!
Picture the scene: a young software developer, still wet behind the ears, is asked by his boss "how long will xyz feature take to implement?" Eager to please, he says "oh, about six weeks". The boss goes to the customer and says "it's ready" and gives him the developer's direct dial number.
As if that wasn't bad enough, I (err, I mean he) sent a beta version to the testing department, who went at it with a hex editor and removed the "beta" string from the version number. Cue irate customer wanting support on what was now a production-quality product.
i hate computers
Sadly enough I have had a chance to find out what it is really like recently. With the downturn in the economy I lost my $80K a year job as a Developer/DBA and was forced to seek alternative employment to keep the COBRA health care while looking for another job (which took over 6 months). While employed as a temp I got to try a wide varity of jobs from loading trucks at a warehouse to data entry. I lost 30 pounds (which I almost immediatly gained back when I went behind the desk again). I found the tasks involving repetitious manual labor to be relaxing. Once my body got used to the job at hand I could put it on auto-pilot and free my mind to think about high-order things. Most of the time I was thinking about how to make the processes more efficient, but a lot of the time I thought about coding. Sometimes the two merged. It was definitely better than the worst tasks I have had to do in IT, but it also didn't give the satisfaction that the best tasks in IT have given me.
Preaching to the converted.
I'm listening to Vapor Trails right now.
The core accounting system of Bank1 ran on IBM S/390s, was written almost entirely in PL/1 and was, by the standards of huge complex systems, very well documented, written and maintained.
In order to "save money" we were told that this system would be junked, we would move to Bank2's system and then develop that back to the standard of Bank1's system. Undoubtedly a bookkeeping sidestep we were told to proceed nonetheless.
When it finally came for us to check out Bank2's code I almost fell over in horror. It was all written in Assembler, with no comments or documentation beside the 30-odd line desription at the start of the module.
The code was so badly documented that we had to employ software to trace the logic path through the code - and found that some of the code was *never* called and effectively redundant. But I suppose the constraints of version control had kept all this useless and distracting cruft in there for years.
So there we were trying to write migration code to move data to programs that we didn't understand but were expected to process billions in currency without fault.
Needless to say the task was very very difficult and worrying. We basically had to treat this code as a black box, poke things in one end and see how it mangled them when they come out of the other end!
I still shudder when I think of all of that Assembler without comments. And it wasn't even good assembler! It used to have bits in it like:
If register 1 = 1 then jump to the current offset in the program plus 3
If regsiter 1 = 2 then jump to the curren offset in the program plus 6
Actions for answer 1
Jump around code for answer 2
Actions for answer 2
No labels or EQU statements, just offsets jumping around the code...
All of this meant that if you added something in between any of this relative jumping around the code you were liable to break everything and probably trying to execute an operand to some following instruction or something, depending on the number of bytes the instructions that you added were.
All in all it is a wonder people trust these banks with their money!
Now, I wasn't that familiar with the motion code, but I had worked in that area a year or two before, and the other guy didn't have a valid passport. I'd just gotten married and my wife spoke Italian, so I talked them in to sending us both Coach instead of just me in Business class.
Get there with the special diagnostic software. Turns out it's French subcontractors we have to deal with, and I never got much out of my high-school French classes. ("Il y a un poisson dans votre bibliotheque.") Send my wife off tho the hotel. Try to load up the software, and the floppy I'd used to put it on the laptop was bad, and corrupted it silently. Now it's Friday night in rural Italy in 1995. ('Internet? What's that?') The branch office for our company is on the other side of the country, and closed until Monday anyway.
Can't convince my modem to generate the right tones for the Italian phone system. Did I mention that no one could figure out how to turn the lights on in the plant at night so we're using our laptops as flashlights? But the mosquitos can get in, and they're some Italian mutant variety that raise welts the size of marbles. Oh, and when I finally do get a chance to call the lead motion developer, he chews me out for having to spend the day at home waiting for my phone call.
Then, about four a.m. I get to the hotel, where my wife has dressed up in some sexy lingerie. But she's pissed as hell that I'm so late and didn't call that she chews me out, too.
The next day I try some fun but useless diagnostics, and those damn Europeans ( :-> ) will take a two-hour lunch but won't knock off until three in the morning so I'm getting several days in the red on sleep. Plus all the hotels are booked so every night I'm in a different hotel room, seeing my new bride (who apologized after I explained the situation to her) maybe half an hour a night before I collapse.
We find a computer store on Sunday that'll let me use their email account to get the right software, and finally load it on the robots. But then it takes another day and a half before the problem case gets logged and it proves our fix works.
Slept pretty well on the flight home, though.
PHEM - party like it's 1997-2003!
However many jobs I have, "this one" is always the worst one.
Sorry, I couldn't resist. ;-P
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
I'd have to say either the cable monkey work, or the development cycles that gets caught in an infinit loop! I hate it when the boss changes his mind every few days about the critical logic to a system, requiring you to almost start from scratch, or patch the hell out of the system.
So the young'ens will learn. From bitter personal experience, let me say, test your restore. If you work with magnetic tapes, test those suckers occasionally. No media last forever.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
(courtesy of Bill Hicks, lest he be forgotten)
Why would you be discussing the Navy's internal computer projects on your personal blog without permission?
The following is the actual blog that they found offensive enough to threaten me with National Security:
"My project at work is moving along, but not very quickly. The guy in charge does not know programming, database design, or server maintenance. However, he finds it necessary to micromanage every aspect of how everything is done. On top of that, the liason from the contracting company told me that he thinks he can stretch the 3 months allowed for the demo to 5 years. I don't want to be working on this in 5 years."
As you can see, a blog like that really threatens national security. Now it's on Slashdot!? Run for cover. We'll be attacked in no time!
The previous comment is purposely vague and generalized, but all of the facts are completely true.
Cut down on the milk.
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
So what you're saying is that you do the same thing at home as at work?
"Unheard of means only it's undreamed of yet,
Impossible means not yet done." ~~ Julia Ecklar
The correct response would be 'And then?'
...in this story to post something new and have it actually be seen, so I'm just doing this for me.
/. who could have done it in two hours. So I show him the prototype and tell him I'm going to install it. He says that the prototype is just dandy, but don't install it until a given date, the last day of the 6 weeks allotted to the project. Fine, I put the computers away. A couple of weeks later, I throw them on desks around the floor and plug them in. No one who works there has any clue what they are, but I just assume they'll get training later because I've used the last two weeks to write up documentation, including a user manual and training course outline.
Years ago, when dBaseIV was just about obsolete, I was working a strange little job - some data entry, some user help. Just a sort of little-of-everything tech support job, really, that I'd never had any training for but sort of figured out as I went along.
Boss drops by and tells me to forget everything else and work exclusively on building a database and front-end to control case file inventory. We're talking less than 100K paper file folders spread out among 70 or so employees and a half-dozen storage areas. He handed me a copy of dBase II and said to use it.
My response was "I'm not a programmer. I don't know what this dBase thing is. You're kidding, right?" He said "You'll figure it out. BTW, you're not allowed to ask anyone for help. Don't talk to any of the other employees. Just use your knowledge of the situation to write the thing and install it on 4 shared computers spread around the office. You have 6 weeks."
Amazing. I just sort of sat there, shocked. This dealt with *really* important files. If there was a problem with them getting lost, lots of revenue would be going up in smoke. And he was assigning someone he knew was completely clueless to solve the problem? Well, it didn't take me 6 weeks. To write something pretty and get it installed took about 3 weeks. I'm sure there are plenty of developers on
Here's the kicker -
The day after installation, internal security inspectors from *way* up on the corporate food chain swoop into the office and look over everything. They had been here are few months before and such inspections are normal, though rare and nerve-wracking. I see my boss show my work to the inspectors. The inspectors look at other stuff, then leave.
The next day, boss orders me to remove all the inventory control systems from the floor. It seems that, some months previously, the inspectors had identified weaknesses in case file control and filing and had suggested that we implement some sort of automated tracking. My boss had complied with their request, but now they were gone. So it was time to shut down the system.
I had spent 6 weeks busting my ass just so my boss would have a believable but, in reality, fake demonstration to throw at the inspectors, just so his boss could check off the box marked "Responds to input from Inspection function" on his annual evaluation. (Not exactly, but that's a functionally equivalent description of what happened.) I was, in short, duped into assisting in the commission of a fraud.
I consider the experience highly valuable. That boss taught me to be far more careful as to who I trust in this world.
If you're reading this, Thanks, Asshole.
Flamebait? It's a true story, you idiots.
I really knew those two people, they were really actually mentally retarded, they really had jobs shoving ads into newspapers, and they really enjoyed those jobs.
It's not Funny, and it's not Flamebait; it's a true story.
Was working in the same place for 4 years. The boss's buddy offered him a job, but he turned it down, and recommended me because the place I was at wasn't ever going to give me more money or responsibility (nothing bad there, it was just me and the boss).
So I get to the new place, and I'm supposed to be the lone PC developer in a nest of AIX guys. OK. Using Raima Database Manager (ptui!) and Vermont Views, custom ports to an extended DOS environment. OK. Source code must be identical to what's on AIX. Not so good.
So I get to hacking away. Turns out that those 32-bit ports they spent a bunch of money on were crap, withfunctionality turned off so they could get the port done (I ended up hacking their source), and the AIX programming wasn't up to snuff, either. For example, there was a problem where certain models of Toshiba laptop would lock up running the code. It turns out that part of the code would run a query and store the results in a file, which would be read back in. Except, in AIX, if there were no results there was no file, and the code could deal with that. On the DOS side, the file would exist, and be 0 length.
So naturally they would read chunks into an unititialized struct, not check for EOF, but for a stopper value in the struct. And those particular Toshiba laptop BIOSs would put in the wrong value.
Obviously, where there was one there were more. So the project was never going to work.
So they made me an AIX guy, doing a particular bit of functionality. But no one in the entire company could tell me how to query for the particular bits of records I needed to get that part to work (when they let me go, part of the reason stated was that I took 6 weeks to do that bit. My rebuttal wasn't pleasant, and had to do with the fact that it took 6 weeks of intesive investigation to figure out what data meant what [it wasn't written down anywhere]).
But the real kicker was having the COBOL guy, who couldn't handle the stress of management and demoted himself, who claimed proudly that he didn't know a thing about OO, or Windows, or evnet-drive programming, loudly telling the company (at a meeting) tha tI didn't know what I was talking about (I did know what I was talking about, but should have realized that the company already knew what they wanted, and so my work to figure out the best tools was a dodge).
Even the job with the 100-hour weeks, and the promised-but-not-delivered bonus pales beside this one. Fortunately, the company folded after a couple years, when they announced that they would do no new development, and their R&D staff quit, practically en masse.
link again: The Dirty Work Group
...and then it got stamped "Top Secret", filed away and no one has seen it since!
It didn't happen to me, but my cubicle-mate, but we work for the Air Force in the area of calibration of measurement instruments. He was given a project where he had to check for a certain set of frequencies. Not a big problem except they wouldn't tell him what the frequency was... it seems that the set of frequencies was classified as Top Secret and he didn't have a sufficient clearance level.
As to how it turned out, he took what information he did have and managed to figure out which values they were looking for. (IIRC, he looked at the limits of the ranges they wanted him scanning and looked at the center frequency of each) And... he nearly got brought up on charges of espionage as "obviously" he could not have found those values on his own.
This sig has absolutely no significance and serves only to take up screen space and waste the time of the reader.
Ok, so it's not development, but trying to evaluate the contents of the Windoze eventlog accross 15 different servers every day is boredom personified. It got a lot better when we started logging our events into a database server, but prior to that, I'd easily spend 4+hrs/day doing nothing but look for problems. The cryptic messages MS puts in there makes it even more difficult.
The thread has gotten huge, but I just had to post anyway...I had the PHB to end all PHBs...
.xls files to the boss at home, where he then "managed" them.
In my former days of computer consulting, I got hired by the owner of a small retail shoe store chain (about twelve stores) to bring them into the network age. Currently they were doing everything at individual stores where the staff would, at the end of every shift, type all of the receipts into Excel, email the
What I discovered as I poked into his machine at home was that he then printed out all of the Excel files, stuck them in a binder, then sent all of the paper and binders to his accountant once a year to do the taxes!!!
So he wanted me to fix all of this. Fine, sounded like a fun job, and I got cracking on pricing equipment, software, setting up employee training, etc, and gave the boss the project plan and estimate.
Yikes. He threw everything in the trash and gave me his own "project plan" specifications...
* He had already purchased his "retail store management" front end that was to be used at all of the stores, he found a great deal and current suites were too expensive. It was a 10+ year old MSDOS application!
* Said application was then to be modified so that the branch stores would nightly autodial the HQ store and telnet their data in, over a single phone line with each store timed to individually ring up the HQ store. Yikes. Stupid as hell but I could still do it.
* The HQ store would then be set up to collect the branch store data, consolidate it, then dial up the boss's AOL account! The HQ would then email the data to the boss.
* At home, the boss's PC would then be set up to automatically parse all of the data out to...you guessed it...and Excel spreadsheet.!
* The boss could then "conveniently" print it out, stick it in a binder, and mail the pile of crap to his poor abused accountant once a year.
I did my spirited best for a couple of weeks, then was quite thankfully fired as my costs and hours were deemed too expensive. A couple of years later the PHB suffered simultaneous bankruptcy and a heart attack.
----- And all that the Lorax left here in this mess was a small pile of rocks, with one word...UNLESS.
You should have told your prospective new employers that you were a black box device developer who only worked on classified projects.
Btw, in talking to a Microsoft salesman (named something like Joe Smith) who used to be a programmer, this job sounds *exactly* like what they did. They would be given a particular class/function definition and expected to implement it in C++ based on the provided input to output mapping. Never got to find out on what they were actually working. He hated it...that's why he became a salesman.
Properly defined, that actually sounds like good job experience (in terms of finding another sucker^H^H^H^H^H^Hemployer).
The best title is "Flunky." It works for almost any job (exceptions include CEO, owner, Chairman of the Board).
... because they found out that those two crossed lines caused the loss of a jet over the Atlantic with 300 dead!
A well thought out interrupt design is straightforward. I worked on the flight control system for the B-2 bomber. We used interrupts and backed them up with a solid design (quad redundancy, amongst other things) and lots of testing. I know that we inherited the basic software from another plane (F-15?), so that makes at least one other flight control system that used interrupts. I believe that there are other fly by wire systems (both military and civilian) that use interrupts and I know of many other avionics systems that use them, too.
Here are systems where failure means the plane would have crashed (rumor had it that wind tunnel testing of the B-2 showed it would actually disintegrate in flight on a flight control lockup, but that's just hearsay) and other mission critical systems, but yet they all use interrupts. Why is that? Interrupts can indeed be risky, but proper understanding of what they are and how to design and test them mitigate those risks. To make a blanket statement of "Interrupts = bad" is akin to saying "High level languages = bad" or even "ADA = self documenting = all ADA code good, even without dcouments".
Frankly, I'd be more concerned about a piece of software that tries to enforce a sequential polling architecture on the complex, chaotic series of events known as "real time" than a system that takes advantage of the built in hardware hardware features (interrupts) to make a simpler, event driven architecture.
"Prepare for the worst - hope for the best."
I have to agree with poster roman_mir. You have to use common sense when normalizing your database. I worked on a project once that called for bringing up a display in under a second. It took 10 seconds to get a connection and query the database to get the the data for the screen. (Oracle was slow in those days.) Largly because the db designer lacked insight on how to setup the tables.
Yes indeed, that's the place. I guess it's fame has spread far and wide. :)
The oddest thing about it was that 90% of the staff seemed to be contracters, on 3-6 month contracts. Yet they were expected to do the sort of jobs that permies should be doing. I was supposed to learn how the massive customer help system worked, and be available to answer questions and deal with problems. The guy I was taking over from had been there for over three years and knew it inside-out.
People would come to me on a daily basis, and for the first two months I could only answer "I don't know", because it was impossible to gain the experience required in such a short time. Luckily, my contract came up for renewal and I bailed out (which is the first time I've ever turned down an offer for a renewal).
Some other poor sap would have then had to spend months saying "I dunno" in my place, as he tried to figure out what was going on.
Cress, cress, lovely lovely cress
Wee! My first /. post!
Anyway, my worst development job was actually my first development job. I was the IT department at a small company that had a dog breeding colony for research purposes. They were using a Wang VS 15 to run the colony. As some of you may know, it was a Cobol machine, and wasn't y2k compatible. In fact, because of hardware limitations, it could not accept dates after December 31, 1999 at all (unless you were to manage to put in a version of *nix, but even then, there was no battery powered internal clock, so you would have to set the time anew every bootup, but I digress).
After Y2K, the company kept using the machine anyway, but also used paper since the mainframe couldn't handle any new records. In 2001, I was given the task of writing a new program, using whatever resources I could scrounge up. They didn't want to pay a real developer to do this (they got a quote for US$70,000, but that was too much for them).
I got some help from an outside developer, but had to do the majority of this myself. Did I mention that I had no education or experience in these matters? Did I forget to mention that the fate if the entire company was put onto my shoulders?
After a year and a half on this, I found out that I was going to be laid off. However, they wouldn't tell me exactly when. I continued to plod along doing this program, until the summer semester started at a local community college. By that time, I had gotten an alpha version ready, as was put to use. Unfortunatly, the people who needed to use it couldn't follow instructions, and I spent alot of time manually fixing the data.
Two weeks after I left, they called me because their backup system wasn't working and they wanted me to come in. I asked them what they were going to pay me. They replied that they weren't going to pay me as I had a moral obligation to fix things that should have stayed fixed after I left.
They still owe me money for vacation pay (which the employee manaul says I'm entitled to, as I gave sufficient notice), and for expenses I foolishly paid for, after being given the assurance that the company would take care of them.
That is wonderful advice. The guy who cozies up to you and calls you buddy will either stab you in the back or con you into doing work for him. The crusty unsocial types, at least you know where you stand with them...
never ask for more than it would cost to have you whacked.
OK - how about working for a newly-created dotcom millionaire whose "success" had got the better of him. He'd roll in mid-morning, hung-over and unwashed, take the other (non-development) staff to the pub and get blitzed. At night, once the pubs closed and he was sozzled, he'd make changes to the code, buggy changes at that, compile the code and not bother to commit the code changes back to the code base.
...hard-code passwords into the code, not document them, compile, "lose" the code, and forget the passwords... ...hand out private phone numbers to support staff in other countries (I never agreed on 24-7 support - in my last week there, I got 22 hours sleep!) ...renege on bonus payments... ...get drunk, verbally ask for program changes, then forget about them by the next day when he was "sober" (that's a relative reference, not an absolute!), and demand they be removed again (I always so enjoy meaningless work!)... ..make significant (and, as usual, undocumented) system and code changes the night before going on a mountain holiday where he couldn't be contacted...
This guy also did things like...
I could go on, but I'm sure you get the idea!
Can I add that I have never, ever, not even when my life had been in danger, felt so much relief as when I left that company.
Puberty.
When my software became hardware.
He probably did the "1 hr minimum" trick.
no comment
I dunno, how hot is your boss? Assuming female, of course.
I didn't make it very clear in my previous post, but my thinking with PySol was that you can get a computer program to play thousands of FreeCell games every minute. Once you have a dataset of wins and losses, you can compute the empirical chances of winning when you use Strategy A, determine if chances are better with Strategy B, and so on.
If you kept modifying your current best strategy and accepting a modification if it improves your chance of winning (after each change in strategy, you play 1000 games with that strategy to see if you're doing better), you could end up converging toward the optimal strategy for winning the game.
The strangest claim you make is that your boss insisted on using references because he "doesn't understand pointers". Since when were pointers harder to understand than references? I have to suspect that you were simply being stubborn about adopting new programming techniques.