78

In short I've been a developer for just over a year and a half now including my course time, I got assigned a pretty big project at work, something I'd consider a little bit past the scope of a junior to handle without supervision at least.
I have someone checking up on whether I'm working or not but there's no one who actually understands the code I'm working with, or who'll take a minute to even try and understand.

Some of the things I've had to deal with are way above my scope in all honesty.

I was told at the start "You have until August of 2020 to finish". This was in November 2019, so of course I wasn't too worried.
I spent the first 2 weeks trying every framework I could get my hands on, And ended up settling up with Xamarin because I'm most familiar with C#.

Now at the start I was struggling a lot; things just didn't work no matter what I tried. But one day my brain clicked and I started to understand almost everything. The only thing that I still can't seem to be able to work is IOS push notifications.

So obviously they kept checking up on me. Sometimes they'd ask crazy things and I'd do my best to implement them when possible.

At the end of November I had the bare-bones system working and showed my work to the CEO, when all of a sudden things went south. I started getting asked for updates twice a day, and if the response wasn't "it's done" I got these disappointed eyes and tone. I eventually decided to put a progress wall, having "Planning | In Progress | Testing | Done". Lets say I had around 50 cards: 5 in Planning, 5 In Progress, 35 In Testing and 5 in Done and was told everyday "why is there so little in done", and whenever I'd try to explain that testing an e-commerce application on 2 devices does not mean it's going to work correctly when you have hundreds of orders going at once, I'd just be ignored.

Before we closed in December I got told they want it in February so already I was like "Okay, that's a huge push up from the old deadline" but just decided to push on.

During the holidays I was forced to work on a personal laptop due to the works Macs being too out of date for Visual Studio and the IT guy just never fetching my machine. My laptop broke a week ago. I started today and told my manager that it broke and I can't continue working on the application as I'd have to retrieve it from my laptop's drive which is under warranty so I'd need to send it to a repair centre. Now they are only open from 8am - 5pm m-f (my working hours) and it's an hour-long drive. Collection costs way more than I have at the moment, so I asked if there's something my company can do to help so that I can get back to working on as soon as possible, but just got ignored again.

Now about a 3 hours ago I got told that the CEO wants results and the clients want to see the app next week Monday, and I've in all honesty been made to feel like it's my fault the laptop broke (Note: I have no backups as they didn't want me to use Git and I have no external drives despite asking for them).

I'm not sure what to do. These deadlines are just getting pushed and there's nothing I can do. I was genuinely proud of what I achieved with the little experience I have; I've been working my butt off on this thing, having sleepless nights, but I'm getting it done. I just want to be given time. For instance, there are bugs where the app just crashes on random pages and I'm not getting time to resolve these kinds of things (not to mention I've been handed the company's website redesign, as they want it to be up to a top-10-CSS-websites-of-2020 kind of standard. The other developers have designers giving them things like animations, footage, icons etc. I have to do all this myself without any Photoshop experience.

Any advice?

Adding on:

Firstly I want to say thank you to everyone for the extremely insightful responses; this is getting a lot of great answers so I feel like I should give a tiny bit more information as to my situation.

So this is my First "Real" Job and I've been working here since August, The money from this is keeping me and my girlfriend and our little one afloat. (I'm 25 and before now always just worked in small sales jobs, contract work, etc)

I've come to a kind of realize that it might be that I'm being given these projects instead of my manager so there might be tension because of that, The No-Git issue is that they do not want the project on the "Internet", (Please know I understand how silly this all sounds) as they fear I might leave and Use that application as an easy ticket into another company. Now I have yet to sign another contract after my probation so yes, there are more people coming to help, I have asked but have yet to hear, so apparently I just continue on the probation contract which I have not agreed to. The college I went to study at was more of a lecturer-gives-you-material-and-leaves-the-hall type arrangement, so I would say I'm self taught I lack any guidance, and with that I get to my main problem.

I want to be a developer people can acknowledge. I want to be proud of what I do, I want to understand the root of the problems of my applications, I want to learn Design Patterns, Why things are the way they are, I don't want to understand Syntax on a 50/50 basis and just Google and repurpose, Not that there's anything wrong with that, I just want to work in stack and write Complex applications. I live for the thrill of figuring out something I never thought my brain could even comprehend.

In short, any and all request are denied, They've made it very apparent I can be replaced in a Week, So yes I do plan on finding a proper junior position In August when I have a year's experience. There is no mentoring, no senior to tell me that "Hey you know that run of 300 lines you just wrote lets cut that to 10 :)".

Essentially I can deal with the work amounts but I want to understand why it is this works, and why I would rather use something else.

Small note: the client is a million time's worse than anyone, they have hated everything I've done. They're never happy, and what breaks me is I never get told "it's crap" or "it's great". I'd prefer that, It's always "it's fine"; it's always a weird, middle answer

As for machine's at work The OS is out of date for Visual Studio and Xamarin as far as I know only functions on Visual Studio.

I just want to again say thank you to you all.

8
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Lilienthal
    Commented Jan 9, 2020 at 10:12
  • 1
    in what country are you? Commented Jan 9, 2020 at 12:25
  • 1
    Can you add a tag for the country and maybe update with a city/state/province if it's a larger country? Commented Jan 9, 2020 at 13:38
  • 8
    You mention that you are still on probation. I find it hugely worrying that they've pushed the deadline for your project to before you've finished probation. Given their behaviour, I'd fear that once the project is delivered, they wouldn't keep you on anyway. Commented Jan 9, 2020 at 13:39
  • 21
    They've made it very apparent I can be replaced in a Week - Haha! Nice one, do you think they know any other great joke? :) No, lets be serious: thats good for you, you can just quit without feeling guilty ;) Commented Jan 9, 2020 at 13:49

11 Answers 11

215

My advice? Quit. I know it's the quintessential answer to every other Workplace question on SE but let's look at the facts.

  • You have no effective allies within the company. No one involved here is in your corner in the slightest.
  • You, the developer who is working on the nuts and bolts of this thing, are being completely ignored in favour of people who haven't the slightest clue
  • They don't even provide you with the equipment necessary to do your job.
  • Their response to every problem is to put pressure on you.
  • You are taking on a workload even more senior developers would balk at taking on alone.
  • Their expectations are completely out of touch with reality.

The truth is, the fact that you've made it this far speaks volumes on your prowess and the effort you put in. But if you keep this up, these people will mentally break you. Normally I would suggest getting another job offer before handing in your notice, but your mental health is too precious to be fed to this grinder any longer than necessary.

5
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Neo
    Commented Jan 9, 2020 at 14:57
  • 10
    This is the right answer, but I would up the ante: Quit, and send them an offer to continue working for them as a freelancer for a seriously high daily rates and conditions favorable to you. Because their "we can replace you within a week" is a bluff that I personally would enjoy to call. They won't like it, it won't be a friendly relationship and they will replace you - but you will earn very good money in the one, two or six months they need to do that.
    – Tom
    Commented Jan 9, 2020 at 18:46
  • 2
    Guaranteed if they tried to replace you, they'd spend at least a month training a new hire if not more, and double the timeline of your project just getting him up to speed on code that only you so far can understand. You have more power here than you realize - but you also don't have much to gain from staying here
    – Zibbobz
    Commented Jan 9, 2020 at 20:30
  • @Zibbobz Not just that; new guy/gal would want to rewrite it from scratch!
    – Kyslik
    Commented Jan 10, 2020 at 13:34
  • 1
    @Kyslik Bold of you to assume any corporation with this kind of treatment towards their employees would allow them to 'throw out perfectly good code' like that.
    – Zibbobz
    Commented Jan 10, 2020 at 14:11
64

Your manager and CEO seem to be awfully inexperienced. Apparently they believe that by changing the deadline they can make a project finish earlier. Which anyone can tell you is extreme nonsense. Your CEO also seems to think that making you feel guilty about a broken hard drive somehow magically fixes it. They don’t seem to realise that the responsibility for the outcome is not yours, but theirs.

What you can tell your CEO is the facts: That until the company pays for your laptop being fixed there is nothing. No software at all. No prototype. Nothing. It’s up to the company to fix this. Then you can tell him that the software is not going to be there before the original deadline, and most likely not at that time anyway, since you spend most of the time not developing but keeping management happy. Then you tell them that software problems take longer to fix the longer you wait. Which will bite your product. Then you ask him how in his opinion you as a single junior developer produce that teams of developers with separate designer teams and QA teams produce.

Obviously you look for a new job as well. You will find a better position. I’m sure if that. If you tried to find a worse one, I’m not so sure you’d find that.

PS. I’d like to be a witness when your CEO has to discuss this with the client. I’m sure I’d find that very enjoyable.

PS. The code I’m working on is not on the internet, yet it is in git. Your company needs some IT guy who knows how to do his job. And they are afraid you could access the code from git yet they let you work with your private laptop? That combination is unbelievable stupidity. It’s like locking all the windows so you can’t get in, then giving you the keys to the front door.

3
  • 4
    "I’d like to be a witness when your CEO has to discuss this with the client." - I actually think, they are burning a "noob" over the fact they want to get rid of that client but for some reason want the client to quit them.
    – Fildor
    Commented Jan 9, 2020 at 9:58
  • 3
    Based on the OP the CEO is unlikely to pay the slightest attention to facts and will instead see this as a junior employee making up excuses not to get work done. Commented Jan 9, 2020 at 13:46
  • 5
    Yeah I don't see this conversation going well. I'm afraid it might be too late to do expectation management at this point.
    – bob
    Commented Jan 9, 2020 at 14:50
44

Non-technical people have no idea how long new features and changes will take, they just know how much they want them.

You're acting like a junior engineer, assuming that your boss is doing the estimation and planning - but they're not! Instead that important part of the project just isn't happening.

You've got two choices here. One is to leave and find an actual junior engineer job.

The other is to start acting as a senior engineer. If there are 50 jobs to do, estimate roughly how long each one will take, add them all up and work out the estimated delivery date. Be clear that's only an estimate, not a promise, and that any changes will extend it.

There's zero chance that you'll be able to work through that list in order. Pick a sprint length (1 or 2 weeks) and get the boss to pick his top priorities - but only what will fit into that sprint (and maybe an optional extra if you have time). At the end of the sprint, you should be able to show that your estimates were accurate, and pick tasks for the next one. That should stop the requests for daily updates.

Estimation is really hard, and some things will take much longer than expected but you'll get better with practice. The boss will arbitrarily cut your estimates in the mistaken belief that he understands technology better than you, or that somehow changing an estimate will reduce the difficulty. That doesn't really matter because you're an employee paid a salary, not a contracting company paid for each feature. Things take as long as they take. They might roll their eyes and look disappointed, but they can't sack you or they'd get nothing! If you've estimated a week, they cut it to one day, and it took a week, you won't feel nearly as stressed about it - and they might eventually start to trust your estimates.

Trying to do several things at once is stressful. Use this list of tasks and estimates to get the boss to set priorities. Emphasise that you can only do one thing at a time, and get them to set priorities. If they want 10 things by the end of the week, and you think you can only do one or two, ask which one they want first.

Where there are risks (such as not taking backups), list them with the approximate cost. If they are serious, make it part of your regular report.

Build in time to do a proper job; writing unit tests, refactoring, etc.

Don't be a robot following instructions but a professional engineer, who is trusted to look after the technical stuff that the non-engineers don't understand.

Don't burn yourself out working late into the night. If you want to work one or two extra per day, work out how much that is worth to the company over a year and see if it's worth it at bonus time. Remember that it's not your fault that the company hasn't recruited anyone to help you. The CEO may well work very long hours, but he owns the company and stands to make millions from it, you don't.

When your annual review comes around, they'd better start paying you as a senior engineer, because that what they'd need to replace you - and what you can sell yourself as to other companies.

9
  • 2
    This is great Advice, And I really want to thank you for taking the time to write that, I have tried taking the Second option But just get shut down when I try to explain that there just isnt time for this or that or that this or that Cant be done with what I know, They are being smart about this they gave me a small increase just after my probation ive been here 4 months So theyre making it hard to ask for more atm so yes id have to wait but you are correct, I do think i'm being left to act like a Senior when in fact i'm far to in experienced for it
    – Azurry
    Commented Jan 8, 2020 at 16:16
  • 15
    I've seen engineer-generated time estimates cut in half arbitrarily by bosses too many times to think the OP is going to be able to enforce that effectively. Moreover, time estimation is super hard and something unlikely to be accurate by a junior developer, in their first job out of school, with no guidance. Commented Jan 8, 2020 at 22:56
  • 5
    The rule of thumb I follow for such estimates is to first create a conservative estimate, then increase it by 50-125%, depending on factors such as how much personal learning is involved, how difficult the problem to be solved is, how large the project is, how difficult the client is being, etc. For someone new to software engineering as a trade, I'd recommend erring on the side of 100-125% increase.
    – Tyzoid
    Commented Jan 9, 2020 at 0:05
  • 5
    As someone who's been in this situation before, there's no way a junior developer fresh out of college is going to be able to come up with accurate time estimates. They don't have enough experience to know how long it takes to make the systems an e-commerce project needs. If OP creates a sprint list and ends up pulling most of the time estimates out of their ass, reality will come crashing down later when their estimates end up being far short of the actual time required (or far long, though that's less of an issue, but if that becomes a trend it could still work against OP's best interests).
    – Abion47
    Commented Jan 9, 2020 at 7:18
  • 4
    This is really good advice but I doubt it is going to work out in this case. The bosses just don't care. This kind of change of mindset requires time and, I dare to say, someone with more leverage than the junior developer who no one respects.
    – undefined
    Commented Jan 9, 2020 at 9:12
19

Things you should do long-term: Quit. Get out of there. Start job hunting now and do not look back. No matter what they promise you or say they will change or anything, just get out of there ASAP. I would not quit right now though, at least you're getting a paycheque, and a gap in employment history can be worrying to future employers. Providing you are able to handle this current project in a healthy way, you may as well stick it out and continue collecting your paycheque.

Things you should do right now: There are a lot of them:

  • Push back extremely hard on getting this job done on their schedule. Make a reasonable estimate of how long the remaining tasks (in your to-do board) will take, and tell your manager that's how long the project will take. If your manager says something like "that's not acceptable", then simply say, "I'm sorry if it's not acceptable, but that's the timeline and I'm sticking to it; if you want it done faster then you need to decrease scope on this project". Make sure you emphasize that this is non-negotiable; junior devs such as yourself see themselves with little power and often cave to their boss under even the slightest pressure. This is the time to stand up for yourself. If he fires you because of that, then no big loss, you're planning to quit anyway (see above).

  • Stop working outside of regular business hours. You're not being paid for those hours (unless you are). Work is an equivalent exchange: You give them your time, they pay you for the time you give. If they are not paying you extra for your time, you do not give them extra time. That's how it works. When the clock strikes 5pm (or whenever you finish your job), that's it, you close your laptop and you're done. This is for your own mental health; you need rest, both actual sleep and also just mental detachment from your job, and it seems like you're getting neither.

  • Follow up with the IT guy immediately and make him give you the proper tools for your job. If your laptop is broken, or out of date, or whatever, have him fix it. If he says no, or he can't, or some other excuse, follow up with your manager and explain you cannot work unless you have a work computer to work on. If your manager follows up by asking you to work on your own device, then ask your manager to have HR sign a form that indemnifies you from any legal repercussions in case your personal computer gets lost, dies, gets hacked, or for any other reason you accidentally disseminate or lose company secrets or IP stored on your local machine. People (most people) tend to be pretty lax with their own personal machine security, and if you are such a person, you shouldn't be held professionally responsible for personal mistakes. If your manager refuses this form or HR refuses to sign it, then simply say that you refuse to use your own personal machine for work until such a form is signed. Again, if they threaten to fire you, call their bluff, it's no big loss to you.

  • Check your locale's legal statues and see if you have something similar to Constructive Dismissal. IANAL, and I am especially not a South African lawyer, but your situation sounds like it might meet such statues if they exist. You may want to contact a lawyer, or at least post on Law SE to see if it's worth contacting a lawyer. If you have Constructive Dismissal statutes, then you should just quit immediately and sue your employer for damages under those statutes (contact a lawyer before you do any of this to make sure you have a worthwhile case)

EDIT: I forgot the most important part: DOCUMENT EVERYTHING. Try to have as many of the above conversations with the appropriate people over a text medium (email, instant messaging) as possible. You may need them for legal proceedings in case you decide to pursue a case of wrongful dismissal against your employer, in the event you get fired over any of the above issues.

6
  • 4
    I chose this answer to upvote and comment on because unlike most others, which mainly restate the quite clear reasons to quit this job, this one also includes some actionable short-term advice. Which is great! Not that the advice to quit is at all bad advice. It's great advice. It's the only advice. I would just add one thing, @OP: If you can get yourself job interview(s) right now based on your CV, if you tell this story as you've told it here, you will get a job. This experience speaks greatly of your character, your integrity, and your personal drive. You're going to do great.
    – Alex M
    Commented Jan 8, 2020 at 22:10
  • +1 But I would strike out the part that submits to using the personal laptop and "have HR sign a form that indemnifies you". (a) It's just such a bad, unacceptable idea, that should be a clear line in the sand. (b) I don't think the OP has the wherewithal to judge/assess the legal protections in the desired form; sounds like a quagmire to me. Commented Jan 8, 2020 at 23:04
  • @DanielR.Collins That part is the most necessary. If I use my laptop for work, and then I go out and download some anime on it, and that anime file contains a virus that sends the contents of my hard disk off to some offshore server, and now some hacker has the source code for some project I've been working on, the company could sue me. If, conversely, I used 2 separate computers for those things, then this would not be a problem (for the company). OP must absolutely protect himself against that.
    – Ertai87
    Commented Jan 9, 2020 at 15:22
  • @DanielR.Collins Unless you are saying that OP should flat-out reject using his personal laptop for work. Which would be optimal, but on this I would give the company the benefit of the doubt; if they will insure my personal machine as if it was theirs and also indemnify me from any bad legal repercussions of using my personal machine, then I'll use my personal machine. There are compromises that can be made here.
    – Ertai87
    Commented Jan 9, 2020 at 15:26
  • 3
    "Unless you are saying that OP should flat-out reject using his personal laptop for work." That is what I am saying. The OP should not pursue an indemnification without a lawyer advising them. Commented Jan 9, 2020 at 17:31
15

I honestly would quit.

There are just too many red flags here. Working non-stop for days, on holidays, during the night. Using your personal laptop because the IT guy/gal (and your manager, for that matter) just doesn't care. Not being allowed to use versioning (GIT, SVN, etc) is, for me, utterly stupid. They are increasing the scope while, at the same time, they decrease the amount of time you have to do stuff. Not to mention the unnecessary micromanaging.

From what you wrote, I dare say you are a smart worker who can definitely do well in any company. You don't need to be subject of this kind of abuse and toxicity.

And mark my words, each second you stay there they situation will get worse, as you might have already noticed.

4
  • 2
    The more I read Responses the more I realize how im kind of just blindly working, I will say they dont force endless hours but With these deadlines they basically are arent they? My main take back is that I dont have someone to Show me the ropes with Versioning/ Choosing Frameworks I just had to try everyone see wich one I could do the most in and go with it
    – Azurry
    Commented Jan 8, 2020 at 16:12
  • 1
    @Azurry and that's a huge downside of this situation. You are just starting your career. Having someone that knows how to do stuff and is willing to teach you is great.
    – undefined
    Commented Jan 9, 2020 at 8:27
  • 3
    @Azurry You work the hours they pay you to. If you see the deadline can't be met, you tell them in writing. It's their responsibility to handle this.
    – Josef
    Commented Jan 9, 2020 at 10:02
  • @Azurry Don't consider deadlines as "you get this done or you're dead" timestamps. They are wishlists. And in the worst case, a project dies if it is done after the deadline. Not your problem and very very rarely the case. It's typically fine to do some extra time a) for a couple days b) if there is leeway from the company side as well, like you taking off another time, being able to come late and so on. But that cannot be the normal modus operandi and it certainly cannot be part of estimates etc. It's an exceptional treat for a good company when there is sudden need for a bit more commitment. Commented Jan 9, 2020 at 17:43
10

Well, first and foremost... if your manager says that you can't use git, it just means that you can't use their git. If you use your own git with a private project, you can get your work done and not worry about it.

Clarification: the fact that nobody cares where you store the code (work laptop or personal laptop) indicates that a personal git would be no worse than your personal laptop. If this was the only issue you had to deal with, then you could take the initiative here. However, it's clear that this is not the only issue.

It seems like your company has terrible practices in general:

  1. No git! Clearly, this is a huge no-no for software development.
  2. No code reviews. If you're a JR, it seems like the best place to learn.
  3. No testing. Nobody expects you to test your work, so they must expect you to write perfect code without a single issue!
  4. No project management framework (Jira, Trello, or anything of the sort). The fact that you setup your own board is great.
  5. Nobody in your company seems to have an idea of how to build software.

It appears that you're working for a consulting/outsourcing company. You were sold as a much more experienced developer than you actually are.

Honestly, my advice would be to find a different job. It's definitely not easy, but it may be your best chance to get into an environment where you can grow as a developer and not get infected with terrible "development" practices or lack thereof.

12
  • 31
    Using personal git repositories for company work without it being signed off is a BAD move. Potentially lawsuit levels of bad. Do not do it. Commented Jan 8, 2020 at 14:26
  • 7
    I wouldn't use anything personal for work related stuff. Not even my git.
    – undefined
    Commented Jan 8, 2020 at 14:30
  • 8
    @Kiril Having the code on a personal computer is a very different problem to distributing it to a cloud service. OP does not have the legal right to distribute the code in this manner, but the company has granted the right to have the code on OP's PC. Commented Jan 8, 2020 at 14:55
  • 3
    @Kiril from a legal perspective it is completely different; how secure the third party provider is becomes irrelevant when the company did not give permission to store their IP on there. They could sue OP if he does put it on there and they find out. Commented Jan 9, 2020 at 8:58
  • 2
    "If you use your own git with a private project, you can get your work done and not worry about it." <-- Or make your own git server using whatever parts the O.P. has. Even if it means using a Raspberry PI Zero, with all the stuff inside an external drive with backups to somewhere else. Like a local file sharing server. This way, the git is all in the company: none in O.P.s laptop. Commented Jan 9, 2020 at 9:41
4

This is quite a story with lots of information and several problems. I will try to answer a few but first, this answer is going to sound a little harsh. You made some beginner mistakes. That is ofcourse not strange since you are a beginner. Any decent manager/company should have helped and supported you. Thats why I agree with Kaz. You have been thrwon in the very very deep and seem to have done quite a decent job anyhow.

My advice: Find another job and take my answer below as learning points for new position at a better company

First The new deadline. Unless requirements are reduced anyone should understand that something that was first sceduled for November till August (10 months) cant be done in November - February (4 months). It sounds in your story like you sort of accepted this new deadline "So already I was like okay thats a huge push up from the old deadline but just decided to push on" That was a mistake (although they should have known that they were asking the impossible). You should make it clear as soon as possible that you cannot make this deadline and tell them what you will be able to make.

Second, your broken laptop. First of all it was a mistake to work on your own machine. You should have accepted their shitty machine and used a different developer environment (so no visual studio) also, having no backup whatsoever is extremely dangerous. Look in your emails and requests for these git repository and external harddrives to see if you explained them the concequence of a refusal. This will give you a paper trail and make it more clearly that it is their mistake. So always get these sort of agreements in writing (email is fine).

Last, try not to accept tasks that you are underqualified for. There is no shame in admitting this. This way you avoid that people get expectations which you cannot possibly fulfill.

So hopefully these answers will help you at a new position and with any luck you will be at a decent company and not need them at all anyway.

2
  • 5
    I get the feeling that no matter how much OP complained or showed how wrong some stuff is, exactly nothing would be changed. But yeah, those are valid points when you work in a decent company.
    – undefined
    Commented Jan 8, 2020 at 14:25
  • undefined is correct I get shut down, I've asked for UI kits to be bought So I can spend time on Backbone's and not making "Pretty" They have been denied I did want to accept the crap machine but due to Xamarin it made it hard I did try things like React Flutter But Learning in the time frame was so hard believe me I tried, I have a ok idea of whats happening in c# thus Xamarin, I did try to tell them this was out of my scope but under essentially got told Id get replaced
    – Azurry
    Commented Jan 8, 2020 at 16:26
3

As stated by kaz, you seem like a very good employee that simply lacks the proper knowledge. As a junior it is an extremely hard (impossible?) task to build an entire application on your own, even senior developers would struggle at a lot of stages when working alone. Some might even straight up refuse it to work alone.

Another major red flag is that they don't provide the proper tools to get your job done, but expect you to be the rockstar developer that can handle everything. Why no GIT? Why work with your personal laptop? Why no drives for backups? ... That's their problem, not yours, you requested it and they denied it. As long as you kept a paper trail (emails) it is certainly not your problem. Without a paper trail, they can lie about the denials. always keep a paper trail!

The best option you have IMHO is to go on a job hunt and leave ASAP, look for places where you will work in a team with others more experienced than you. This way you would gain experience and build knowledge instead of heading into a burnout.

I've been in a similar situation as you, the only difference is that the management respected me in a way and I got proper tools. They did not have a clue what development is about, so their expectations were too high to achieve. Here is a question I posted about my situation back then, maybe you'll find some tips in the answers.

As a developer; Not getting time to test, receiving extreme deadlines and not being listened to by the manager

I did manage to turn the situation around and I am still working there. It was a lot of hard work, I had way to much meetings with higher-ups to convince that their expectations were not reality. I made case studies, presentations,... about everything I could imagine to get their heads straight. More than a year and a lot of headaches later I'm leading a healthy small team and we are able to deliver at the pace I decide. The pace is still high, but manageable and we rarely do overtime to reach our deadlines. But reading your question makes me doubt that it even is possible at your employer.

2
  • Without a paper trail it’s still their problem - someone has to explain the results to the client.
    – gnasher729
    Commented Jan 8, 2020 at 15:19
  • The client is just as problematic, The issue is even if I did get the time to test How do I know if i'm doing this to best possible way? There is no Mentoring or Seniority, I'm left with a Mentality of It works , so leave it. And I hate that, as an example I had a issue with De serializing to many json objects, I wanted to understand the problem at the Root and Resolve it but I just did not have the time nor the help i guess, so I ended up using a Wrapper for it, which is fine but I want to understand why that happened I want to know things that come from experience but There just isnt any
    – Azurry
    Commented Jan 8, 2020 at 16:23
3

Like others, I'd suggest you seek employment elsewhere. Not only for your mental health, but also for your career's sake. What you have accomplished sounds very impressive. The sooner you get into a proper workplace, the better it will be for your career. Staying in a place with no proper seniors to learn from, no processes, bad/no practices and pretty poor management will stagnate your growth and hurt your career.

One additional advice I didn't really see in any other answer. Learn to manage the expectations.

Your original situation didn't sound too bad. You had a huge task and no support, but also plenty of time. By getting progress so fast you raised the expectations of your manager. And now you feel like you don't have time to implement anything properly.

(And I could imagine your manager going eagerly forward and raising expectations of the client. Now the cat is out of the bag and pressure is on you to deliver.)

Preserve plenty of time for tasks. Time to actually do things (more) properly in the first go. Even if your progress would've been halved you'd still have time left, and I'm sure you'd feel happier with technical debt and things left behind.

You can be a bit vague when you report what you have done. Even if you feel like something is done, I can promise you'll need to refactor/improve it/write tests/etc soon. If something takes a bit longer initially it will still look better than returning to something which was reported as done already.

I know this is difficult, but it's also important. Especially with inexperienced/bad management.

2

Like all others have said already: Quit. What I miss in the answers I've read is why:

To me it is blindingly obvious you are set up to fail. The other answers assume your boss is an idiot that somehow doesn't know any better. But then you write that there are other devs that are managed, organized and have access to the resources they need. This does not compute at all if we are to believe management incompetence is what's going on here. The laptop situation is another dead giveaway. Now I have no idea why you're set up to fail and changes are you haven't either, since you will probably be last person (except maybe the client) they will convey this information to. I'm just pretty sure that you are, speaking from considerable experience.

Now for the good news:

  • Introducing a scrum like workflow to organize yourself was genius.
  • The progress you made under these circumstances is remarkable.
  • The fact that you know what you do not know and are actively looking to educate yourself is excellent.
  • The whole business with the laptop shows you're resourceful and are willing to go the extra mile (most devs I know would've just stopped doing anything useful there and then).
  • This very thread shows your communication skills are just fine.

Most (if not all) shops would love to have a dev like that on their team. You are the very definition of "employable". Just tell 'm to stick it you know where and never look back. You'll be fine.

6
  • The Situation is My Manager is the other dev along with 2 others in another department who mainly handle front end things but as i've mentioned I request things but just cant seem to get anything a noticeable reqeust I made last year was I wanted a UI kit to speed up the process as thats what they wanted they refused it So I asked for icons to be designed and some pictures I just get told theyll get to it its been months now the issue from what im thinking is that the manager before i got there was the "senior" and ive been handed all the "Senior work" So im not sure
    – Azurry
    Commented Jan 9, 2020 at 15:37
  • @Azurry The laptop thing in of itself already speaks volumes.The "give them a an unreasonable deadline and then deny them the resources to do their job" is the oldest trick in the book. Mind you, I'm not saying there is some grand conspiracy going on here, it could be that your manager just doesn't like you, or doesn't agree with you politically (I've seen it happen) or thinks that you failing somehow makes them look better. It could be anything really...
    – Douwe
    Commented Jan 9, 2020 at 15:49
  • ... but while they say "never explain by malice that which can adequately be explained by stupidity", there are things that can't be explained by stupidity here. IMHO you are wasting your time on these people. Even if you, against all odds, where to succeed, do you think you'll receive the credit for it? Or would you just be handed a new, equally miserable task?
    – Douwe
    Commented Jan 9, 2020 at 15:52
  • I doubt ill ever even recieve a thank you or a good job, I have started taking everyone advice and looking for new positions
    – Azurry
    Commented Jan 9, 2020 at 16:03
  • This does not compute at all if we are to believe management incompetence is what's going on here - sure it does. The other devs are experienced/driven enough to go get what they need. They're outspoken enough to have no problem standing up to bad deadlines. They work on projects with owners who have a good vision. And so on. This isn't criticism on the OP, it may just be the truth. Wild-west environments where everyone fends for themselves aren't bad for everyone, they're just bad for people who can't or don't know how to handle it (yet).
    – dwizum
    Commented Jan 9, 2020 at 16:30
1

I know theres a lot of answers here but...

LEARN. Learn everything you can. your are doing everything alone? great, this job is sh*t already. start sending resumes and look for another job but learn learn learn learn learn everything. not everyone has this oportunity to do everything alone and learn. you will notice in the next job that everything is easy. why? because you are doing everything alone.

it's a pain in the ass I really know , but it's going to worth in the future. trust me.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .