• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

GAF Devs Thread - a thread about programmer's rants

Status
Not open for further replies.
Randolph Freelander said:
Need more rants, people.
I enjoy my job. My coworkers are skilled and well-adjusted.

I wish I got paid more, I guess. But for coming right out of university it's not the worst ever.

Sorry :(
 
Here's a good rant.

How about an ex-developer CIO who thinks he knows everything and won't listen or trust anyone in his team. Of course he hasn't developed in over 15 years and knows next to nothing about the .Net framework...

What do we have in our most recent project?

Trying to square-peg in a Microsoft Dynamics AX project in 3 under months, with specifications not finalised even up to a week before supposed delivery. None of the actual in-house development team were consulted on the project around design/analysis or requirements until the CIO had already designed a 'solution' with the 3rd party consultants. This solution for data migration is antiquated and riddled with holes, yet no developer was asked for estimates, we have been told 'to work 24/7' to get the project across the line.

Of course, what specs there are are very poor, and the test team are like headless chickens at the moment.

For me the last straw was in a 'go/no go' meeting regarding putting the system live, even though test coverage was under 1% of cases! There wasn't even a document that defined what the go-live criteria was! Shocking stuff.

What probably irks me and the rest of my development team the most is either not being allowed to provide estimates, or being told that your estimates are wrong.

One of our recent projects had an initial plan coming out with delivery in September, yet we were told that we had to re-arrange the plan to get delivery in for August. With 13 new Change Requests. It's gone live last week with a huge amount of problems, mostly due to quality checks being compromised.


</rant>
 
Randolph Freelander said:
Need more rants, people.

I work with a guy apparently without the ability to question himself. He thinks he has all the answers. If it's not his idea, it's not a good one.

Here's the problem. He sucks.

So anyway, not to go fully into my beef with this dude, I will just say this. If you're a developer, I want you to wake up in the morning and apologize for the code you wrote yesterday. Today, you'll do better. Today's code will be cleaner. You'll do the appropriate research. You'll introduce refactorings. You'll iterate, you'll improve. You'll check in your code, call it clean, and go home.

Tomorrow, you'll wake up and apologize for the code you wrote today. And you'll promise to do better.


Great post. My problem is that guy above is the one that makes all the decisions. Getting even the slightest concession on even the most trivial of implementation details is like going 15 rounds with Mike Tyson. It's extremely difficult dealing with someone that has such a massive level of hubris, coupled with delusions.
 
I work in software configuration management and we build and deploy code to system test, acceptance and production. That means developers are responsible for builds in the development environment. They also own the build scripts. They have continuous integration set up so builds occur every 15 minutes in dev. That means there's no excuse for builds to fail in system test and above. Yet build failures still occur during CM migrations due to compile errors. When the devs ask us to help troubleshoot, I fight the temptation to tell them, "If you're having build problems, I feel bad for you son. I've got 99 problems but the builds ain't one."
 
Question to Java coders out there: is it considered a best practice to initialize object parameters to a default value? I have an object with a ton of Strings, and am wondering if there's a point in defaulting them all to "". It seems to me that leaving them null will help me catch cases where I forget to explicitly set the values and risk not catching the error.
 
Not a Java dev (C#), but if there is some default value that I want to use to put the class/method in a valid, usable state, then sure, set it. Otherwise, no, don't initialize a variable or field if you're only going to set it to something else prior to actually using it.
 
Rant time.

My team is so dysfunctional. The environment itself is part of the problem.

We have a small dev team working on an internal web app. At the moment, we have 3 contractors (including myself), and 2 full-timers (one is new-ish), 1 fulltime quasi-lead, and 1 lead. Our "manager" is someone we see maybe 5 days in a year.

I say we have leads (one quasi), but it's not like a lead developer. Lead in name only. In reality, our full lead never interacts with us about code. Not his fault, 109% of his time is literally tied up in meetings with the line of business. The thing is, he was brought into our group in order to free up the person I'm referring to as the quasi-lead, so the quasi-lead can actually be more involved in the code. That hasn't quite worked out, the other guy also has 104% of his time eaten by meetings with the line of business. Of the two other fulltimers, they're not as involved in coding as us contractors, either. Yep, meetings. They're bringing in another fulltimer in a couple of weeks, presumably because they're going to be having even more meetings.

So you have us 3 contractors presently (there used to be more, we've thinned out).

You know what, that's too much about the team dynamic, I just want to get into the dysfunction. In theory, we're doing agile development. We have 2, wait, make that 3, 2 and a half, maybe 4 week sprints. But we carry work over sprint to sprint. It's not like it matters, it's not like the line of business even looks at the product of our work until the end of the set of sprints (let's say there are 6 or 7 per release), anyway. Then they do 2-3 months of regression testing. They report back all the bugs. We work them. We're basically a lot of waterfal mixed in with some fly-by-the-seat-of-our-pants, and we like to lie to ourselves and call that agile.

Speaking of lying to ourselves... we're supposed to do "unit testing." Our manager (the one we never see) was concerned with the amount of defects that kept getting into the code, so he instituted a policy of unit testing (this is before I joined the team). Except nobody ever went and looked up the definition of what unit testing actually is. You know, small tests of classes and/or methods in isolation, free of dependencies, verifiable, fast running... the whole nine. What we have are integration tests. Very slow. Dependencies wrapped upon dependencies, testing entire processes instead of small pieces of logic. And we don't have that many of them, because people rarely actually write them. Better still, many of them don't even pass. I reached a boiling point last week on that, actually, and had the gall to just go ahead and split the unit and integration tests into seperate projects (after running it by our lead) and sent out an email about where to put the tests you write, not making value judgments on what tests to actually write. (Arrogant dude [previous rant] did not like that at all. I don't care anymore.)

Our code is horrible. I've previously ranted about being in Rome, ranted about arrogant dude who miraculously has never (ever) been wrong or poorly informed, all of that. Our code just gets worse and worse. We blame the people that came before us, when in reality, we check in just as much bad code as they ever did. It's made all the worse by us having the audacity to call out the speck in the previous developer's eye when there's a big plank in our own, biblically speaking.

We don't do code reviews. What's the point? Nobody wants to hear that his code is not helping. Arrogant dude would completely dismiss your opinion, anyway. Our fulltimers are in meetings, our quasi-lead is never available and our main lead never looks at the code. Our manager has no idea what's going on, the line of business keeps reporting production bug after production bug, and I'm just sitting here counting down the months until I can move on to somewhere else.

It's just all so daggum frustrating.

Oh well, about 4.5 months to go before I age out. I've said it before to my team lead, but this contract has basically only taught me how bad enterprise code can actually be, but more than that, what the heck to do in my next interview. You know how you get into the interview and they ask you if you have any questions? You sit there, knowing you should ask something, just to make it look like you're engaged, but you basically end up sheepishly saying "nope, I've got nothing?" Oh no. Not next time. I'm going to be full of questions.

  • Would you say your code is in good shape? How good is good?
  • Do you do unit tests? How do you define them?
  • Are you agile or whatever? Be honest. How agile are you?
  • TDD - yes or no?
  • Tell me the truth about the team. How passionate are the developers? How many of them would you actually hire again if you had the choice?

Stuff like that. I want to work on good code. Even if the code is not so hot, I want to work with a good team that recognizes it and is passionate and open-minded about fixing it.

I don't want dysfunction again.
 
I know you are on a contract and it would probably be wise to finish out so you can move on, but I would be actively looking. Maybe nothing out there, but you never know...

As for me, can't really complain. Started a new job last week as the lead SAS developer on my team. A few limitations in terms of the code environment, but nothing that can't be worked around. For those with strong DB skills and experience with data... definitely check out SAS. Jobs pay pretty well since there it's a little bit more obscure. SAS is like the fortune 50 company nobody knows about, but I love coding with it!
 
I don't know if I've said this before here, but if I did I'll repeat it.

"One good manager is worth three good developers. But three great developers cannot make up for one bad manager."

It seems to me you have this situation.

Not to throw your lead under the bus but if he was brought on to be the lead but is in meetings all day he either needs to tell the sponsors they need to take up less of his time or get someone else.

I don't know what it is about Agile style development. Agile was brought up as an alternative to waterfall/SDLC methodologies which require rigor and very disciplined management. Yet somehow people think that Agile is just an excuse to run things like the wild west and shitty.

I'm sorry I feel for you. If development managers took as much care to their management as they did to their code, well that'd really be something.
 
We're having so many issues adapting agile to batch development in the government. Some pieces of work are too big to break up into iterations, so they end up being broken down horizontally, and are functionally incomplete (which hey, defeats the purpose of Agile!).
 
Wads said:
I know you are on a contract and it would probably be wise to finish out so you can move on, but I would be actively looking. Maybe nothing out there, but you never know...

As for me, can't really complain. Started a new job last week as the lead SAS developer on my team. A few limitations in terms of the code environment, but nothing that can't be worked around. For those with strong DB skills and experience with data... definitely check out SAS. Jobs pay pretty well since there it's a little bit more obscure. SAS is like the fortune 50 company nobody knows about, but I love coding with it!

I enjoy using SAS, I had never heard of it before starting my current job.
 
DualShadow said:
I enjoy using SAS, I had never heard of it before starting my current job.

What level do you consider yourself? I never heard of it before my last job, but saw how much you could do with it... especially in terms of automation.
 
Wads said:
What level do you consider yourself? I never heard of it before my last job, but saw how much you could do with it... especially in terms of automation.

I started using SAS as a graduate about 2 years ago.

We use it more for data manipulation and storage, obviously the process is automated once it's developed.
 
Same, we don't really use a lot of the stats stuff. When I say automated, I mean scheduled jobs - start to finish. Not launching the code.
 
Wads said:
Same, we don't really use a lot of the stats stuff. When I say automated, I mean scheduled jobs - start to finish. Not launching the code.

Yeah all our jobs are scheduled as well.

SAS is a bit different to other languages but it's pretty powerful.
 
So I guess this wouldn't be a bad place to ask...
So i Just graduated with a Bachelor's in Computer Science in may, from a fairly good computer science program in louisiana. I got a job right away at a small website development company. It's a dead end job that doesn't pay that well...but atleast it's something and it's getting me a little experience, even tho it's web programming. So i've been looking for something a little more permanent these past few weeks. I've applied to many junior positions on linkein and dice, but not even one response. Should I keep trying using these sites, or is there another way to find possible jobs? Like I said, I live in Louisiana, so there are virtually no jobs for CS here, looking to move away.
 
Craigslist can actually have some good postings. Another thing I've done is just drive around the areas I'd like to work in and write down all the companies I come across. Then see if they have anything posted on their websites.

It's not gonna look good that you're bailing on your job so quickly though.
 
Zoe said:
Craigslist can actually have some good postings. Another thing I've done is just drive around the areas I'd like to work in and write down all the companies I come across. Then see if they have anything posted on their websites.

It's not gonna look good that you're bailing on your job so quickly though.
Looking around after 4 months at your first job would put up a red flag for sure. Companies don't want to risk spending all the time and money training you only to have you leave when/before you become useful to them.
 
I'm not going to give you the full brunt of my rant but I'm in full-rant mode about FX Composer's seeming non-compliance to the DirectX SAS bindings. Unless I'm not doing something right, it seems that it's literally impossible to bind an array of lights using annotations within the shader. I've been banging my head over this for two days trying to find a way to do it as I want to keep my development completely within Composer and I'm failing at the first hurdle of implementing my own shader.

gah!
 
poweld said:
Looking around after 4 months at your first job would put up a red flag for sure. Companies don't want to risk spending all the time and money training you only to have you leave when/before you become useful to them.
Hmm i guess that kinda makes sense...even tho I only took this job to make ends meet until i could find something else...making barely above minimum wage with a college degree isn't that fun =(
 
jeremy70583 said:
Hmm i guess that kinda makes sense...even tho I only took this job to make ends meet until i could find something else...making barely above minimum wage with a college degree isn't that fun =(

Your alternative is to not disclose that you were working at that company at all and just act as if you've been unemployed/taking on odd jobs since the time you graduated.
 
Zoe said:
Your alternative is to not disclose that you were working at that company at all and just act as if you've been unemployed/taking on odd jobs since the time you graduated.
do you think this would be a better option, and if i don't find something soon, at what point do i add this job back to my resume?
 
So weird reading this thread. I'll read a post and think "holy shit, I know that guy in real life" and then a tiny detail won't match my job. Seems similar problems in software are going on everywhere.


komarkaze said:
I work in software configuration management and we build and deploy code to system test, acceptance and production. That means developers are responsible for builds in the development environment. They also own the build scripts. They have continuous integration set up so builds occur every 15 minutes in dev. That means there's no excuse for builds to fail in system test and above. Yet build failures still occur during CM migrations due to compile errors. When the devs ask us to help troubleshoot, I fight the temptation to tell them, "If you're having build problems, I feel bad for you son. I've got 99 problems but the builds ain't one."

Task a developer to create an application that notifies who broke it and the owner, and have continuous integration retry. That should remove the middle man.
 
Here is a rant. Fuck feature creep and extremly loose design docs that are rarely ever referenced. Worst part about programming in my opinion.
 
Ketchup Boy said:
Classes started last week and I'm going to take a low-level programming class about to learn C. Excited.
C is a low level programming langauge? ;__; im never going to comprehend objective C.
 
rhfb said:
Here is a rant. Fuck feature creep and extremly loose design docs that are rarely ever referenced. Worst part about programming in my opinion.

Yes, the worst part about programming tends to be when everything else gets in the way of you being able use the expertise that you were hired with in the first place. While it's a little outlandish and a bit of a troll, I really like how much Zed Shaw's http://programming-motherfucker.com/ drives this concept home.
 
Here's another rant, fuck version control that only allows one person to check out and edit a file at once (among other horrible flaws). Seriously, my boss doesn't get it, work would be so much faster if we used something that supported a branch/merge system like Git/TortiseSVN.

P.S. My boss makes us use Sourcesafe.

Technosteve said:
C is a low level programming langauge? ;__; im never going to comprehend objective C.

Also, not sure if serious.
KuGsj.gif
 
jeremy70583 said:
do you think this would be a better option, and if i don't find something soon, at what point do i add this job back to my resume?

I know this is late, but I wouldn't worry about it so much. I took another job after 7 months and it hasn't hurt me any. I know someone that took 1 job and took another job 2 months later. Don't quit until you find a new job, but explain that the job you are in wasn't meant to be permanent and you are looking for a more permanent fit.
 
First major project for AI class. Had to program an Othello playing AI.

Things I learned from this assignment:
1) Copy constructors are cool
2) Trying to implement a strategy you don't understand can be worse than random strategy
3) I hate testing trees because it's tedious
4) I hate recursion because it's not intuitive
5) Once you start recursing, however, everything will flow like melted butter
6) Lol exponential run times.
 
What language? Because I'm a C++ programmer and I can assure you that copy constructors most definitely suck. Particularly since whenever you change them, you probably want to change the destructor, assignment operator and possibly the move constructor.
 
Java actually. I'm glad I didn't have to fuck around with pointers for this assignment.

By copy constructor I meant something along the lines of

public Game(Game anotherGame)
{
this.stuff = anotherGame.stuff;
}
 
Anybody have any books that are essential for any programmer? It seems like everything is readily available online these days, but I'm all ears.

I have developer's block*, and the empty shelf I've been staring at is depressing me.

(*my current project is juuuuuuuust different enough that I can't use the template I've been working on >:( )
 
Zoe said:
Anybody have any books that are essential for any programmer? It seems like everything is readily available online these days, but I'm all ears.

I have developer's block*, and the empty shelf I've been staring at is depressing me.

(*my current project is juuuuuuuust different enough that I can't use the template I've been working on >:( )

Here's a list, but I recommend Code Complete 2 in particular. It's just a really good general software development book. I assume you're looking for generalized books and nothing tied to a specific language, of course.
 
Kalnos said:
Here's another rant, fuck version control that only allows one person to check out and edit a file at once (among other horrible flaws). Seriously, my boss doesn't get it, work would be so much faster if we used something that supported a branch/merge system like Git/TortiseSVN.

P.S. My boss makes us use Sourcesafe.

Errr.. not a huge fan of SourceSafe, but it allows multiple checkouts of the same file.. branching.. merging, etc.

So that's my rant for the day.. people that moan about what software can't do without bothering to even check to see if it can ;)
 
nVidiot_Whore said:
Errr.. not a huge fan of SourceSafe, but it allows multiple checkouts of the same file.. branching.. merging, etc.

As far as branching and merging, they exist, but they're vastly inferior to other systems (I.E. branch merging, tracking, etc) which leads to choosing to use exclusive locking to avoid headaches... a decision which is out of my control. Though, my biggest gripe is the inability to check in changes locally.

So that's my gripe, assumptions about other peoples whining!
KuGsj.gif
 
nVidiot_Whore said:
Errr.. not a huge fan of SourceSafe, but it allows multiple checkouts of the same file.. branching.. merging, etc.

So that's my rant for the day.. people that moan about what software can't do without bothering to even check to see if it can ;)
Zing!
 
Kalnos said:
So that's my gripe, assumptions about other peoples whining!
KuGsj.gif
Errrr...

Kalnos said:
fuck version control that only allows one person to check out and edit a file at once

So I have a new gripe.

People that say things, then claim they didn't mean it, then put you down as though you were supposed to read their very specific comment and somehow interpret it meant something different... the reality is you didn't know it contained these features. If you don't admit to that, I'll just assume you are lying anyways, so might as well end this ;)

SourceSafe sucks and this isn't all that big of a deal.. but seriously it's obnoxious when people say inaccurate things about software, as a developer you should share that sentiment.
 
I wasn't trying to put you down, it was a joke, thus the laughing emoticon. I didn't word my original comment correctly, you're correct, but I have no intention of arguing with someone so aggressive over such a small issue(non-issue?). We can gladly drop this and have you think of me a liar.
 
Haha.. that's fine.. still obnoxious that you'd claim a piece of software doesn't have a feature that it does. So worthy of gripe IMO.. as a developer such things annoy me.. not worthy of a serious argument but it's plainly obvious you are lying. That comment wasn't "worded wrong," you fairly blatantly claimed the software did not have a feature.

For your information, SourceSafe does multiple check outs and merging just fine. Been using it without fault for a decade for that purpose on a large percentage of my projects due to it being company standard at many orgs. Much prefer TortoiseSVN overall, and that's what I use on any project I actually manage all the tech on, but I've never heard of anyone disabling multi-checkout for any reason other than personal preference.
 
nVidiot_Whore said:
That comment wasn't "worded wrong," you fairly blatantly claimed the software did not have a feature.

By worded wrong I was admitting that my first post was indeed incorrect, development hyperbole if you will.

but I've never heard of anyone disabling multi-checkout for any reason other than personal preference.

It's the default as far as I know (In VSS I mean).
 
I setup my last SourceSafe server instance 5 years ago and haven't touched the damn thing since in fear of it breaking. It's still on 6d IIRC (pre-2005 version) even though I used VS2010 on all projects. Must have set it to multiple checkouts long ago, forgot what was default.

I'm doing a side project right now, and it's using SourceSafe. Some knucklehead upgraded their client or something, and suddenly we were having check-in nightmares, an issue with differing file encoding. You can find MS documentation claiming such encoding problems shouldn't exist with the differing client versions.. then, later.. you can find KB's on the problems.. lol.. that of course haven't fixed our issue whatsoever.

I do share your overall disdain for the product due to experiences like that one. That's beyond the fact the software simply doesn't support projects beyond a certain size and scope.

(but it does support multi-checkout, and you are still lying ;) )

BTW, I'm an asshole.
 
Zoe said:
Anybody have any books that are essential for any programmer? It seems like everything is readily available online these days, but I'm all ears.

I have developer's block*, and the empty shelf I've been staring at is depressing me.

(*my current project is juuuuuuuust different enough that I can't use the template I've been working on >:( )


Clean Code and Agile Principles, Patterns, and Practices by Robert C. Martin AKA Uncle Bob. Forget whether you care about Agile, it's so not the point. These books are well worth it.
 
Any professional programmers here willing to do a little bit of off-the-main-forum chatting with me regarding class design for the game I'm working on? I'm kind of paranoid about things, so I don't like the idea of discussing my issues too much in the thread.

If you've got experience with game development and would be willing to look through the layout of my classes and give me some guidance on how I should (of if I should) tackle a small problem I've got, please let me know. It's nothing big, but throwing my ideas off of someone else would be great.
 
Status
Not open for further replies.
Top Bottom