Things That Scare the Bejeezus Out of Programmers
itwbennett writes "Software developers are, by and large, a cool and analytical bunch, but there are a handful of things that strike terror in their hearts. Phil Johnson scoured developer forums looking for an answer to the question: What's your biggest fear as a programmer? The answers clustered into 5 broad groups ranging from being forced to learn or use a specific technology to working for and with incompetents. What's your biggest fear?"
getting raped at your work seat
Because I'd rather work at McDonalds for $8/hr instead of $2/hr as a programmer, but then again I'd probably just go live in solitude in the mountains somewhere, away from technology should she betray me in such a way.
And all the corporate client data gone ...
also, Spiders and Bees
Alligators
There's nothing in that list (with the possible exception of "being forced to use a specific technology") that wouldn't apply to just about any worker.
not being able to get a (non-virtual) gf???
What's your biggest fear ...
Inadequate code size ...
insufficient desk walk-through
premature compilation
- source unknown
explaining the need/worth of my project to the suits so that they don't kill it.
There are many things to be afraid of. I think my biggest fear is being irrelevant, something I feel greatly sometimes as the young hotshots come up from below and as more gray hairs appear. And because of my ADHD and dyslexia, I fear not being able to use my intelligence when I need to use it because my brain refuses to work.
But there are more terrible things to fear. The wrath of my evil cat when I step on her tail and what she leaves in the kitty litter that I have to clean up are two such horrible prospects. And when I was married, my wife was quite scary at times.
But really, when one looks at the big picture, the only thing to fear is fear itself (as FDR said). Accepting life on life's terms and not wasting time on trying to change things that can't be changed is what's important to me.
It's really quite a simple choice: Life, Death, or Los Angeles.
They're impossible to code for, or cope with.
"Enter date"
>cat
"This value is invalid"
"Hey your software is broken! It doesn't stop me typing "cat" in a date field!"
What did it say?
"value is invalid"
There you go then!
"But it didn't stop me typing it!"
Because it assumes you are not a moron? You're right, it is "broken"...
You never know where your code will wind up or what mistakes you've made.
ITIL
Waking up, and finding myself stereo-typed into one job, one branch, or another. I like the idea of mastering each branch fully, but find that there's never enough time to do everything I'd like to do, or learn everything I'd like to learn. And of course, your job becomes your life...I don't know why, but I had ideas, when younger, of changing that equation, of making jobs more efficient, so more time could be spent elsewhere (leisure, edification, etc.)...and yet, I seem to be spending all my time repairing damaged items or chasing dead-ends, rather than pursuing these agendas. It's like my equation has been turned on its head...and I don't know by whom, or why. Computers are supposed to be freeing man from his burdens, and in doing so, helping advance themselves; instead, they seem to be acting as balls and chains...or worse, in the case of the NSA, where they are being used to spy on people.
Even the work I am doing on my autodidactic program (human learning) or evolutionary program (machine learning) feels like I am chiseling away at a granite mountain with a wooden spoon. Why is this kind of programming so difficult, yet the algorithms to spy on one another seem to flow from the heavens themselves?
I am John Hurt.
As a self employed coder of all things web ... The dreaded 4 week project on 30 or 60 day payment terms!
"But it didn't stop me typing it!"
This really brought up memories.. (source http://bash.org/?4281 ) :D-< :D|-< :D/-<
<Zybl0re> get up
<Zybl0re> get on up
<Zybl0re> get up
<Zybl0re> get on up
<phxl|paper> and DANCE
* nmp3bot dances
* nmp3bot dances
* nmp3bot dances
<[SA]HatfulOfHollow> im going to become rich and famous after i invent a device that allows you to stab people in the face over the internet
Hivemind harvest in progress..
Being given a big pile of code and being asked to maintain it with no test suite.
Each time you change it you could theoretically be breaking a ton of features. But there's no way to be sure.
Snakes,
Loud noises,
Social contact,
Drinks machine being out of soft drinks and/or chocolate,
Google being down,
Calling someone a "hater" only means you can not rationally rebut their argument.
(obviously)
Changing requirements mid project. Actually that wouldn't be so bad if the managers wouldn't imply that you are somehow failing if you say that will extend the delivery date.
I really hate working with lazy stupid programmers who were hired only to fill out an HR racial preference checklist. Nothing is more demoralizing than working with a shiftless, smelly, untalented "winner" of the racial preference lottery.
- daylight ....
- any noise other than that produced by earphones
- women
- building power failures
- enforced OS change
-
I think we need a Slashdot Poll for this one!
That more programmers will wake up from the delusion that they have to work nine to five, and that suddenly, I'll have a lot more competition from people just as talented and driven as I am... in the same areas I specialize. That's a pretty frightening thought, even if it is unrealistic. Most programmers don't actually make it to that point in their career at all, so in all reality, I that's not the kind of thing I lose any sleep over.
This signature has Super Cow Powers
You know, it's exactly this kind of complacent attitude that is the source of the problem you're complaining about. Stop being so sanctimonious about your own level of skill, and learn some damn humility. Nobody likes working with an arrogant, no talent, cocksucker, such as yourself.
Awww precious, did you get modded down spouting your favorite misconception again? That's so unfair.
... whatever
in the middle of a long, long, lo000ng and costly number-crunching run, and that just because some management moron thought that we'd save some money by buying cheapo hardware. I fear that with deadly fear.
Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
Debugging multi-threaded code liberally sprinkled with delays instead of locks. I still have nightmares!
I already do not like my job anymore. I'm working here 6 months. Before that I had 4 resume-posting, interviewing-filled, bank balance watching months, that also where a lot of fun otherwise.
My biggest fear is that I will never again find an IT job that I like.
I'm early forties, I guess I have had quite a varied bit of experience over the years. New tech comes and goes. It's getting worse and worse. While it's OK to learn something new, the question remains: will that still be relevant in 6 months' time? Will the next client/job be appalled that I have spent nights and weekends learning i-Bauble++ when they actually want someone with skills in Turbo Visual Gizmo?
Also, companies seem to move further and further away from what has been put forward as "best practices" in software development. Mostly there aren't even "good enough" practices.
Also makes me want to change careers and become an artist of sorts.
To not make the difference in the world in the way that I envisioned. It's everything at once and nothing specific. My betterment of the world doesn't even have to be in programming, although programming is where my best talents are. I've always wanted to leave the world a better place than when I came into it. Unfortunately, I can't say that I feel that way so my biggest fear is coming true and I'm having to learn to cope with the idea that I cannot fix the injustices of the world.
In the project I'm maintaining now, I've discovered such gems as "someVar++ // count down" and "if(someDouble == 0 || someDouble == 0.0 || someDouble == 0.00) { ... }". Oh, and literally hundreds of global variables whose values are copied in and out of instance and local variables in seemingly random places. I'm sure the guy who wrote it was one of those students who comes to the Java forums begging for help because they didn't pay attention all semester and have absolutely no idea where to begin on their final project, which is invariably due in a few hours. I don't even want to know how much they paid him to write it, but it's cost the company at least 1.5 man-years just to get it into a state that's acceptable to most of our customers, and it's still nowhere near as good as if we'd spent (I would estimate) 0.5 man-years rewriting the whole thing from scratch.
Anything to do with SAP ...
Writing Oracle SQL scripts (Mainly because there is a real danger It might bore me to death)
Developing web services to integrate Lotus Notes with BPEL or some such... (Same reason as above except Lotus also sucks ass)
Marketing convincing my boss two weeks before release that we need the following features
A group of six year olds in the server room with water guns.
Teslacoils!.
Feel free to expand...
This should be a slashdot poll.
I, for one, would vote for the Cowboy Neal option.
Women?
I believe the daily tome of knowledge tends to sum these fears up on a ... er... daily basis. "Out out you daemons of stupidity!" (Yes, typo is intentional.)
Select from tblFriends where interesting >= 4;
Heights, or being crushed by a collapsing bridge as I walk under it (I walk under bridges all the time, to try and work with that one. I know it is irrational, but there you go...). A while ago, I would have said Public Speaking/giving presentations (, but after working on it for a while, I have improved immensely in that area.
Most of the things that I actually might find scary do not generally happen to programmers. Odd things do come up, though - I worked my way through University working as a bouncer at various nightclubs. In that job, I was shot, shot at, knifed, involved in several other knife fights, fist fights, and numerous potentially hostile confrontations with drunk or high people looking for a fight. None of that violence was directed at me personally - I happened to be in the wrong place at the wrong time.
The only time someone has actually aimed violence against me personally was while working as a programmer/on-site software implementation consultant. As the "new guy" I went on-site to install and troubleshoot a new version of our application - a back-office/inventory system - for a client, the manager of the office I was visiting picked me up and tried to punch me as soon as he heard which company I was from (the backstory - a sales guy long on promises and short on knowledge got the contract by lying about the capabilities and readiness of the product, and I was the 3rd consultant sent on-site 6 months after the agreed delivery date, still with a beta version of the product. Not appreciated by the body-building, steroid-pumping manager, who was already having a bad day).
We quickly got past that and started to make progress as soon as his nose stopped bleeding, and long before he stopped limping, and the installation became a case study and reference site for us, thanks to the efforts of the entire development team and the relationship manager. But to this date, that is the only time in all my years of working (30ish) that someones animosity has been directed at me personally. Working as a programmer can be a dangerous job!
I fear writing code that'll trigger compiler bugs. Compiler technology is so arcane that I can't help but feel that I'm invoking the wrath of the (hypothetical) sloppy compiler writer whenever I use their compiler. I guess one way to test how well my code complies is by using different compilers to process my code.
Something that never fails to terrify me is when I have to deploy an existing site to production for the first time. People are already using it, and if I messed anything up (introduce a bug, built the war incorrectly, forgot to update some production property that I did update for test, deploy in the wrong way somehow, or even just deploy at the wrong time), people will not be able to use the site anymore because of me.
I love automated deploy scripts for exactly this reason. And having access only to test, while deploying to production is someone else's responsibility.
Being stuck at a job, because you drifted away from your main skills, and now have difficulty to catch up. Or more specific: being stuck at a job where you don't want to spend another year or even longer. In the company I'm working I stand alone, being the only programmer, so no support from other programmers. I find it hell to get my skills up to date while doing my job properly.
I would imagine the worse fear of a programmer is going from programming an app to supporting it then your position gets combined with help desk and before you realize it your on the general company help desk not doing any programming at all. Eventually your "help desk" position gets pushed off to an outsource company which you become an employee of and your taking calls from multiple companies because your company uses the "leveraging" model. At that point you apply for jobs as a programmer and the HR person says "I see you have help desk experience!".
*It's not what you can do for the Dark Side but what the Dark Side can do for you!*
Average programmers being forced to write parallel code scares me more than anything else. "The multicore dilemma is actually a substantially worse problem than generally understood: we are headed not just for an era of proportionately slower software, but significantly buggier software, as the human inability to write good parallel code is combined with the widespread need to use available CPU resources and the substantial increase in the number of scientists with no CS background having to write code to get their job done." --The multicore dilemma (in the big data era) is worse than you think
Vowel theft
They just can't leave the damn language alone.
Enough! Its already got a spec probably more complicated that the space shuttle , just let us get on with using it instead of throwing in ever more useless features that only ever seem to get used in job interview questions!
This happened to me. There's just no joy or pride left in my work. I'm in a slow useless never ending zombie mode. Struggling doing something as simple as opening up a code editor. Been looking to change my job for the last year, but I can't find anything of interest. I'm sick of programming, but it's the only thing I'm good at (or used to be good at). Retraining at age 40 to change my career? I think I'd rather just drink myself to death.
Seriously, web programming is for chumps, and it just keeps getting worse and worse.
Let's talk about having to support multiple version of multiple browser on multiple versions of multiple operating systems on multiple platforms, all with multiple sized screens.
Let's talk about the expectation of being an expert at a horrendous number of technologies like HTML, CSS, Javascript, Ajax, GWT, Java, JSP, EJB, XML, JSF, Facelets, JPA, JPQL, EL, SQL, PL/SQL, Regex, BASH etc. etc....for the one fucking project!
Let's talk about the expectation of being an expert at optimising different servers like Apache, Tomcat and JBoss.
Let's talk about the expectation of being an expert at load testing using various load testing suits.
Let's talk about the dismal state of Flash and Java Applets and HTML5.
I pity the poor web programmer (such as myself), for his or hers is surely a tortured life.
"What's your biggest fear?"
C
Actually, its kind of liberating working on a codebase where "quality" is measured in terms of body count. Seriously, how many times in a career do you get to say "we killed X fewer people"due to recent improvements... posting as AC for reasons obvious to anyone who's predecessor's software killed anyone.
Speaking in public
Team building
A QA manager that prefers software to be thrown over the wall and ripped apart.
3am anxiety attacks before the morning meeting during a death march series of 'sprints'.
Top that.
especially those that know both Visual Basic and Perl.
Whenever I hear a congresscritter make noise about restricting research, or instituting programming certifications to get a job, or my (now ex-)company requiring a training session on how to walk because someone tripped in the hall, I get scared for the country as a whole because we've cultivated this environment.
That, and the aformentioned velociraptors.
How about inheriting a really poorly implemented project (we are talking no separate business logic/model classes, subclassing of view objects so that business logic can be shoe horned into them) and then being blamed for the issue of the project by the customer, but your company can not say anything because they can't admit there is a problem with the project.
I can't say I fear anything that is specifically related to my job.
If someone walked up to me with a gun I would fear that.
If I'd have to pick a (job related) fear it would be that I got stuck in some dead end job with no time off to enjoy myself or to see my family.
And even that I wouldn't classify as a fear. The only time I've spent thinking about it is the last couple of minutes to write this post.
At work everyone is stressing out for some reason or another, but it just doesn't seem to affect me.
If I were self employed I might have some worries but even then I doubt it.
Sometimes I think I'm just incapable of worrying about what might happen.
Don't get me wrong, I like my job and wouldn't want to lose it. I just don't worry about it.
Even if I did lose it I'd find a new job. And if I couldn't I'd go back home and get a job for which I'm extremely over educated.
There are always options.
People are always looking for someone to paint their house.
Anonymous because I don't want people to know how apathetic I really am.
and learn some damn humility
And while they're at it, they could learn some design skills, since merely admitting that you're stupid without doing anything else won't save your job anyway. Read HtDP or Dijkstra's books, for example.
Ezekiel 23:20
Nothing more fearful then the worry of having grues attack you as you go into a dark server room.
their #1 fear isn't the rocket blowing up and getting killed, it's not fear of blacking out from G-forces, it's not fear of getting shot down, it's the fear of screwing up.
Same as the #1 fear from TFA. (fear of writing buggy code / messing up)
The official Pilot's Prayer (as handed to us by Alan Shepard) is "Lord, please don't let me fuck up".
Not "Lord, please don't let me blow up" or "Please keep me safe"
Especially when you have to go into the dark server room.
True story, at some point in the past I had to work on a company's internal application for data entry. Well, it was a lot of data and, as requested by the PHBs, pretty much half the fields were needlessly mandatory. (Which brings us of the fear of working for incompetent people;))
Most of them were pretty much impossible to validate too, because they were stuff like city or street names, and even in telephone numbers people tend to use letters. So the only real restrictions were field lengths and that they're mandatory.
So then comes the request to basically make reports and searches on that data.
And I kid you not, half the records had stuff like "n.a.", "I don't know", "no idea", etc in at least one of those fields.
And these were internal users, not some 6 year old over the internet.
A polar bear is a cartesian bear after a coordinate transform.
Running an SQL update statement without a where clause and seeing '47,982 rows updated'.......bonechilling
All the advantages of multi threading (assuming you use shared memory) but few of the disadvantages. The only reason multi threading has become popular is because its been advocated by Windows coders since Windows as an OS doesn't really lend itself to proper multi process applications in the same way that Unix does. Even in 2013 Windows still doesn't support fork(). Its a bit pathetic really.
But what I am most worried is... having no future after the useful years as a programmer.
I started my web dev career rather late (28). Two years in to it, and future looks bleak as ever.
I had the misfortune of reporting to a string of bad bosses. And they don't want promote me to a senior engineer anytime soon.
From what they are telling me, I have to wait 3-4 years (WTF?) for a basic promotion, despite doing everything from writing solid codes to handling angry clients.
I am thinking of going back to school, learn some finances. Hopefully I can transit into a less techy, more business analyst type of job. Only time can tell how successful this gamble will be.
Fires
Floods
Rising Sea Levels
Crops Dying
Desertification
The Climate is Changing.
You know, when accents on characters show up weird in the browser and you dig deeper and deeper to discover UTF-8 characters in the Latin-1 encoded database, but aren't sure your database client is showing the data in correct encoding and the dump you openend in the editor looks even weirder because it's trying to read the stuff in UTF-16 which the terminal the editor is running in doesn't support etc etc etc.
Really very frustrating to debug character encoding issues.
---
"The chances of a demonic possession spreading are remote -- relax."
and the pitter patter of the roaches or mice or rats at Oh' dark 3 am . . . [ it is the unknown of which it is that is the fear ]
Once upon a time, a soon to be mommy and daddy loved each other very much (the lust was strong as well as the drinks)
C is a fairly simple language to code in and debug. If you have problems with pointers - ie memory addressing - then seriously , find another vocation or stick to HTML because programming computers is not for you.
Becomes the big language that everyone uses for everything. Like server-side JS. I generally do not like loosely typed, dynamic languages. You lose static analysis capabilities and gain a ton of runtime errors. Try browsing the web with JS debugging on and see how many errors have been getting masked just for the sake of a non-obtrusive browsing experience...it's terrible. I'd also say I fear shareware coming back, but that already happened with the "app" market. It's like people don't remember the bad old days where there were a million crappy little word processors and other half-assed productivity apps and are excited to have half a million of them to look through just because they cost $1.
Better indirectly than directly.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
I happen to like Flowcharts, and planning ahead.
But I've worked with many who find the idea of planning ahead and having a structure in place before you start slinging code to be positively frightful.
You are in a maze of twisty little functions, all alike
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
Those (majority) stupids blocking the way of science by using the cyberworld as a field to plot games like those in politics, distracting the passionate from scientific contribution, towards the worldly stresses; thus dragging everyone to their ridiculous level...
They are the biggest majority in programmers all over the world, and they, from my perspective, are the biggest fear, in every programmer's subconscious.
450 variables. And I've got to fly halfway around the world to fix it (among other things) in 5 days.
As a programmer, my biggest fear is not getting to actually solve problems because an incompetent co-worker knows enough to leverage my intolerance for stuff not being cleaned up (and willingness to do something about it) against me.
You meant software architects, not programmers, right?
If you develop medical software, that should be near the top of your list if not #1.
I have been programming for a long time now (in my mid 30s). I have seen projects turn out successful or fail miserably and everything in between. I have taken the blame many times, and have pointed the odd finger myself. I have seen fads and techniques come and go and I have even used some of them. But, now I have hit the thing that I feared most: bore-out. It is kinda like burnout, but without the excitement. You get so bored and/or demotivated that even opening a text editor or IDE will feel like a chore. Unfortunately, switching careers either means starting all over again at the bottom of the ladder, and/or living with the eternal stigma of being 'that IT guy'.
At my previous job, I was hired as a systems engineer. My focus is on web infrastructure. I was happily spending pretty much 100% of my day at the linux command prompt managing a couple different CMSes, pitching in with some PowerShell or some c# code for the Windows guys to mix things up a bit now and again. Suddenly, I was forced to be the backup for the SharePoint Admin -- hey, I had Web CMS experience, right? No problem. And at first, it was no problem.
Over the course of the next year, I became THE SharePoint Admin, and the SP 2007->2010 migration fell in my lap. I was THE technical person on the project team. My technical recommendations were overridden by non-technical managers at every turn. Suddenly, I found myself responsible for the technical side of an extremely under-resourced project, in which I had no say in large parts of the architecture. It almost seemed like I was setup for failure, if I hadn't gotten a promotion and nice pay bump in the midst of the project.
So what happened? Well, two things became clear to me: 1) The project was doomed for failure, after we missed our 2nd launch target. 2) More importantly, my professional opinion didn't count for anything at this place. So, I quit. I found a better job and struck every reference to SharePoint off my resume and LinkedIn profile. The last 9 months have been professional bliss -- pulling off 1 major project in that time and getting ready to launch the 2nd one.
...is just human daycare: http://www.smbc-comics.com/index.php?db=comics&id=2362#comic
CSS alone is bad enough.
http://wurstball.de/95683/
Being forced to retrain your H1-B replacement.
For my personal coding life- being forced into the world of HTML and Javascript. They're bad technologies that have been stretched beyond the realm they were meant for, but replacing them now will take a huge effort and cooperation between a lot of bigwigs. They're also inefficient and clunky ways of doing real apps, but the effort to drive down development costs sees them being used more and more for cross-platform UIs.
For the industry- the race to the bottom and advertising dollars. Its nearly impossible to sell phone apps at any price. Computer apps will go the same way- even games are frequently free to play. The problem is that its a very hard market to make money in unless you own the ad network. At the same time, its not an effective way of advertising. The end result will be a crash to that section of the industry, which will have collateral damage on the rest of programming. I suspect it to come in the next 2-4 years.
It also happens to be a very unfair way of pricing software too- the software is paid for by advertisers, which means by the people who buy that product rather than those who use the software. Every time you buy something from someone who advertises on those apps, you're paying for someone else to get a fart app. Its a parasitic idea.
I still have more fans than freaks. WTF is wrong with you people?
There is nothing to fear but fear itself.
What does that mean. We as a culture have gotten very fearful within the past Decade. The fact that we are afraid of so much stuff has created more problems to be fearful of.
Polarized Government: With people so fearful about a lot of things they will try to pinpoint the government as the major contributor. If you are right of center than Big Government is out to make your lives worse. If your are left of center then it is those Corporations that are out to make your lives worse. Those people who support your opposing side must be corrupted in some way. So they need to be stopped!
Obesity: Lets not leave the confines of our own homes because there are dangerous people around the corner who wants to kill, abduct or mug us. So you stay inside where it is "Safe" after a while you start getting out of shape, then you don't want to go out even more because you are out of shape and are afraid of being insulted by people who don't like the way you work. You would go to the Gym, but only after you lose 20lbs first (so you are not the Fat Guy at the Gym), but losing those 20lbs is hard because you are not going to the gym.
Economy: We need small businesses who can innovate (and much more than silly mobile apps). However people are afraid to start businesses because there is a chance that they will fail. Or get some lawsuit for stepping on some bogus patent or make a product that someone misused and hurt themselves. Combined with the fear trying to meet current regulations that you don't know about. Also fear of looking for an other better job because of uncertainty on how well other companies will last combined with companies fears about the same thing preventing them from hiring.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
I've learned to start being afraid of the zombie apocalypse! Compared to that, almost anything else seems minor and trivial.
Remember when the Hubble telescope first went up, and could not focus? It had all been tested on the ground on an artificial star target. Unfortunately, the test rig had a plate that was about half-an-inch thick that should have been subtracted from the optical path. So they had a mirror that was accurate to about 1/100th of a wave but half an inch in the wrong place.
There was a rocket where the guidance for the two stages had been coded separately. One stage used a value of -9.8 m/s2 for 'g' because it measured heights upwards and the acceleration was downwards, while the other used a value of +9.8 m/s2 and flipped the sign in the equations. When the rocket took off, the first stage was fine but the second stage suddenly flipped over.
That's what I dread: thinking I have checked everything, and thought of everything, and then finding out publicly and expensively that my regression tests were worthless all along.
Learning that my pacemaker runs Java?
Seriously though, here are some things I've heard:
- Software written by a bunch of graduate students was going to be used in surgery
- Windows NT used to control a ship
- Invalid software models used to "prove" that the foam that hit Columbia's wing didn't cause damage
Well - performing an upgrade with no return and if it fails you will bring down the entire power grid of a country.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
Losing my sight would be a very harsh blow.
For every problem, there is at least one solution that is simple, neat, and wrong.
The biggest fear is that a group of people who are clueless about what actual customers want and never talk to anyone outside their small circle believe that they know more about what customers want than people that actually talk to customers.
That's the situation I find myself in today. I've been chasing the C++ standard since the late 80's, loved every minute of it. Template metaprogramming? Love it. CRTP and other nifties? Love them. Then I got hired (best paying job in my job history) to work on a microkernel. Yes, I am competent at C (too) and interrupts, slab allocators, TLB misses, CPI counters, etc, but for some reason working in C just bores the hell out of me... I love C++, I miss it, and I fear that the many years I spent with it were wasted. And now I have to choose: best pay in my career, wife happy with the money (too), or find another C++ job after more than a year away from the language, plus a pay cut.
Oh, and I just turned 50. We all know what that means.
There's nothing in that list (with the possible exception of "being forced to use a specific technology") that wouldn't apply to just about any worker.
Programmers fear incompetence because they see it everywhere, even where it is not. They just don't recognize the value of thinking that isn't exactly like their own, or skills they don't have. So, this one applies to many, but to programmers more than anyone.
Programmers fear screwing up because they are in the business of automation. They can screw up many things all at once. Complete failure over a trivial error, because computers don't have common sense to ask, "are you sure you meant to do that?", or, "what does this mean?". This one also applies to anyone building something that can injure people, but not to most other people. Most people can only screw up one thing at a time, or have people receiving the product of their work, who can sanity check it.
My biggest fear is IDEs and other front-end fucking up my code. That, and auto-generated code that gets auto-fucked-up when you want to sanitize it. Alas I have to work with Visual Studio a lot, so my fears are quite real. But my experience with some Java IDEs is that they behave the same.
Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
... on the TheDailyWTF
Multi-million dollar lawsuits and having to speak with a lawyer every morning for three years because he cannot grasp the concept of a jar file.
For me, a non-programmer, it's having to deal with programmers who think:
A) they need to have admin rights on their machine so they can install every piece of software known to mankind just to see if it can help them do their work, without any comprehension of where things get installed to, what options to turn on/off and what it does to their system because that's my job to fix the mess they created
B) programmers who think the answer to every software problem is to have the user run as an administrator on their machine.
C) programmers who refuse to admit their code is defective despite the (literal) piles of paperwork I present to them showing the steps I've taken to diagnose the issue(s) the person is having
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
The office "power user" who convinces management that he should be able to manage his department's IT infrastructure by himself because "he's more efficient than those guys in tech support".
The highly connected programming manager who recommended a new applications platform because "it'll look good on my resume".
The large systems salesman who plays golf with the chairman of the board.
I've seen this shiny DEUCE of an SCM literally eat code in 3 different development projects.
Rob Enderle's excellent new book: Everything I needed to know about Computer Science I learned in Marketing School
Only two things scare me and one of them is nuclear war.
What's the other?
Excuse me?
What's the other thing that scares you?
Carnies. Circus folk. Nomads, you know. Smell like cabbage. Small hands.
1. Input validation and bounds checking ( because then you'd have to stop being lazy )
2. someone paying attention to your "encryption algorithm" that you baked into your product that is utterly insecure
3. Hard coding credentials because you don't want to have to learn how to do it properly
4. Living in your own little world where "getting it done" is more important than getting it done safely or reliably
I run into this so routinely I just want to toss the CWE/ SANS Top 25 Dangerous Coding practices on their desk and say "come back to me when you stop doing this sh*t.
The biggest problem at all are two things: companies not wanting to hire quality people, and hot shot dumbasses who think that since they know Ruby and Python or C# and .Net that they are "good". Knowing a hot language does not make you a good programmer any more than reading 50 Shades of Grey and Harry Potter make you an English Professor.
Oh, and "Can you add a feature to fix the program code automagically if it detects a fault?"
More generally, being on a small team dominated by a charming brogrammer "dude" who can talk a mile a minute even when he's (always he) way over his head, which is usually the case. And he takes the initiative for frequent 1-on-1s with the boss where he describes what "we've" been doing and how he's personally rescued the team from certain people's screwups.
My guesses would be sunlight, mt. dew shortage, data loss, working for a boss with MBA and no programming experience, and finally being outsourced.
"Action without philosophy is a lethal weapon; philosophy without action is worthless."
My biggest fear is being told to do it a certain way because that's the way it was always done.
Which is right there with the "If it isn't broke don't fix it" philosophy
ID-10T users are pretty much it, for me.
Working for this guy. I have and it is torture.
There is nothing worse than having to do the whole Quality Team crapola. This programmer-torture fashion has morphed into a zillion other Process crap that managers love and programmers hate.
I got a job at a medium sized import company. the job was to create and maintain some specialized inventory/order management systems and other utilities.
Then years later all the projects were done and management was at minimum (well coded software to blame?), I was called to a meeting with the managers at the first day after my summer vacation. There I was told that to "proceed in my career", they have decided to put me in the office as an office worker; answer phone calls from clients, process orders etc... and when I HAVE THE TIME, maintain the programs I created (if ever needed).
That day my biggest fear came true.
I quit my job the next :)
Incompetence is my biggest fear, both in others and especially in myself.
Let me guess... Toyota?
Because according to the minds at Slashdot, I need a new career at that point.
Eight eyed, eight legged freaks creep me the fuck out.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
We as a culture have gotten very fearful within the past Decade
Right, like we weren't locking up communists or anyone with japanese heritage, or burning/drowning "witches".
Those in power discovered long ago that fear is a strong motivator for the plebs.
...for the 2nd time in my career that is...without IT having done proper backups...
and just for the desire to save space on the server!
Working at a place where I don't have admin rights on my development machine.
It's gotten so bad, I get an adrenoline response just thinking about doing it.
One big fear would be having to inherit someones large Perl application and having to maintain it.. That would be scary.
I did live through a nightmare once where some VP along with a sales guy went out and sold a solution to a schoolboard without any products behind it, then went out and went out and bought the rights to two unrelated software packages were the vendors 'swore' that it could do the job. Then they came back to the engineers and told us what the schoolboard needed and we were supposted to write 'some simple code' to make the two software packages 'talk' to each other and make it work. The vendors swore it would work. We evaluated it and saw the nightmare of it, I ended up walking away for another job within a month of this.
Just when you thought it was safe to go back to the keyboard ...
Nothing had scared me more than having to promote code through SAP
Backout? Auditable code changes? Configuration control separation between user code and system code? Lack of true parallel paths? Nasty packing and horrible promotion mechanism?
Pick one.
Still have nightmares
Being told not to fix the code from a non-programming manager because they are afraid of breaking something (they call a regression).
Having to listen to 'experts' on TV talk about computers (like the NSA prisim program), like the terrorist dont already know all of this, just watch almost any episode of NCIS. The NSA cant search private email servers (hahahaha).
Hearing how MS/Google/etc want more H1B visas because they want to hire more foreigners to re-write the OS again (how many re-writes for MS since XP? how many rewrites of Linux has there been?). The US does not need more programmers, they need better ones.
hes said hackers are terrorists.
well programmers are hackers.
I fear the one programmer who write thousands and thousands of lines of spaghetti code that can be done in hundreds of lines if written correctly. Especially if his program "works" well enough in a demo for some idiot middle management guy to think we should make it into a product to sell.....by next week.
Yeah, that happens here.
I haven't used LISP since uni. I still have nightmares about trying to sort out "unmatched parentheses" errors, and that was before editors had the built in help!
Office politics. Just lovely when the management fucks up through sheer stupidity, but still has the cunning to find some way to blame you for it and make it stick.
I'll whip out a car analogy. The bosses direct the driver down the wrong road. The driver questions this, but is told to shut up and drive, he doesn't know what he's talking about. 100 miles later, they realize they're not on the right road, and the screaming starts. They blame the driver for taking the wrong road, and fire him. They hire a map reader. They turn to the mechanic and demand he get 200 mph out of the engine, no excuses will be accepted and if he can't do it, he will be fired and they'll get someone who can. Never mind that the car is a cheap econobox that can't even do 100 mph. The mechanic manages a miracle and coaxes 120 mph out of the engine, and is promptly fired because that's not good enough. Over the protests of the map reader, they elect to take a desperate shortcut on a dirt road, to try to get back on track, and end up stuck in the mud. They fire the map reader, but are still stuck in the mud. With no one left to get them out, and no one left to blame, they finally lose their grip. Customers and supporters abandon them.
Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
That's my biggest fear.
The worst possible bug is an intermittent timing-related bug that happens in closed-source firmware.
There are two requirements to solving any bug:
1) It must be reproducible
2) It must be debuggable.
These factors violate the above requirements:
Intermittent: If it happens every 6 months, then I can't be there to debug it.
Closed-source: I can't trace a problem if I can't see the code.
Firmware: I can put a breakpoint in the firmware, but that won't pause the laws of physics. The hardware keeps moving.
Timing: If it only happens in release mode, or if adding bread-crumbs changes the behavior, then you are relying solely on intuition.
Having to sit down with a government employee and listen to him prattle on with his incompetent BS forcing us to make a system that is 5x too complex and 20x more expensive than it should be. The government employee not being aware of his idiotic decisions and just wanting to be able to blame someone else. Knowing that we will have to work weekends and nights to support this mess. Knowing that that quality ideas will be shot down under the term 'violates security' or 'it is not good practice for security' with nothing specific to back up. Knowing that this will cause us to work much harder and know that it doesn't protect anything and the solution we implement is probably more likely to result in something getting stolen. Knowing that government people don't know or care, they just want the ability to say 'not my fault'.
Knowing that all my company cares about is getting more bodies on the project since more bodies means more money. So anytime the government idiot says anything my manager praises him for his genius. Knowing that if I talk back to said government employee I am liable to get a respone of 'as a government employee, how dare you talk to me like this'. Worried that Ill lose my temper and curse him out. Then be subject to have an issue keeping my security clearance because 'i have issues with authority' and I 'dont think the rules apply to me'.
overcoming the urge to not write a letter to Darryl Issa about said employee and recommend he be transferred to Afghanistan, handed a knife, and told to clear a minefield (this would require less paperwork that firing him).
Then at the same time not having an prescription strength Ibuprofin with me while I am sitting there listening to this crap. I wake up in cold sweats to that on.
Those who can't do, work for the government. Those who can't work for the government work for the Department of Homeland Security. If you are concerned about the NSA reading your emails, have that project moved to the DHS. Then you are totally safe. They will so screw it up, they won't be able to read anyone's emails.
Snakes on the ground and Snakes on a Plane.
I said, "losing my penis to a whore with disease."
even an AA / AS maybe to much there in less you are in management
Once saw a FORTRAN compiler change cause _slightly_ different numerical results in a bridge engineering program. They did some work to verify that bridges built using the program compiled under the previous version of the compiler were structurally sound but that was the most fearful thing I could think of, that numerical inaccuracies in what the compiler generates could cause an engineering failure that could cause loss of life.
The almost unbelievable extent to which who likes whom and whose competency threatens whom determines your career trajectory. It's amazing to me that large corporations ever produce anything, never mind over budget and over time , because the criteria for being retained and promoted is nearly 100% who likes whom. Managers have far far too much unfettered power over hire / fire and base those decisions on everything but actual competency.
This is the one persistent thing I've seen over time. It's not about the product , it's about the career of the mid-level manager in charge of that product and how he can use what levers he's been given to advance that career. Cost overruns and project failures can be explained away.. the more imminent threat is that guy over there ! That guy who makes me feel threatened, because, you know I am threatened by all forms of competency. It doesn't matter is all projects either fail or are wildly over budget for the hidden reason that *good people have been systematically driven out over the course of years*, because a lot of these companies are so big they have money coming in just for breathing another day, nothing new actually has to materialize on any particular schedule and their death is going to be a glacial event relative to the rapid fire shenanigans that's going down in cubicleville everyday.
I've seen people fired for not wanting to go to lunch every day with their group. I've seen people fired for being too competent and hardworking and not enough of a kiss ass to their manager . I've seen people be fired for being a young single guy making 100k in an exciting city and their mid-life married managers become insane with jealousy when the young women -who deliberately avoid their glance - start hanging out in that guy's cube. Anything goes in management, anything at all. No slight is too petty, no envy too banal not to be indulged.
Perhaps over the long haul, I mean we're talking 10-15 years, bad managers get the axe. In the meantime, the swath of destroyed attitudes and work ethics they leave in their wake is phenomenal. People just can't take the disconnect between dedication, performance and effort on the one hand and job reviews and hire/fire decisions on the other.
I once worked at a company where we had to hire a secretary. Middle aged, highly appropriate, highly experienced candidate after candidate came in to interview. We would have been lucky to have any of them. The wealth of know-how and knowledge of How Things Really Work locked inside any of their heads made them worth 5 times what we could have paid them.
Then one day CTO X bursts through my door his face all lit up and let's go with "We just hired a secretary and wait to you SEE her!".
That's just a hidden (from the other candidates) form of the same thing. Managers think of themselves as Barons, treat their departments like their fiefdoms and their employees like surfs. Everything there exists to bring them pleasure, advancement and comfort. They have absolute say about (non) reality within their domains. This is how American businesses are set up. This is structural universal and accepted, all the way up hierarchy, right down to the pro-forma denials of "it's not like that here". Sure it is.
Most programmers I know can barely stand their jobs and it has precious little to do with the job description.
Age Discrimination.
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
Find yourself a nice cave.. Cavemen were modern way before their time. They were fully wireless and I hear they liked to go clubbing.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
Yeah, right.
Just look at the posts here. If you did a poll, you will find programmers in the front lines of most flame wars!
Because I'm trapped in an output monad. Or stuck in an infinite loop.
Ceci n'est pas une signature.
We are using [my new project full of problems] to control the nuclear power plant at ...
Putting a '-' sign where a '+' sign belongs, and bein sued a year later for millions of lost dollars.
Imagine a huge project like that, and a stupid management that refuses to change anything to make things better. In their eyes any refactoring risks breaking things that (kinda, sometimes) work, and gives no benefit to business (no new features). So you are supposed to keep adding features and making changes to a project like that, without any significant refactoring effort allowed.
Hell, if management was competent, none of these things would have ever happened in the first place.
So here's my biggest fear- getting stuck with incompetent managers and architects. At least the salary is good and I don't really care how much things break...
Presumes that they aren't the same person. In addition to being the sysadmin, the DBA, the release engineer, QA..
Never underestimate the power of stupid people in large groups.
Or they'll leave out both email and phone number (OMG Privacy, Can't give these awasy, might get spam or robocalled) leaving no way whatsoever to contact the person in the event that there's problem fulfilling the order (out of stock, etc.).
Sometimes they are right about the spam and robocalls and if this is the first time you are doing business with the company how do they know you won't do that as well? I've certainly had lots of companies decide without my consent to put me on a spam mailing list. Others think it is a good idea to call me for a 5 minute survey every time I speak with any member of the company. (And such surveys NEVER have any actual effect on the quality of service) I'm not saying requiring some way to contact them is a bad idea but I understand why someone might hesitate.
What I find annoying are places that make you create an account even though you will almost certainly never ever order from them again. Having an account should be optional in most cases. If I do a lot of business with you I'll create an account but forcing me to create one isn't going to increase your business by a single penny. It might however encourage me to shop elsewhere.
How do you know which aspects of its behaviour are intentional and which are bugs? What if you miss a test for a corner case that isn't apparent from the documentation and/or source code?
What if the test suite you inherited has bugs? Are you going to have a test suite for the test suite? And then a test suite for the test suite for the test suite...
Test suites are a Good Thing but they aren't a cure all and certainly don't prevent every possible problem.
with Microsoft...
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
Beelzebug! Beelzebug! Beelzebug!
Sometimes I'm too scared to browse through my massive collection of programming books because the boxes could be full of spiders or worse mice. The mammalian sort of mice that aren't used for the pointing and the clicking. horrible!
“Common sense is not so common.” — Voltaire
After trying all night to fix a messy legacy unreadable code, seeing in my console either "Hello, Dave", "Follow the white rabbit", "I know how to reduce entropy", or even "I THINK, THEREFORE I AM"... and not knowing how i did it.
The nightmare is when you start thinking you're that one guy who is dragging down the rest of the team.
“Common sense is not so common.” — Voltaire
I got into programming so I could sit in a quiet place by myself and figure problems out. Not only do I not desire to pair up with a partner to work on something, I don't thrive doing so. My experience in elementary school has taught me what buddying up with someone is all about, and what a painful waste of time it really is. To me, pair programming is about having to waste time dealing with some monkey that doesn't know what they are doing or some alpha programmer that doesn't have time for your bullshit.
I much prefer collaboration, where I talk to someone about some specific details that we both need to know because our two components need to interface with each other. Then agreeing on an interface, and writing it down somewhere (could be a wiki or comments in a header file, I don't care. I'm not a super formal guy). Then here's the important part, we both return to our desks and do our fucking jobs.
“Common sense is not so common.” — Voltaire
I lie in bed at night..remembering line numbers from the 80's and GOTO/GOSUB statements..endlessly jumping around code 10 GOTO 40 GOTO 900 GOTO 64
AHHHHHH!!!
Then I wake up
A) As a programmer I do need to have admin rights on not only my machine, but every machine in the testing lab and all of the build machines. I keep having to explain it to you IT numbskulls, but you don't understand that I have work to do that generates real business revenue, and I don't have time for your imaginary security concerns or your clever but inelegant management of the key tools of my trade.
B) Sometimes we get tired of waiting around for someone to support some bit of software that we need to meet our own deadlines. I realize it's inconvenient, but maybe it would be easier to give everyone admin/root on a VM than to fight the inevitable as strongly as you have.
C) Bug denial. It's a common problem. QA also despises this behavior in programmers. For this I cannot offer any solution.
WTF! Nobody said "Patents"?
In no particular order. Microsoft "dead ending" whatever technology I've committed to for a client. That's become a big one. Stupidity in general. Aging and its effects on my cognition. Typpos. The return of my cancer. Economic collapse. The price of gasoline by 2020 ($12/gal. in today's money. Ouch!). The next version of Windows (Shudder....).
Please do not read this sig. Thank you.
In addition to all those things in the article, I'm always afraid when I go to fix a bug at the end (or after the end) of a project, I'll keep following the bug until I find out that I've written something very important in entirely the wrong way. This happened once in a while when I was starting out, and it hasn't happened in many years, but that fear is still always there. It might keep me on my toes a bit more, and has helped me slow down at certain points and think things through more thoroughly, but it's also wearying when things need to be done quickly.
expletives welcomed
I'm not sure I'd be able to write Java code without it.
--Good morning fellas; Hand me that thing; Boy, this work's hard; Guys, break's over.
I used to write target allocation, accessibility and optimal launch timing software for MIRVed ICBMs. I really DO NOT want to know if the solution the code came up with is correct by real world experience.
Cheers,
Dave
They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
Ben
ha ha ha!!!
+++1
First mention of QA that I've seen....
What about "A really good QA team"? Where I am, Dev and QA work fairly close....and while Dev doesn't "fear" QA per se....they still get worried that we come up with scenarios they haven't thought of yet (which is why we tend to work closely before testing really starts).
On the flip side, you could also be scared of a BAD QA team and not catching things before the code goes out the door.
To Alcohol! The cause of, and solution to, all of life's problems.
The Marketing Department.
They who promise to deliver the world without the first inkling of what it will actually take to do so.
I'd love to have any form of QA. Or even another developer to review my code.
Never underestimate the power of stupid people in large groups.
In the project I'm maintaining now, I've discovered such gems as "someVar++ // count down" and "if(someDouble == 0 || someDouble == 0.0 || someDouble == 0.00) { ... }". Oh, and literally hundreds of global variables whose values are copied in and out of instance and local variables in seemingly random places.
Sounds a lot like the code generator the algorithms group, here, uses - especially all the copying of variables. Unfortunately, us "code crafters" are the ones who have to do that real debugging, so we can't avoid dealing with that hideous code.
Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
My favorite programming term: Heisenbug.
The sun.
Spiders. That or drowning.
One of the companies we work with has a mandatory fax number on their system. This is truly annoying as there are a fair number of people who have absolutely no access to a fax machine.
Perhaps this is intended as a filter, on the grounds that there is a correlation between businesses too small to have a fax line and businesses too small to place or take the large orders that your business happens to handle efficiently.
So why are you insisting I make my address incorrect so I can fill in your form?
Because you are placing an international order to a business that ships from a country where that field is mandatory. The "Province/State/Region" field is required because there are on the order of 200 countries, and our United States-based development team lacks the resources to track the preferred address format of every single one of them. We don't know what omitted fields or misspelled fields will make a shipment undeliverable.
That's an easy question. Incompetent bosses and co-workers. Everything else is stuff you can learn, work around or fix.
Assorted stuff I do sometimes: Lemuria.org
and wondering where the other 200M rows went...
Working with that shit is enough to give anyone the willies. Thankfully there are starting to get some decent libraries out there (though many applications still lack terribly). Uneven months, leap years, leap seconds, business weeks, timezones, daylight savings, cardinals, ordinals, US format, EU format, ISO format, conversions, abbreviations, languages, epochs, calendar types, localtime, gmtime...
It's a minefield and there's a lot of problems that simply don't have a "correct" answer.
Then why the hell are you using goto statements?
Because I'm writing a compiler, and I'm implementing structured, OO, or exception handling paradigms in terms of jmp instructions.
Why does your number-crunching run not use checkpoints? For example, a long video encode could checkpoint after each minute of encoded video or after each scene.
Use a thread, now you have 2 problems.
The idea of divide and conquer is to split one problem into smaller problems, each of which in theory is easier to solve. Once languages start to include better primitives for concurrency than locks, threads will become easier to do right.
In one of the 100's of millions of chips with my code in metal rom. So far, no problem, but its always a fear, simulation/fpga/palladium only get you so far eventually you push the button and release. 2 years later, in mass production, suddenly the customers production line is stopped, might not be your problem, but all eyes are on you, can you patch it? If you can't the customer can't ship and then.... Never been there fortunately, thats the #1the fear for me, that potentially through no fault of your own, last line of defense, a patch can't fix the problem and a major customer fumbles a product release. Nightmare...
Only #1 and #2 are legitimate. The others on the list come down to having a big ego as a 'rockstar' coder and not getting special snowflake treatment.
I always mean to extend and expand it, but.... even for Carmack it's pretty alien to him.
Users
Being broke enough to have to accept jobs at ....
* Adobe
* Oracle
* Apple
* Microsoft
* IBM
* AT&T / Verizon / any old-style telecom
* Comcast / Time Warner / any cable company
* Any Credit Card company or service provider
* Any insurance company
* Any retail company
* Any government agency
* Any military connected company or agency
* Any University
Glad that I don't have to, but I feel terribly sorry for others that don't have the option.
BTW, I've worked for 6 of those industries/companies before.
"Competent managers and coworkers figuring out I'm incompetent." in the list ;)
Working in a noisy bull pen environment. Every time I see pictures of programmers work space in a big open room I die a little inside. I
Don't worry...this code is only temporary!
Are agnostics skeptical of unicorns too?
Sadly no modern ISAs implement the conquer instruction
Instructions can be emulated. Neither Command and Conquer nor Conker's Bad Fur Day needed that instruction implemented in hardware. And Nintendo managed to make Super Mario Bros. 3 without the SMB3 instruction on the TurboGrafx's HuC6280 CPU. And I manage to file my taxes without using the 6502 CPU's TAX instruction, though I did need to report 6502-related income related to a prize for winning an NES game development competition on my income tax return for the 2011 tax year.
I'm on year 5 of what would've been a 1 year rewrite. :(
It sure sounds like typical clinical depression. I've been through that myself -- if you don't feel like it's going to get better, go seek help.
Well, surprise, surprise: instead of finding "The Lost Thing," we learn that programmers' worst fears are a good match to those in anybody else's profession.
One of the reasons I like to write low-level (hardware control) code, is that chips change rather slowly. I have had a project go to hell on me because I was forced to write interfaces to software that interfaced to hardware. The group responsible for the underlying layer lost the source code and quickly re-wrote it, with different interfaces than before. This instantly obsoleted all my code just before my final release. My $35K project defaulted and there were bad feelings all around.
Like a space station or something. I can't fathom how my code would come to be running anything important, but my code crashing or giving the wrong answer and somebody getting killed as a result is probably my greatest programming-related fear.
Hotshot C++ programmers that don't just use features that are called for, but find an excuse to use every difficult trick in the c++ book. It isn't really necessary to use multiple inheritance ten layers deep in every program. When taking over maintenance of a software system, straightforward design and documentation mean a lot. GOD save us from the programmers that think they don't have to write any documentation because the code is the documentation. Literate programming works for me.
I contracted for 10 years. Fun, but came to end when some friends asked me to join them. Its much more fun moving around with a group of friends.
Help your kid avoid speed tickets.
I didn't read anything in the article that distinguished programmers for other type of workers. They might be more sensitive to being asked to be "flexible", meaning the mgr says "Do it this way, because I said so.". The issue is the amount of time and effort it takes to master new tools on short notice, and that is related to the lack of generality and ease of use of tools in an industry that has a ways to mature. Managers often either don't understand the effort it takes to become skilled, because they often haven't achieved that level of skill, or they don't care, looking up the chain of command for recognition rather than respecting the level of expertise they have working for them. This is not really all that unique to programmers. All kind of creatives have faced this problem over recorded history.
I had been a programmer of legacy languages and scripting tools and was suddenly asked to support java and a java IDE under development. I balked, and I didn't come to the reason why until much later. It wasn't that I could't learn java, but due to the fact that the language is very wordy and the libraries clunky and the stream of debugging data I would have to deal with is very hard on a visually impaired person. I have low acuity in only one eye, blind in the other, all I have is about 20/70, and the quality of the data coming out of the development version of the software I was asked to support was so compact and busy that it was nearly impossible for me to read. It wasn't just a matter solved by large fonts, but the use of camel text in a very cramped, poorly formatted, dump was very difficult.
A visually impaired system administrator I met later. flat out asserted that java was not accessible. This is quite apart from the complexity of class libraries, which is daunting on its own. I think that most programmers would agree today that java is well past its prime with better languages around. Even javascript, by being able to encapsulate frameworks so well, and languages like python are superior. Had I been aware of the disadvantage created for me at the time by that manager's decision, I would have sued the company under the ADA. In retrospect, I have a clear case. I understand that lots of shops have a legacy investment in java and must maintain java code. It is still widely used, but for me it is not a happy environment to work in. If I choose to get snarky about it I could say that like PL/1, Java is not a better C, K&R had a wonderful simplicity and the standard C library was concise, but I could call java "security through obvescation" which is why it was so appealing to corporate IT departments, but I am only speaking for myself and if people use it, fine, but it is not for me.
I've seen some truly mouth dropping feats of loop control and loop management which should be one with a simple and beautiful goto statement. I hate when a developer is to smug and to overly sure of him / her self to admit that sometimes a goto is the correct solution and if used correctly is a very clean and safe code construct. After all if you going to argue me, write a full ASM program without using JMP ( or a similar code ).
I do linux kernel programming. Casting pointers is pretty much the only way to do what is essentially object-oriented template programming in C. The only real alternative is using unions, which have their own set of difficulties.
That said, you do need to be careful.
I'm a fulltime teleworker doing linux development. I was assigned a Win7 machine.
I turned the installed system into a vm image using VMware tools, installed linux on the bare metal, and run the original image in a VM. Now I'm root on linux, and the corporate IT people are admin in the VM. Everyone is happy.
The main purpose of the H-1B Visa is to depress the wages and bargaining power of American software developers. This is important to know: the H-1B Visa is held by the company, NOT THE IMMIGRANT! Thus, it is companies that apply for and receive H-1B Visas, not immigrants. The companies that hold the visas decide who comes over and who gets sent back. H-1B Visa immigrants had better be satisfied with the work and the wages or it's back to the Heck Hole they came from. Green Card holders are different, because the immigrant holds the Visa and can work for whomever will hire them. Or they can start their own company. If a tech worker is really that good, give 'em a Green Card. American and Green Card software developers can hold their own against foreign coders in their own countries, because as has been said so well in previous posts: OUTSOURCING DOES NOT WORK! Competing against low wage but competent programmers inside the country, who are essentially indentured servants, is much harder. The IEEE and some other professional organizations have mounted a modest lobbying effort to curtail the H-1B Visa, but it's not been very effective. Silicon Valley companies like Intel as well as Google and Microsoft are leading the charge for bringing in ever more H-1B workers with even less than restrictions than before. Do software developers have to unionize? I hope not.
Bls
Comment removed based on user account deletion
Comment removed based on user account deletion
If your job can be replaced by an underpaid angry man overseas then you should aim higher in your career path.
Skill and talent has NEVER been outsourced, but paying someone 85k to write shit code can be easily outsourced to someone that gets paid 5k to write code a little less shitty.
I haven't thought of anything clever to put here, but then again most of you haven't either.
The top two domains in the result offered paid services. Adding free to the query resulted in either services that weren't international or free as in "free trial". So what should I say to convince a skinflint boss to pay for such services?