You took the course, you passed, you found a job. What is it actually going to be like?

This post was inspired by a question from another user: “I am curious about feedback regarding specific real life projects or overall job descriptions and daily tasks to help me get a better understanding of the real life job duties.”

You took the course, you passed, you think you’re ready to take on the world, but you have no idea what it’s like out there. What will you have to deal with when you’re on the job?

First of all, getting a job after taking a Codecademy course is not as easy as it sounds so, congratulations! Here’s all the crap you’re going to have to deal with:

  1. If you haven’t noticed already, most, if not all of the job postings for developers have the words “fast-paced environment”. This is 100% true.
  • Deadlines are always tight
  • You’re constantly being asked why it’s taking so long
  • A bug was reported in production, you need to fix it ASAP. Drop whatever you’re doing in order to fix it, but you can’t miss the deadline for the sprint either
  • You’re not directly asked or told to work extra hours, but it is suggested it needs to happen so you can meet the deadlines (take one for the team)

No matter how organized they say they are or what kind of development methodology they follow, you’ll always be short on time. You need to learn fast, code fast, fix issues fast. For some people, this is very stressful. If you can’t deal with it, it’s not worth putting your health at risk. Sometimes things do go according to plan, but most of the time its chaos.

  1. 100% code coverage.

You’re going to be asked to have 100% code coverage. What does this mean? It means you need to write unit tests for your code. This needs to be part of your deliverable and your estimate. Is it a good practice? Absolutely. Will you ever actually get to 100% code coverage? ■■■■ no. Why? see point #1, the bottom line is you won’t have time because you have more work to do.

Yes, you can make crappy unit tests that will make it look like you have 100% test coverage but in reality, it never happens. It takes too long, and no company ever has the time for it.

  1. You’re going to make mistakes, own them.

You’re going to make mistakes. Either you wrote a bad function or you misinterpreted the requirement (I’ve talked about reading comprehension before). The feature is not going to work as expected, someone might find out before you deploy, or a user will find the problem in production. It happens all the time. Own it, learn from it, fix it, move on.

If you have a good QA team working with you, they’ll catch it before it’s deployed. This is not always the case, so don’t rely on it.

  1. Your work might be scrapped.

You’ve been working on the app for months, you put in a lot of hard work and you’re very proud of what you’ve done. Then one day a decision comes down from upper management and you have to redo half the thing. Sounds crazy? It’s not, I lost count of how many times this has happened to me, I’m going through it at this very moment. After 2 years of work, we’re being asked to change the whole thing.

You’re going to be upset, your morale will be non-existent, you won’t want to go to work. Get over it, it happens all the time. Unless you’re in a leadership position capable of negotiating, you need to learn to do what you’re told. Some companies do value input from the employees (if you’re in such a place, let me know…), most of the time they don’t. Keep your head down, keep coding.

  1. Keep learning.

I’ve said this before many times, you never stop learning. Professional development is a must. Ideally, your manager will encourage and facilitate this, even more ideally the company you work for will pay for it. If they don’t, be prepared to spend your time and money continuing to learn.

New technologies and frameworks come up all the time, you need to be able to learn and use new things. This will take time away from your family, your hobbies, etc.

Most of the bad things I just described can be traced back to 1 thing: bad management. After working in 6 different companies in the last 13 years, I have come across bad management every single time. Every single time I tried to be positive instead of giving up, showing them the problems they were creating AND how to fix them (there’s no point in complaining if you don’t offer a solution) and every single time I was shot down. I don’t always have the correct answer, but I do know when I’m right, especially when other people validate my thoughts.

I’m going through the same problem at this very moment. Upper management is creating a lot of problems, I keep presenting solutions and they keep shutting me down. I love my team, and I really like the product, but management is producing a toxic culture that I can’t stand so I’m looking for another job. You need to know when to give up and move on.

How can you fix or avoid this kind of problem? Change your attitude. The next time you walk into an interview, don’t walk in with the mindset of “they’re interviewing me”. Your mindset needs to be “I’m interviewing them”, “I want to see if they’re a good fit or me and if they deserve my time and dedication”. You need to ask:

  • how do they come up with new features?
  • how they deal with change?
  • how they plan their work?
  • how do they deal with bugs?
  • how do they foster career development?
  • how do they promote from within?
  • how do they support your well being?
  • how are evaluations and promotions conducted?
  • how do you manage technical debt?
  • how do you care for your customer?

Ask to talk to the team.

  • Are they happy?
  • What do they like and don’t line about management?
  • What can management do to make things better?
  • Does management listen to you?
  • Does your opinion matter?

You’re in control.

Not everything is bad though, there are many positive things but positive things don’t make you think twice about doing something. Positive things are not warning signs. Have an open mind, be communicative, leave your ego at home, be willing to learn. If you find the right place and the right team, you will have more good days than bad. You will want to get up early and go to work, work more than 40 hours a week without being asked. You should enjoy your job, if there are problems try to fix them but recognize when it’s time to move on.

8 Likes

You can say it louder, but not clearer: “everyone can code” doesn’t mean everyone should. As someone looking to get into my first tech job, I take the kind of advice @peachesmotorsports offers as literally pure gold. It’s not meant to be scary, it’s meant to inform. And pretending that companies aren’t crunching coders for time all the time is delusional.

This made me think of Jocko Willink’s “Default Aggressive” mindset: Taking action to solve a problem the instant it occurs. You have to make things happen, they won’t happen on their own. Leaders must attack a problem before it gets worse and demonstrate to their team that an aggressive approach to identifying and solving a problem is the default.

Thank you so much for this piece. I tend to have a “bring it on” attitude when it comes to problems, so this post wasn’t discouraging at all. If anything, it got me even more interested in getting a job in tech.

5 Likes

A lot of this advice is great: particularly around talking to people, interviews being two-way, and constantly learning. I can definitely attest to the “scrapped” work part feeling terrible & eventually everyone moving on. But a few things here aren’t quite accurate in my experience:

  • "fast-paced environment": this is true for some teams, but not all. Many teams strike a good balance with their shareholders about what’s a healthy, sustainable pace of development. I’ve particularly enjoyed my teams where we have fixed goals but also prioritize training ourselves & fixing tech debt.
    • constantly being asked why it’s taking so long: I’ve almost never been asked this.
    • …but you can’t miss the deadline for the sprint either: That’s just silly (and totally believable that some people would expect it). Of course, if a new sprint task is discovered, something is likely to get pushed back. Sounds like your product/project managers historically have been operating under some exceptionally painful restrictions.
    • extra hours: I have never been on a team that suggests extra hours in this way: in fact, most of my managers have encouraged taking more paid time off, both in teams with fixed holiday amounts & ‘unlimited’.
  • 100% code coverage: I have been on exactly one project in the last ~8 years that has mandated it. Very few projects justify 100% code coverage (though I still maintain that one project was one, heh). Most teams are constantly asking devs to write more tests though, so this definitely rings a bell :wink:.

@peachesmotorsports it sounds like you’ve been in some painfully managed dev teams before, or at least some variation of them operating under unfortunately high stress & political turmoil? I’d love to know why it is you’ve had such bad experiences with shareholders.

Anyway, again, this response is all anecdotal, so take everything with a grain of salt!

5 Likes

ALL of this post but mostly this :arrow_double_up:

I also can’t emphasize enough the importance of having “soft skills”. It’s something that more people need to work on. (Think about any interview you’ve had w/behavioral questions, ‘Tell me about a time when you dealt with a conflict…’ etc those types of Q’s). Also, leave your ego at the door b/c ego helps no one (especially your co-workers).

Also, there is no perfect job (or perfect company) out there. (If there is, I would love to work there!). What you will find–and I speak from experience-- is that you might not always like what you’re working on, but get what you can from it. Learn all that you can.
One thing that I really liked about a previous job was the people that I worked with. They made the day better. You won’t find that too often so, if/when you do, hold onto that if you can.
That’s my .02 :slight_smile:

1 Like

My team is why I’m trying so hard to fix things, I don’t want to abandon them. We’ve done a great job considering the lack of leadership but within the last few weeks, things just keep getting worse. My PO was protecting me from all of this, they drove her out. Now I have to deal with it and I fully understand why she left.

1 Like

Early on in my career I thought “this is how it is”, eventually I learned to identify the issues. I think my bad experiences come from managers that were promoted for the wrong reasons, mainly politics or seniority rather than merit. There’s a lot of “this is how it’s always been” rather than how can we make things better. I have lots of examples that would make your head explode.

At one point I attributed it to bad corporate cultures, so I ended up in a small family owned business. Turns out, this is just as bad with the family making arbitrary decisions based on fear rather than customer input. “This is how we’ve done it for 20 years, and it’s worked so far. Nobody likes change”. -> this is a direct quote from one of the partners.

I haven’t had great luck when looking for new jobs, I haven’t been in the position where I can pick the best one. Unfortunately, I end up with whoever gives me the offer first because I need to pay rent. My current job is not in jeopardy, so I’m being patient and trying to find a good fit.

I’ve been asked several times why I don’t have my own business. I’d love to, but as I said during the freelancer talk after analyzing the finances of what I was looking for I just can’t afford it.

3 Likes

omg. did we work for the same company? Haha.
I worked in a similar culture at a very large corporation…it was rough. Positive change was incremental.

I still talk to my old team from my last corporate job, 6 years later all the changes they’ve gone through have made things worse. While I’m not surprised, it’s also incredibly sad how some people flat out reject change and refuse to take constructive criticism. These are the same individuals that keep getting promoted to higher-level positions, thus keep making bad decisions. I legit showed this person how some simple procedure changes could save the company over $1 million dollars (supported by real examples) and he rejected the idea. I know for a fact he rejected it because the procedures haven’t changed. He could have easily claimed it as his own idea after I left, taken all the credit. Never did.

1 Like