If you can read this, either the style sheet didn't load or you have an older browser that doesn't support style sheets. Try clearing your browser cache and refreshing the page.

(IT World)   Seven frustrating things about being a programmer; a few actually don't involve end users   (itworld.com) divider line 226
    More: Interesting, gray hair, software engineers, programming  
•       •       •

7576 clicks; posted to Geek » on 14 Feb 2013 at 12:21 PM (1 year ago)   |  Favorite    |   share:  Share on Twitter share via Email Share on Facebook   more»



226 Comments   (+0 »)
   
View Voting Results: Smartest and Funniest

Archived thread
 
2013-02-14 08:23:00 AM  
Did everything make the list?
 
2013-02-14 08:51:25 AM  
Open workspaces that "foster teamwork".  There is room on this keyboard for two hands, and they are at the end of my arms.  Teamwork is what the standups and collaboration are for.  When I need to do actual work, fark off and leave me alone.
 
2013-02-14 09:45:15 AM  
"People assuming you can fix any computer-related problem "  Really?  Programmers are the most PC-Illiterate people I know in IT.

End users not providing enough information about bugs and  People ignoring documentation and  Project managers ignoring or understating time estimates to complete a task or project   - This doesn't just apply to programmers...but anyone in IT.

EatHam: Open workspaces that "foster teamwork". There is room on this keyboard for two hands, and they are at the end of my arms. Teamwork is what the standups and collaboration are for. When I need to do actual work, fark off and leave me alone.


THIS!  I find low cube walls and open workspaces distracting.  If teamwork is required, we have meetings for that.
 
2013-02-14 10:48:12 AM  
Scope Creep

laxallstars.com
 
2013-02-14 10:49:05 AM  
End users not providing enough information about bugs

I deal with this at least twice a week...for a large problem.  You need to describe the steps you performed to get to the problem.  "When I press 'Save' the application crashes" doesn't tell me shiat.  Especially if the application performs 10 different distinct operations and has over 300 controls.


"...the less I wanted to put code in the database; it made code debugging and maintenance a royal pain. "

In VS you can step right into a stored procedure from your app code *if* you have Windows Authent for SQL Server and the Oracle .NET plug-in for VS (when using Oracle).  Personally, it's always obvious when there's a stored procedure or trigger problem.  When that happens, I just use PL/SQL dev.(for Oracle...or you can use TOAD...whatever) or VS for SQL Server.  This shouldn't be a problem.  My enterprise app suite has an ass-ton of database code.
 
2013-02-14 10:49:06 AM  
Programming is farking boring should be near the top of the list. I wasted 4 years of my life being a programmer when I've always really wanted to be a filmmaker. I just thought that software development was a more responsible pursuit. But I quit my job, went to film school and will probably die alone in a gutter but at least I'm not a code monkey. It helps that I don't have a family to support.
 
2013-02-14 10:52:06 AM  

slayer199: "People assuming you can fix any computer-related problem "  Really?  Programmers are the most PC-Illiterate people I know in IT.


But, that IS what most non-technical people think.   I mean, my 7-year old daughter when you ask her what I do amusingly says I am a "computerist".    Not as amusingly, it is the impression I get that that is the extent that most other adults think of what i am as well.   Granted, most programmers are still more "savvy" about computer issues than the average person who just knows enough about technology to surf the web and maybe open up a word file.   But, it still doesn't mean that most programmers are operating system "experts", or know how to diagnose problems on every piece of equipment ever made.
 
2013-02-14 10:55:31 AM  
 
2013-02-14 11:02:48 AM  

Because People in power are Stupid: Scope Creep


Once you accept it and prepare for it every time, it will not be so bad. :)
 
2013-02-14 11:46:23 AM  
I have been doing this shiat for 25 years and I had experienced almost all of these by the end of the first month.
 
2013-02-14 11:56:15 AM  
People ignoring documentation

People will always ignore documentation.  Get over it.  The point of documentation is to CYA.
 
2013-02-14 11:57:00 AM  
People assuming you can fix any computer-related problem - Knowing the people I know, though, I probably can.
 
2013-02-14 11:57:49 AM  

UberDave: Because People in power are Stupid: Scope Creep

Once you accept it and prepare for it every time, it will not be so bad. :)


You don't work for my boss.
 
2013-02-14 12:12:04 PM  

Because People in power are Stupid: Scope Creep


That's a problem with any project, not just with computer programs.  Just make sure you have a really good discovery phase and then make it painful to introduce new requirements.
 
2013-02-14 12:25:03 PM  
I imagine that being a pedantic asshole like most programmers are is the most frustrating thing ever.

I don't even know how they sustain such levels of pedantry all day long.


I love how he says he doesn't know how how to fix your computer, but if you buy him beer he'll magically be able to. Classic programmer. Unable to even man up and say "I know how to fix it but you'll have to pay me to make it my job."
 
2013-02-14 12:32:40 PM  
If he hates overzealous Scrum Masters and strict "Stand Ups" then he should try coming over to the PM side at a Waterfall Company. Nothing screams stress like using a Project Model that is best represented by Management urinating at will and the rest of us running around with a mop bucket to clean up the mess.
 
2013-02-14 12:35:05 PM  
No doubt that most of you people who aren't programmers, or have never been programmers, look at those of us who are or were programmers and think, "Boy, that's gotta be a great job. Exciting, fast paced, highly compensated, well respected and, above all, extremely sexy. What's not to love about being a programmer? I wish I was one."

I am not a programmer and have never thought anything like this. I always imagined programming to be something along the lines of sitting at a desk or in a cube with a window on a screen open that could be mistaken for text edit, poring over lines of code that look like they're in a foreign language, working on a single piece of a larger program, while the boss comes by and says that there have been revisions, and your past week's worth of work is now irrelevant.
 
2013-02-14 12:40:15 PM  
Worst thing: having to make changes to an old system originally done by a programmer who used a single space for indents in PHP code, never indented any of their HTML code at all, and coded with the absolute minimum amount of whitespace possible, jamming everything together so tightly it's damn near undreadable.
 
2013-02-14 12:40:28 PM  
Project managers ignoring or understating time estimates to complete a task or project

This is merely a symptom of a bigger disease of programming ... that being, the people who manage/oversee programmers often (thankfully not always) don't have a background in programming themselves, or if they did it was a thousand years ago on antiquated/irrelevant platforms.  Good programmers are too valuable, unwilling or personally ill-equipped to transfer  management positions    Who fills those positions?   Ambitious bullshiat artists who attended an IT  Project Management conference for a $10k  framed certificate to hang on the wall and a bevy of hi-tech word salad mumbo jumbo to hypnotize upper/executive management with.

Thankfully I'm in a position in my career and skillset where I can be particularly choosy about who I work for.    In any interview, I want to know specifically about the backgrounds of the project managers and the IT management.   If I see a lot of people with fake tans and capped teeth and manicured nails talking about "cloud technology" and "cross platform synergy" I run for the hills.
 
2013-02-14 12:42:38 PM  

grinding_journalist: No doubt that most of you people who aren't programmers, or have never been programmers, look at those of us who are or were programmers and think, "Boy, that's gotta be a great job. Exciting, fast paced, highly compensated, well respected and, above all, extremely sexy. What's not to love about being a programmer? I wish I was one."

I am not a programmer and have never thought anything like this. I always imagined programming to be something along the lines of sitting at a desk or in a cube with a window on a screen open that could be mistaken for text edit, poring over lines of code that look like they're in a foreign language, working on a single piece of a larger program, while the boss comes by and says that there have been revisions, and your past week's worth of work is now irrelevant.


And then asks what have you been doing with your time .

You pretty much nailed it.
 
2013-02-14 12:46:21 PM  

grinding_journalist: No doubt that most of you people who aren't programmers, or have never been programmers, look at those of us who are or were programmers and think, "Boy, that's gotta be a great job. Exciting, fast paced, highly compensated, well respected and, above all, extremely sexy. What's not to love about being a programmer? I wish I was one."

I am not a programmer and have never thought anything like this. I always imagined programming to be something along the lines of sitting at a desk or in a cube with a window on a screen open that could be mistaken for text edit, poring over lines of code that look like they're in a foreign language, working on a single piece of a larger program, while the boss comes by and says that there have been revisions, and your past week's worth of work is now irrelevant.


Pretty much.  Except replace "past week's" with "past two year's"
 
2013-02-14 12:51:25 PM  
1. Users
2. Executives
3. Users again
4. Clueless managers
5. Lazy co-workers
 
2013-02-14 12:52:27 PM  

dletter: And this classic Onion article fits this discussion....

http://www.theonion.com/articles/my-computer-totally-hates-me-vs-god -d o-i-hate-that,11538/


lulz

Reminds me of the old joke about the guy who'd be a millionaire if he could invent a program that allowed him to punch someone in the face over the internet.
 
2013-02-14 12:55:31 PM  
The most frustrating things in 13 years:

1. Working for 1 year at my job developing games for mobiles in a very experienced C++ team with one very successful game even, the bosses decided that suddenly we will move to Java. The company closed in three months.

2. I had a boss once who was both untalented and hard-working. So most of the team was searching for bugs and fixing them 10 hours a day.

3. Junior programmers.
 
2013-02-14 12:57:33 PM  

poisonedpawn78: grinding_journalist: No doubt that most of you people who aren't programmers, or have never been programmers, look at those of us who are or were programmers and think, "Boy, that's gotta be a great job. Exciting, fast paced, highly compensated, well respected and, above all, extremely sexy. What's not to love about being a programmer? I wish I was one."

I am not a programmer and have never thought anything like this. I always imagined programming to be something along the lines of sitting at a desk or in a cube with a window on a screen open that could be mistaken for text edit, poring over lines of code that look like they're in a foreign language, working on a single piece of a larger program, while the boss comes by and says that there have been revisions, and your past week's worth of work is now irrelevant.

And then asks what have you been doing with your time .

You pretty much nailed it.


But when it compiles you get to do this...

imgs.xkcd.com

I work for an "engineering services company".  Basically, we do CAD Software support.  Somehow, somebody learned that I took some intro Java and C++ classes in college (as a requirement) and now I am the resident code monkey.  Granted, my knowledge of the matter is very limited, but apparently I am doing something right, since I survived another round of layoffs.

Of course, most of the time I look like I am doing nothing (since most of our business is very visual by nature) because I am staring at text all day trying to debug something while everybody else is designing 3D models and whatnot (in an open environment even....damn it I need a hole to crawl in while at work).
 
2013-02-14 01:03:26 PM  
I gotta say, four-space tabs are way too big. It's hard to even read a triply-nested for-loop, much less a quadruply-nested or more. Two-space tabs are the way to go.
 
2013-02-14 01:12:37 PM  

traylor: The most frustrating things in 13 years:

1. Working for 1 year at my job developing games for mobiles in a very experienced C++ team with one very successful game even, the bosses decided that suddenly we will move to Java. The company closed in three months.


Problem with Corporations = The bosses who know fark all about common sense and rely on what they learned in whatever business courses they took.
 
2013-02-14 01:12:58 PM  
Pfft, four space tabs?  There is only ONE tab character that anyone should EVER need.

vbTab

If you use anything else, you're doing it wrong.
 
2013-02-14 01:13:47 PM  
1.  Little to no requirements
2.  Software solutions in search of problems
3.  Arbitrary deadlines
4.  The hot new thing ("We want to store our customer information in the CLOUD")
 
2013-02-14 01:13:47 PM  

Fubini: I gotta say, four-space tabs are way too big. It's hard to even read a triply-nested for-loop, much less a quadruply-nested or more. Two-space tabs are the way to go.


That was by far the weakest thing on his list.... it was basically whining over other people not liking his personal preference.
 
2013-02-14 01:13:48 PM  
8. Being a programmer.
 
2013-02-14 01:14:18 PM  

slayer199: Project managers ignoring or understating time estimates to complete a task or project


Because People in power are Stupid: Scope Creep


Right on.

Fubini: I gotta say, four-space tabs are way too big. It's hard to even read a triply-nested for-loop, much less a quadruply-nested or more. Two-space tabs are the way to go.


I play by KISS, so the simpler the code, the better. If I'm going more than four brackets deep in a function, it's probably too complicated. Abstracting out the loops helps with this, so that even if it ends up programmatically behaving quad looped, it's easy to read and understand. Four-space tabs helps enforce this - running out of left-aligned screen real estate means it's getting overly complicated.
 
2013-02-14 01:15:37 PM  

Fubini: I gotta say, four-space tabs are way too big. It's hard to even read a triply-nested for-loop, much less a quadruply-nested or more. Two-space tabs are the way to go.


Good fark'n grief - this debate is still going on?  I remember programmers biatching about 3 versus 4 space tabs back in the fark'n 80s.

/got out of development in the early 90s
//simply no reward in that profession
 
2013-02-14 01:15:46 PM  
Tabs/indents set to anything other than four characters - This was my own personal preference. Four characters just looked right when reading code; anything else looked wrong and made me want to fix it.

use five characters you mother farking troglodyte

That way, multi-indendted blocks end up breaking at 5, 10, 15, 20, 25 characters, you know, something logical ... that matches our currency system

Hey bob, indent that block a dime.
Man, this code is a quarter deep.

4 characters gives you 4, 8, 12, 16, 20, 24, that's some farked up shiat.
 
2013-02-14 01:21:27 PM  
Two-space tabs, using actual spaces to make the tabs. Every other way is heresy!
 
2013-02-14 01:21:38 PM  
 
2013-02-14 01:24:29 PM  
Who cares about this list.....I have been coding for a living for a few years now and the one thing I have noticed about myself since I started is that my alcohol intake has increased every year......
 
2013-02-14 01:27:15 PM  
1.  Lack of clear requirements
2.  changing requirements on the fly ("that's not a big change")
3.  Expecting me to do all of your testing for you
4.  Creating a project plan without input from developers and then blaming the developers for the delay.
5.  Including all the "little cosmetic issues" that bother you into a single bug fix so it becomes never ending.
6.  Forcing me to work with smelly H1-Bs
 
2013-02-14 01:30:03 PM  

Fubini: I gotta say, four-space tabs are way too big. It's hard to even read a triply-nested for-loop, much less a quadruply-nested or more. Two-space tabs are the way to go.


God bless you sir... or rather, use a farking tab, you moron, and let my editor decide what size it should be.
 
2013-02-14 01:34:13 PM  
AMark

Two-space tabs, using actual spaces to make the tabs. Every other way is heresy!

Fist bump.
 
2013-02-14 01:34:21 PM  
The first time you destroy your body and spirit working 60-100 hour work weeks making deadline on a product that lasts 1-2 years  in production before the newly hired exec wants it arbitrarily scrapped and re-written to mirror the system they're familiar with from their previously employer,  you  learn to take your living human soul and hold it down and drown it in the proverbial bathtub.     Once you've eliminated any belief in a benevolent or just universe, it's not a bad way to pay the bills.
 
2013-02-14 01:35:33 PM  
Is "the inability to grasp networking sorcery" on the list?

/it's not the network. Never is.
 
2013-02-14 01:37:56 PM  

Fubini: I gotta say, four-space tabs are way too big. It's hard to even read a triply-nested for-loop, much less a quadruply-nested or more. Two-space tabs are the way to go.


Four-deep loops??!!
images.starpulse.com

/Worked better in my head.
 
2013-02-14 01:38:00 PM  
enigmaticsource: God bless you sir... or rather, use a farking tab, you moron, and let my editor decide what size it should be.

One of our properitary tools generates code using spaces instead of tabs.

// If I work on a project, I always clean up the generated code, other folks, not so much.

// A side effect of this is that stuff from offshore will have code that contains a mix of tabs and spaces (sometimes on the same line). You see, the code generator generates a block of code (with spaces) and then the programmer will edit that code (and indent that code again using a tab).
 
2013-02-14 01:38:29 PM  
Dealing with the kind of bad programmers in this thread.
 
2013-02-14 01:40:17 PM  
1. I have a vision
2. How is that done?
3. Why are you doing it THAT way?


But the most is because of "unrealistic expectations"

Asking me on a Friday to load 2.5 TB of data into 250 undefined tables, from 1500 files in 7 different areas.
Defining all column names, datatypes, build all indexes, partitioning, etc.
And expecting it on Monday.

/is it done yet?
 
2013-02-14 01:41:07 PM  

slayer199: "People assuming you can fix any computer-related problem " Really? Programmers are the most PC-Illiterate people I know in IT.


In all fairness, most the PC questions you usually get from friends and family are like "Where did my blue E go?" and "Can they really tell if I don't forward this e-mail to 20 different people?"
 
2013-02-14 01:41:35 PM  

MrCrazyInsane: Is "the inability to grasp networking sorcery" on the list?

/it's not the network. Never is.


What the hell do you expect me to blame all the random bugs in my code on then?  Do you want me to tell the truth?!?

Besides, the network admins are on the other side of the campus.  They'll never hear about it anyway and if they do what's the worst that can hap
 
2013-02-14 01:45:05 PM  

lordargent: One of our properitary tools generates code using spaces instead of tabs.

// If I work on a project, I always clean up the generated code, other folks, not so much.


"s/[ ]{2}/\t//" for various values of two is about the first thing I run when I have to look at code.
 
2013-02-14 01:46:41 PM  
Scope creep & project managers that think hacking together something to make the shiny button appear NAOW!! is more important than doing it proper the first time.  Of course said project managers are usually answering to less knowledgeable/informed business pieces that just want a shiny button.

Bad user feedback a programmer issue.  Unless you have a professional QA staff to back you, need to build in mechanisms to catch data when things explode.  Even with a professional QA staff, if you have time to build said nifty tools, it's best you do.  Plus if you have time to do unit testing and other nifty testing related things, it helps even more.

/ fark your shiny button!
 
2013-02-14 01:47:23 PM  

enigmaticsource: "s/[ ]{2}/\t//" s/[ ]{2}/\t/g
/ftfm
//damn write only code.

 
2013-02-14 01:51:08 PM  

grinding_journalist: No doubt that most of you people who aren't programmers, or have never been programmers, look at those of us who are or were programmers and think, "Boy, that's gotta be a great job. Exciting, fast paced, highly compensated, well respected and, above all, extremely sexy. What's not to love about being a programmer? I wish I was one."

I am not a programmer and have never thought anything like this. I always imagined programming to be something along the lines of sitting at a desk or in a cube with a window on a screen open that could be mistaken for text edit, poring over lines of code that look like they're in a foreign language, working on a single piece of a larger program, while the boss comes by and says that there have been revisions, and your past week's worth of work is now irrelevant.


Pretty much.  But you get paid for it.


Don't get attached to code.
 
2013-02-14 01:54:02 PM  
Two hard spaces or I get out The Script and we're gonna have some funny-looking commits.
 
2013-02-14 01:54:31 PM  
"Here's a new project.  The requirements document is forty-pages long.  We need an hours estimate by end of day.  The project is due end of March."

Fifty-thousand.  Fifty-thousand hours for that request.  Get out of my cube.
 
2013-02-14 01:57:10 PM  
I write software for robotics and automation. Machine code (programmable controller) and .NET for serving data to and from the machines. It doesn't suck, I get paid well, and nobody has a clue what I'm doing. But no matter what, there are tons of worse jobs then being a programmer.
 
2013-02-14 01:57:39 PM  

traylor: The most frustrating things in 13 years:

1. Working for 1 year at my job developing games for mobiles in a very experienced C++ team with one very successful game even, the bosses decided that suddenly we will move to Java. The company closed in three months.


Did the company run out of memory?  Ahh Java, where "Hello World" needs 300MB.
 
2013-02-14 01:58:29 PM  
Do places/people really enforce standing up at "standups"? This is why people hate work. Because of nonsense like this.
 
2013-02-14 01:59:32 PM  
People assuming you can fix any computer-related problem
Aww poor baby, being the most technically proficient individual anybody knows sure is a burdern. Why are such a farking douche, give a guy a hand all ready.

End users not providing enough information about bugs
Oh shut the fark up. End users don't give a shiat about why or what is wrong. They don't care, it is your job to care, figure it out, and fix it. That is why you get paid the big bucks, quit being a whiner.

Storing code in the database
Is the poor little baby usless with out all his fancy tools? Yes, yes he is. What a farking whiner.


Overly zealous Scrum Masters
Bwhahahaha, you obviously don't understand why we use Agile and Scrum. The reason we use those methodologies is that you farking programmers are out of control. That methodology is all about control, it is about you stupid half-wits not doing what you are supposed to. So, you farking STAND during a STAND UP meeting, you don't touch the board, and you report your dam hours worked you farking tard or by god I'll shove this backlog up your ass so far your children will dream about it.

People ignoring documentation
No one has time for that, besides your documentation is always out of date and wrong. Sure it looks pretty, but never answers the questions.
Tabs/indents set to anything other than four characters
Okay now you are just being a tool.

Just another whiney douche bag with a Bacheolurs in CS who thinks they are indespensible.
 
2013-02-14 02:01:20 PM  

slayer199: "People assuming you can fix any computer-related problem " Really? Programmers are the most PC-Illiterate people I know in IT.


Came here to say this. As users, programmers are worse than old women.
 
2013-02-14 02:02:42 PM  
Yeah, mission creep sorely missing and the cause of much of the bad client relations I've experienced.

TFA's last point is major also
 
2013-02-14 02:03:45 PM  

Dreyelle: 1.  Lack of clear requirements
2.  changing requirements on the fly ("that's not a big change")
3.  Expecting me to do all of your testing for you
4.  Creating a project plan without input from developers and then blaming the developers for the delay.
5.  Including all the "little cosmetic issues" that bother you into a single bug fix so it becomes never ending.
6.  Forcing me to work with smelly H1-Bs


Farking Indian programmers are the worst, most arrogant, inflexible, retarded monkeys money can buy. At lest the Chinese are polite to your face, no matter what they say behind your back.
 
2013-02-14 02:09:28 PM  

fluffy2097: I imagine that being a pedantic asshole like most programmers are is the most frustrating thing ever.


You want your programmers to be pedantic assholes.  Why?  Because programming effectively requires it.

You walk up to me and give me vague requirements, you probably aren't going to get what you *THINK* you were asking for, if you even had a solid idea in the first place.  The better I can pin down what you want, the happier you will be with the end product.

I mean, you wouldn't walk up to a barista in Starbucks and say "Give me a coffee" when what you really want is a tall cinnamon mocha latte, would you?  Yet I often get the same sort of thing.  Someone will say "I need a report on all X".  So I give them a basic report on all X, and it turns out that they wanted to exclude Y.  OK, so I go back and exclude Y, here you go.  "Oh, and include all Z".  Ummm.  OK.  "But this now has a Y in it".  Yes, that's right, because there are cases where Z *AND* Y are both present, and you wanted all of Z, remember?  "Stop being pedantic".

Now, that could have been avoided if the person came to me and said "I need a report with all of X, and all of Z, but I don't want to see any Y on the report".

It's all about knowing what you want before you formally ask for it, so you get what you want the first time.
 
2013-02-14 02:09:29 PM  
I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.
 
2013-02-14 02:09:32 PM  

highbrow45: slayer199: "People assuming you can fix any computer-related problem " Really? Programmers are the most PC-Illiterate people I know in IT.

Came here to say this. As users, programmers are worse than old women.


Well I've found its all over the map, but yah the ones who don't understand the very things they are writing programs for are the bane of many's existence.

"What do you mean writing one byte at a time to disk is bad?  Just give me a faster computer like I asked, this one is too slow."
 
2013-02-14 02:09:39 PM  

slayer199: "People assuming you can fix any computer-related problem "  Really?  Programmers are the most PC-Illiterate people I know in IT.


That was one of the oddest things I discovered moving from a help desk to development. Working help desk was basically being an assistant-DBA, assistant-Sysadmin, system builder, networking, etc all in one job. Now I do none of that. Programmers know their code, but it's like triple the pay for a fraction of overall computer knowledge.
 
2013-02-14 02:09:57 PM  

PainInTheASP: MrCrazyInsane: Is "the inability to grasp networking sorcery" on the list?

/it's not the network. Never is.

What the hell do you expect me to blame all the random bugs in my code on then?  Do you want me to tell the truth?!?

Besides, the network admins are on the other side of the campus.  They'll never hear about it anyway and if they do what's the worst that can hap


I see what you did there.

Why don't we all just agree that our real enemies are project managers?
 
2013-02-14 02:12:12 PM  

XMark: Worst thing: having to make changes to an old system originally done by a programmer who used a single space for indents in PHP code, never indented any of their HTML code at all, and coded with the absolute minimum amount of whitespace possible, jamming everything together so tightly it's damn near undreadable.


Carriage returns are for pansies!
 
2013-02-14 02:12:56 PM  

BumpInTheNight: traylor: The most frustrating things in 13 years:

1. Working for 1 year at my job developing games for mobiles in a very experienced C++ team with one very successful game even, the bosses decided that suddenly we will move to Java. The company closed in three months.

Did the company run out of memory?  Ahh Java, where "Hello World" needs 300MB.


No, the company run out of programmers. You see, when you are very experienced in one programming language and the boss tells you that you need to switch to a different programming language which you frown upon and you aren't even familiar with then you suddenly start looking for a different job.
 
2013-02-14 02:13:49 PM  

Slaves2Darkness: People assuming you can fix any computer-related problem
Aww poor baby, being the most technically proficient individual anybody knows sure is a burdern. Why are such a farking douche, give a guy a hand all ready.


highbrow45: slayer199: "People assuming you can fix any computer-related problem " Really? Programmers are the most PC-Illiterate people I know in IT.

Came here to say this. As users, programmers are worse than old women.


This may come as a surprise, but programmers are not experts in every single piece of computer software and hardware out there.
 
2013-02-14 02:14:03 PM  

Dinjiin: Because People in power are Stupid: Scope Creep

That's a problem with any project, not just with computer programs.  Just make sure you have a really good discovery phase and then make it painful to introduce new requirements.


One manager says: "Let's make a sports car." Midway through manufacturing he tells you: "It's paramount that this thing is 4WD"

So then you redesign it for 4 wheel drive and then he says: "It's Manual Drive -we must make it Automatic"

Etc Etc Etc.

The sad part is that oftentimes I'm put in the middle of relegating these new tasks to our new hires.
 
2013-02-14 02:18:00 PM  

China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.


You are more professional than most of the programmers I've known.
 
2013-02-14 02:19:00 PM  

traylor: BumpInTheNight: traylor: The most frustrating things in 13 years:

1. Working for 1 year at my job developing games for mobiles in a very experienced C++ team with one very successful game even, the bosses decided that suddenly we will move to Java. The company closed in three months.

Did the company run out of memory?  Ahh Java, where "Hello World" needs 300MB.

No, the company run out of programmers. You see, when you are very experienced in one programming language and the boss tells you that you need to switch to a different programming language which you frown upon and you aren't even familiar with then you suddenly start looking for a different job.


So, in a way, it *DID* run out of memory.
 
2013-02-14 02:19:05 PM  

China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.


I do coding professional and as a hobby, and my general philosophy unless some client is going to be reading the code (ie never) or there's noticeable performance problems is that, if it is okay and it does what you need it to, that's the correct-est way.

The more anal programmers will always have "suggestions" for how THEY would do it to optimize this or that or use fewer lines of code, but in my experience this is often just them trying to flex in front of you or feel superior or it has no noticeable effect on the end user/output and thus is pointless. Like when someone at my old shop spent 2 days learning how to implement lambda functions and then broke the code trying to implement it because he wanted to impress people.

At some point you realize life is short and everything doesn't have to be optimal. Also programmers/nerds thrive on one-upsmanship and its better for your mental health to jump outside that rat race and work to improve your own happiness/enjoyment.

This is not to say advice is bad, but unless there's a known issue, why go looking for ways to refactor the code? It's just a pointless exercise. It's like the person who spends 2 hours perfecting the layout of a powerpoint slide then it's on the projector for 8 seconds in the meeting. Nice time investment.

/You should instead spend 2 minutes on the slide and 118 minutes reading news article comments
//Maybe they were already doing that
 
2013-02-14 02:20:06 PM  

traylor: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

You are more professional than most of the programmers I've known.


Professionals have deadlines and can't do endless rewrite cycles or scrub their projects and go watch Netflix...
 
2013-02-14 02:20:15 PM  

Dreyelle: 6.  Forcing me to work with smelly H1-Bs


Funny thing is, they probably feel the same about you.
 
2013-02-14 02:21:51 PM  
1.  We switched to part B since part A can't match UL code.  Then why the hell have we been using part A ever?  We don't have time to test part B.

(later on)
Oh, part B doesn't quite work so we have to bring in retired expert C who wrote the original program to fix it.

-  This happened to me twice in the previous and current programming job

2.  Ending up being too valuable to the company and thus everyone expecting you to be completely awesome.
3.  The head of the QA department assumes control of the software development department and has an ego so big that he can't realize this is a conflict of interest.  This head of QA also managed to become VP of the division so there is no way to stop him from doing anything really.
 
2013-02-14 02:21:56 PM  

qorkfiend: traylor: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

You are more professional than most of the programmers I've known.

Professionals have deadlines and can't do endless rewrite cycles or scrub their projects and go watch Netflix...


I see, you have much to learn, young Padawan. Muhaha.
 
2013-02-14 02:22:57 PM  

traylor: qorkfiend: traylor: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

You are more professional than most of the programmers I've known.

Professionals have deadlines and can't do endless rewrite cycles or scrub their projects and go watch Netflix...

I see, you have much to learn, young Padawan. Muhaha.


Oh? You have a job as a professional programmer where you have no deadlines and can do endless re-write cycles, give up, and watch Netflix?
 
2013-02-14 02:24:40 PM  

qorkfiend: traylor: qorkfiend: traylor: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

You are more professional than most of the programmers I've known.

Professionals have deadlines and can't do endless rewrite cycles or scrub their projects and go watch Netflix...

I see, you have much to learn, young Padawan. Muhaha.

Oh? You have a job as a professional programmer where you have no deadlines and can do endless re-write cycles, give up, and watch Netflix?


Yes, I'm working in R&D.
 
2013-02-14 02:25:53 PM  

qorkfiend: Slaves2Darkness: People assuming you can fix any computer-related problem
Aww poor baby, being the most technically proficient individual anybody knows sure is a burdern. Why are such a farking douche, give a guy a hand all ready.

highbrow45: slayer199: "People assuming you can fix any computer-related problem " Really? Programmers are the most PC-Illiterate people I know in IT.

Came here to say this. As users, programmers are worse than old women.

This may come as a surprise, but programmers are not experts in every single piece of computer software and hardware out there.


I didn't say that it was annoying that programmers are not experts in every single piece of computer software and hardware out there.
 
2013-02-14 02:25:54 PM  

MrCrazyInsane: Is "the inability to grasp networking sorcery" on the list?

/it's not the network. Never is.


One of the worst instances I ever ran into:  I get asked, at 10:30 at night on a Friday, to jump into a conference with one of our clients, a large energy company, because our system at one of their power generating stations had slowed to a crawl.  At the time, we had the system installed at three sites all connected to their corporate headquarters.  Only the one site was slow.  Many of the 15+ people on the conference line (mostly the IT folks) were blaming our system.  They're basically treating me, the lowly software vendor, as a sounding board and punching bag.  About 10 minutes into the call, I suggested that someone at the site walk a laptop from node to node...I was ignored.  Around 2:30am, everyone takes a 30 minute break, conference to resume then.  As everyone departs, one of the site specific (non-sorp. headquarters) guys gets me alone and ask me the details about what I said early on.  I tell him to simply walk the laptop from node to node and fire a large-return query at the database at each stop. 40-ish minutes later, conference going again, and with everyone on the phone, the site-IT guy reports that he problem and that it was a piece of network hardware.

This was a fortune 100 energy company with supposed IT gurus.  I know it is often not the network and a lot of vendors will never blame themselves but people should 1) not think they are the most badass programmer/admin in the world because they mastered their little section of it and 2) size up who you are dealing with - they just might be honest and not auto-blame everything but their software.
 
2013-02-14 02:26:26 PM  

traylor: qorkfiend: traylor: qorkfiend: traylor: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

You are more professional than most of the programmers I've known.

Professionals have deadlines and can't do endless rewrite cycles or scrub their projects and go watch Netflix...

I see, you have much to learn, young Padawan. Muhaha.

Oh? You have a job as a professional programmer where you have no deadlines and can do endless re-write cycles, give up, and watch Netflix?

Yes, I'm working in R&D.


And there's absolutely no expectation for you to produce anything? Fascinating.
 
2013-02-14 02:26:28 PM  

qorkfiend: traylor: qorkfiend: traylor: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

You are more professional than most of the programmers I've known.

Professionals have deadlines and can't do endless rewrite cycles or scrub their projects and go watch Netflix...

I see, you have much to learn, young Padawan. Muhaha.

Oh? You have a job as a professional programmer where you have no deadlines and can do endless re-write cycles, give up, and watch Netflix?


I am sure he was being completely serious and was not, in any way, just making a tongue-in-cheek comment about programmers who are indifferent to code quality; let's fight about it.
 
2013-02-14 02:26:31 PM  

UberDave: End users not providing enough information about bugs

I deal with this at least twice a week...for a large problem. You need to describe the steps you performed to get to the problem. "When I press 'Save' the application crashes" doesn't tell me shiat. Especially if the application performs 10 different distinct operations and has over 300 controls.


How the hell am I supposed to know. I was doing stuff, I pressed save and it crashed. Do you really expect me to remember the exact state of the program just so I can file a bug report when the POS crashes unexpectedly on me?
 
2013-02-14 02:27:02 PM  

highbrow45: qorkfiend: Slaves2Darkness: People assuming you can fix any computer-related problem
Aww poor baby, being the most technically proficient individual anybody knows sure is a burdern. Why are such a farking douche, give a guy a hand all ready.

highbrow45: slayer199: "People assuming you can fix any computer-related problem " Really? Programmers are the most PC-Illiterate people I know in IT.

Came here to say this. As users, programmers are worse than old women.

This may come as a surprise, but programmers are not experts in every single piece of computer software and hardware out there.

I didn't say that it was annoying that programmers are not experts in every single piece of computer software and hardware out there.


Oh, sorry, I misread your comment. My apologies.
 
2013-02-14 02:28:08 PM  

traylor: Dreyelle: 6.  Forcing me to work with smelly H1-Bs

Funny thing is, they probably feel the same about you.


Maybe, but I don't work in India and most of the US showers almost daily, and unlike India, we don't have to watch where we are stepping so we don't step in Holy cow shiat.  Move to the USA and learn to use soap and clean water.  We have plenty of it here.
 
2013-02-14 02:30:37 PM  

Bad_Seed: UberDave: End users not providing enough information about bugs

I deal with this at least twice a week...for a large problem. You need to describe the steps you performed to get to the problem. "When I press 'Save' the application crashes" doesn't tell me shiat. Especially if the application performs 10 different distinct operations and has over 300 controls.

How the hell am I supposed to know. I was doing stuff, I pressed save and it crashed. Do you really expect me to remember the exact state of the program just so I can file a bug report when the POS crashes unexpectedly on me?


What were you trying to save? Where were you trying to save it from? What were you trying to save it to? What operating system are you using? What version of the program are you using? Was there an error message? Surely you would know all of this without knowing "the exact state of the program". Saying "I pressed Save and it crashed" is like someone asking you for directions and you pointing vaguely in an arbitrary direction. It's completely useless without details.
 
2013-02-14 02:35:05 PM  
The best thing is how it's littered with hot babes
 
2013-02-14 02:41:02 PM  
I have the training and experience to work IT.  I refuse to work IT.  I could do programming or computer repair.  I refuse to do it for a living.  Hell, most of the time I refuse to do it for friends and family.  It's not hard.  It's that I don't like dealing with people who don't understand computers beyond "It's broken, you're the only expert I know, fix it!  What do you mean you want money?  If I wanted to pay someone I'd go to Best Buy."

For me it's all the end users.  You fix it, it works.  Everyone is happy.  Then the moment some thing else breaks, it has to be my fault.  Nope, not doing it any more.  I fix my computer when it needs fixing.  Because I know that if I replace the hard drive and the RAM goes out, that the RAM going out had nothing to do with the hard drive.

I have a friend who works for AT&T, he's a manager for one of their call centers.  He told me that he needed a new call center person to troubleshoot customer problems with the equipment.  So we talked for a bit because I was unemployed at the time.  He said "Now, before you interview for the job, remember, you can't call the customers idiots, even if the problem is because of something they did.  And secondly, when you answer the phone you have to read the entire script word for word."  I asked "That script that when I have to call technical support I butt in and say 'Don't care, here's the problem...'?"  He said "Yeah, that script.  You can't abridge that script or not say it.  And no matter how rude they are or that they caused the problem you want to fix, you have to say 'Yes Sir'."  and he explained that he was telling me this because he knows that when I end up fixing computers I actually call family and friends idiots and morons.  I ended up telling him thanks, but no thanks for the interview offer.  I told him that it's retarded to have a department set up to help end users with their problems, and instead of getting straight to the problem with "Hi, thank you for calling AT&T, how can I help you?", having to read a long script that ends with a try at an up sell.  When I call to get tech support I don't want to buy anything, I want my problem fixed.  At that explanation he said "Yeah, you'd be fired within a month, and not for customer service complaints but for not reading the script or going for the up sell."
 
2013-02-14 02:42:26 PM  

qorkfiend: What were you trying to save? Where were you trying to save it from? What were you trying to save it to? What operating system are you using? What version of the program are you using? Was there an error message? Surely you would know all of this without knowing "the exact state of the program". Saying "I pressed Save and it crashed" is like someone asking you for directions and you pointing vaguely in an arbitrary direction. It's completely useless without details.


It means that your program crashes when you press save. You should make it not crash.

/Or just generate a crash report with all the crap that you need
//PC LOAD LETTER? What the fark does that mean?
 
2013-02-14 02:46:36 PM  

HaywoodJablonski: The best thing is how it's littered with hot babes


Actually, I work with a couple of attractive female programmers.
 
2013-02-14 02:47:15 PM  

Bad_Seed: UberDave: End users not providing enough information about bugs

I deal with this at least twice a week...for a large problem. You need to describe the steps you performed to get to the problem. "When I press 'Save' the application crashes" doesn't tell me shiat. Especially if the application performs 10 different distinct operations and has over 300 controls.

How the hell am I supposed to know. I was doing stuff, I pressed save and it crashed. Do you really expect me to remember the exact state of the program just so I can file a bug report when the POS crashes unexpectedly on me?



You don't know the record you are working with?  You don't where you were in the software when you clicked the "save" button?

Example of a good problem report:

1.  Opened up the Personnel application.
2.  Load the record for "Bob Smith"
3.  Opened his training records.
4.  Clicked the button to add new training.
5.  Entered the data and clicked the "save" button.
6.  Received "This SQLTransaction has completed; it is no longer useable" and there was a bunch of gibberish code looking stuff in the "details" section (screen shot below).


That.

There's an ass-load of details can be added but that is a phenomenal amount of information and such would lead to a quicker resolution in 95% of the cases I receive.  Hell, if I just received screen shots, it would be awesome.
 
2013-02-14 02:48:11 PM  

Slaves2Darkness: Bwhahahaha, you obviously don't understand why we use Agile and Scrum. The reason we use those methodologies is that you farking programmers are out of control. That methodology is all about control, it is about you stupid half-wits not doing what you are supposed to.


Yeah, you don't know what you're talking about.  You sure do sound cool and edgy, though!
 
2013-02-14 02:53:24 PM  

Dreyelle: traylor: Dreyelle: 6.  Forcing me to work with smelly H1-Bs

Funny thing is, they probably feel the same about you.

Maybe, but I don't work in India and most of the US showers almost daily, and unlike India, we don't have to watch where we are stepping so we don't step in Holy cow shiat.  Move to the USA and learn to use soap and clean water.  We have plenty of it here.


But, unlike the stinky and irritating chemicals you put on your body, cow shiat just smells fine. How can you not understand this?
 
2013-02-14 02:53:32 PM  
People who modify code modules to accomidate their specific problems, while trashing the broader functionality. Too hard to write code that works with original module or clone the module, rename it, and change it.
 
2013-02-14 02:57:04 PM  

traylor: Dreyelle: traylor: Dreyelle: 6.  Forcing me to work with smelly H1-Bs

Funny thing is, they probably feel the same about you.

Maybe, but I don't work in India and most of the US showers almost daily, and unlike India, we don't have to watch where we are stepping so we don't step in Holy cow shiat.  Move to the USA and learn to use soap and clean water.  We have plenty of it here.

But, unlike the stinky and irritating chemicals you put on your body, cow shiat just smells fine. How can you not understand this


Dammit.  I hate it when I bite on troll bait.
 
2013-02-14 02:57:34 PM  
Electromax: I do coding professional and as a hobby, and my general philosophy unless some client is going to be reading the code (ie never) or there's noticeable performance problems is that, if it is okay and it does what you need it to, that's the correct-est way.

I'm not just a programmer, I was (and am starting to become one again) a code reviewer.

IE, I look at code other people wrote (EX, offshore resources) and determine if it's ready for prime time or if there are going to be issues.

// potential issues are categorized on a scale of 1 to 5 (5 being the highest). I only care about 3-5. 1 and 2 are trivialities that aren't worth my time to fully review.

// in my experience though, code with a lot of smells tends to have a lot of larger issues. It's an attention to detail thing, if they don't care about the small easy to fix things, then how do they treat the larger things?

I look at code like that and I'm like, what troglodyte wrote this? I always assume someone will read my code at some point and it's not even about oneupmanship. Here is a simple example.

I have a SQL query which is going to join two tables together (Products and User Data).

A troglodyte programmer would alias those tables as A and B whereas I would alias them as P and U. A and B conveys no meaning, and in larger queries, people will tend to forget what the hell table B was referring to. Was B.UNIQUE_KEY from the user table? The products table? The sales table? The region table? whereas U.UNIQUE_KEY is much easier to grok.

Is that going to make the code more efficient? NO. Is it an amazing feat of programming progress? NO. Does it increase the difficulty of writing the code? NO. Does it make it easier for anyone else to read the code? Hell yes.
 
2013-02-14 02:57:49 PM  

dittybopper: HaywoodJablonski: The best thing is how it's littered with hot babes

Actually, I work with a couple of attractive female programmers.


Do you work in Eastern Europe? That's the only way this scenario is possible
 
2013-02-14 02:58:06 PM  
"Well, we need to get paid for this change in order to keep the doors open. So, just push this through and then we will start following procedure."
 
2013-02-14 03:03:04 PM  
Programmers who didn't start out as programmers, but Subject Matter Experts who were given a scripting language and told to go automate portions of their jobs.

We hates that.
 
2013-02-14 03:08:26 PM  

Slaves2Darkness: People assuming you can fix any computer-related problem
Aww poor baby, being the most technically proficient individual anybody knows sure is a burdern. Why are such a farking douche, give a guy a hand all ready.


Because computers and software can be ridiculously complex in terms of what can go wrong.  I'm glad you feel that it's someone else's responsibility to sacrifice all of their time because the user can't take any time to learn how things work for themselves.  Assuming that the guy has tons of spare time to help you figure out how to power on your machine or not get a virus every other day is the actual douchey attitude in this scenario.
 
2013-02-14 03:08:30 PM  

Great Janitor: For me it's all the end users. You fix it, it works. Everyone is happy. Then the moment some thing else breaks, it has to be my fault. Nope, not doing it any more. I fix my computer when it needs fixing. Because I know that if I replace the hard drive and the RAM goes out, that the RAM going out had nothing to do with the hard drive.


CSB time.

Before I went to college and got a RealJob(TM) as a programmer, I ran an IT business with a friend of mine. What you described happened a lot. In fact, our first job was exactly like you described. The guy had an old computer, it needed a new part and some crapware uninstalled, pretty typical job. When we left everything was fine, the guy paid us, etc.

Then the next day we get a call and the customer is furious. His sound isn't working! What did we do to his machine!?

So we asked him, did you turn your speakers on? Of course. Did you turn the volume up? What do you think I am, stupid? Did you try plugging the speaker into a different port, maybe you hooked it to the mic port by mistake. Of course I tried that, come over here and fix it.

We go all the way back to his house, turn the computer around, and low and behold, the speakers are plugged into the mic port. I shot him a look like, "What, are you stupid?" and took care of his "problem."

/csb
 
2013-02-14 03:12:35 PM  
CSB,

I was at the dentist, the new one in town.  Through chit-chat it comes out I'm in IT.  His new secretary can't get their new laser printer to print anything.  I offer to take a look.  Pull up her PC, look at the printer drivers, document queue.  Get all busy and important.  Hrrrm a few times.    Then I push the big green button on top of the printer that puts it online and tell her to print.

Anything for a discount.

/csb
 
2013-02-14 03:15:22 PM  

lordargent: A troglodyte programmer would alias those tables as A and B whereas I would alias them as P and U. A and B conveys no meaning, and in larger queries, people will tend to forget what the hell table B was referring to. Was B.UNIQUE_KEY from the user table? The products table? The sales table? The region table? whereas U.UNIQUE_KEY is much easier to grok.

Is that going to make the code more efficient? NO. Is it an amazing feat of programming progress? NO. Does it increase the difficulty of writing the code? NO. Does it make it easier for anyone else to read the code? Hell yes.


This is precisely what managers don't get about contracting/outsourcing work.  Those people have zero reason to care about this aspect and companies often fail to realize what it costs them in terms of maintenance time, quality, and the ability to retain programmers that don't suck.

I tend to be a comment nazi.  I hate it when coworkers write tons of code with no comments.  If I have to go in there and fix something or enhance something those comments better help me understand what's going on.
 
2013-02-14 03:17:08 PM  
scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.
 
2013-02-14 03:23:53 PM  
I once had a boss who would cut my estimates.  I did not use the Scotty school of time managment, my estimates were quite reasonable.  So when he'd come back demanding why something wasn't completed on time I'd just tell him "it's on schedule according to the estimate I gave you.  Just because you want it faster doesn't mean you will get it faster."  It's quite liberating when you don't care if you get fired or not.
 
Ant
2013-02-14 03:24:52 PM  

EatHam: Open workspaces that "foster teamwork".  There is room on this keyboard for two hands, and they are at the end of my arms.  Teamwork is what the standups and collaboration are for.  When I need to do actual work, fark off and leave me alone.


This, this, THIS!
 
2013-02-14 03:28:13 PM  

scarmig: Programmers who didn't start out as programmers, but Subject Matter Experts who were given a scripting language and told to go automate portions of their jobs.

We hates that.


That's me!

It was my own fault actually.  Had some downtime and started wondering "how can I make this process faster"  then started reading up on VBA.

Two years later all I do it program it seems.  And I am the only one in this company (well, at least in this building) that does it.  Everybody else gets to design 3D models.....
 
2013-02-14 03:28:21 PM  

lordargent: A troglodyte programmer would alias those tables as A and B whereas I would alias them as P and U. A and B conveys no meaning, and in larger queries, people will tend to forget what the hell table B was referring to. Was B.UNIQUE_KEY from the user table? The products table? The sales table? The region table? whereas U.UNIQUE_KEY is much easier to grok.

Is that going to make the code more efficient? NO. Is it an amazing feat of programming progress? NO. Does it increase the difficulty of writing the code? NO. Does it make it easier for anyone else to read the code? Hell yes.



Our system has massive queries both in DB procedures and in winform/wpf code.  Quadruple nested joins...CTEs...The vast majority of it, if not all, uses aliases "a", "b", "c", "d"....and so on in that fashion.  Not one coder in my office has ever had a problem with that.  I never even bat an eye at queries like that and I'm a stickler for code documentation and relatively clean, formatted code.  And I've never heard a client say anything about this when dealing with our database code (and they always offer suggestions/criticisms at one time or another).

I'm not saying your way is worse or anything.  If it's better for you then it's understandable.  If someone in my office every brought this up we would make note of it and change.  But it's never been worth mentioning in 10+ years.  Maybe we have bigger fish to fry...I don't know.  But from my personal perspective, it wouldn't make a difference to me.
 
2013-02-14 03:29:08 PM  
Slam Dunkz : I tend to be a comment nazi. I hate it when coworkers write tons of code with no comments.

Comments in the code?

Hell, I have trouble getting people to enter comments on SVN-COMMITs

Would it kill you guys to type "Added fix for sort order bug" when you commit your code? Hell, don't even bother with the case number the fix was for, I can find it myself. Just put in SOMETHING so that I don't have to open the commit, do a diff and look at the code to figure out WTF change was made :^|
 
2013-02-14 03:31:39 PM  

Rent Party: scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.


I really hate knowing exactly what cliff we are about to drive over but not being listened to. I have finally reached the part of my career where I just suggested that we completely scrap a project that has taken at least 5 man-years to develop and I was not instantly fired or laughed at.
 
Ant
2013-02-14 03:32:36 PM  

scarmig: "Here's a new project.  The requirements document is forty-pages long.  We need an hours estimate by end of day.  The project is due end of March."

Fifty-thousand.  Fifty-thousand hours for that request.  Get out of my cube.



For me:

Boss: "Here's something we want that we've never done before, and that we do not know for sure if it's even possible. Give me an estimate."
Me: "I't's not going to be an accurate estimate if I don't even know how I'm going to go about it yet"
Boss: "Just give me a number"
Me: "Right now?"
Boss: "Yes, right now"
 
2013-02-14 03:33:08 PM  

Rent Party: scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.


F***ing that.

I know so many coders (and general IT people for that matter) that believe they are incredibly awesome and special because they become good in their specific business.
 
2013-02-14 03:35:54 PM  

lordargent: Hell, I have trouble getting people to enter comments on SVN-COMMITs


I work with PLM systems a lot.  Yeah, trying to get people to input comments on check-ins is a losing battle.  Luckily, we were able to make a script that interrupted the check-in and forced you to write at least something in there.  Of course, most of the time people just hit the space bar.....

And then there are people who never check-in their models......forcing us to hunt them down (if they still work for the company).
 
2013-02-14 03:37:38 PM  

Ant: scarmig: "Here's a new project.  The requirements document is forty-pages long.  We need an hours estimate by end of day.  The project is due end of March."

Fifty-thousand.  Fifty-thousand hours for that request.  Get out of my cube.


For me:

Boss: "Here's something we want that we've never done before, and that we do not know for sure if it's even possible. Give me an estimate."
Me: "I't's not going to be an accurate estimate if I don't even know how I'm going to go about it yet"
Boss: "Just give me a number"
Me: "Right now?"
Boss: "Yes, right now"


Then the answer is "one million hours".  If you want a better estimate, let me set aside part of a day to research the problem so I have some clue as to what is involved.

My current boss is great about estimates.  He'll accept an answer of "I have no farking clue, can I look into that first?"
 
2013-02-14 03:39:51 PM  

Ant: scarmig: "Here's a new project.  The requirements document is forty-pages long.  We need an hours estimate by end of day.  The project is due end of March."

Fifty-thousand.  Fifty-thousand hours for that request.  Get out of my cube.


For me:

Boss: "Here's something we want that we've never done before, and that we do not know for sure if it's even possible. Give me an estimate."
Me: "I't's not going to be an accurate estimate if I don't even know how I'm going to go about it yet"
Boss: "Just give me a number"
Me: "Right now?"
Boss: "Yes, right now"


You: "30 seconds!"
Boss: "What?"
You: "26 now! Quick, tell them!!"
 
2013-02-14 03:40:13 PM  

XMark: Worst thing: having to make changes to an old system originally done by a programmer who used a single space for indents in PHP code, never indented any of their HTML code at all, and coded with the absolute minimum amount of whitespace possible, jamming everything together so tightly it's damn near undreadable.


Conversely I had to take over some modules of someone that wrote every single line in the following layout:


' //
' // This next line prints hello world
Print 'Hello World'


' //
' // Now we refresh the screen
Screen.Refresh

No line was so self explanatory it could skip the comment, and it must have the requisite two blank lines, a blank comment, and then an actual comment before each line of actual code, it meant anything of any substance you had to scroll down pages at a time and could only see about four lines of code on the screen at any time, plus it made the levels of indenting very hard to follow if there was any depth to the function.
 
2013-02-14 03:40:33 PM  
I was visiting my college this week doing some recruiting for the company I work for. I talked to some guys in the lab about what they were working on. They were rewriting an app I worked on using a different set of tools so it's easier to build for Android and ios. I made sure to apologize for all the un commented code I left them.

/currently a business analyst
//misses development
///TPS reports
 
2013-02-14 03:44:17 PM  

Burr: lordargent: Hell, I have trouble getting people to enter comments on SVN-COMMITs

I work with PLM systems a lot.  Yeah, trying to get people to input comments on check-ins is a losing battle.  Luckily, we were able to make a script that interrupted the check-in and forced you to write at least something in there.  Of course, most of the time people just hit the space bar.....

And then there are people who never check-in their models......forcing us to hunt them down (if they still work for the company).


I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?
 
2013-02-14 03:49:21 PM  

scarmig: I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?


Especially considering the system puts that information in for you already.....

One time I saw "Did some stuff"
 
2013-02-14 03:49:32 PM  

lordargent: Electromax: I do coding professional and as a hobby, and my general philosophy unless some client is going to be reading the code (ie never) or there's noticeable performance problems is that, if it is okay and it does what you need it to, that's the correct-est way.

I'm not just a programmer, I was (and am starting to become one again) a code reviewer.

IE, I look at code other people wrote (EX, offshore resources) and determine if it's ready for prime time or if there are going to be issues.

// potential issues are categorized on a scale of 1 to 5 (5 being the highest). I only care about 3-5. 1 and 2 are trivialities that aren't worth my time to fully review.

// in my experience though, code with a lot of smells tends to have a lot of larger issues. It's an attention to detail thing, if they don't care about the small easy to fix things, then how do they treat the larger things?

I look at code like that and I'm like, what troglodyte wrote this? I always assume someone will read my code at some point and it's not even about oneupmanship. Here is a simple example.

I have a SQL query which is going to join two tables together (Products and User Data).

A troglodyte programmer would alias those tables as A and B whereas I would alias them as P and U. A and B conveys no meaning, and in larger queries, people will tend to forget what the hell table B was referring to. Was B.UNIQUE_KEY from the user table? The products table? The sales table? The region table? whereas U.UNIQUE_KEY is much easier to grok.

Is that going to make the code more efficient? NO. Is it an amazing feat of programming progress? NO. Does it increase the difficulty of writing the code? NO. Does it make it easier for anyone else to read the code? Hell yes.


Sure, no arguments there. I'm mostly responding to someone who said they feel compelled, although they have code that works and accomplished what they need, to go online and ask StackOverflow or whatever how "best" to write something, and a lot of times that's just asking for an argument. I see this a lot in python threads, where big arguments erupt about what's more "pythonic" when execution time is not significantly different for the task and code in question.

I try to make code readable and friendly the first time, I comment extensively when the other team members are working on a project with me and didn't mean to imply that you "do the absolute minimum" when writing code initially. Just that if you have a goose laying golden eggs, don't go ask the peanut gallery whether you should preen the feathers differently. Just leave it be.

If there's something to be fixed or is just poorly written/will cause problems I'm right there with ya. But budding programmers can quickly get demoralized when someone tells them "YOURE DOING IT WRONG" when sometimes they really mean "I would do it differently."

The most frustrating thing for me about being a programmer (and has me looking at the local community college for learning a trade like plumbing in night classes) is that I grew up learning to love programming as a hobby, writing games for fun and such, and doing it at work is that I get home and don't want to look at a PC anymore. I want to go outside or build something in the garage or play with the pets. It's enough to make me want to leave the probably more lucrative career path I'm on now for evening satisfaction. Live to work, not vice versa and all that.
 
2013-02-14 03:49:49 PM  
TFA: People assuming you can fix any computer-related problem

This isn't limited to programmers, though I'm sure they get it constantly.

Even just being a decent computer user means having to deal with those who aren't computer literate and think you're a "computer whiz" because you "got their printer working" simply by securing its USB connection.
 
2013-02-14 03:51:16 PM  

HaywoodJablonski: dittybopper: HaywoodJablonski: The best thing is how it's littered with hot babes

Actually, I work with a couple of attractive female programmers.

Do you work in Eastern Europe? That's the only way this scenario is possible


No, but I'm also in my mid-40s, and that might color my perception of "attractive".
 
2013-02-14 03:52:59 PM  
And I swear, if one more customer asks me if they can have the logo in cornflower blue I'm blowing up a building.
 
2013-02-14 03:53:16 PM  
Rent Party: Here's the facts, super smart code kids: Your code sucks. Everyone's does, including mine.

Well, not all of my code.

Even good programmers write bad code on occasion.

The true watermark of a good programmer is that good programmers realize that they're writing crappy code.

OK, maybe not right when they're writing the code though, because that could be at 4:00am in the morning after having been up since 6:00am the previous morning,
but when they come back later and look at it with fresher eyes and go "holy shiat, what WTF was I writing last week".

Case in point, I wrote this back in 2006.

# disable the edit menu if the access privilege is too low
if (Access() < 3) {Menu_disable(qw[edit])}

I went into the source for this project to steal some code for one of my current projects (I haven't worked on this project since 2008).

I came across that code block and thought to myself "Damn, why didn't I use a constant for the access levels instead of a hard coded number?" If they ever want to change the access levels then someone is going to have to change it by hand.

if (Access() < MENU_ACCESS_LEVEL) {Menu_disable(qw[edit])}

Hmm that's better, now we just have to change it once in the code and it will cascade through. Damn, no that still sucks because we would have to redeploy after a change, we should really read it in from a config file.

if (Access() < $CONFIG{MENU_ACCESS_LEVEL}) {Menu_disable(qw[edit])}

// to date, the access levels in that app needed to be changed exactly once (the access levels actually existed a long time (~10 years), but the code above was so that if someone didn't have the appropriate access, the menu would be disabled. I'm a stickler for some things, but other things I just wave my hand and say "good enough".
 
2013-02-14 03:56:13 PM  
scarmig:

I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?


That is because the Church of Agile has fostered the ridiculous notion that "you should just be able to read the code" and if you can't, then you suck.

I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.
 
2013-02-14 03:56:28 PM  

xria: XMark: Worst thing: having to make changes to an old system originally done by a programmer who used a single space for indents in PHP code, never indented any of their HTML code at all, and coded with the absolute minimum amount of whitespace possible, jamming everything together so tightly it's damn near undreadable.

Conversely I had to take over some modules of someone that wrote every single line in the following layout:


' //
' // This next line prints hello world
Print 'Hello World'


' //
' // Now we refresh the screen
Screen.Refresh

No line was so self explanatory it could skip the comment, and it must have the requisite two blank lines, a blank comment, and then an actual comment before each line of actual code, it meant anything of any substance you had to scroll down pages at a time and could only see about four lines of code on the screen at any time, plus it made the levels of indenting very hard to follow if there was any depth to the function.


Generally that's the result of a passive aggressive programmer who was told to "document your code better" by his boss.
 
2013-02-14 03:59:09 PM  

Rent Party: I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.


The problem with this philosophy is that the comments don't always match the code.  In fact, they often don't match when written at the same time.
 
2013-02-14 04:02:18 PM  

lordargent: Rent Party: Here's the facts, super smart code kids: Your code sucks. Everyone's does, including mine.

Well, not all of my code.

Even good programmers write bad code on occasion.

The true watermark of a good programmer is that good programmers realize that they're writing crappy code.

OK, maybe not right when they're writing the code though, because that could be at 4:00am in the morning after having been up since 6:00am the previous morning,
but when they come back later and look at it with fresher eyes and go "holy shiat, what WTF was I writing last week".

Case in point, I wrote this back in 2006.

# disable the edit menu if the access privilege is too low
if (Access() < 3) {Menu_disable(qw[edit])}

I went into the source for this project to steal some code for one of my current projects (I haven't worked on this project since 2008).

I came across that code block and thought to myself "Damn, why didn't I use a constant for the access levels instead of a hard coded number?" If they ever want to change the access levels then someone is going to have to change it by hand.

if (Access() < MENU_ACCESS_LEVEL) {Menu_disable(qw[edit])}

Hmm that's better, now we just have to change it once in the code and it will cascade through. Damn, no that still sucks because we would have to redeploy after a change, we should really read it in from a config file.

if (Access() < $CONFIG{MENU_ACCESS_LEVEL}) {Menu_disable(qw[edit])}

// to date, the access levels in that app needed to be changed exactly once (the access levels actually existed a long time (~10 years), but the code above was so that if someone didn't have the appropriate access, the menu would be disabled. I'm a stickler for some things, but other things I just wave my hand and say "good enough".


Given the three examples, the one you wrote in 2006 is superior, because there is a nice comment there telling me what is supposed to be happening.

Trust me, your code sucks.  You shouldn't be writing code you think is nifty.  You should be writing code for the poor schmuck that has to come in behind you and maintain it.

Here is a good test if you've been at the same place for a while and some other team is maintaining something you wrote.  Walk down and ask them how they're doing.  If they hate your ass, you're doing it wrong.  If they only find you mildly annoying, you're probably doing OK.

/ Once maintained a convicted terrorist's code.
//  Shoulda shot her, just for the code alone.
 
2013-02-14 04:02:41 PM  
um, when do programmers ever deal with end users? the only time that should ever happen is if you're the only employee.
 
2013-02-14 04:02:48 PM  

Mugato: Programming is farking boring should be near the top of the list. I wasted 4 years of my life being a programmer when I've always really wanted to be a filmmaker. I just thought that software development was a more responsible pursuit. But I quit my job, went to film school and will probably die alone in a gutter but at least I'm not a code monkey. It helps that I don't have a family to support.


Ah, so you weren't any good at it, then.

/programmer for ~35 years now
//love to code
 
2013-02-14 04:03:47 PM  

dittybopper: Rent Party: I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.

The problem with this philosophy is that the comments don't always match the code.  In fact, they often don't match when written at the same time.


See rule #1.  Your code sucks.
 
2013-02-14 04:05:03 PM  

Rent Party: scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.


It's actually a quite liberating moment in one's career when they come to terms with the fact that software is seen as an utterly disposable commodity in today's world and that you're little more than a beast of burden to produce said disposable commodity.      It means the next time some overly ambitious middle/project manager is trying to build their reputations with upper management by over delivering under deadline by riding and cropping you like Secretariat down the homestretch, you can   turn around an bray in his face like the mangy jackass you are.    In 5 years time that ambitious middle manager will have moved on to grabbing for the next golden ring and that piece of software will be replaced/rewritten, no matter how beautifully you coded.  It's not worth killing yourself over.
 
2013-02-14 04:10:30 PM  
 
2013-02-14 04:11:56 PM  

InmanRoshi: Rent Party: scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.

It's actually a quite liberating moment in one's career when they come to terms with the fact that software is seen as an utterly disposable commodity in today's world and that you're little more than a beast of burden to produce said disposable commodity.      It means the next time some overly ambitious middle/project manager is trying to build their reputations with upper management by over delivering under deadline by riding and cropping you like Secretariat down the homestretch, you can   turn around an bray in his face like the mangy jackass you are.    In 5 years time that ambitious middle manager will have moved on to grabbing for the next golden ring and that piece of software will be replaced/rewritten, no matter how beautifully you coded.  It's not worth killing yourself over.


Exactly.   I got out of the engineering side and into the business side for exactly that reason.  Why am I killing myself so this guy can make three times what I'm making right now?

I'm now that guy, and have absolutely no regrets.  I have way more access and influence on the business, and since I know the engineering bit inside and out, I get to hold both sides in check.   No, business, you don't get your brand new project estimated "NAOW!!!" and you farking code monkeys better find a way to multitask while you're "compiling."
 
2013-02-14 04:13:20 PM  

Mugato: Programming is farking boring should be near the top of the list. I wasted 4 years of my life being a programmer when I've always really wanted to be a filmmaker. I just thought that software development was a more responsible pursuit. But I quit my job, went to film school and will probably die alone in a gutter but at least I'm not a code monkey. It helps that I don't have a family to support.


All I can say is either programming isn't for you (which you kind of imply) or you programmed at all the wrong places.  Most of the places I worked at were run and gun type shops with tight deadlines and little process or oversight.  There was a lot of stress, creative freedom and at the end of the day: satisfaction.  I work at a fairly dull shop at the moment.  It's nice, comfortable and safe but there are days where I miss coming home feeling like I've accomplished something very nearly heroic.
 
2013-02-14 04:14:56 PM  

Rent Party: dittybopper: Rent Party: I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.

The problem with this philosophy is that the comments don't always match the code.  In fact, they often don't match when written at the same time.

See rule #1.  Your code sucks.


Oh, Hell, I *KNOW* that.  I also assume every other programmer sucks as much as I do, which is why I am less than enamored of automating life-and-death stuff.
 
2013-02-14 04:17:48 PM  

dittybopper: Rent Party: dittybopper: Rent Party: I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.

The problem with this philosophy is that the comments don't always match the code.  In fact, they often don't match when written at the same time.

See rule #1.  Your code sucks.

Oh, Hell, I *KNOW* that.  I also assume every other programmer sucks as much as I do, which is why I am less than enamored of automating life-and-death stuff.


You're hired.  :)
 
2013-02-14 04:18:19 PM  

Rent Party: scarmig:

I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?

That is because the Church of Agile has fostered the ridiculous notion that "you should just be able to read the code" and if you can't, then you suck.

I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.


As a result of that mentality; I've had co-workers who turn every block of code with more than two lines of logic into a single line call into a new method they've created with two lines of logic in it.

Now they can go back to the first block of code and say, 'Look, it reads like English - In the JustChilling() method if IHaveSomethingToDo() is true, I call DoSomething()'.

I'm guess it's just a preference thing; but I don't find it more readable.  My example probably doesn't convey the extreme nature of what I'm trying to describe.  Debugging just becomes annoying - the call stack is always a million levels deep and while every individual method has a clear name 'IsTodayTuesday()' you lose the forest for the trees.

I know, I know....debuggers are crap.  Real developers don't use debuggers - they don't have bugs because all of their code was TDD'd and developed iteratively (or better yet BDD'd).  Personally, I'm a big fan of MDD, I like to use an iterative, agile approach while following strict MDD.  That doesn't stop me from TDD'ing all of my code though.  While pair programming.

Between the studies that show the benefits for pair-programming, the studies that show the benefits of TDD, the studies that show the benefits of MDD, the studies that show the benefits of Agile and the studies that show the benefits of iterative development cycles....I'm pretty sure my development approaches infinity while my maintenance time approaches 0.  But that's a good trade off since studies show that maintenance time is significantly larger than development time.

Now, all I need is a business analyst to ask me to tell them what I'm going to do and someone with a PMP certificate to come up to me each day and ask, 'How is X looking for the Y deadline?  Good, good, so what percentage complete would you say you are?  Great!  That's great.  Is there anything you need from me?'.  If I had those behind me, I'd probably be the best programmer ever.
 
2013-02-14 04:19:56 PM  

Burr: scarmig: I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?

Especially considering the system puts that information in for you already.....

One time I saw "Did some stuff"


one python script i had to process the results of another program had a section prefaced with the comment 'i'm so sorry. forgive me, noble soldier that treads here in my wake' followed by 300 lines of dense, recursive, nested loops and process functions that, frankly, were indistinguishable from magic. basically we fed data in and like a baby it squirted stuff out the other end.

i tried commenting it, i really did. but then everything got interlocking and the clean comments turned into the code equivalent of choose your own adventure. so i scrubbed them, wrote a memo on how i got there, and prayed that if anything needed changing, the next guy would have a better time writing a new version.

but then, it was importing from other files(all of which were variable and depended on the test conducted on what equipment, etc), culling multiple data files, slicing, dicing, processing, creating output files and then re-processing them and massaging this and that and oh god...

i didn't have grey hair before i wrote it.
 
2013-02-14 04:21:09 PM  

Nexzus: Four-deep loops??!!
images.starpulse.com

/Worked better in my head.


Needs something about your "Big O face"...
 
2013-02-14 04:24:28 PM  

neilbradley: Mugato: Programming is farking boring should be near the top of the list. I wasted 4 years of my life being a programmer when I've always really wanted to be a filmmaker. I just thought that software development was a more responsible pursuit. But I quit my job, went to film school and will probably die alone in a gutter but at least I'm not a code monkey. It helps that I don't have a family to support.

Ah, so you weren't any good at it, then.

/programmer for ~35 years now
//love to code



That's a poor assumption. Programming is a broad term, and being good at it doesn't mean you like it and liking it doesn't mean you're good at it. Also, you can like programming some things and not others, doesn't make you a bad programmer, either.

For me, for example, I enjoy the computer science process (it's a beauty to write code that you translated directly from the FOL you proved out mathematically on paper, and see it work the first time it runs.) I also enjoyed writing device drivers, system utilities, and especially compilers. In fact, the latter was the most thrilling thing I've ever worked on.

But I hate RAD, I hate "development", and I hate writing apps for Android. I hate that sometimes 30% of my day involves figuring out what magical incantation of library calls is appropriate to implement my solutions. These tasks involve programming, shouldn't they be thrilling? No. No, I dread them more and more each god damn time a new platform environment is released and a new dev kit is needs learned. It's just not fun, it's... manual labor
 
2013-02-14 04:25:29 PM  
Rent Party: Given the three examples, the one you wrote in 2006 is superior, because there is a nice comment there telling me what is supposed to be happening.

All of those lines of code have the same comment (I didn't feel the need to copy/paste it several times in the post).

I've gotten compliments about how clean my code was (which is why they turned me into the code reviewer back then), I personally believe that some of the code I received compliments on actually sucks.

OTOH, the code I write for modules is a thing of beauty, well commented, efficient, clean. But coding for modules is a whole different thing than coding application code, module code gets reviewed a ton and super polished because it will get used in other projects.

But super polishing app level code?
gobangdigital.com
 
2013-02-14 04:26:27 PM  
Fark_Guy_Rob:

  While pair programming.

Lolz...  It's exactly this kind of fairy princess thinking that gets development moved to Bangalore.   Here is what the business thinks when told of the wonders of pair programming, and other Agile wizardry...

"So, I have to pay two of you to write the same code?   If that's the case, for that money, I can hire 20 Russians and get 10 times more throughput!"

Remember these words, always: You are a cost center.   It  follows reasonably that you should make "efficiency" the single most important thing you can provide.
 
2013-02-14 04:29:55 PM  

lordargent: Rent Party: Given the three examples, the one you wrote in 2006 is superior, because there is a nice comment there telling me what is supposed to be happening.

All of those lines of code have the same comment (I didn't feel the need to copy/paste it several times in the post).


I believe you.  I was just beating my "I don't care about your code" horse to even more death a bit.  :)
 
2013-02-14 04:29:55 PM  

scarmig: Burr: lordargent: Hell, I have trouble getting people to enter comments on SVN-COMMITs

I work with PLM systems a lot.  Yeah, trying to get people to input comments on check-ins is a losing battle.  Luckily, we were able to make a script that interrupted the check-in and forced you to write at least something in there.  Of course, most of the time people just hit the space bar.....

And then there are people who never check-in their models......forcing us to hunt them down (if they still work for the company).

I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?


Does that refer to the ID of an issue in your issue tracking database? People (including myself) often do that where I work, although we usually put "Fixed JHS-2-09". The issue is well-documented in the issue database; there's no reason for me to repeat it in the commit.
 
2013-02-14 04:31:22 PM  

SkittlesAreYum: scarmig: Burr: lordargent: Hell, I have trouble getting people to enter comments on SVN-COMMITs

I work with PLM systems a lot.  Yeah, trying to get people to input comments on check-ins is a losing battle.  Luckily, we were able to make a script that interrupted the check-in and forced you to write at least something in there.  Of course, most of the time people just hit the space bar.....

And then there are people who never check-in their models......forcing us to hunt them down (if they still work for the company).

I love comments like this.  I see them everywhere

JHS-2-09


And that's it.  Someone's initials and possibly a date.  Near some code.  And that's it.  Why even farking bother?

Does that refer to the ID of an issue in your issue tracking database? People (including myself) often do that where I work, although we usually put "Fixed JHS-2-09". The issue is well-documented in the issue database; there's no reason for me to repeat it in the commit.


Slickest thing ever is full integration into your repository system and your bug tracking system.  I made all my software guys use those tags when they checked in bug fixes, and no one got to work on a bug unless it had a tracking ID in the bug DB.
 
2013-02-14 04:55:14 PM  

fluffy2097: I love how he says he doesn't know how how to fix your computer, but if you buy him beer he'll magically be able to. Classic programmer. Unable to even man up and say "I know how to fix it but you'll have to pay me to make it my job."


Then farking fix it yourself. How dare somebody refuse to give you free labor!!!

Because People in power are Stupid: Scope Creep


Thread over.
 
2013-02-14 05:04:17 PM  

Rent Party: Fark_Guy_Rob:

  While pair programming.

Lolz...  It's exactly this kind of fairy princess thinking that gets development moved to Bangalore.   Here is what the business thinks when told of the wonders of pair programming, and other Agile wizardry...

"So, I have to pay two of you to write the same code?   If that's the case, for that money, I can hire 20 Russians and get 10 times more throughput!"

Remember these words, always: You are a cost center.   It  follows reasonably that you should make "efficiency" the single most important thing you can provide.


Which is why it is great to work for a smaller company whose majority owner is at their core a software developer, as opposed to somewhere where you are "Developer #00327"
 
2013-02-14 05:04:23 PM  

lordargent: I look at code like that and I'm like, what troglodyte wrote this? I always assume someone will read my code at some point and it's not even about oneupmanship. Here is a simple example.

I have a SQL query which is going to join two tables together (Products and User Data).

A troglodyte programmer would alias those tables as A and B whereas I would alias them as P and U. A and B conveys no meaning, and in larger queries, people will tend to forget what the hell table B was referring to. Was B.UNIQUE_KEY from the user table? The products table? The sales table? The region table? whereas U.UNIQUE_KEY is much easier to grok.


It's like when you have to review code that is basically a giant block of text.  I had to parse through a stored procedure once with subqueries nested about 7 deep, and they were all pulled all the way to the left with no indentation.  Beyond the fact that this was probably the most retarded method for achieving the desired outcome, it was also utterly impossible to tell where one began and another ended.
 
2013-02-14 05:09:02 PM  

Disposable Rob: slayer199: "People assuming you can fix any computer-related problem "  Really?  Programmers are the most PC-Illiterate people I know in IT.

That was one of the oddest things I discovered moving from a help desk to development. Working help desk was basically being an assistant-DBA, assistant-Sysadmin, system builder, networking, etc all in one job. Now I do none of that. Programmers know their code, but it's like triple the pay for a fraction of overall computer knowledge.


I'm a programmer who has to do all of that other stuff you listed. I work in a company that only has me and the boss.
 
2013-02-14 05:12:15 PM  
8. Dealing with IT douchebags and their inflated egos.
 
2013-02-14 05:12:51 PM  

Rent Party: Remember these words, always: You are a cost center.


Don't measure my job by how much I cost.  Measure it by how much I SAVE.  Tech companies understand this.  The further away from tech you get, the less they understand my job and the more they treat me as a burden.

/system admin, not software developer
 
2013-02-14 05:14:22 PM  

HaywoodJablonski: dittybopper: HaywoodJablonski: The best thing is how it's littered with hot babes

Actually, I work with a couple of attractive female programmers.

Do you work in Eastern Europe? That's the only way this scenario is possible


Nope. Ii mean, we only got one out of 12, but she is pretty cute.
 
2013-02-14 05:15:27 PM  

Bad_Seed: UberDave: End users not providing enough information about bugs

I deal with this at least twice a week...for a large problem. You need to describe the steps you performed to get to the problem. "When I press 'Save' the application crashes" doesn't tell me shiat. Especially if the application performs 10 different distinct operations and has over 300 controls.

How the hell am I supposed to know. I was doing stuff, I pressed save and it crashed. Do you really expect me to remember the exact state of the program just so I can file a bug report when the POS crashes unexpectedly on me?


No. Just to write down the error message.
 
2013-02-14 05:16:39 PM  

Dreyelle: traylor: Dreyelle: 6.  Forcing me to work with smelly H1-Bs

Funny thing is, they probably feel the same about you.

Maybe, but I don't work in India and most of the US showers almost daily, and unlike India, we don't have to watch where we are stepping so we don't step in Holy cow shiat.  Move to the USA and learn to use soap and clean water.  We have plenty of it here.


Most Indian people are very clean, but those that do have BO have the worst BO I have ever smelt.
 
2013-02-14 05:17:11 PM  

Disposable Rob: slayer199: "People assuming you can fix any computer-related problem "  Really?  Programmers are the most PC-Illiterate people I know in IT.

That was one of the oddest things I discovered moving from a help desk to development. Working help desk was basically being an assistant-DBA, assistant-Sysadmin, system builder, networking, etc all in one job. Now I do none of that. Programmers know their code, but it's like triple the pay for a fraction of overall computer knowledge.


This is by design of the marketplace.  I've been coding for...a long time... When I started working professionally in 1985 I designed the database and administered said database, wrote the network admin scripts, did the installs, and basically wore all the hats of what would be considered system     development: Design, Develop, QA, Support.

Now you have developers who don't know how to design a database because that's someone else's job.  Give root to a coder?  Heresy to a network admin.  Make a change to a table?  That's the db admin's job.  Everything is compartmentalized.  By design.

And not that it wasn't necessary... But most people in this profession that have only worked in the field post-1995 have worked on only specific pieces of system development, like programming.

And anyone who says they have been designing web pages (for example) for fifteen years, I say... You've got roughly three years experience that you've repeated five times.

//actually 1 year fifteen times, but that sounded trollish
 
2013-02-14 05:19:10 PM  

scp747: Give root to a coder?


ROFLMAO.

Not a chance in hell.

/System Admin
 
2013-02-14 05:19:31 PM  

OgreMagi: Rent Party: Remember these words, always: You are a cost center.

Don't measure my job by how much I cost.


The business will measure you in no other way.

 Measure it by how much I SAVE.
 It is your responsibility to demonstrate this.   I have also found the number of IT people capable of making this demonstration remarkably small.  In quantative terms, demonstrate just how efficient you are.


 Tech companies understand this.  The further away from tech you get, the less they understand my job and the more they treat me as a burden.

And here we have a demonstration of precisely the attitude I'm talking about.  You might be surprised to learn that those folks at the top understand exactly what you're doing, which is why you're going to get outsourced at the first available opportunity.
 
2013-02-14 05:26:30 PM  

OgreMagi: scp747: Give root to a coder?

ROFLMAO.

Not a chance in hell.

/System Admin


Exactly... As I stated, Heresy.  Although I referred to your type as a network admin.  My bad.
 
2013-02-14 05:27:57 PM  

xkillyourfacex: neilbradley: Mugato: Programming is farking boring should be near the top of the list. I wasted 4 years of my life being a programmer when I've always really wanted to be a filmmaker. I just thought that software development was a more responsible pursuit. But I quit my job, went to film school and will probably die alone in a gutter but at least I'm not a code monkey. It helps that I don't have a family to support.

Ah, so you weren't any good at it, then.

/programmer for ~35 years now
//love to code


That's a poor assumption. Programming is a broad term, and being good at it doesn't mean you like it and liking it doesn't mean you're good at it. Also, you can like programming some things and not others, doesn't make you a bad programmer, either.

For me, for example, I enjoy the computer science process (it's a beauty to write code that you translated directly from the FOL you proved out mathematically on paper, and see it work the first time it runs.) I also enjoyed writing device drivers, system utilities, and especially compilers. In fact, the latter was the most thrilling thing I've ever worked on.

But I hate RAD, I hate "development", and I hate writing apps for Android. I hate that sometimes 30% of my day involves figuring out what magical incantation of library calls is appropriate to implement my solutions. These tasks involve programming, shouldn't they be thrilling? No. No, I dread them more and more each god damn time a new platform environment is released and a new dev kit is needs learned. It's just not fun, it's... manual labor


I was basically just kidding, but you're right. I can see that, if someone got indoctrinated to programming by doing C# or JAVA in an envrionment where people learned the word "code" 6 months prior, that would suck.

I also agree with you on compilers. In my case, the most challenging and fun was a microkernel. I've written a couple of compilers in years gone past as well, and LOVE it. Even most of my programmer friends think I'm nuts for liking compilers and operating systems, but to me, they're the most interesting part of computing.

I also agree with you about the development on a platform you're not accustomed to. Case in point - Windows programming. Something simple like "How do I make the dialog box appear at a reasonable position instead of the upper left hand corner of the screen every time I launch it?" Searched for hours, looked at all the dialog box options, etc.. and still haven't figured it out. ;-/ Making so little advancement on something that SHOULD be braindead simple... if only I knew the magic bit to make it work!
 
2013-02-14 05:28:18 PM  

UberDave: Rent Party: scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.

F***ing that.

I know so many coders (and general IT people for that matter) that believe they are incredibly awesome and special because they become good in their specific business.


FIG JAM syndrome - F**k I'm Good. Just Ask Me.
 
2013-02-14 05:28:46 PM  
1. Managers
2. Politics
3. Manager politics
4. Political managers
5. Managers politicking managers
6. Did I mention managers playing office politics all day?
7. "We're now doing all low level programming in Javascript" (Seriously, this fad needs to die)
 
2013-02-14 05:28:48 PM  

Rent Party: OgreMagi: Rent Party: Remember these words, always: You are a cost center.

Don't measure my job by how much I cost.

The business will measure you in no other way.

 Measure it by how much I SAVE.
 It is your responsibility to demonstrate this.   I have also found the number of IT people capable of making this demonstration remarkably small.  In quantative terms, demonstrate just how efficient you are.


 Tech companies understand this.  The further away from tech you get, the less they understand my job and the more they treat me as a burden.

And here we have a demonstration of precisely the attitude I'm talking about.  You might be surprised to learn that those folks at the top understand exactly what you're doing, which is why you're going to get outsourced at the first available opportunity.


I've seen what happens when my kind of job gets outsourced.  The results were fail-tastic.  My friend who had lost his job got hired back as a contractor with a huge increase in salary as a result.  They tried to get him back at his original pay, but he knew he had them by the balls and initially told them he wasn't interested.  I'd welcome my company outsourcing my job.  I would thoroughly enjoy the month or two of vacation followed by a massive pay increase.  Except my company is smart enough to not hire morons like you who think outsourcing is a good idea.
 
2013-02-14 05:28:54 PM  

UberDave: MrCrazyInsane: Is "the inability to grasp networking sorcery" on the list?

/it's not the network. Never is.

One of the worst instances I ever ran into:  I get asked, at 10:30 at night on a Friday, to jump into a conference with one of our clients, a large energy company, because our system at one of their power generating stations had slowed to a crawl.  At the time, we had the system installed at three sites all connected to their corporate headquarters.  Only the one site was slow.  Many of the 15+ people on the conference line (mostly the IT folks) were blaming our system.  They're basically treating me, the lowly software vendor, as a sounding board and punching bag.  About 10 minutes into the call, I suggested that someone at the site walk a laptop from node to node...I was ignored.  Around 2:30am, everyone takes a 30 minute break, conference to resume then.  As everyone departs, one of the site specific (non-sorp. headquarters) guys gets me alone and ask me the details about what I said early on.  I tell him to simply walk the laptop from node to node and fire a large-return query at the database at each stop. 40-ish minutes later, conference going again, and with everyone on the phone, the site-IT guy reports that he problem and that it was a piece of network hardware.

This was a fortune 100 energy company with supposed IT gurus.  I know it is often not the network and a lot of vendors will never blame themselves but people should 1) not think they are the most badass programmer/admin in the world because they mastered their little section of it and 2) size up who you are dealing with - they just might be honest and not auto-blame everything but their software.


You a frequenter of TheDailyWTF.com? Swear I read a similar story there.
 
2013-02-14 05:38:14 PM  

Nexzus: UberDave: MrCrazyInsane: Is "the inability to grasp networking sorcery" on the list?

/it's not the network. Never is.

One of the worst instances I ever ran into:  I get asked, at 10:30 at night on a Friday, to jump into a conference with one of our clients, a large energy company, because our system at one of their power generating stations had slowed to a crawl.  At the time, we had the system installed at three sites all connected to their corporate headquarters.  Only the one site was slow.  Many of the 15+ people on the conference line (mostly the IT folks) were blaming our system.  They're basically treating me, the lowly software vendor, as a sounding board and punching bag.  About 10 minutes into the call, I suggested that someone at the site walk a laptop from node to node...I was ignored.  Around 2:30am, everyone takes a 30 minute break, conference to resume then.  As everyone departs, one of the site specific (non-sorp. headquarters) guys gets me alone and ask me the details about what I said early on.  I tell him to simply walk the laptop from node to node and fire a large-return query at the database at each stop. 40-ish minutes later, conference going again, and with everyone on the phone, the site-IT guy reports that he problem and that it was a piece of network hardware.

This was a fortune 100 energy company with supposed IT gurus.  I know it is often not the network and a lot of vendors will never blame themselves but people should 1) not think they are the most badass programmer/admin in the world because they mastered their little section of it and 2) size up who you are dealing with - they just might be honest and not auto-blame everything but their software.

You a frequenter of TheDailyWTF.com? Swear I read a similar story there.



Not me.  But I may have posted a version of that story on here before.

Right now, I'm dealing with a group of Admins and DBAs who insist that our software is to blame because a bunch of report writers generated a series of reports that lock a crucial table and neuter the system for 20-minutes at a time.  The corporate sites that don't run these reports do not have the problem nor do any other clients we have.  Yet the are still desperate to blame *something* on the software.

Ah being a software vendor...
 
2013-02-14 05:39:55 PM  

xkillyourfacex: um, when do programmers ever deal with end users? the only time that should ever happen is if you're the only employee.


Yes, that's correct.

I was interrupted 12 times yesterday by end users with various email related problems: how to set up email on my iPad, I can send but not receive, all of my several hundred emails have disappeared from my Inbox, etc.

So I made no progress at all on the work that was due to be finished this morning and consequently have been up all night making sure it got done. Because if it isn't done the customer is pissed and wants to know WHY IT ISN'T READY???

I've lost count of the number of all nighters I've had to do in the last 2 years. I want to change careers but being socially inept my options are limited.
 
2013-02-14 05:42:05 PM  

Rent Party: dittybopper: Rent Party: I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.

The problem with this philosophy is that the comments don't always match the code.  In fact, they often don't match when written at the same time.

See rule #1.  Your code sucks.


Code is like farts. My own farts smell like rose but everyone else's smell like shiat.
 
2013-02-14 06:01:27 PM  
Project managers ignoring or understating time estimates to complete a task or project

Oh don't worry. Programmers are far from the only people that have this problem.

'I need this in two weeks...'

Then you should have called two weeks ago.
 
2013-02-14 06:04:22 PM  

OgreMagi: I've seen what happens when my kind of job gets outsourced. The results were fail-tastic. My friend who had lost his job got hired back as a contractor with a huge increase in salary as a result. They tried to get him back at his original pay, but he knew he had them by the balls and initially told them he wasn't interested. I'd welcome my company outsourcing my job. I would thoroughly enjoy the month or two of vacation followed by a massive pay increase. Except my company is smart enough to not hire morons like you who think outsourcing is a good idea.



This.

If there was one item left of TFA's list, it was "Having to come in and save a project that was outsourced because some jackass bullshiat conartist mid manager convinced the powers that be he could save the company tons of money."

You know that knockoff clothing you can get a flea market that looks like it's a namebrand but frays at the seams and loses all of it's color the first time you put it in the washing machine?    You don't want your critical systems that keep your company afloat to be like that.
 
2013-02-14 06:45:31 PM  

kg2095: xkillyourfacex: um, when do programmers ever deal with end users? the only time that should ever happen is if you're the only employee.

Yes, that's correct.

I was interrupted 12 times yesterday by end users with various email related problems: how to set up email on my iPad, I can send but not receive, all of my several hundred emails have disappeared from my Inbox, etc.

So I made no progress at all on the work that was due to be finished this morning and consequently have been up all night making sure it got done. Because if it isn't done the customer is pissed and wants to know WHY IT ISN'T READY???

I've lost count of the number of all nighters I've had to do in the last 2 years. I want to change careers but being socially inept my options are limited.


Sounds like a nightmare. I can only imagine remotely enduring that kind of life if I gave up my dog and relationships with other people altogether, so those responsibilities couldn't interfere with my work duties.
 
2013-02-14 06:55:48 PM  
As someone that's had to add lots of code/functionality to existing software packages, the code in the database thing makes you want to rip your hair out. Functions that have no business being in the DB are buried in triggers/stored procs and if you're not careful doing something seemingly benign can blow up in your face.
 
2013-02-14 07:35:38 PM  

Disposable Rob: That was one of the oddest things I discovered moving from a help desk to development. Working help desk was basically being an assistant-DBA, assistant-Sysadmin, system builder, networking, etc all in one job. Now I do none of that. Programmers know their code, but it's like triple the pay for a fraction of overall computer knowledge.


I think is from a lot of programmers who got into it because they scored well in math and some guidance counselor suggested programming as a career. I came into software development from the hardware side of things (PC GAMER 4 LIFE), so I tend to be more knowledgeable about general hardware functionality. One of our devs was complaining about how slow his laptop was and brought in some spare memory from home. Don't get me started on why us developers are using laptops...anyway, he didn't know that laptops use a different  memoryform factor then desktops. Had the back plate off before he figured it out.

/Kid can code PL/SQL very well though, so there's that.
 
2013-02-14 07:44:41 PM  
More "seven frustrating things about engineering jobs in general, phrased in context of programming".

MayoSlather: As someone that's had to add lots of code/functionality to existing software packages, the code in the database thing makes you want to rip your hair out. Functions that have no business being in the DB are buried in triggers/stored procs and if you're not careful doing something seemingly benign can blow up in your face.


Actually _worse_ when you work hardware, because then when you're loading software packages from the support server and there's a bad call because you're using a slightly different piece of equipment, things sometimes  catch on fire.

//One of the reasons I hate stuff based on LabView.  Being electrocuted by someone's bad code is not really cool.
 
2013-02-14 07:46:10 PM  
Things that drive me nuts are crappy, wrong, or completely missing requirements. Or even requirements that are written so no one can understand them but the author.

Also other programmers that will run into a problem/bug/unfamiliar code and not even attempt to solve the problem or answer their own question without throwing their hands in the air, sending me 30 emails, and giving up for the rest of the day until I respond. Then in the mornings standup complain that they couldn't do their tasks becuase I couldn't solve their issue
 
2013-02-14 08:03:49 PM  

fluffy2097: I imagine that being a pedantic asshole like most programmers are is the most frustrating thing ever.

I don't even know how they sustain such levels of pedantry all day long.


I love how he says he doesn't know how how to fix your computer, but if you buy him beer he'll magically be able to. Classic programmer. Unable to even man up and say "I know how to fix it but you'll have to pay me to make it my job."


It's more like "I don't know how to fix your computer problem but for beer I'll google it for you and try what it says in the first result."

Seirously people, most computer tech support involves only the ability to do an intenet search and read the results. People are farking lazy when they can use a lame excuse like "I'm not a computer person" rather than look shiat up themselves.
 
2013-02-14 08:20:43 PM  

Rent Party: That is because the Church of Agile has fostered the ridiculous notion that "you should just be able to read the code" and if you can't, then you suck.

I want more comment than code, because I don't want to read your crappy assed code. I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.


This.

The comments are there to tell you what the code is supposed to be doing and why. They are there so when it becomes evident that the code isn't doing that it is supposed to be doing someone can have a hope of understanding the original intent. They are there for when someone has to go in months or years later and read some obscure bit of code that now needs changing they can have a chance of easily spotting the land mines made of assumptions that were left behind by the previous programmer.

Yes, a good programmer can read the code itself and understand what it does, they cannot understand what it is really supposed to do or why it was written in such a way. Write the process in English and then fill in the code. Writing what you are about to do in your natural language will often expose to you the flaws in your plan before you put them into code.
 
2013-02-14 08:26:01 PM  
imgs.xkcd.com
 
2013-02-14 08:26:59 PM  
WTF is this guy's problem? He sounds like a whiny biatch. Don't like the user's description of the error? Trap and log the effing thing better. Indents? Sorry, this guy says he's been doing this for fifteen years and can't help someone open a file,

I wouldn't hire him.
 
2013-02-14 08:31:36 PM  

lordargent: Slam Dunkz : I tend to be a comment nazi. I hate it when coworkers write tons of code with no comments.

Comments in the code?

Hell, I have trouble getting people to enter comments on SVN-COMMITs

Would it kill you guys to type "Added fix for sort order bug" when you commit your code? Hell, don't even bother with the case number the fix was for, I can find it myself. Just put in SOMETHING so that I don't have to open the commit, do a diff and look at the code to figure out WTF change was made :^|


Each build we have a change log created out of SVN, each change has an id number (and a brief description), or whoever checked it gets a snarky message from the guy that does the build. Also ensure that all changes can be checked that they have been peer tested/UATed or whatever as you can tell what they are for (well it is not foolproof in that part of the process, nothing stopping you checking in other miscellaneous changes as part of a larger change).
 
2013-02-14 08:36:06 PM  

jimpoz: [imgs.xkcd.com image 548x205]


imgs.xkcd.com
I prefer this xkcd on regexp. Partly because just yesterday I saved the farking day using regular expressions after a big data cleanup project went horribly wrong.
 
2013-02-14 08:44:00 PM  

amundb: Things that drive me nuts are crappy, wrong, or completely missing requirements. Or even requirements that are written so no one can understand them but the author.


Or requirements that change constantly. One recent project I worked on had requirements that changed every week. The people making them didn't seem to know what they were doing (we later found out they were actually graphic designers, surprise surprise.)

The project took about a year but if they'd waited to hire us until they'd finished the design, we could have done it in about three months. And frankly, it would have worked better.

The moral is this: If you're still deciding on features a week before the deadline, you're not qualified to be directing a project.
 
2013-02-14 08:50:23 PM  

slayer199: Programmers are the most PC-Illiterate people I know in IT.

Anyone who uses "Illiterate" metaphorically has lost my attention right off the bat.

Thrag: The comments are there to tell you what the code is supposed to be doing and why.


No, that's what unit tests are for.

My contribution to programmer frustration:

-working on something that never ships
-sysadmin arrogance and foot-dragging
-coworker dick-waving and general alpha-nerdery
-haters in other departments that resent you for the pay
-dealing with re-invented wheels (exotic config systems, storing code in database columns, novel approaches to key-value storage in relational structures)
-technology bigots (usually Microsoft guys, ironically enough because their shiat sucks the most)
-environment changes breaking working code
 
2013-02-14 09:05:18 PM  

dittybopper: fluffy2097: I imagine that being a pedantic asshole like most programmers are is the most frustrating thing ever.

You want your programmers to be pedantic assholes.  Why?  Because programming effectively requires it.

You walk up to me and give me vague requirements, you probably aren't going to get what you *THINK* you were asking for, if you even had a solid idea in the first place.  The better I can pin down what you want, the happier you will be with the end product.

I mean, you wouldn't walk up to a barista in Starbucks and say "Give me a coffee" when what you really want is a tall cinnamon mocha latte, would you?  Yet I often get the same sort of thing.  Someone will say "I need a report on all X".  So I give them a basic report on all X, and it turns out that they wanted to exclude Y.  OK, so I go back and exclude Y, here you go.  "Oh, and include all Z".  Ummm.  OK.  "But this now has a Y in it".  Yes, that's right, because there are cases where Z *AND* Y are both present, and you wanted all of Z, remember?  "Stop being pedantic".

Now, that could have been avoided if the person came to me and said "I need a report with all of X, and all of Z, but I don't want to see any Y on the report".

It's all about knowing what you want before you formally ask for it, so you get what you want the first time.


Yeah. Except the other end of that is,

"I need a cappuccino."
"Ok, what's in that?"
"Dude, what's wrong with you? It's espresso and steamed milk."
"Well, you need to tell me exactly how much milk."
"You're the barista. Just make me a goddamn cappuccino."
"Fine, here."
"Um, this is cold."
"You didn't say you wanted it hot."

Etc.

Some programmers really need to get over their butthurt that English isn't a formal language.
 
2013-02-14 09:05:55 PM  
Something about this thread just begs for a  Pocket Ninja visitation.
 
2013-02-14 09:16:52 PM  
Tabs are really minor things to complain about.  Well I have been working in visual studio where all tabs are done automatically so that wasn't a problem. Even when I working basic in high school and assembler in college, this never came up.

I fix things all the time for family, but sometimes there are things I can't fix.
Requirements document?  Hahahahahaha, I get those about a week after we ship.
 
2013-02-14 09:47:40 PM  

mccallcl: -dealing with re-invented wheels


1000x this.  I'm doing with with a client, Microsoft stack, that rolled their own identity, security, service client, rules engine, caching layer, etc etc etc.  I've never quit a contract early... but I am sorely sorely tempted.  Their software stack is pure pain to work in.
 
2013-02-14 09:50:22 PM  

mccallcl: slayer199: Programmers are the most PC-Illiterate people I know in IT.
Anyone who uses "Illiterate" metaphorically has lost my attention right off the bat.
Thrag: The comments are there to tell you what the code is supposed to be doing and why.

No, that's what unit tests are for.

My contribution to programmer frustration:

-working on something that never ships
-sysadmin arrogance and foot-dragging
-coworker dick-waving and general alpha-nerdery
-haters in other departments that resent you for the pay
-dealing with re-invented wheels (exotic config systems, storing code in database columns, novel approaches to key-value storage in relational structures)
-technology bigots (usually Microsoft guys, ironically enough because their shiat sucks the most)
-environment changes breaking working code


"Environment changes breaking working code" is the biggest pantload of horse shiat. Do you program around NT 4 over token ring?

I was with you up until that point. It's that mindset that keeps 12 year old switches in my closets.
 
2013-02-14 10:04:14 PM  
MrCrazyInsane:

"Environment changes breaking working code" is the biggest pantload of horse shiat. Do you program around NT 4 over token ring?

I was with you up until that point. It's that mindset that keeps 12 year old switches in my closets.



Maybe he means OS environment.  For instance, several years ago, I had an old bit of code that was doing tag replacement in MS Word documents.  The client lets a slew of MS updates float out to the network workstations and BAM!...all document printing is failing.  Admin had to get on a machine and retract the updates one by one until it worked (or maybe he re-imaged a box and installed them one by one until it failed...can't remember).

Or there's the time(s) when a new security policy gets uploaded that prevents the software from updating the registry, creating temp files locally, accessing a needed directory, etc.  Next thing I know, I'm getting calls and e-mails from a client desperately wanting to know why our software that has been working fine for the last 12 months has suddenly started prompting all users for a database login complete with asking for server and provider instead of using the local encrypted login file.
 
2013-02-14 10:08:10 PM  

UberDave: MrCrazyInsane:

"Environment changes breaking working code" is the biggest pantload of horse shiat. Do you program around NT 4 over token ring?

I was with you up until that point. It's that mindset that keeps 12 year old switches in my closets.


Maybe he means OS environment.  For instance, several years ago, I had an old bit of code that was doing tag replacement in MS Word documents.  The client lets a slew of MS updates float out to the network workstations and BAM!...all document printing is failing.  Admin had to get on a machine and retract the updates one by one until it worked (or maybe he re-imaged a box and installed them one by one until it failed...can't remember).

Or there's the time(s) when a new security policy gets uploaded that prevents the software from updating the registry, creating temp files locally, accessing a needed directory, etc.  Next thing I know, I'm getting calls and e-mails from a client desperately wanting to know why our software that has been working fine for the last 12 months has suddenly started prompting all users for a database login complete with asking for server and provider instead of using the local encrypted login file.


Ah, perhaps he was. Hadn't thought of that. In which case I apologize for being curt.

But if he WAS talking about the network....
 
2013-02-14 10:14:15 PM  
To me the most frustrating thing is when someone tells me how to program. It is a very personal thing really. Everyone has their own way of doing it. When the boss comes up and say use x for this, without sometimes even knowing what x is.
 
2013-02-14 10:20:27 PM  
mccallcl: -dealing with re-invented wheels

Ever write a bunch of code in a language, it doesn't work, then you go start debugging and you're like, shiat, this is totally valid code, the syntax is right, I've got the right parameters, why the fark isn't this compiling/running?


// then you realize that the function you're trying to use is from another language, in THIS language it's named something differently (maybe with slightly different parameters) but essentially does the same thing.

trunc vs floor (unless you're in mathcad)

mid vs substr

len() or length() (seriously len dudes, three extra chars were too much?)

And my favorite.

WTF is the concatenation operator in this language? Dot? Pipe? Ampersand? Double pipe? Plus? Plus Equal?
 
2013-02-15 12:02:59 AM  

mayIFark: To me the most frustrating thing is when someone tells me how to program. It is a very personal thing really. Everyone has their own way of doing it. When the boss comes up and say use x for this, without sometimes even knowing what x is.


There is the polar opposite of that - people who think the answer to everything is X, no matter what the problem is. And yes, I'm looking at you, Java. And XML.
 
2013-02-15 12:21:20 AM  

Ant: scarmig: "Here's a new project.  The requirements document is forty-pages long.  We need an hours estimate by end of day.  The project is due end of March."

Fifty-thousand.  Fifty-thousand hours for that request.  Get out of my cube.


For me:

Boss: "Here's something we want that we've never done before, and that we do not know for sure if it's even possible. Give me an estimate."
Me: "I't's not going to be an accurate estimate if I don't even know how I'm going to go about it yet"
Boss: "Just give me a number"
Me: "Right now?"
Boss: "Yes, right now"


My boss at my last gig was proud of her background in project management. I knew during the interview that I should've bolted out the door but some weird curiousity / masochism made me accept the offer.

She would call me and transfer me into conference calls.

It would start out like you described and end like this:
Me: "Eighty hours."
Boss: "Eighty hours?!"
Client: "We can't afford eighty hours!"
Me: "Well what's the requirements document say?"
Boss: "There is no requirements document."
Client: "We were hoping you knew what we wanted."
Me: "Ah, see, it takes a good sixty hours to make an outstanding requirements document."
Boss: "It doesn't take sixty hours to make a requirements document. I can do one in two."
Me: "Oh, great! Get that to me by the end of the day, I'll take a look at it and get back to you with a revised estimate."
Then I hung up.

They say to never burn your bridges but it is, on occasion, hilarious.

/didn't get fired, surprisingly
//though I did get screamed at
///never did get that requirements document
 
2013-02-15 01:15:12 AM  

Rent Party: scarmig:

Don't get attached to code.

That.

Here's the facts, super smart code kids:  Your code sucks.  Everyone's does, including mine.

Biggest problem with being a programmer:  Not understanding that the business is not there to provide you an outlet for your very special self and whatever your latest technology fetish is.  You are there to support a business who's only concern is generating revenue.  In software, unless you are building the space shuttle or heart monitors or air traffic control systems, you rarely get to practice ideal engineering. You are a cost center.  So act like one.


You nailed it. Thread over.

A professional programmer is paid to perform a service, not express himself.
 
2013-02-15 02:20:14 AM  

fluffy2097: Without knowing the minute details, it is impossible to know what the

 I imagine that being a pedantic asshole like most programmers are is the most frustrating thing ever.

I don't even know how they sustain such levels of pedantry all day long



As a programmer, I can attest that knowing all details makes it easier to map the design of the problem that needs to be solved in my mind.

Pertaining to the "all day long" comment; rather than using definitive descriptions and instead using vague terms only make the person who is speaking sound like a functional retard.
 
2013-02-15 03:03:50 AM  
As a system administrator, I should mention what annoys me the most about programmers.

Using obsolete packages that are no longer maintained, were last updated three years ago, have known security issues, and aren't supported by more recent versions of our Linux distro so we have to roll a custom version of it which is never easy because of dependency issues.  Let it go, biatches.  It's gone.  Find a new package and adapt your code.  And stop using obscure packages with no user base that is supported by some lone dude living in mom's basement.
 
2013-02-15 03:22:04 AM  

MusicMakeMyHeadPound: Ant: scarmig: "Here's a new project.  The requirements document is forty-pages long.  We need an hours estimate by end of day.  The project is due end of March."

Fifty-thousand.  Fifty-thousand hours for that request.  Get out of my cube.


For me:

Boss: "Here's something we want that we've never done before, and that we do not know for sure if it's even possible. Give me an estimate."
Me: "I't's not going to be an accurate estimate if I don't even know how I'm going to go about it yet"
Boss: "Just give me a number"
Me: "Right now?"
Boss: "Yes, right now"

My boss at my last gig was proud of her background in project management. I knew during the interview that I should've bolted out the door but some weird curiousity / masochism made me accept the offer.

She would call me and transfer me into conference calls.

It would start out like you described and end like this:
Me: "Eighty hours."
Boss: "Eighty hours?!"
Client: "We can't afford eighty hours!"
Me: "Well what's the requirements document say?"
Boss: "There is no requirements document."
Client: "We were hoping you knew what we wanted."
Me: "Ah, see, it takes a good sixty hours to make an outstanding requirements document."
Boss: "It doesn't take sixty hours to make a requirements document. I can do one in two."
Me: "Oh, great! Get that to me by the end of the day, I'll take a look at it and get back to you with a revised estimate."
Then I hung up.

They say to never burn your bridges but it is, on occasion, hilarious.

/didn't get fired, surprisingly
//though I did get screamed at
///never did get that requirements document


I'm sitting here imagining everyone involved and just giggling silently to myself. Well met!
 
2013-02-15 05:00:54 AM  
OgreMagi: Using obsolete packages that are no longer maintained, were last updated three years ago, have known security issues, and aren't supported by more recent versions of our Linux distro so we have to roll a custom version of it which is never easy because of dependency issues. Let it go, biatches. It's gone. Find a new package and adapt your code. And stop using obscure packages with no user base that is supported by some lone dude living in mom's basement.

We would update the code if they would let us, we don't like working with shiatty old modules either. But often the powers that be want to use their time & budget to add new 'features' instead of fixing what is (to them) 'working' code.

// Working until some change somewhere causes the whole thing to come crashing to the ground causing programmer and sysadmin alike to spend tons of time figuring out what killed whatever app.

//Programmer: there's a memory leak in module foo that causes the server to crash due to an out of memory situation every 16 days. We can fix it by migrating to module bar, but it will mean 160 man hours of reprogramming and some more for testing/validation.

The powers that be: What if we double the ram on the server (we have some spare sticks, right?) that will give us a 32 day window, and we can have the sysadmins reboot about once a month.

Programmer: Um, I think it's better in the long term to fix the underlying problem.

TPTB: we've already spent enough time debugging this, I'll put a case in for the sysadmins.

// a year and a half later, the server crashes with an out of memory situation.

TPTB: Hey, I thought we fixed this issue!!!

Programmer: It appears that the amount of data being processed by this app has increased substantially. We should really move over to module baz now (because module bar is now outdated as well).

TPTB: we don't have time for that, throw some more ram on the server and call it a day.

// wash, rinse, repeat
 
2013-02-15 05:01:28 AM  

enigmaticsource: lordargent: One of our properitary tools generates code using spaces instead of tabs.

// If I work on a project, I always clean up the generated code, other folks, not so much.

"s/[ ]{2}/\t//" for various values of two is about the first thing I run when I have to look at code.


:set noexpandtab
:retab!
 
2013-02-15 05:09:46 AM  

lordargent: I have a SQL query which is going to join two tables together (Products and User Data).

A troglodyte programmer would alias those tables as A and B whereas I would alias them as P and U. A and B conveys no meaning, and in larger queries, people will tend to forget what the hell table B was referring to. Was B.UNIQUE_KEY from the user table? The products table? The sales table? The region table? whereas U.UNIQUE_KEY is much easier to grok.


And I'm going to go back and change the aliases to "Products" and "UserData", and curse you for using those stupid one-letter table aliases.  Why would you even do that?  Are you that about the tokenizer using an extra 14 bytes of precious RAM?
 
2013-02-15 06:16:50 AM  
"It wasn't in the requirements so I didn't include it in the code."
-Programmer's response of why site mobile apps land on the homepage rather then the linked article

/inspired by today's XKCD
 
2013-02-15 07:50:48 AM  
1.  developers that still write sql injection.
2.  consultants that get more done than employees
3.  people that still haven't figured out 'SET TAB to [x] spaces' when pressed in their GUI config.
4.  people that don't version control their code
5.  vendors that force you to have a contract before you can join their technical forums
6.  shiatty free coffee
 
2013-02-15 07:57:29 AM  

divx88: Scope creep & project managers that think hacking together something to make the shiny button appear NAOW!! is more important than doing it proper the first time.  Of course said project managers are usually answering to less knowledgeable/informed business pieces that just want a shiny button.

Bad user feedback a programmer issue.  Unless you have a professional QA staff to back you, need to build in mechanisms to catch data when things explode.  Even with a professional QA staff, if you have time to build said nifty tools, it's best you do.  Plus if you have time to do unit testing and other nifty testing related things, it helps even more.

/ fark your shiny button!


This!
 
2013-02-15 08:21:24 AM  

aneki: mccallcl: -dealing with re-invented wheels

1000x this.  I'm doing with with a client, Microsoft stack, that rolled their own identity, security, service client, rules engine, caching layer, etc etc etc.  I've never quit a contract early... but I am sorely sorely tempted.  Their software stack is pure pain to work in.


Worse: Being told to re-invent a wheel when you know the old wheel is going to replace it in 6 months.  Nothing is more demoralizing than realizing that a project of yours is already doomed for failure before it starts.
 
2013-02-15 09:16:05 AM  

Z-clipped: Yeah. Except the other end of that is,

"I need a cappuccino."
"Ok, what's in that?"
"Dude, what's wrong with you? It's espresso and steamed milk."
"Well, you need to tell me exactly how much milk."
"You're the barista. Just make me a goddamn cappuccino."
"Fine, here."
"Um, this is cold."
"You didn't say you wanted it hot."

Etc.

Some programmers really need to get over their butthurt that English isn't a formal language.


That's actually not really true.

Say you walked in and asked for a cappuccino, and I gave you a standard cappuccino, but what you really wanted was a latte or a caffe macchiato.  Those are very similar in ingredients, but distinct products.  Would you complain when you got what you asked for, but not what you wanted?

English can be a very precise tool for describing what you want.  It's intellectual laziness that people don't really think about what they want, even when things have been described to them over and over again.  Very basic logic is simple to grasp, to the point where I once taught my son how to manually implement a bubble sort when he was 4 years old, using LEGOs*.  Most people don't even want to try, however.

*Yes, I know it was child abuse.  I figured it was best he learn the wrong way from me first instead of learning it on the street.
 
2013-02-15 09:43:41 AM  

OgreMagi: As a system administrator, I should mention what annoys me the most about programmers.

Using obsolete packages that are no longer maintained, were last updated three years ago, have known security issues, and aren't supported by more recent versions of our Linux distro so we have to roll a custom version of it which is never easy because of dependency issues.  Let it go, biatches.  It's gone.  Find a new package and adapt your code.  And stop using obscure packages with no user base that is supported by some lone dude living in mom's basement.


As a programmer, I should mention what annoys me the most about system administrators.

They will request "small" changes to code when they have no farking clue what kind of a mess they are asking us to make. They also completely ignore the time and effort required for testing and validation of any changes in the code. And they are doing all of this because they are just too lazy to do their jobs.
 
2013-02-15 10:02:20 AM  

dittybopper: Z-clipped: Yeah. Except the other end of that is,

"I need a cappuccino."
"Ok, what's in that?"
"Dude, what's wrong with you? It's espresso and steamed milk."
"Well, you need to tell me exactly how much milk."
"You're the barista. Just make me a goddamn cappuccino."
"Fine, here."
"Um, this is cold."
"You didn't say you wanted it hot."

Etc.

Some programmers really need to get over their butthurt that English isn't a formal language.

That's actually not really true.

Say you walked in and asked for a cappuccino, and I gave you a standard cappuccino, but what you really wanted was a latte or a caffe macchiato.  Those are very similar in ingredients, but distinct products.  Would you complain when you got what you asked for, but not what you wanted?

English can be a very precise tool for describing what you want.  It's intellectual laziness that people don't really think about what they want, even when things have been described to them over and over again.  Very basic logic is simple to grasp, to the point where I once taught my son how to manually implement a bubble sort when he was 4 years old, using LEGOs*.  Most people don't even want to try, however.

*Yes, I know it was child abuse.  I figured it was best he learn the wrong way from me first instead of learning it on the street.


I was about to type out a reasoned and nuanced argument illustrating the intellectual divide between formal and non-formal language, and how expectations of the former are occasionally misapplied to human interactions with eye-stabbingly annoying results...

But then I started cracking up, because teaching sorting algorithms to my kid is exactly the kind of thing I would do. My first child isn't even born yet and I'm already devising similar forms of abuse. Having a physics teacher for a dad is going to make my kid wish she never asked questions like "why is the sky blue?"

In summation good sir, please accept this laurel, and hearty handshake.
 
2013-02-15 11:12:16 AM  

Z-clipped: But then I started cracking up, because teaching sorting algorithms to my kid is exactly the kind of thing I would do. My first child isn't even born yet and I'm already devising similar forms of abuse. Having a physics teacher for a dad is going to make my kid wish she never asked questions like "why is the sky blue?"


When he was a bit older, we built a basic Pascaline together, using LEGOs.

The littlebopper is actually an interesting datapoint in the Nature vs. Nurture argument:  He's adopted, but like me, he ended up in the "gifted" program at school.   We've had him since he was a few days old, and the distaffbopper and I always took great pains to make as many mundane moments teaching moments as possible.

/distaffbopper is "average" IQ wise.
//We complement each other.
///We also compliment each other.
 
2013-02-15 11:51:29 AM  

EngineerAU: 7. "We're now doing all low level programming in Javascript" (Seriously, this fad needs to die)


I know you're talking about Javascript and not Java, but this quote came to mind...

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders
 
2013-02-15 11:56:44 AM  

umad: They will request "small" changes to code when they have no farking clue what kind of a mess they are asking us to make.


I'm not 100% sure, but I think that some requesters conflate "ease of expressing in words" and "ease of solution".  For example:

Statement:  "I just learned that I have pancreatic cancer and will die in 2 weeks."
Solution:  "Why don't you just cure cancer?"

Easy to say, yet tantalizingly difficult to complete...
 
2013-02-15 12:25:17 PM  

MrEricSir: amundb: Things that drive me nuts are crappy, wrong, or completely missing requirements. Or even requirements that are written so no one can understand them but the author.

Or requirements that change constantly. One recent project I worked on had requirements that changed every week. The people making them didn't seem to know what they were doing (we later found out they were actually graphic designers, surprise surprise.)

The project took about a year but if they'd waited to hire us until they'd finished the design, we could have done it in about three months. And frankly, it would have worked better.

The moral is this: If you're still deciding on features a week before the deadline, you're not qualified to be directing a project.


But But But.... Agile!

I know what your saying, changing requirements can be annoying. My favorite is when the customer wants to change requirements at the last possible, most in-opportune moment, screaming at the top of their lungs AGILE AGILE AGILE AGILE. Then we go back and tell them fine, we will have to push X amount of story points to the next sprint to handle this sudden change of requirements. Then they come back at us saying that is unacceptable, they need everything right now, and WATERFALL WATERFALL WATERFALL!
 
2013-02-15 12:29:14 PM  
Looks like I'll be spending the afternoon commiserating with the rest of you in this thread.

And categorizing it as "community outreach regarding best practices" on my timesheet.
 
2013-02-15 12:57:45 PM  

dittybopper: Z-clipped: But then I started cracking up, because teaching sorting algorithms to my kid is exactly the kind of thing I would do. My first child isn't even born yet and I'm already devising similar forms of abuse. Having a physics teacher for a dad is going to make my kid wish she never asked questions like "why is the sky blue?"

When he was a bit older, we built a basic Pascaline together, using LEGOs.

The littlebopper is actually an interesting datapoint in the Nature vs. Nurture argument:  He's adopted, but like me, he ended up in the "gifted" program at school.   We've had him since he was a few days old, and the distaffbopper and I always took great pains to make as many mundane moments teaching moments as possible.

/distaffbopper is "average" IQ wise.
//We complement each other.
///We also compliment each other.


Mine was the only kid in her first grade who would correct her peers, "1 plus 1 is not eleven.  That's concatenation."
 
2013-02-15 01:45:27 PM  
When end users don't provide enough information about bugs, it's because they don't want to do the work of documenting their process step-by-step any more than you as a programmer want to do it for them.  Sometimes this can be solved with technology: have the software provide a stack trace and an action history whenever it sends home a bug report, and then nobody has to work too hard.

Scrum came into existence as a backlash against the kind of inflexible, overly-rigid project methodologies that came before it.  A Scrum Master who insists that there's a process that must be followed to the letter doesn't understand the basic concept of agility, and doesn't deserve the title.  Every aspect of Scrum is negotiable based on the unique needs of the team at hand.

It's a fact that people ignore documentation.  Instead of wasting time writing it and complaining that no one looks at it, IT professionals should be applying human factors knowledge (usually called "UX" these days) to the design of their products, so that additional documentation isn't needed in the first place
 
2013-02-15 01:48:28 PM  

enigmaticsource: "s/[ ]{2}/\t//" for various values of two is about the first thing I run when I have to look at code.


Hey, what happened to all the carefully constructed string literals in the project?!?
 
2013-02-15 02:02:41 PM  

theresnothinglft: The head of the QA department assumes control of the software development department and has an ego so big that he can't realize this is a conflict of interest.


It's only a conflict if he constantly sides with one department over the other, which I'm guessing from your complaint that he does.

A smarter manager would let the Dev and QA teams do their respective things and butt their heads with each other when needed, and only step in to impartially adjudicate when they can't resolve an issue between themselves.
 
2013-02-15 02:05:30 PM  

umad: OgreMagi: As a system administrator, I should mention what annoys me the most about programmers.

Using obsolete packages that are no longer maintained, were last updated three years ago, have known security issues, and aren't supported by more recent versions of our Linux distro so we have to roll a custom version of it which is never easy because of dependency issues.  Let it go, biatches.  It's gone.  Find a new package and adapt your code.  And stop using obscure packages with no user base that is supported by some lone dude living in mom's basement.

As a programmer, I should mention what annoys me the most about system administrators.

They will request "small" changes to code when they have no farking clue what kind of a mess they are asking us to make. They also completely ignore the time and effort required for testing and validation of any changes in the code. And they are doing all of this because they are just too lazy to do their jobs.


Did I say anything about "small changes"?  No.  I realize that dropping an obsolete package can sometimes be a major coding change, but it still needs to be done.  Stop biatching and do your job.
 
2013-02-15 02:14:01 PM  

OgreMagi: Did I say anything about "small changes"?  No.  I realize that dropping an obsolete package can sometimes be a major coding change, but it still needs to be done.  Stop biatching and do your job.


Big changes like that are above my pay grade. I do what I'm told when my boss tells me to do something, not IT.
 
2013-02-15 02:15:41 PM  

Rent Party: I want more comment than code, because I don't want to read your crappy assed code.  I want to read about what it is supposed to be doing when it ceases to do what it is supposed to do.


Appropriate commenting practice really depends on the nature of the language.

Ruby, for example is so easy to read code intent from that _why had to write a deliberately unreadable book about it just to bring back balance.  Comments that reiterate the behavior of the code, rather than the rationale behind it, are superfluous.

C code, on the other hand, is hard to read.  Pointer indirection and abbreviated function and variable names are not only common but idiomatic.If you're writing code in C and you implement something like Duff's device, you need to:
a) include copious comments describing what the code is doing;
b) delete it and do something sensible instead.
 
2013-02-15 02:18:20 PM  

treesloth: EngineerAU: 7. "We're now doing all low level programming in Javascript" (Seriously, this fad needs to die)

I know you're talking about Javascript and not Java, but this quote came to mind...

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders


I'm stealing that.
 
2013-02-15 03:50:23 PM  
dilbert.com
 
2013-02-15 04:07:50 PM  

meddleRPI: [dilbert.com image 640x199]


A pointy haired boss type would probably look at Agile and decide that removing the chairs is all that it takes, completely ignoring EVERYTHING about Agile and Scrum that actually matters.
 
2013-02-15 06:52:21 PM  

lordargent: WTF is the concatenation operator in this language?


I think there is a limit to the amount of almost-exactly-the-same shiat you can learn.

MrCrazyInsane: "Environment changes breaking working code" is the biggest pantload of horse shiat. Do you program around NT 4 over token ring?


No, but the thing I program on is controlled by a maniacal dictatorship that changes the aspect ratio or pixel density of the screen without notice. That thing connects to a series of web services running on computers that move physical location and subnets without notice (and are either accessed by IP, or the server naming convention uses the location in the host name). Sometimes a manager forgets to pay a bill for a web service or hosting provider. Sometimes a domain name expires and the expiry email went unnoticed or to an inactive email address. Sometimes Amazon Web Services goes down.

All of these things have happened to me in the last sixteen months. A list of environment changes that have broken my working code or degraded its performance to unacceptable would fill an entire thread.

/nice token ring reference
 
2013-02-15 07:53:30 PM  
1.  People that assume all programming jobs are the same.

Yes, I work with C# code every day.  I may write tests that deal with network functionality, but that doesn't mean I'm hooking up Channel Factories every day.

2.  Code that was committed without vetting for functionality or efficiency and left for months before being implemented by the rest of the project.

Hooray, that large chunk of framework was outsourced to India 6 months ago so we didn't have to do it.  Yesterday, we turned on the interface between the two and nothing's working.  In the meantime, ownership of that area changed hands twice and all Unit testing wasn't being monitored the whole time.  You're the new guy, fix it by Friday.

3.  Being handed higher position responsibilities in the long term without boosting the position.

If my contract says I'm an E1 and the workload I've been handed is E3, I have just as much right to complain about this breach as it does about any of the things in the useless Employee Handbook.

 4.  The Employee Handbook.

Signing a form that says I've read a document that can change any moment without notice won't make me concerned about the contents of it.

5.  A lack of standards within code (between project groups).

Nothing's more frustrating than having parts of a large project formatted differently so that there are line conflicts because someone from another group pushes a change.

Sometimes, I just hope all this is unique to my job.  I doubt it...
 
2013-02-17 04:32:04 PM  

Electromax: China White Tea: I'm not a professional codemonkey, but I do a little bit of programming and the most frustrating thing, for me, is that I pretty constantly get stuck in a perpetual cycle of, "This code is okay and it does what I need it to do, but there is probably a better, more "correct" way of doing this - to Stack Overflow!"  And then I read for a bit, rewrite the function in a better-er, correcter-er way, and then repeat the process until I finally decide that I'll never reach the "correct-est" way of doing it, scrub the project entirely, and go watch Netflix instead.

I do coding professional and as a hobby, and my general philosophy unless some client is going to be reading the code (ie never) or there's noticeable performance problems is that, if it is okay and it does what you need it to, that's the correct-est way.

The more anal programmers will always have "suggestions" for how THEY would do it to optimize this or that or use fewer lines of code, but in my experience this is often just them trying to flex in front of you or feel superior or it has no noticeable effect on the end user/output and thus is pointless. Like when someone at my old shop spent 2 days learning how to implement lambda functions and then broke the code trying to implement it because he wanted to impress people.

At some point you realize life is short and everything doesn't have to be optimal. Also programmers/nerds thrive on one-upsmanship and its better for your mental health to jump outside that rat race and work to improve your own happiness/enjoyment.

This is not to say advice is bad, but unless there's a known issue, why go looking for ways to refactor the code? It's just a pointless exercise. It's like the person who spends 2 hours perfecting the layout of a powerpoint slide then it's on the projector for 8 seconds in the meeting. Nice time investment.

/You should instead spend 2 minutes on the slide and 118 minutes reading news article comments
//Maybe they were already d ...


I agree with everything you just said unless you plan to sell, patent, or distribute your code, which I think applies to almost any professional situation...
 
Displayed 226 of 226 comments

View Voting Results: Smartest and Funniest


This thread is archived, and closed to new comments.

Continue Farking
Submit a Link »






Report