I have been part of many successful software projects. Unfortunately, I have seen many that have failed or will in the near future. By this point in my career, I thought companies would understand how software engineering works since the first software program was written in 1948! Sadly, I see companies make the same mistakes over and over (the definition of insanity). I will share a recent story where I learned, during an interview, of a company making these mistakes and more which lead me to not continue with the interview process.
Imposing Deadlines Without Involving the Development Team
When I was interviewed by two of their developers, they were telling me about deadlines that they are dealing with. I asked them and later the head of the department the following…
“Is the development team involved when coming up with deadlines?”
The department head said that they are not! The deadlines are placed on them from the business department. I have worked for companies like this before and this never works! How can deadlines be made, even put in signed contracts with customers, with no input from the people who are going to do the actual work? I would love for someone to explain to me how this could ever work? This will lead to these deadlines being missed. At one company I worked at, they were fined every day they were late. This will lead to other issues that I will discuss later.
The development team must be involved in these meetings! I cannot stress this enough. This reminds me that most teams I work in, even today, do not involve the quality assurance team in the project from the beginning. How can they effectively do their job when they are not involved? I have seen this hamper the release of the project and even sometimes the team must release emergency patches because things were missed.
Department Head Does Not Have a Technology Background
During my interview with the department head, she told me that she does not have a background in technology which I think meant software development. She came from business development, and she even said she did not know why they put her in this position. During the interview when I was telling her about my qualifications for the job, I could tell by her facial expressions she might have never heard those words I was using before.
By no means am I saying she is not qualified to manage developers, but I have seen this many times before and it never worked out well. Even the last job I had, they put in place a new manager from the finance department that had zero experience in software development! I predicted that the move will be the end of the team and that is happening right now.
How can you manage the development team, the development process to deliver projects on time when you have no idea how the software development process works? That is like a hospital hiring me to run their surgical department! Sure, I can manage people (I have been doing that since I was 18 years old), but what do I know about surgeries, besides having a few? It makes no sense, right?
I am very honest in interviews, maybe too much so when I told her that if they hired me as the lead developer and the business department came to me with a deadline that I know is unrealistic, I will push back.
Working the Team Too Hard
Even before my first interview, the recruiter told me that the developers do not work a typical workday. Not sure what this meant until the first interview with the developers where they told me they have a lot of deadlines. So, when I was interviewing with the department head, I asked her, on average how many hours a week do the developers work. She told me 50. I am sure this number is higher. She told me that the major migration they are doing to a new system must be done by the end of the year. Yes, she was not part of this decision.
Working the team to death will lead to an undesirable outcome. Not only that but developers will also get fed up and just leave. Therefore, they are outsourcing a lot of the work to India. They cannot find developers in the United States that will put up with this.
When I posted a Tweet about this, my good friend Woody Zuill who also created Mob Programming replied…
This is so true! Working more than 8 hours a day will lead to a lot of mistakes and more. Once, when I was a beginner, I was working on a project, working long hours, and one day I was working so many hours I started to see the code move around on the screen by itself! I was hallucinating as if I was on heavy pain medication.
How do you expect anyone to produce good quality code that meets the business needs when the team is working 50+ hours for over 18 months? The other danger, which I guarantee will happen, is that once you set this precedent, the business development team will always expect this.
It is not like the developers, in the US, will get paid overtime, they are on salary. They do not get that type of pay. Also, there was no mention of a bonus when the migration is completed. The company pays developers in the low range for their hard work. Long hours and low pay lead to developer burn out and they will quit the company.
Hiring a lot of outsourced developers when the project is in crisis does not work either. More bodies do not equal more work getting done. It takes a lot of time and hand-holding to get them up to speed with how the project works. I have seen this firsthand, and the project still does not get done on time.
Company Reviews on Glassdoor
I looked up this company on Glassdoor.com and here are some recent reviews,
- New owners are terrible.
- High-stress position, not for me.
- Pay can be a bit low.
- Would not recommend (this company) if you have a life outside of work.
- Behind on the times technologically.
- Leadership is burnt out and exhausted, with little resources.
- Beware of phony posting with four stars! HR and senior managers very often post to this site inflated evaluations. NOT a reputable company and you will be treated like cattle and expected to work long hours!
I can keep going but I think you get the idea.
Summary
Here are the main points again for this article…
- The development team must be involved in the process when coming up with deadlines for projects.
- Put in place managers and project managers who understand how the software development process works.
- Do not work for the team too hard due to these unrealistic deadlines. This is a failure with management, not the development team.
- Before you do an interview, look up the company on glassdoor.com! I usually do this, but I forgot this time.
This is a financial company and they have a lot of your data including credit and banking information. They are hiring developers with little experience and working them too hard. This will lead to mistakes which means your data could be compromised. Also, I have heard of this type of working at other financial companies. Maybe this is the norm?
Have you seen this happen where you work? I would like to hear from you. Please make a comment below.