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  
•       •       •

7577 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

First | « | 1 | 2 | 3 | 4 | 5 | » | Last | Show all
 
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.
 
Displayed 50 of 226 comments

First | « | 1 | 2 | 3 | 4 | 5 | » | Last | Show all

View Voting Results: Smartest and Funniest


This thread is archived, and closed to new comments.

Continue Farking
Submit a Link »
On Twitter





In Other Media


  1. Links are submitted by members of the Fark community.

  2. When community members submit a link, they also write a custom headline for the story.

  3. Other Farkers comment on the links. This is the number of comments. Click here to read them.

  4. Click here to submit a link.

Report