As a software developer, I keep getting fired from all the jobs I go to because of "messy code." That I have to do?

Updated on : December 8, 2021 by Annabel Cash



As a software developer, I keep getting fired from all the jobs I go to because of "messy code." That I have to do?

The correct answer depends on what you mean by "messy code." It can be taken in many different ways.

If you just write code without indentation, for example, that can make it difficult to track, as indentation is very useful for outlining sections of code such as loops and if statements. Or if you put multiple code declarations on a single line instead of putting them on separate lines.

If that's the case, use an IDE with an alignment feature to create nicely formatted code.

But I guess your problem is much deeper than the simple format of the code. Your code is probably hard for other programmers to find.

Keep reading

The correct answer depends on what you mean by "messy code." It can be taken in many different ways.

If you just write code without indentation, for example, that can make it difficult to track, as indentation is very useful for outlining sections of code such as loops and if statements. Or if you put multiple code declarations on a single line instead of putting them on separate lines.

If that's the case, use an IDE with an alignment feature to create nicely formatted code.

But I guess your problem is much deeper than the simple format of the code. Your code is probably difficult for other programmers to follow. That's a real problem because your code is likely to eventually be handed over to someone else after you've moved on to another project or job or whatever.

This is a common problem for self-taught programmers learning to code on their own rather than in a team environment. Making the code easy for * you * to understand is not enough. You have to make it easier for your co-workers to understand.

If that's the case, I suggest you take a programming course in object-oriented programming and learn Design Patterns. Use github to see the code written by other programmers and ask yourself what is easy to understand and what is difficult to understand. And * why * is something easy to understand versus difficult to understand.

There are also many books on programming style that provide standards on how to write clear code. It doesn't matter what programming language you use. The general principles are the same regardless of the programming language.

When people tell you that you are writing messy code, be proactive and ask them for steps to improve your code.

Being fired over and over again means you have trouble with your developmental skills. At this point, you should have lit a lightbulb in your head to ask your colleagues what is wrong with your code and what steps you can take to improve it.

To be a decent coder, it takes some agency and diligence.

Is your code messy because it lacks evidence?

Or is it abnormally complex?

Lack of feedback? Buggy?

I can't believe they haven't given you details.

If they gave you

Keep reading

When people tell you that you are writing messy code, be proactive and ask them for steps to improve your code.

Being fired over and over again means you have trouble with your developmental skills. At this point, you should have lit a lightbulb in your head to ask your colleagues what is wrong with your code and what steps you can take to improve it.

To be a decent coder, it takes some agency and diligence.

Is your code messy because it lacks evidence?

Or is it abnormally complex?

Lack of feedback? Buggy?

I can't believe they haven't given you details.

If they gave you details about how your code is / was messy, then you have your answer: stop doing those things.

I suggest that you also read the following books:

Andy Hunt's Pragmatic Programmer.

Clean code from Rob Martin.

Michael Keeling "Design it!"

Software development is a science, an art, and a craft. It is something that requires diligent cultivation.

Good luck.

It's hard to be really detailed without knowing the languages ​​and technologies involved. But here are the steps I took. I worked as a developer for about 4 years without a partner and had to learn a lot on the fly so as not to look like an idiot once I worked with other developers.

  • Use an IDE. Some developers don't like them. I do not mind. What. Anything I don't have to think about frees my mind to do my real work and IDEs think a lot for you.
  • Read about the coding style for your language. Most languages ​​have guidelines somewhere on the internet. Don't memorize it. That's why you go
Keep reading

It's hard to be really detailed without knowing the languages ​​and technologies involved. But here are the steps I took. I worked as a developer for about 4 years without a partner and had to learn a lot on the fly so as not to look like an idiot once I worked with other developers.

  • Use an IDE. Some developers don't like them. I do not mind. What. Anything I don't have to think about frees my mind to do my real work and IDEs think a lot for you.
  • Read about the coding style for your language. Most languages ​​have guidelines somewhere on the internet. Don't memorize it. That is why you have an IDE. But browse through it. You may try to think about why certain rules are the way they are. It will at least give you an idea of ​​how the language is supposed to look when properly formatted.
  • Add the plugin lint / addon / whatever they call it for the language, for your IDE.
  • Add the auto-format plugin for your IDE language. Sometimes this is included in the lint plugin, so you won't need an additional one.
  • Let your IDE do its job by formatting your code

You should do that.

Tidy up your desk. Sort your operating system desktop. Sort your GIT repository. Brush your hair.

And start the program, don't copy paste (at least for a while).

I'm serious.

Messy schedule means you don't care.

I'm not surprised he was fired. I'm surprised they hired him.

One of the characteristics of a good programmer is the ability to write structured code.

If your code is well structured, debugging and maintenance will be easy. It will also improve the readability of the code.

Therefore, I advise you to improve the way you structure your code.

  1. You can apply the modularity approach in your coding.
  2. Use comments when appropriate

Good luck!

Getting fired or fired is a shocking experience if you weren't expecting it. If you've worked a job for a while, you're used to thinking of yourself as a productive and even important part of your department. Letting go is discovering that your value is much less than your paycheck. You feel numb, detached. Your ears are ringing. You have trouble concentrating on the things that are being said to you.

If you are very lucky, you are fired with a group. Maybe you can go back to clearing your desk and saying goodbye, and hear your colleagues say, "Oh no, not you too!"

If you are unlucky, the person who does

Keep reading

Getting fired or fired is a shocking experience if you weren't expecting it. If you've worked a job for a while, you're used to thinking of yourself as a productive and even important part of your department. Letting go is discovering that your value is much less than your paycheck. You feel numb, detached. Your ears are ringing. You have trouble concentrating on the things that are being said to you.

If you are very lucky, you are fired with a group. Maybe you can go back to clearing your desk and saying goodbye, and hear your colleagues say, "Oh no, not you too!"

If you're unlucky, the person shooting says, “You can come on Saturday and clean up your things. We want you out. "And you say, because you don't know what else to say," No, it's my stuff and I'm going to get it again. Call the police if you want! " prayer, but you don't say it out loud because your mom raised you well. You hurriedly say goodbye to your colleagues and they don't understand what's going on, and neither do you.

Ten minutes later, you're at the bus stop with the Box of Shame in your arms and head home in the middle of the day. It is very likely that you will never hear from the people who have been your close friends over the past few years. All the things that I thought were going to happen this month and the next and the next month are suddenly gone. You are adrift.

You say something brave or something in a bad mood or something angry to your spouse. But your spouse doesn't understand. They have work. They know what happens tomorrow. They try to comfort you, but at the same time you know they are accusing you. "What did you do to get fired?" And you don't know. Or you know, but knowing is not useful. Either you know exactly and feel embarrassed or surprised.

Suddenly you have time to do all those things that you couldn't do because you were working. But you do not have money to do them because you are unemployed and you have to watch your expenses. So no good vacations, no remodeling projects. You jump into another job as if the job search is itself a full-time job. Only in the modern world can you apply for all the jobs you can find in half a day, so what do you do the rest of the week to pretend you're busy?

The impact on self-confidence takes weeks to wear off, even if you're confident you can get another job. Your self-doubt affects you when you update your resume and when you conduct an interview. Sometimes it costs him a job that he should have been able to get.

Eventually, you go back to work, but you're always thinking, "What if I get fired here too?" It may take a year for it to wear off, for you to regain the confidence that it is valuable.

But it just happens again, in a slightly different way, a few years later. There is a recession. There is a purchase. There is a pivot. Over time, he learns that companies have no loyalty to their employees, that they will blow him away when business needs change, because otherwise they could be fired.

You develop an armor of cynicism. You train yourself to care about the code and not about the technology of the company, because that disappears without warning. You become a ronin, an unemployed software samurai, moving from job to job without a teacher. You think more and more about retirement, until one day, you just stop looking for a new job. Eventually you tell your friends that you have retired. You get used to being at home. There is no stress at home, there is no disappointment.

Edit A few tips for people getting laid off in the United States. You have more power than you think in a layoff interview. It is best to enter the interview prepared.

  • Don't rush into your termination interview. Take a minute to check your heart rate and breathing before saying or doing anything. Every time you get angry, stop and take control again. Don't let them rush you. Adopt a relaxed demeanor. You're no longer on the clock, and if your interviewers seem to be in a rush, it's their problem, not yours. Let them sweat.
  • Stop and read everything. You do not have to sign anything other than perhaps a receipt at the termination interview. Say, "I need to take this home to my lawyer before I can sign it." (That will scare you.) They practically can't force you to sign a contract without your lawyer reading it, even if they say they can. Even if you do not eventually find a lawyer, this gives you time to think about what is going on and prepare questions.
  • If you are not offered severance pay, there is no incentive to sign anything at all, and even if you do, any contract may be void if there is no “consideration” such as severance pay. Watch? That is why you want your lawyer to see the papers.
  • Make sure you understand if you are fired "for good cause" or fired for lack of work, because you do not get unemployment insurance if you are fired. The clarifying question to ask is usually, "Will I be eligible to rehire?" If not, it means you are being fired for a cause. If that cause seems suspicious to you, it is a very good idea to have a labor lawyer review the documents before signing them.
  • If you are being fired for a cause, make sure the reason is in writing. In most states in the US, they can fire you for no reason, but if they give a reason, it better be the truth. If they say the reason verbally, write a note that says, "You said the reason for my firing was X." and ask them to sign it. Save the note if they refuse. It's a test.

Welcome to the world of work.

I tend to present what in these types of events is a very cold response. It's not meant to be, but there's actually a lesson here and it's not what you think.

TL; DR Note that I have seen this happen before with others. Many, if not most, have been far more successful at other ventures.

Some companies have a toxic internal culture. Some others work in such a way that they prevent the quality of certain persuasions from flourishing, others work in highly competitive but political environments, etc., as you can probably see from this, a large part

Keep reading

Welcome to the world of work.

I tend to present what in these types of events is a very cold response. It's not meant to be, but there's actually a lesson here and it's not what you think.

TL; DR Note that I have seen this happen before with others. Many, if not most, have been far more successful at other ventures.

Some companies have a toxic internal culture. Some others work in such a way that they prevent the quality of certain persuasions from flourishing, others work in highly competitive but political environments, and so on. As you can probably see from this, a large part of professional programming is not programming. it is about the culture of a workplace. That culture does not suit everyone, but the culture that adapts, which is often called for, does not necessarily mean that people will prosper if they are useless problem solvers. So at least you need both. The problem with "cultural adjustment" is the term that often causes homophilia, but that's another story.

There was a boy I used to know. He was a good, solid programmer. He got a job at a technology company that had a lot to do internally. They were also flooded. No training was provided. His ideas were well received, but people didn't want to stop turning the crank. However, his boss was upset after the first month, as the guy wanted to do things right and the boss didn't think the company had time to "get it right." Therefore, much of the work that returned to the company was software failures. Insects Most of which could be detected by a good set of automated tests. Instead, the boss wanted everyone to pull the crank and this acquaintance who came to improve the process was never allowed to do so.

Then the boss fired the person exactly 2 months after it started. Citing their performance as poor.

I remember having a conversation with this acquaintance. Supporting them through messages, etc. during that time. My advice to him is the same as it is to you.

“Software development is not a meritocracy! You will find yourself in companies where their setting is not the same as yours. His ethics are not the same as yours. Your best bet, given that the market always demands software engineers, is to go away and find a better company for you "

Later, this person got a job at a larger company. They were promoted twice in one year to an architecture position. It was the same improvements they wanted to make in the first company that promoted them in the second. As if to prove that the first company were useless cowboys (which they were).

So, in a way, your "former boss" is right. You will need to find a company that supports you. But also his ideas and he wants to improve. Sometimes you have to get rid of someone because the machine cannot support their existence and will not support their existence (this last point may even be out of the control of your bosses if they are not the CEO, although they are in your case). .

It's even possible that your ex-boss saved you from a proverbial fate worse than death by saying goodbye early (though I don't have the impression that's the case). Sometimes it happens.

Most of the responses focus on "good" workplaces. However, according to Sturgeon's Law, 90% of everything is bullshit, so most software engineers are working on bullshit and the reasons for being fired go beyond personal guilt (already either due to incompetence or criminal behavior). Here are some samples from a place I spent three years (well, the pay was good).

1. Fired for being a woman. It is not a joke. I hired her myself. Great engineer, contributed a lot to the codebase, got along well with the team (I thought so). A few months after I left, she was fired in a big "belt-tightening" layoff (the company has

Keep reading

Most of the responses focus on "good" workplaces. However, according to Sturgeon's Law, 90% of everything is bullshit, so most software engineers are working on bullshit and the reasons for being fired go beyond personal guilt (already either due to incompetence or criminal behavior). Here are some samples from a place I spent three years (well, the pay was good).

1. Fired for being a woman. It is not a joke. I hired her myself. Great engineer, contributed a lot to the codebase, got along well with the team (I thought so). A few months after I left, she was fired in a huge "belt-tightening" layoff (the company has over 3,000 employees). I understood better after talking to the new team leader ("communication problems").

2. The manager fires you to cover up his incompetence. One of the guys worked for a year on a new project and the spec changed every day. The software was working fine after two months, but the manager who ordered it didn't want to put in the effort to learn how to use it, so he complained continuously for a year. That engineer left the company before they could fire him, but from what I hear they keep complaining and the code is dead.

Specs Tip for Managers Reading this: Painless Functional Specs: Joel in the Software

3. Fired for competition. The engineer suggested and made pull requests for significant code base improvements. The chief engineer didn't like them showing up. Boom. It happened at least 3 times. My attempts to get the chief engineer fired for incompetence, unfortunately, were unsuccessful: "He has worked incredibly hard for the past two years, including several weekends and staying in the office often after midnight," see last part of 4.

I also had some issues (although I was not fired) a few times after questioning management's reasoning and assumptions in the models they had asked me to review. Not because neither of them was right or wrong, but because they were too lazy to do a job that their immediate superiors (the board) did not require. I didn't like the fact that their entire financial model predicted revenue based on just two variables, one of which was "a guess."

4. Lack of conformity with the drone environment. Otherwise, the productive engineer worked nights and wore T-shirts and slippers in a "smart and casual" cubicle farm (his job required no clients or even PM contacts). "Hey, I never see him in the office, is he still working here? I don't like his attitude."

This has been a recurring complaint. My advice to prospective software engineers now is to wear a well-pressed white or light blue shirt with no pockets and jeans (the "McKinsey casual uniform") for the first three months and report at 8.20am. M. For at least the first month. then play it by ear. "But software engineering is a meritocratic industry! It says in the job posting that only production matters! Etc., etc." yes but no Many people judge the condition by visual cues. Also try to be tall and exercise, it's like high school.

5. Strategic wind change. Management decides to hire a team of 10 on a whim. Management decides 6 months later that it is too much effort to finish the project.

Let's distinguish between "fired", as in "pack your things and security will escort you out", and "let go" or, in a common euphemism, "managed."

Note: I will limit the scope of my answer primarily to Amazon, but much of what I say applies to Microsoft as well at the time I was there.

I've only seen the guy "fired" once, and it was someone who harassed another employee while he was drunk (after harassing the same person in the past and being warned). As Adrian Oprea says, there is no place for that in the workplace.

The most common situation is when someone is not performing well enough, or in the Amazo

Keep reading

Let's distinguish between "fired", as in "pack your things and security will escort you out", and "let go" or, in a common euphemism, "managed."

Note: I will limit the scope of my answer primarily to Amazon, but much of what I say applies to Microsoft as well at the time I was there.

I've only seen the guy "fired" once, and it was someone who harassed another employee while he was drunk (after harassing the same person in the past and being warned). As Adrian Oprea says, there is no place for that in the workplace.

The most common situation is when someone is not performing well enough, or in Amazon jargon, not "reaching the bar" for their level. Typically, you will see a combination of some or all of the following:

  1. Low productivity - just not getting (enough) things done.
  2. Carelessness: making a lot of mistakes and not learning from them
  3. Drag - Relying heavily on the help of teammates, reducing your productivity
  4. Cultural adaptation: not adhering to leadership principles, for example, not maintaining high standards or not caring about customers
  5. Social adjustment: creating a negative work environment (essentially, being a jerk). That's pretty rare, although the opposite (people who quit because they are uncomfortable) happens occasionally.

If you are committed to being fired, you can probably achieve your goal in 6 months. Just stop working, check a bunch of bugs, be a jerk to your teammates, and make yourself a general annoyance.

But the most typical case takes much longer, usually a year and sometimes even longer. It usually looks like this:

  1. Your manager will discuss your performance during your regular one-on-one meetings (you should have one at least every two weeks). It will start with "so I think there are some growth opportunities", up to "it looks like you could improve your X" and ends with "you need to do better."
  2. If that doesn't help, you will be officially assigned a "performance improvement plan" (PIP), which is a 6-month period in which you are assigned a project to work on, a senior developer to guide and assist you. close (and follow-up) of your manager.
    1. At best, it's an effective way to put someone on the road: you get a project that's specifically selected for you, often even if it's not a team priority; His mentor helps him figure things out on the tech side; and your manager helps you solve any personal or bureaucratic problems. I have seen it work very well several times.
    2. On the other hand, PIPs can also be an exercise in misery. This happens when management thinks it is not worth the effort and only seeks to "manage" it. They have to give him a PIP, it's a policy, but they don't really care about improving his performance; they just want to "gather evidence" to justify their abandonment.
  3. Lastly, assuming you didn't do well enough on your PIP (case 2a) or you weren't given a real chance (case 2b), your manager will usually notify you a month in advance that you are dating. During that last month, you are expected to tie up loose ends, hand over your code and other responsibilities, etc.
    It is also understood that you will be looking for another job during that time, so people will take days off for the interview. In one case, I had a colleague who had no days off, and my manager told him to go ahead and not worry about it.

Again, all of this usually takes about a year.

Assuming you are in the United States, move east. We're not that flashy, but maybe that doesn't matter to you.

As a developer in his 50s with decades of experience, my current employer doesn't seem interested in losing me. And frankly, I enjoy working with experienced developers ... they cost less than younger ones just starting out.

"Less?" you can think.

Yes. Less.

Give me five developers with more than 15 years of experience earning an adequate salary for that experience, and our team will not make mistakes that cost literally millions of dollars. We will also write code that adjusts for changes faster t

Keep reading

Assuming you are in the United States, move east. We're not that flashy, but maybe that doesn't matter to you.

As a developer in his 50s with decades of experience, my current employer doesn't seem interested in losing me. And frankly, I enjoy working with experienced developers ... they cost less than younger ones just starting out.

"Less?" you can think.

Yes. Less.

Give me five developers with more than 15 years of experience earning an adequate salary for that experience, and our team will not make mistakes that cost literally millions of dollars. We will also write code that adjusts to changes faster than younger engineers write, and we will manage the changes we need to improve.

Yes, we incur an initial cost, but we are worth more than the dollars.

Not downplaying the younger developers ... they help us keep older folks from straying too far in our tracks and they help challenge us to stay current. They help promote new ideas that we might otherwise miss.

If your current employer makes you believe they want to replace you with someone less expensive, be proactive and get out. You probably don't want to work there, anyway. Your boss may not understand the job.

Does your manager work with your team for long hours? If so, your manager has not realized that you have traded your worst performance (when you are fatigued and cannot think as clearly) for your best performance (when you are well rested and can overcome a problem) happily). Which aligns with the whole 'finding cheaper developers' thing, because it smacks of the same mistake of looking superficially at numbers without understanding depth.

But, to answer the question directly, if you really want to build your own startup, find a problem that no one has addressed and solve it well. I recommend a solution that allows you to start small, but build from there, so you can get a few bucks right away, but can grow to something that allows you to hire others.

Beyond that, learn about business as you grow it. Learn how to deal with accounting, money, government, having employees, and all the other fun things it takes to run a business. And remember that business is a special kind of war, so read Sun Tzu's The Art of War to learn how to conduct it.

And luck!

This is pretty easy. If a company lets a software engineer go, it is usually due to business conditions, but that is not a layoff.

The dismissal is generally due to behavioral problems (combination of youth and immaturity) rather than competition problems. I'm going to tell you some horror stories, but this is the product of chief engineers for over 20 years, so these are not everyday occurrences. Also, it can be much worse in other work situations. I was an army officer for a long time, so don't even make me talk about the stupid things I've seen young soldiers do.

We all know that the young

Keep reading

This is pretty easy. If a company lets a software engineer go, it is usually due to business conditions, but that is not a layoff.

The dismissal is generally due to behavioral problems (combination of youth and immaturity) rather than competition problems. I'm going to tell you some horror stories, but this is the product of chief engineers for over 20 years, so these are not everyday occurrences. Also, it can be much worse in other work situations. I was an army officer for a long time, so don't even make me talk about the stupid things I've seen young soldiers do.

We all know that young people do a lot of stupid things when under pressure. However, I am usually older than his parents, and I can usually keep those things under control by treating people like my family.

Things that normally won't get you fired, but are in very bad taste include occasionally insulting people, missing an occasional workday without calling, being a little too aggressive towards the opposite sex, having a little trouble driving anger, below-average productivity, overt racism, and shoddy work. Those sound like things that can get you fired, but usually you counsel people on those things and they fix themselves or find a different job before they get fired. These types of people can often get by for a long time because they don't get a promotion, we give other people the raises they would have gotten, and managers like to leave the shitty job in manageable discontents.

I have been managing software engineers for 20 years and these are the main reasons I have had to fire people. It is important to note that you could be sitting in a cubicle with your manager, who has fired people for similar reasons and would "never" say these things to you. Some matters are "HR confidential." they are simply not discussed outside of the management team. Do managers discuss it amongst themselves? Oh hell yeah! They practically have to.

Substance abuse. I've had engineers who were high on alcohol on the job. In a case like this, it is difficult to test because they will not do it in front of you, but you will notice patterns of behavior quite quickly. I don't mean someone who claims to be sick with a hangover from time to time, but literally falls on himself. If you can get the job done, acting a little weird is your business.

Violence. He had someone who was not well, so I was counseling him. It had been missing for three weeks without explanation, so I thought the counseling was warranted. He thought the threats of violence from the entire team in response were justified, so I gave him the option of leaving or being arrested. He contacted me later that day to ask for his job back. Uhh… no.

Pornography. If you download pornography to your computer even once, I have to fire you. It just amazes me how many young people just can't stop.

Mobile hotspots / back doors. This is likely to happen less now, but as computing is becoming more mobile, we would tell people not to expose our banking network to their home PC through unauthorized devices.

He is not really a software engineer. Sometimes you walk into a store where they may have hired people without the proper interviews. When you find out that they only wrote two lines of code in six months, you give them a month to improve, during which time they write four lines of code, so you have to let them go.

Embezzlement. Yes, I couldn't believe it either, but this really happened. I can't give you details, but this cost a lot of people their work.

Fill costs. If you lose a hotel receipt, that's fine. When you add thousands of dollars in expenses due to some personal financial pressures, that's stealing.

Being really mean to the CEO. Sometimes people just have to send that nasty letter to the CEO, probably when they were drunk or high. I mean, if you want to ask him a stupid question at a town hall meeting, that's fine, but a two-page tirade, please don't do that.

Sleeping sickness. Do not laugh. It really happened. "" I always put my head on my desk and fall asleep because when I came back from my African Safari, I had sleeping sickness. " I know, I wouldn't have believed it if I hadn't lived it.

Really really messy desk. “I know you graduated from MIT, that's great and you're super smart. The problem is when you leave food on your desk and it stays there for more than three weeks. At the risk of being too daring, he's actually rotting away and a number of his peers have filed complaints about it. "Things really got worse from there and the man wanted to get it right, but he just couldn't get things done. In hindsight, I feel bad for him because I think he was autistic, but it just wasn't working.

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.