Life of a Programmer

Nov 4, 2014 2:04 AM

purplegorillacolonel

Views

395041

Likes

7021

Dislikes

118

When it compiles on your first try

When your coworker with a computer science degree asks how to compile a shell script

When you're pair programming and no one knows why it works

When you realize you forgot to tell your boss something important and he's out of town

When a marketing person rudely demands an unecessary feature

When you realize your code from last month produces wrong output

When your coworker fixes an important problem ahead of schedule

Trying to complete the "last" feature

When you finally fix a major bug

After hearing that people like using your software

That CS degree thing: Nailed it.

12 years ago | Likes 2 Dislikes 0

As a programmer: before you get coding:

12 years ago | Likes 9 Dislikes 1

When the bug's fixed before they go to make the ticket:

12 years ago | Likes 14 Dislikes 0

as someone who took AP computer science 6 years ago I can confirm I learned nothing in AP computer science

12 years ago | Likes 4 Dislikes 0

As someone with a bachelor's of science from a Big 10 University, i can confirm that I learned almost nothing in my major.

12 years ago | Likes 2 Dislikes 0

When you change a line of code trying to fix a bug...

12 years ago | Likes 13 Dislikes 0

Everyone remembers an important bug and someone goes to fix it and its not there anymore. Noone remembers fixing it

12 years ago | Likes 2 Dislikes 0

Based on the Assembley, I thought my computing course would be a bit BASIC, but I only got a C thanks to a lot of Java. Erm... Pascal, lol?

12 years ago | Likes 6 Dislikes 1

Lole.

12 years ago | Likes 1 Dislikes 0

When you're asked to code a feature and get to tell them your code already does that. http://imgur.com/yNaJ44V

12 years ago | Likes 5 Dislikes 0

As a Software Engineer, I can relate to all of this.

12 years ago | Likes 4 Dislikes 0

Sysadmin's "major update & vacation" approach sorryaboutthewatermark

12 years ago | Likes 4 Dislikes 0

Except in the real world Marketing is above IT so they get what they want no matter how stupid the request.

12 years ago | Likes 28 Dislikes 3

Except where I work. Head of IT is like a tyrant and runs things like she's Kim Jong Il

12 years ago | Likes 4 Dislikes 1

Truth

12 years ago | Likes 2 Dislikes 1

How can they do work with no... internet?

12 years ago | Likes 1 Dislikes 1

I don't need the internet to use the adobe suite (though sending my finished files to the printer could be an issue without it lol).

12 years ago | Likes 2 Dislikes 0

I think these gifs are more applicable to a software engineering firm than an IT department.

12 years ago | Likes 8 Dislikes 0

Developer > IT

12 years ago | Likes 12 Dislikes 0

As a dev in IT I often get calls from engineers who can't map drives etc. Without my grunts some of you guys would code w rocks and sticks.

12 years ago | Likes 2 Dislikes 1

Developers who don't know know how to A. Use Windows, B. Use Linux, and C. Use Google to Use A and B, are a complete mystery to me.

10 years ago | Likes 1 Dislikes 0

When changing something meaningless fixes the program - f

12 years ago | Likes 6 Dislikes 0

Why does my random comment of "WTFin FER F!!?" fix this thing?Is it a race condition? But there's nothing its competing with..wha?

12 years ago | Likes 1 Dislikes 0

When changing something meaningless breaks the program - f

12 years ago | Likes 4 Dislikes 0

What illusion do you live in, where marketing has no power over features?

12 years ago | Likes 55 Dislikes 16

They certainly have power, but far less than they'd believe. I cannot name a product I've worked on where marketing asks for a change, 1/2

12 years ago | Likes 4 Dislikes 2

and that change isn't reverted as soon as marketing turns their back 2/2

12 years ago | Likes 4 Dislikes 2

I was gonna say... seems unlikely

12 years ago | Likes 3 Dislikes 1

Marketting makes recommendations to the business who write up requirements for the tech leads who estimate and plan. If marketting say 1/2

12 years ago | Likes 8 Dislikes 0

All the layers really need to communicate though, so marketing knows whats possible, anf business knows the cost of what's possible.

12 years ago | Likes 2 Dislikes 0

2/2 to a developer "Oh, can you just add..." then no, 'cause there are no requirements specified and it hasn't be designed or planned :)

12 years ago | Likes 9 Dislikes 0

One with process. "Sorry buddy my hands are tied, you need to go through the system"

12 years ago | Likes 5 Dislikes 0

It's also very satisfying to have them resubmit a request, because you're basically telling them they are bad at their job.

12 years ago | Likes 1 Dislikes 0

That first image is a lie. When it compiles on the first try, there /is/ something wrong. Unless it's haskell. But you gotta look anyway

12 years ago | Likes 7 Dislikes 0

Haskill? Oh dear Haskill what is he up to now?

12 years ago | Likes 1 Dislikes 0

Haskell. *sigh* ... My boss decided to move our entire company to it over a fucking weekend. Everybody lost their minds.

12 years ago | Likes 2 Dislikes 0

*nelson "ha ha" laugh*

12 years ago | Likes 1 Dislikes 0

explaining why a section of code doesn't work http://imgur.com/92qjYbj

12 years ago | Likes 36 Dislikes 1

or, if you do: " this will take too long to explain and you don't care :< "

12 years ago | Likes 2 Dislikes 0

Oh, that last one.

12 years ago | Likes 2 Dislikes 0

Twas true when I coded in COBOL, PL/1, Fortran, BASIC, back in the day. Tis all the more true today. Damn kids and their ASP.net and Java.

12 years ago | Likes 9 Dislikes 2

As my best friend likes to say, BASIC is for basic people.

12 years ago | Likes 7 Dislikes 0

I know exactly 21 of these words.

12 years ago | Likes 3 Dislikes 0

I just had to count to see what 21 words you meant. I know exactly one more word than you.

12 years ago | Likes 4 Dislikes 0

First one is totally wrong. When something compiles on the first try, it's more like -

12 years ago | Likes 15 Dislikes 0

Exactly, compiling just means no syntax errors, it can't find logical errors.

12 years ago | Likes 1 Dislikes 0

Don't care how many upvotes you get; you're the winner in my mind.

12 years ago | Likes 3 Dislikes 0

The compile is a lie.

12 years ago | Likes 3 Dislikes 0

MRW client escalates ticket to emergency status, and once finished, they change what they want

12 years ago | Likes 23 Dislikes 0

Psh marketing people

12 years ago | Likes 2 Dislikes 0

points++;

12 years ago | Likes 96 Dislikes 0

Or just points

12 years ago | Likes 1 Dislikes 2

points = points + 1 ' What? I mostly create testing scripts in a Visual Basic-based application.

12 years ago | Likes 1 Dislikes 0

++points; // you plebian

12 years ago | Likes 21 Dislikes 5

Except those statements have exactly the same result unless you do something like foo(++points) vs foo(points++)

12 years ago | Likes 10 Dislikes 0

++points is a single instruction, points++ pulls to memory, adds, puts back.

12 years ago | Likes 11 Dislikes 2

Nope, any good compiler will optimize it.

12 years ago | Likes 13 Dislikes 0

let the compiler handle microoptimization. Please. On behalf of everyone who has to read your code.

12 years ago | Likes 8 Dislikes 0

You're right, I wasn't thinking about it in terms of optimization.

12 years ago | Likes 7 Dislikes 1

Ahem... actually in both case you have to read-increment-write. But points++ must make a copy.

12 years ago | Likes 2 Dislikes 0

Upvotes for you either way :D

12 years ago | Likes 5 Dislikes 1

12 years ago | Likes 3 Dislikes 0

Two greatest problems in programming: "It doesn't work, i don't know why" and "It works, but i have no idea how or why"

12 years ago | Likes 137 Dislikes 8

It's broken and I don't know why. Lets try this. Oh hey, it worked.

12 years ago | Likes 3 Dislikes 0

#define malloc(n) malloc(n-1)

12 years ago | Likes 3 Dislikes 0

Weren't the two greatest problems; naming things, cache-invalidation and off-by-one errors? ;)

12 years ago | Likes 13 Dislikes 0

the ol' "I put a <= when I shoulda put a <"

12 years ago | Likes 7 Dislikes 0

That second one is a gift from god.

12 years ago | Likes 2 Dislikes 0

FTFY: The two problems in programming: It doesn't work but it should, It shouldn't work but it does, and off-by-one errors.

12 years ago | Likes 6 Dislikes 1

I've never had that 2nd problem, only the first one.

12 years ago | Likes 2 Dislikes 0

Don't forget the heisenbug that works until someone notices it in the source code.

12 years ago | Likes 2 Dislikes 0

My entire experience with Xcode and Objective C ladies and gentlemen. Oh the zoom buttons were handy? lets remove them in the next upgrade.

12 years ago | Likes 5 Dislikes 0

Want to have a working program, den lemme crash all other programs.

12 years ago | Likes 1 Dislikes 0

Want to change the font in the storyboard editor? let me just break it for you.

12 years ago | Likes 4 Dislikes 0

Want to resize an element? lets just remove all the other elements on the screen for you.

12 years ago | Likes 4 Dislikes 0

You forgot "this pile of garbage SHOULDNT work, how the hell is it doing that!?" Its like your second reason but one step further

12 years ago | Likes 36 Dislikes 3

I had this exact same thing happen to me. I was running a for loop in java with an integer that was increased by one every loop. For (1/?)

12 years ago | Likes 11 Dislikes 0

Values entered over 3000, it should have overflowed the variable. I found out however that when the integer hit the max value, on the (2/?)

12 years ago | Likes 9 Dislikes 0

next loop it got set back to the minimum value and kept looping until it satisfied the condition. It made me irrationally angry. (3/3)

12 years ago | Likes 9 Dislikes 0

I feel like the second one's not much of problem.

12 years ago | Likes 3 Dislikes 0

Until something goes wrong, and you have no idea what it is, or why it's right, or what kind of moron wrote this garbage. Oh wait, that's me

12 years ago | Likes 3 Dislikes 0

Oh but it IS. I mean imagine that happens... you still have to manage the program cause you wrote it... but if you dont know how it works...

12 years ago | Likes 5 Dislikes 0

Lol true. You gotta pray nothing goes wrong... Cuz if it does, you up shit creek.

12 years ago | Likes 2 Dislikes 0

Joke's on you. You actually can compile shell script: http://linux.die.net/man/1/shc

12 years ago | Likes 5 Dislikes 0

That fridge logic occurred to me as well.

12 years ago | Likes 2 Dislikes 0

Just because you *can* doesn't mean you should

12 years ago | Likes 2 Dislikes 0

As a person who works in Marketing but has programmer friends, I apologize for my department...and Sales as well while I'm at it

12 years ago | Likes 4 Dislikes 0

You apologize for deciding what to build and how to build it so that the developers can have jobs? Don't apologize for that.

12 years ago | Likes 1 Dislikes 0

I apologize for the sometimes unrealistic demands/expectations that can be thrown their way

12 years ago | Likes 3 Dislikes 0

I could really git into these...

12 years ago | Likes 133 Dislikes 2

I find your comment quite bazaar

12 years ago | Likes 5 Dislikes 0

You clever little shit

12 years ago | Likes 15 Dislikes 0

Bro, your references are out of control.

12 years ago | Likes 5 Dislikes 0

I was going to comment on this, but it would just get ignored anyway.

12 years ago | Likes 1 Dislikes 0

12 years ago | Likes 1 Dislikes 0

I think you're being a little too Frank

12 years ago | Likes 1 Dislikes 0

Git is love. Git is life.

12 years ago | Likes 4 Dislikes 0

Until you sneeze. Then git suddenly becomes hatred and death, and your files will be shredded by a thousand wronged cats.

12 years ago | Likes 1 Dislikes 0

The wrong output problem is solved with proper unit testing. Unit testing is your friend. Too many people ignore their friends.

12 years ago | Likes 183 Dislikes 1

Knowledge is power

12 years ago | Likes 2 Dislikes 0

I know unit testing is good, but i prefer just having a few text boxes interrupt the progress to let me know I'm getting the right results.

12 years ago | Likes 2 Dislikes 0

Which is why my company (and all companies should) implement test driven development.

12 years ago | Likes 1 Dislikes 0

"Huh? Test it? If it doesn't work, I'll just claim I can't reproduce it or I'll blame someone else." -- Every software developer ever.

12 years ago | Likes 3 Dislikes 5

You're not a software developer, are you? Some of us take great pride in our work. Integrity ftw

12 years ago | Likes 1 Dislikes 0

My friend once stuck his tongue in a light socket.

12 years ago | Likes 3 Dislikes 2

That's tasteing, not testing.

12 years ago | Likes 1 Dislikes 0

Programmers don't have friends.

12 years ago | Likes 56 Dislikes 3

Notice how he said "is your friend" not "is one of your friends". Unit testing is your only friend.

12 years ago | Likes 25 Dislikes 0

I honestly haven't been able to figure out when and where to insert unit testing :-/ Maybe I just suck

12 years ago | Likes 2 Dislikes 1

Any time you create a new class, you create a new unit test in a testing directory. Test as many public methods as possible.

12 years ago | Likes 1 Dislikes 0

Not if you define your units wrong!

12 years ago | Likes 2 Dislikes 0

Yeah, it's cuz they're all on here

12 years ago | Likes 1 Dislikes 0

Test Driven Development, sir or madam.

12 years ago | Likes 3 Dislikes 0

I wish I had known about unit testing earlier.. I'd like to implement it on my projects, but I'm afraid it'll take months (and no pay :p )

12 years ago | Likes 4 Dislikes 0

The best thing would be to create unit tests for new code and add in tests for old code piecemeal as it changes.

12 years ago | Likes 4 Dislikes 1

Good point.. now I just need to learn proper unit testing.. but first I need to get motivated to code again, tho.. sorta got writer's block

12 years ago | Likes 3 Dislikes 0

Srsly. I'm thinking laziness, working on crazy distributed systems, or just uninitiated into the world of rigorous testing.

12 years ago | Likes 3 Dislikes 0

In corp environs there is also political crap happening above your head. "Just release it." "It's not ready." "I know. Release it." :(

12 years ago | Likes 4 Dislikes 0

I hate when the business just decides to live with some bugs. I'm not looking forward to our next release.

12 years ago | Likes 2 Dislikes 0

Ok that is entirely fair, point taken.

12 years ago | Likes 2 Dislikes 0

Unit testing is all fine and dandy until a user decides they're going to connect a Kinect and try to manage their wordpress site with that.

12 years ago | Likes 19 Dislikes 0

What do you mean I can't use an Xbox controller?

12 years ago | Likes 2 Dislikes 0

my 1st major proj: "We've thought of everything. They can't not use the right fields here." First feedback: I can't figure out how...

12 years ago | Likes 8 Dislikes 0

"If you make something idiot proof, someone will just make a better idiot."

12 years ago | Likes 10 Dislikes 0

Getting code to compile on the first try is simple. Getting that code to compile and not buggy as fuck first try: impossible.

12 years ago | Likes 11 Dislikes 0

Then there're race conditions... best if they announce themselves as "segmentation fault"

12 years ago | Likes 2 Dislikes 0

In my experience, >90% of bugs are a missing ; or a typo and get caught by the compiler. Obscure bugs are a major pain, but not as frequent

12 years ago | Likes 5 Dislikes 0

Caught by compiler = syntax error, not bug

12 years ago | Likes 6 Dislikes 0

Bug = does the wrong thing. Bugs are like teens in the 90's. If your compiler catches it it's like today's teens, it can't even.

12 years ago | Likes 3 Dislikes 0

Maybe I used the wrong term, but either way... That would be the likeliest reason it does not compile on the first try.

12 years ago | Likes 1 Dislikes 0

I'm upvoting you just for your username, I'm agreeing with you because your right.

12 years ago | Likes 2 Dislikes 0

Thank you, dear sir and/or madam.

12 years ago | Likes 2 Dislikes 0

One of the greatest gags ever written.

12 years ago | Likes 2 Dislikes 0

Need one for "tester brings you bug that's not reproducible."

12 years ago | Likes 1008 Dislikes 1

As someone that was a tester for 7 years, there's no such thing as no repro case... only a bad tester :P

12 years ago | Likes 1 Dislikes 0

Try testing an IOS app. Some freaky stuff happens and I have no idea how it happened.

12 years ago | Likes 1 Dislikes 0

when i provide video evidence of 6 other people having the issue, i fucking expect a solution

12 years ago | Likes 6 Dislikes 0

12 years ago | Likes 2 Dislikes 1

I went to a screen and an error came up. Fix it.

12 years ago | Likes 1 Dislikes 0

my engineering friend is currently struggling with this exact issue

12 years ago | Likes 2 Dislikes 0

Once had a bug that wouldn't reproduce when I wanted to inspect it, but if I ignored it it'd reappear, the time taken to inspect the bug 1/2

12 years ago | Likes 2 Dislikes 0

Gave the program enough time to close the open file before the next line, and the bug would disappear 2/2

12 years ago | Likes 2 Dislikes 0

as a test specialist that is highly unprofessional

12 years ago | Likes 2 Dislikes 0

It happens, even having a bug closed is ok as not reproducible is a good thing.

12 years ago | Likes 1 Dislikes 0

12 years ago | Likes 419 Dislikes 2

God I was hoping it would be this gif. Hands down favorite reaction ever

12 years ago | Likes 2 Dislikes 0

Doc Rivers FTW

12 years ago | Likes 4 Dislikes 0

This should be #11

12 years ago | Likes 8 Dislikes 0

I think Lance is more appropriate here

12 years ago | Likes 92 Dislikes 5

I second that.

12 years ago | Likes 6 Dislikes 0

As a test engineer

12 years ago | Likes 105 Dislikes 2

12 years ago | Likes 19 Dislikes 3

i love all the princess bride stuff i'm seeing on imgur today

12 years ago | Likes 3 Dislikes 0

Andre the Giant Software Tester.

12 years ago | Likes 4 Dislikes 0

Usually PEBCAK and/or PICNIC.

12 years ago | Likes 3 Dislikes 1

ID:10T?

12 years ago | Likes 4 Dislikes 0

Not for me. Our newest release is going to have bugs in it that I just have no idea how to repro. They are just really weird errors.

12 years ago | Likes 2 Dislikes 1

Ok, I know PEBCAK, but what's PICNIC?

12 years ago | Likes 4 Dislikes 0

Problem In Chair, Not In Computer.

12 years ago | Likes 3 Dislikes 0

"Problem In Chair, Not In Computer"

12 years ago | Likes 4 Dislikes 0

aaahhh. I like that one.

12 years ago | Likes 2 Dislikes 0

As a current QA Specialist, another one I hear a lot is "Works on my machine"

12 years ago | Likes 5 Dislikes 0

That makes me want to pull my hair out.

12 years ago | Likes 3 Dislikes 0

micro-architectures... pesky fuckers.

12 years ago | Likes 2 Dislikes 0

*shivers* They found a bug, can't reproduce it. That's why, when I beta test things, I try to be a good tester and make it reproduce.

12 years ago | Likes 8 Dislikes 0

"If it's not reproducible, it's not a problem."

12 years ago | Likes 12 Dislikes 0

Or from a testers perspective, when a Dev can't reproduce an obvious issue.

12 years ago | Likes 68 Dislikes 1

or from both perspectives, when the dev can't ever reproduce the issue but the tester can reproduce it reliably.

12 years ago | Likes 4 Dislikes 0

THIS! so much THIS!

12 years ago | Likes 2 Dislikes 0

Or when devs conveniently forget that they're operating on more bandwidth than the client. Blah.

12 years ago | Likes 10 Dislikes 1

Or when they say the bug is "environmental", but customers report the same bug.

12 years ago | Likes 4 Dislikes 0

I prefer when dev skips a repro step that is required to get it to occur.

12 years ago | Likes 2 Dislikes 0

Seconded.

12 years ago | Likes 2 Dislikes 0

How about this from an implementer: Here is the bug and how to reproduce. Dev: Nope, no bug. Me: Here is a screenshot. Dev: Oh now I see.

12 years ago | Likes 11 Dislikes 0

More like "Did you look at the attached screenshot plus annotated video?" "....Oh now I see" *facepalm*

12 years ago | Likes 4 Dislikes 0

"here is screenshot and video" dev: no bug

12 years ago | Likes 9 Dislikes 0

Extra scary: this is on a released data storage platform... and it craters the whole thing.

12 years ago | Likes 4 Dislikes 0

How about I give you a screenshot of my foot up your ass

12 years ago | Likes 1 Dislikes 0

Not sure if you're doing Agile Dev but it's so annoying when something's just wrong but it matches the Acceptance Criteria.

12 years ago | Likes 12 Dislikes 1

I know that feel, bro. I do do agile. "There's no my account button" "Yeeah i'm gonna need you to go ahead and look at the requirements."

12 years ago | Likes 8 Dislikes 0

been there.

12 years ago | Likes 2 Dislikes 0

Don't you read over the AC before starting? Challenge that crap there and then!

12 years ago | Likes 1 Dislikes 0

We've done away with too many of our ceremonies otherwise I would.

12 years ago | Likes 1 Dislikes 0

Then you aren't doing Agile! Got to be set about it otherwise it just becomes the same shit.

12 years ago | Likes 1 Dislikes 0

from an implementation perspective, when Dev tells you "works on my machine" my reaction: "great, can i send the customer your machine?"

12 years ago | Likes 45 Dislikes 0

*for clarification, this is in reference to a 100% reproducible defect on a code build that supposed to be releasable.

12 years ago | Likes 1 Dislikes 0

Last time they told me what to do about it. Run directx diagnostic and it gives you a file named DxDiag with all your comp specs.

12 years ago | Likes 3 Dislikes 0

Most infuriating thing ever...

12 years ago | Likes 10 Dislikes 0

Virtual machines man virtual machines. If it fails in there its generally a bug.

12 years ago | Likes 2 Dislikes 0

It's worse when a client does and looks at you like an idiot when you can't fix something you can't create

12 years ago | Likes 99 Dislikes 0

As a Tester it's so annoying when someone from Business shows me a bug and acts like it's the end of the world

12 years ago | Likes 27 Dislikes 0

omg yes the amount of times the margin has been 1px out and I get the reaction "we may as well abort the site". Give me a minute to fix.

12 years ago | Likes 7 Dislikes 0

my favourite is scale, when your small family business goes from 10 visitors a day to 200,000 in an hour even batman would be unprepared.

12 years ago | Likes 21 Dislikes 0

That doesn't sound like something a tester would say. Most testers I know understand that the business side pays the bills.

12 years ago | Likes 3 Dislikes 1

Been doing this for a long time and usually the Business would lay off, now with Agile Dev they're all trying to be hands on

12 years ago | Likes 7 Dislikes 0

And having business folk behind the reigns of dev decisions is like letting a 4 year old drive your car.

12 years ago | Likes 2 Dislikes 0