7

I came to my current place of employment as an contracted IT support technician of the most generic variety about a year ago. I had only an associates degree to my name and most of what I knew both as a support technician, and as a tech professional in general, was self taught. In short time, I showed myself to be useful enough to warrant hiring, and further more, worthy of more duties. I soon found myself working as a DevOps / Automation Engineer. Lot's of scripting.

Not to long after this transition I was tasked to build a web application for the enterprise that, in the long run, would serve as a central hub for day to day IT operations, with a focus on automation. Even without knowing the complete ins and outs of designing, prototyping, building, and maintaining a project of such scale, I knew this would be a lot for one person, but did not want to throw up the white flag just yet.

To recount all the time I took teaching myself basic web building principles, C#, javascript, various web application frameworks, etc. would take a movie montage, but suffice to say, I somehow managed to get the project of the ground and it is somewhat functional and not completely hideous. I am however feeling pretty burned out. I don't sleep much and am constantly worried I will fall flat on my face.

I am apart of a dev team of just three people, one of which has their own monolithic project, though not quite as large as my own, and the other who doesn't know enough about the technologies we use to adequately help us. I am approaching the UAT phase and have a growing backlog. Part of me wants to pack a bag and disappear to a place without electricity. More rationally though, I am thinking about talking to my boss about the workload and my struggle to carry it.

What would be best way to approach this situation to relieve the stress/pressure levels?

Edit: I realized I forgot to mention a key part of our development cycle. We have 3 week iterations (sprints) with catchups / demos at the end. We did not always have this in place. At the start, I was developing in a bubble with little to no feedback.

  • 5
    Why are you stressing? is there a deadline? – Kilisi Jan 10 at 5:06
  • 2
    isn't your boss aware of the hours you work? Don't you fill out a timesheet? Maybe it's unpaid overtime & he thinks you are OK with that, since you didn't tell him otherwise? – Mawg says reinstate Monica Jan 10 at 7:54
  • 2
    Starting alone on such a project is a huge task. Even for a developer with lots of experience, this can be a tedious task. I've been in exactly the same situation. We fixed it by placing a second person on the project that did the frontend. Worked like a charm. – Odyssee Jan 10 at 10:53
  • 1
    @Mawg I would like to think my boss is aware by they may not know just how much I am investing overtime wise. this would be something to bring up. – nxll_blxck Jan 10 at 11:19
  • 1
    This sounds completely normal - all software is incredibly challenging. However never, ever, ever work more than the standard 40 hours a week. Never, ever, ever. – Fattie Jan 10 at 12:25
12

I say listen to your body. I have been burned out twice. Don't let it happen to you. Did you know that burning out can have lasting damaging effects on the brain? When work affects your sleep you need to take a step back and address the things thst makes you stressed out.

There are many causes of stress. The two main ones that I have experienced are being in a situation you can't control, and lack of sleep. You have to take control (by removing features, moving deadlines, etc) and you have to wind down so you can sleep.

Talk to your manager. Tell them you will not be able to meet the deadline. Say that work has started to affect your sleep. If you are working overtime, cease that immediately. Missing sleep means you underperform anyway since you need your brain for work. Why miss sleep and work overtime if you produce more when you are well rested and within the work hours?

When you come home in the evening, do something you love. Do not think about work. You need multiple hours of free time that is yours to do what you want. Eat healthy, go for a walk, meet people, do what you want. Then go to bed (at the same time every night), leaving the phone out of the bedroom. Possibly talk to a doctor if you need temporary medication.

Missing the deadline is ultimately not your main concern, your health is. Realize that the project is just money. And a good manager should be able to help you adjust the project to minimize the company losses. Your company will learn an expensive lesson, but so will you. This means you will actually become MORE valuable to them, not less, because you got some experience and have already made some mistakes. Why would they hire someone new to replace you just so thst person make the same mistakes again, the mistakes you already learned how to avoid?

Your reputation and success will depend entirely on you being communicative here. So take charge of your situation, don't try to do the impossible, begin replanning an reprioritizing the project. Help set the right expectations. Ask for help. Show what you have learned. Try to prevent this from happening again, and try to see the signs early so you can raise the flags in time.

  • 1
    Why would they hire someone new to replace you just so thst person make the same mistakes again, the mistakes you already learned how to avoid? - I can tell you why, because most bosses don't care and until the new guy learns what he's done wrong, money will be earned and he'll be replaced by the next one... – red-shield Jan 10 at 8:44
  • 1
    @red-shield You are not wrong. I am assuming no malicious intents from the employer and a manager worth her salt, but a crappy boss who do not value their employees' experience might turn everything on its head. But it does not actually negate the point of my answer! – Emil Vikström Jan 10 at 9:41
  • @EmilVikstrom There is no doubt that communication of my struggles has not been loud or frequent enough. It has just been difficult coming to terms with my shortcomings and a large part of me believed I just need to 'work harder'. – nxll_blxck Jan 10 at 11:31
  • One of the key things you need to discuss with your Manager is what other people / skills you need on board. You've worked on it for a while now so probably have a decent feel for it. Take a couple of hours out and look at the backlog / things you want to do / issues you know need addressed. It also looking ojs like you could do with a Software Architect to help you develop the big picture of where you are going. The key thing is to have done concrete ideas / requests when you meet your manager. – Alan Dev Jan 10 at 16:07
  • @nxll_blxck I have also been working in a bubble and internalized problems as "my shortcomings". I don't know your workplace but if it is anything like mine, realize that not all problems are your shortcomings. If you are alone on a huge project as a junior dev, with little to no coaching or onboarding, then chances are your employer are doing mistakes and you are getting hurt when you try to pick up their slack. "Full-stack dev" is a title for someone who can program the code for both backend and frontend, not someone who can be both a project manager and a dev at the same time. – Emil Vikström Jan 11 at 5:18
4

Don't just sit there, watching the wall coming closer, take control and steer away before you smash into it.

Was I stupid to take such a job in the first place?

Ill advised, to put it very politely.

You need to know your abilities and shortcomings very well!

Only take on assignments that you're confident to finish, even if you need to acquire additional skills in the process.

Should I quit now before I am buried by it all?

No. Your reputation would take a severe hit and bridges would not only be burnt but anihilated.

Avoid leaving mid project.

Assess the state of your project and the list of what needs to be done until the deadline hits.

If you conclude, you won't be able to finish the project on time, inform your manager about this with a short list of reasons and propose a plan of action if possible.

For instance additional team members, moving the deadline, lower complexity and prioritized features where some might be "good to have" for launch but not necessary to be implemented in v 1.0 or even the inclusion of third party libraries to take off some burden.

  • This seems to be the best way to approach it. I don't necessarily regret taking the role as I learned so much, but in hindsight, I clearly bit of more than I could chew. I have considered quitting with two week notice. During that time I would try to smooth over the transition of the projects responsibilities. Do you still think that would still annihilate bridges? Either way, I would have a talk with my boss regarding the load. – nxll_blxck Jan 10 at 11:26
  • Dude in what way would his "reputation take a hit"? OP would just go get another job. Not a big deal. – Fattie Jan 10 at 12:26
  • 2
    @Fattie well, the smaller the amount of companies / people in OPs business in OPs locale, the higher the chances that people will know about the person who abandoned their project.Word travels fast,bad mouthing even more so. Not to mention that many companies, despite it being illegal, do blacklist people and inform even their competition.Bosses know each other but boy do HR people network even "across enemy lines"... – DigitalBlade969 Jan 10 at 13:35
  • That makes sense in the abstract, but, I feel that since the OP is "making web sites" really it's a pretty far-fetched concern. Better to move on to a role where the OP can definitely create something in short order (so OP can say "I did this") than endlessly put time in to something where the result will be "I should have left months/years ago to create something in short order somewhere else" !! – Fattie Jan 10 at 13:42
  • One way that people develop their skills is by taking on projects that are more than they can handle. Not every one can enjoy a smooth continuous transition of higher and higher responsibilities. Sometimes opportunities present themselves with significant risk and high rewards. It was not at all "ill-advised" for the OP to take the opportunity. – teego1967 Jan 12 at 12:47
2

Software projects are always overpromised and underdelivered, that's more or less a fact of life.

Step 1: Mention to your manager you are understaffed relative to the workload. Estimate (realistically) how long it will take for various milestones in the project to be ready, even if it was just you working on them, assuming 8-hour work days, and report that to your manager. Make your manager aware that the farther out the deadline, the more inaccurate it may be; if you say it will take 3 weeks to complete a milestone in 6 months from now, set expectations that it may take 2.5 weeks, or 3.5 weeks, and 3 weeks is just a fuzzy estimate.

Don't be afraid of the response. What you are likely to hear is disappointment. Don't take it personally. Basically you are telling your manager "no", and no manager wants to ever hear "no", but that's what you have to do. Your manager will likely respond in one of a few ways:

1) "Can't you do it faster?": No, sorry, I can't. One person only has so much time in a day, and this is how long it will take. If you want more man-hours, hire more men (not specifically "men", etc, you get the point).

2) "Can you work overtime to do it?": It's at this point you should mention your health issues. Explain that you are having trouble sleeping, you are constantly stressed, etc. Be prepared to hand in your resignation letter on the spot if your manager does not take this response with the gravity it deserves. Those who have read my other comments on Workplace SE know that I am very very much opposed to leaving a current paying job without a backup plan (I have done so before and it was hellish let me tell you), but in this case I will shelve my normal reticence and tell you to just get out of there. In this case you may want to consult legal counsel for a case of constructive dismissal.

3) "Can we negotiate this?": No. This is the absolute minimum amount of time it will take. It is non-negotiable.

Step 2: Stop working overtime. When you leave work for the day, leave work for the day. Go home, watch TV, relax, play some video games, exercise, whatever makes you happy. The work will get done on schedule, eventually. Get it into your head that you work 8-hour days, no more, no less.

Step 3: Encourage your company to expand your team. Explain to your company the concept of the bus factor and why the current situation puts them at great risk. In addition to making your workload much lighter, it will also protect the company from catastrophic failure in the case of, well, you getting hit by a bus.

2

One step that hasn't been touched on much: update your resume. You have, from a very unpromising start, created an application that should be beyond your abilities. Emphasize that. You are almost certainly not going to be paid what you're worth where you are, and you definitely can't keep that pace up.

If you fall back to an effort level you can maintain without serious personal harm, you may get fired. Clearly, your management doesn't understand the situation. You need to be able to move somewhere else, even if everything suddenly goes right where you are.

2

To quote from one of your comments:

The funding isn't really there to hire an additional resource and, to be honest, I don't even get paid that much. They definitely are not paying me as a full stack developer, which I believe is essentially the role I am playing.

An important thing to realize is, that if a company cannot afford to pay (adequately) for software, they aren't entitled to get software for "free". Because it isn't free, it comes at a high cost to folks like you who are overworked, over-stressed, underappreciated and underpaid. There is no reason to burn yourself out, to damage your health, psyche, and relationships, to make someone else rich, or to save them money, or to fix their mistakes, etc., unless you are being handsomely rewarded for it. (Some might say there is no reward worth burnout, but I leave that as a personal choice.)

So what should you do in this situation? First, congratulations, because that fact that you

somehow managed to get the project of the ground and it is somewhat functional and not completely hideous

is an amazing accomplishment that you should be proud of. I'm a professional software engineer of more than 20 years, with all kinds of higher education, and that is still what I aim to accomplish.

So now let's figure out how to lift some of the stress, and get rewarded.

Given that you've now shown some real progress, I think you should start by taking a week off. Go away, or just sleep in, and read a book or catch up on TV or meet some friends for dinner or whatever. You'll be amazed at what a week away will do for you.

Second, when you return, you need to throttle back to a sustainable workload. For every sprint, or however you want to organize it, only attempt to do work that you estimate will fill about 2/3 of the time (of a 40 hour week) available in that sprint. Do not work more than 40 hours a week. If you complete all that work within your time limit, great, grab something else off the queue. But if you don't, that's okay, it doesn't mean that you are a bad engineer, or developer, etc., it just means that it was hard to estimate how long that piece of work would take.

Regarding getting rewarded:

As you progress, take a mental note of what you've learned, both from books, and from making mistakes and needing to redo stuff. Spend a bit of your work time reading about different architectures, coding styles, etc. relevant to this project, and try to incorporate them, and learn lessons from them. See if there are some local development meetups, and attend them. Take pride in what you've learned, and what you've built.

Now, set a date six months from now in your calendar. When that date rolls around, start applying for jobs. You deserve a job which pays you what you've worth! Good luck!

0

IMHO,

Find your balance and get help (i.e. more devs or contractors for areas you feel weaker at)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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