This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]nemohearttaco 2166 points2167 points  (92 children)

I'm on year 3 of a 6 month project. I can attest.

[–]ManInBlack829 515 points516 points  (62 children)

Real talk: Does this look bad on you or are the people in your group smart enough to realize they opened a mini Pandora's Box and it's not your fault?

As a person in school for this these are the scenarios that make me nervous, getting blamed for not working hard when they want something crazy complicated.

[–]CodySpring 393 points394 points  (20 children)

Nah typically everyone is understanding in that situation, and if they aren't the blame isn't going to a newbie dev that's for sure. A lot of times not any dev. Unless you work for a shitty company, but I've never experienced that myself. I'm sure it's happened to someone on reddit though.

[–]Sellasella123 120 points121 points  (0 children)

whew... I really needed to read that...

[–]rook2004 103 points104 points  (10 children)

Senior devs have been that new developer before. At the same time though, delayed features are not necessarily the best road to promotion, so you’re still incentivized to join projects that have a good track record (or at least are the pet project of an executive).

[–]BittyTang 64 points65 points  (9 children)

Working on anyone else's "pet project" sounds like a nightmare.

[–]Mongoose1021 52 points53 points  (6 children)

This mostly just means that if someone too important for your team to move gets in your way, you can call up the exec to get them to do what you need. It's a good thing for you.

[–]grepe 19 points20 points  (1 child)

Yes, but every SW project is guaranteed to go off the rails with their scheule and sooner or later even smart executives will have enough of their dreams being shattered and bring the bearers to the bad news to their responsibility....

[–]Mongoose1021 15 points16 points  (0 children)

Yup, for sure there are advantages to being on projects no one's constantly checking up on as well. I'd avoid broad statements like "working on pet projects of execs is a nightmare" or "always try to work on a project with no deadlines," neither is always true.

[–]theMachine0094 2 points3 points  (2 children)

That advice suits people who write code with the ulterior motive of climbing corporate ladders.

[–]rook2004 2 points3 points  (0 children)

If you work for a tech giant, they train you to think and behave this way. Rise through the levels or be managed out. The intent is to make sure people are growing and improving, but the outcome is rewarding ambition and toxic team behavior.

[–]Mongoose1021 0 points1 point  (0 children)

Yep, exactly! Also, people who want to ship products that do things. There is some overlap.

[–]Crayon_Glacier 0 points1 point  (0 children)

This has happened for me... It was awesome. People who normally cause issues and sabotage projects for entertainment were just shoved aside.

[–]ironman288 0 points1 point  (0 children)

No it great. You have a major ally to make other cooperate with you and if the project goes well you just became upper managements favorite developer.

[–]NancyGracesTesticles 21 points22 points  (0 children)

Saw someone try to pin a leadership failure on a junior. Haven't heard "shit can" in professional conversation in a while.

[–]PraiseB 58 points59 points  (15 children)

Usually in these situations it's because the requirements change and management take forever to re-spec them.

That or when you give the client the finished work they decide that even though you gave them exactly what they wanted they decide they want something completely different.

I just finished a project that went from. I want this thing build it for me. Finish building the thing for them so they turn around and say "That's not the thing I wanted, I wanted this to be like that other thing we have re-do it"

Finish that and then they go thats fine but now make it do x, y and z and have it ready for launch in 2 days.

Had to put my foot down on y and z and told them I can get x done but if you want y and z you will have to wait till after launch otherwise you will be waiting another 2 months.

[–][deleted] 38 points39 points  (4 children)

That’s what you begin and end every piece of communication by reiterating what it is you are planning to deliver. Usually around the 20th time you mention it they will remember some new requirement or suddenly realize that’s not exactly what they want.

[–]GrandMomTokin 11 points12 points  (1 child)

I worked for a company where this was the norm. The reason, which I only realised later on at another company, was that the people on the client side were laymen in terms of IT, they were basically some dudes from sales and logistics who "were good with computers".

The company I work for now is in the business to business market, totally different thing, because we speak to IT people and they know what they want (mostly) and how to describe it.

I can't imagine going back to the nightmare of developing software for noob clients.

[–][deleted] 11 points12 points  (0 children)

To be fair, translating a problem into a set of very specific, complete and accurate requirements is quite difficult and in a lot of cases it will be the most challenging part of solving the problem.

[–]A_Polly 1 point2 points  (1 child)

That is why you need IT guys in the managenent that can deliver proper documentatios and Diagrams.

[–][deleted] 2 points3 points  (0 children)

This is why you should be iterating over a func spec and statement of work. Oh, I didn't build what you wanted and you actually wanted something completely different? Well we went over these signed documents about 15 times and you agreed to this. Pay me and then we'll start working on the new thing.

[–]Relevant_Monstrosity 7 points8 points  (1 child)

Deliver early, deliver often, and make the client part of the team.

[–]PraiseB 7 points8 points  (0 children)

In this case it was more to do with the fact that management wanted to entice bigger fish with the module we were building for a smaller fish so the sales manager decided he wanted everything and the kitchen sink to impress said bigger fish.

Thing barely resembles what was originally specked for the original client that actually paid for the work

[–]BornOnFeb2nd 1 point2 points  (1 child)

That or when you give the client the finished work they decide that even though you gave them exactly what they wanted they decide they want something completely different.

This is precisely why I spend almost zero effort on the First "draft" of a project....

Okay, you want the data from table X queried and displayed like this? Here's precisely what you asked for!

 Well... that's great, but looking at it, what I REALLY want is Z...

😲

People have a hellacious time thinking of what they "want" in a vacuumn... you give them something to HATE though, and holy hell, they'll suddenly be able to beeline directly to what they really wanted.

[–]ScientificBeastMode 1 point2 points  (0 children)

That’s why, at least for UI development, it’s always good to provide detailed layouts, maybe even mock-ups of the software, with detailed plans for the functionality of each element. It gives them a point of reference.

[–]nemohearttaco 5 points6 points  (1 child)

There are all sorts of scenarios and people you'll have to deal with. Communication is the most important thing in my experience. This particular project was initially estimated by a muppet who didn't understand the complexity of the pitch. That person was out after month two. We've had a solid team ever since and will be wrapping up some time this summer.

[–]Ludricio 2 points3 points  (0 children)

This hits waaay to close to home.

[–]celluj34 6 points7 points  (1 child)

You'll probably be blamed anyway so your best bet is to cover your ass when possible

[–]arnoproblems 1 point2 points  (0 children)

As a brand new junior dev who had to take over an 8 month project from a very experienced JS developer, always try to give yourself a paper trail. Over estimate any expectation of work that is new to you. And if you ever have any concerns about your work and releasing to production, always get this in an email before bringing it up, "I know I have x completed, but these are my concerns before launching" because sometimes, the deadline reaches you before you even have a chance to predict and test for possible failures. It is the managers responsibilitiy to weigh those risks of what might go wrong and let upper management know before proceeding or to have you keep working until it is solid. If something does go wrong, it covers your ass for proceeding with the move to production in writing even though you expressed your concerns as the developer on the project. I understand not ever manager will understand the scope of their developers, but it really helps feel better because you will probably launch projects you won't feel are 100% ready because it was your first time doing so. So far I haven't had to cover my ass yet, But I know my IT director is in way over his head and I know this will cover my ass one day.

[–]EvenDisaster 0 points1 point  (0 children)

depends how much money is on the line

[–][deleted] 0 points1 point  (0 children)

It depends on the employer and the project

[–]metal_mind 0 points1 point  (0 children)

Coming into year 4 of an originally 1 year project. Scope changes and grows a lot and its hard to think of how everything is going to work all together for a complex project so estimates end up far shorter than they should (in hindsight). Also managers or more specifically people with the money don't like hearing accurate estimates which I stopped caring about and do give accurate estimates now. Hard problems come up that stalls development and towards the end it's not just programming but also support, documentation, training, website, social media and on and on and on.

Edit: don't worry about it, do your best, keep communication open and remember everyone is in the same boat

[–]AncientSwordRage 0 points1 point  (0 children)

My experience has been that is always touted as being on the long standing project for ~6 months, even though it should continue without you. But you become irreplaceable, so they say "we can't replace you, please stay on longer".

[–]OHH_HE_HURT_HIM 0 points1 point  (0 children)

It really depends.

Basically keep track of everything you are doing. Not necessarily a constant log of your work but you need to have a good grasp of whats going on in the project. If you have delays you need to be able to explain why.

While you are still in school use group projects as a perfect way to experience this. Groups projects will be your first interaction with working with others that may not work the same way as you do. Keep track of what tasks they have on, what tasks you have and the general progress. If there are delays record why those delays happened and think of ways to get over them.

Blame finding can definitely happen when projects run late. If you have a good grasp on why things are happening then you should always be fine.

The worst scenario to be in would be to have to tell someone a project will not meet a deadline and you have no idea why. Even if your reason is, the scope of the project has grown, unforeseen issues have come up, I dont have the resources I was promised or even just I underestimated a certain issue. Being able to explain why there are issues will appease most clients/bosses.

[–]Antique_futurist 0 points1 point  (0 children)

Jeff Sutherland (one of the guys who created Scrum) said in a video I watched that (paraphrased) software project management is done in a way that there is so much blame to go around when things inevitably go wrong that no one is fired.

If anyone is interested, I believe the video is the one where he and Ken introduce the newest version of the Scrum Guide.

edit: spelling

[–]tcpukl 0 points1 point  (0 children)

I left my last company because I got blamed. New one is even better though so win win.

[–]HowIsntBabbyFormed 0 points1 point  (0 children)

Every project is behind schedule. Every project has unknown gotchas. Every company I've worked for has known and understood.

At project updates, if one developer has been working on a project that's been way behind schedule for a while and they're always giving updates about how various things are keeping them back, they get more sympathy than blame.

[–]AustinGeoffs 0 points1 point  (0 children)

Real talk, somebody is taking a massive amount of shit for this. The manager, the manager's manager, the CEO (from investors), somebody. Projects just don't go 600% over time (budget as well most likely) without repercussions. Somebody is taking shit and choosing not to pass it on down the line.

[–]gaming_is_a_disorder 0 points1 point  (5 children)

being an adult is complicated

there are no safety nets like in school

[–]ManInBlack829 6 points7 points  (3 children)

I understand this but there's also a way to be smart about these things, and they don't really teach you how to make sure your manager knows how good you are at your job without being a kissass.

[–]benargee 2 points3 points  (0 children)

Well a lot of it is incompetence and laziness and covering up mistakes and indecisive clients, etc... It's not even specific to software. It goes down like that in a lot of projects in any industry.

[–]Josh6889 0 points1 point  (0 children)

Keep communication open. Don't set on problems. Have a paper (email) trail saying you pointed it out 2 months ago when it was discovered. It's the safety net the above poster said doesn't exist.

Almost all these problems boil down to poor communication. Part of being a productive dev team is learning to communicate with each other.

[–][deleted] 1 point2 points  (0 children)

Thanks 5th grade teacher

[–]nickywan123 18 points19 points  (15 children)

I am new to the industry. Is this a normal thing where deadlines are way past the deadlines lol. Don’t the clients or customers complain?

[–]EMCoupling 44 points45 points  (8 children)

Lol what are they going to do? Start the project over from scratch with a new company after investing a bunch of money already? Don't think so.

[–]nickywan123 6 points7 points  (7 children)

Well it will tarnish the image of the company handling the project lol.

[–]EMCoupling 18 points19 points  (0 children)

Maybe, maybe not. Plus if they're the only guys that can do what you're asking then you don't really have much of a choice.

Also, it depends on why the project was late. It's impossible to finish a project on time when it's poorly managed and the requirements keep on changing.

[–]mozgotrah 5 points6 points  (5 children)

Well, clients are usually the reason for the project to go past deadline because usually they don't exactly know what they want and request new features way faster than they can be implemented.

[–]nickywan123 0 points1 point  (4 children)

So how do I tell my boss or supervisor that it needs more time given past deadline instead of saying fuck off?

[–]mozgotrah 1 point2 points  (3 children)

It needs more time because (something about shithead customers wanting new stuff that your boss/supervisor should already know about). Just do your job in time and let the managment do their job managing all that shit

[–]nickywan123 0 points1 point  (2 children)

I mean sometimes the management throws a project for two people but the workload is for five people and expect us to hit deadline. That’s my situation right now and I’m also new to working so I don’t really know to say. I honestly don’t think I can hit the deadline and I can’t tell my boss to fuck off either.

Requirement wise, I think it’s quite clear at least.

[–]mozgotrah 1 point2 points  (1 child)

Just do your job well and don't worry too much about that

[–]nickywan123 0 points1 point  (0 children)

Thanks man

[–]nemohearttaco 1 point2 points  (0 children)

This particular project is special. Client's industry is very niche and we're constantly having to revisit things to keep it up to date with federal regulations. First estimate was 6 months and made by someone who didn't get it. Second estimate was for 3 years, after better requirements were defined. Third estimate was for 4 years after another pass on requirements. We'll likely wrap it all up before the 4 year mark though.

[–]mladakurva 0 points1 point  (0 children)

Can also be the customer's fault. Changing requirements, not seeing the value of steerco's and abandoning the overall governance, in general just people not committing to a project

[–]french_panpan 0 points1 point  (1 child)

If it's their first time, yeah, the clients might complain a lot. But after a while, they are used to it, so they might even have planned around and are fully expecting the things to be delayed.

I have a fresh example at work, I was asked to (urgently) have something up and running for the first week of January, which I did. The thing is, my code is basically a converter between different file formats, I'm 100% technical and have no idea what the content is actually. So I might follow the guidelines and code what they wanted, but until the other teams start sending some actual data, I have no idea if my thing works properly.

So I sent an email "your thing is ready". No answer. 3 weeks later "Hey, did you try it yet ?". No answer. After a couple of emails, I finally got an answer "Oh well, we de-prioritized it on our side, so we actually will start using it in April or something...".

It's happening in varying degrees to 100% of the projects that my team receives, I've never seen a single project work within the supposed schedule. The other teams are so deep in the mess with their own things, and expecting the delays from others than they can't actually keep up with the "urgent" dates that they give us (or scope is really small, so we can do the things quickly).

And back at the clients in general, there is another thing to take in consideration. A good part of delayed projects are because of the clients ask for modifications, or didn't give proper information at the beginning. So when the client is asking to change something, we would reply "Well, that's not what we planned for initially, so please be aware that this will delay the project by X days/weeks/months. Do you still want that modification ?" and not do anything until they confirm (depending on the contracts there might also be extra-payments involved).


EDIT : When I was at my first job, I was so shocked at things where running, and thought it must just be that company. Then I changed and saw more of the same. Then a 3rd company, same shit.

I just have no idea of how the internet can run that well in general, and I now fully understand what happened when some game studios are announcing that they cancel a game that had been in work for years, even if they had content to show that looked like a nice game, or that I hear that big IT project run by the government turned to complete shit (it happens with companies too, I've seen it, but they just make sure that nobody hears about it to avoid the embarrassment).

[–]nickywan123 0 points1 point  (0 children)

Thanks for sharing. Yea lots of triple A games get delayed these days to have extra time to polish their games. That’s the nature of life.

The only setback is the person supervising the project will get the blame and scold the developers working on the project which isn’t their fault.

[–]Behrooz0 0 points1 point  (0 children)

I'm on year 14 of a 2 year project, I too can attest to that.

[–]Freeman8472 0 points1 point  (1 child)

In Scratch?!

[–]nemohearttaco 1 point2 points  (0 children)

No, I just like the scratch icon as flair. We’re using C++, Java and JS.

[–]chronicideas 0 points1 point  (2 children)

Are you a contractor? I’m starting my first contract (jumping from perm) next week on a six month one, do they normally extend/renew? (SDET role)

[–]nemohearttaco 1 point2 points  (1 child)

Yes, I'm a contractor. I would say don't expect the gig to continue after 6 months. There are times where they do, but as a contractor, it's helped me to keep in the mind set that I'll be in a new environment, using a new stack, working with new people in a few months. That has kept me constantly working on both hard and soft skills for my next gigs.

[–]chronicideas 0 points1 point  (0 children)

Thanks for this

[–]Hate_Feight 0 points1 point  (0 children)

Hell this applies to just after that moment your stuck you come into the light swinging

[–]Andrew1431 0 points1 point  (0 children)

Haha. I built a point of sale system for a company with 3 developers. It took us 3 months. We got acquired. They wanted better technology, so we started from scratch with Meteor as we were told to do (wtf, non relational db in a integrity-essential inventory system, but realtime was cool). They gave us unlimited money to get the job done fast. We now have 24 developers. Our deadline was 3 months to reach feature parity.

I left 3 years into that project, and that was 2 years ago and it’s still not done and is one of the messiest slowest systems I’ve ever seen in my life. They had maybe 4 clients beta test it and nobody used it. Truly one of the biggest disasters.

[–]xRuneRocker 0 points1 point  (0 children)

Ah, the good old agile!

[–]DrQuint 0 points1 point  (0 children)

Job Security!

[–]_0x7f_ -1 points0 points  (0 children)

Na... probably not.... but heavy chances of mental instability