3

I started in this new job as a software developer (java SE desktop) after 4 months of finishing college, I already had two jobs and I had quit the last one to finish my degree in computer engineering. I have not coded in for like a year and I never liked to code in the first place but most of the positions around here are only for programmers.

Anyways I got a call from a company that outsource IT related personnel to business about adding some small modifications to a small module of a system that does purchases of truck parts for their spare parts warehouse.

I got offered twice as much as in my last job, so I accepted and after the interviews everything seemed fine. Until I actually met with the staff of the company we were hired as contractors to find out they wanted a full blown ERP system to manage their entire operations nationwide, I had a panic attack right there at the project kickoff meeting and developed a nervous colitis for the entire weekend but managed to take it under control by Monday morning.

Later in the Monday me and my teammates were assured not to worry because the last contractor left the project at "85%" advantage.

When me and my coworkers (we are 4 in the team plus a project manager) reviewed the supposed almost finished code we found out it was worthless since nothing is validated and there is no database connection and the data it shows is hardcoded.

So we discarded all and decided to start from scratch, we also found out that the requirements made by the annalist team were outdated and almost completely out of the scope that the users want.

The ERP was divided in 3 projects and the one me and another coworker were assigned has been stalled for 5 years, every meeting we have to update the requirements keeps adding and adding more and more features and module, so we just kept adjusting the duration during planning, after a week and a half of reviewing the requirements and the old code we also found out we need to design and make and new database since the existing one is useless and that we also have to make the UI.

We were hired as software developers and have been doing the job of DBA, Analyst, Software architects and technical support since our assigned PCs were all boggled down by the previous users and had to format them we lost 2 entire days on that.

Then after 2 weeks we were told that the ERP was going to be developed using 10 year old technology (JSP, AngularJS 1.0, Glassfish 3.1 JDK6 netbeans 7.1 and MySQL 5.1 on MyISAM tables) we managed to overcome that obsolete environment and have a modern responsive web template to run on that.

We adjusted our planning and reported that we could deliver it in 4 months if the 4 of us worked in one of the 3 projects fulltime; then in one meeting the development department manager after looking at our project plan asked hypothetically what would take 2 of us to finish it in 3 months so we stated some of the things we could do to achieve that with very precise conditions and the statement that it would only involve up to the development and using more current technology and frameworks, and not the testing and implementation.

The next morning we were told we had 3 months to develop, test, implement and then maintain the entirety of the ERP instead of the 2 years we told it would take. Since the 4 of us were now going to be divided into 2 teams of 2 to tackle two thirds of the ERP in that time.

Since I learned of this I have been scheduling interviews with other companies because I think this is like the titanic after it struck the iceberg. Right now I can live without a job since I live with my parents and they say it is ok if I quit or want to move to another job. So I do not have to worry about money.

The entirety of the IT department is also run on pure chaos, nothing is standardized and no one follows the best practices.

Yesterday the manager of the development department told they want a third of the ERP (an entire human resources module and a job exchange site) by April 15th instead of may 23rd Fully implemented and in operation, We all had a panic attack right there. The department managed noticed and told us that if we finished by that time they would renew our 3 month contract and even incorporate us from their provider.

Every day the situation turns more kafkian and ridiculous every meeting more modules are being added to the ERP and they keep wanting reschedule delivery to an earlier date; at this point me and my team mates just nod to everything they ask us and joke about how we are the musics of the titanic that played until the end they plan to stay the contractual 3 months and then look job elsewhere or stay there.

I am not going to work beyond my contractually agreed schedule since I am not getting paid extra and I am not going to sacrifice myself for the completely surreal expectations of management.

This company is one of the biggest trucking companies in my country and their IT infrastructure is a complete joke running impossible deadlines not only in software development proyects but in all projects in general.

I suspect there is a problem with how management of the project engineering department handles the time assignation for all projects.

Me and my team mates have also found out we are the second or third team to retake the project and to experience this same situation and that one of the ERP modules (human resources) has been stuck in development hell for 5 years.

Every day management keeps rescheduling the delivery date almost halving the previous one.

I plan to stay the term of the contract but I am still getting offers from other companies, should I change jobs or wait until my contract expires?

closed as off-topic by gnat, Masked Man, Mister Positive, Retired Codger, David K Mar 12 '18 at 13:14

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    I am baffled by your last paragraph. – aparente001 Mar 12 '18 at 2:35
  • 1
    If you're in a contract, you should check the terms and the local laws in your country to find out what kind of penalties you'll face for leaving early. Use that to make a decision. – AffableAmbler Mar 12 '18 at 2:40
  • According to my contract there are no penalties for resigning only that I compromise to give notice a month before I leave... I actually plan to soldier on the 3 months of the contract but I think is completely impossible to finish the project on schedule. – Alejandro García Mar 12 '18 at 4:17
  • Did I read correctly? You can deliver a full blown ERP from scratch in about 4 Month (with 4 Developers, not fulltime)? When this is true, you can also do it in 3 Months...no worry....( I don't see much difference in 4 weeks) – Ben Mar 12 '18 at 8:58
  • 1
    Did you state very clearly that the deadline set is impossible? Management can impose shorter deadline than engineers but I expect them to sprint the dev team an extra mile, not an extra ride around the equator. – Cris Mar 12 '18 at 14:14
7

You have some impossible deadlines, so you have a problem. The solution: Go to your manager, tell him that the deadline is impossible, now he has a problem.

The fact that all deadlines will be missed is not your problem. Just tell your manager what will happen, do your job, don’t stress, and take your money.

When the company finds its deadlines are missed, they have the choice of giving you more reasonable deadlines, giving you new, equally ridiculous deadlines, or hiring fresh developers and giving them impossible deadlines. None of that is anything you need to worry about.

If the pay is good, you stay as long as possible.

  • 7
    Did you mean "Go to your manager, tell him that the deadline is not possible"? – Paul K Mar 12 '18 at 8:39
  • 4
    If you're going to go down this route, I'd add "tell him that the deadline is impossible in writing." If this comes back to bite someone hard, you'll want to make sure it isn't you that gets bitten, and the easiest way to avoid that is to have a paper trail. – berry120 Mar 12 '18 at 15:13
3

You have some scope creep and you got handed code that was less than perfect so you threw a temper tantrum and tossed it? Grow up. The client is specifically requesting a particular version of Java? That's unusual, but you've done none of the work necessary to find out why. It seems like you really don't care about doing a good job in this role at all.

I recommend you reassess your commitment to the profession of software engineering. You're not focused on helping your client, you're complaining about normal roadblocks that we all face at some point. Get over it.

  • 5
    The scope creep sounds unreasonable. For a 3 month project, I would expect 95 % of the requirements to be set in stone. Otherwise OP should simply explain that every new feature or change will extend the duration by n weeks or months. – Juha Untinen Mar 12 '18 at 6:21
  • 1
    To me this seems something more than a roadblock, it seems that someboby is actively trying to make the project fail (if what say the OP is true). – Gianluca Mar 12 '18 at 7:54
  • That seems rather harsh. Given that he is fresh out of uni, should he really be focused on helping the client? Should his boss not be doing that & the OP be focused on doing what the boss says? – Mawg Mar 12 '18 at 12:52
  • You are not completely wrong but when management is failing so hard all you want to do is putting a cynical shield of protection between you and the monkeys. – Cris Mar 12 '18 at 14:12
  • 1
    This isn't scope creep. I think it's someone in the company trying to cover their own horrible misplanning. – Loren Pechtel Mar 13 '18 at 2:07
3

When me and my coworkers (we are 4 in the team plus a proyect manager) reviewed the supposed almost finished code we found out it was worthless since nothing is validated and there is no database connection and the data it shows is hardcoded.

I once had a plumber to my house to install gas heating, replacing an old oil heating system. He gave me a quote.

While he was doing the job, he discovered that a lot of the piping from the previous system had become all clogged up and had to be replaced. He then told me that there would be an extra cost to this bit of work. This did not surprise me as the old system barely worked, and so I accepted the extra cost.

The point is, when the job is bigger than was originally spec'd - whether that's because new modules are added or the stuff that is supposed to be already complete is useless, it's perfectly acceptable and reasonable to announce the extra cost/time required to put it right. You just need to be assertive about it.

Every new module is extra cost & time. Starting from scratch as opposed to building on top of an 85% complete project, is a huge extra cost & time. You - as a dev team - need to let the manager know this. Just because they want it doesn't mean they'll get it.

Like my plumber analogy, if you bring a punctured tyre from your car to a repairman, but the hole is too big to repair, he'll be very quick in telling you that you need to buy a new tyre.

  • Yeah, this how I usually roll with clients so they stick to the requirements when everything extra costs extra, this time lots of stuff is being added while the time keeps getting shorter. Finally managent decided to stick to the set requirements and note down the updates and extras to future follow up proyectd. We are building the minimum required functionality to deliver on time and then scheduling the additions for new projects. – Alejandro García Mar 12 '18 at 17:29
1

Someone with more experience would raise all the problems after the first day, no need for panic attacks you cant achieve random deadlines without planning and changing scope. (A more experienced person with a bad temper would instantly quit after knowing this details)

Impossible requirements and restrictions made without any technical background or sense, you have to raise that.

If its not heard, lay back and enjoy the explosion.

Not the answer you're looking for? Browse other questions tagged or ask your own question.