2

Background. I like the people I work with, but I hate the project I'm in. The business knowledge is kept inside one person's head and that person is remote and always busy, so it is incredibly hard to understand the application from a business perspective, least of all the application itself. The code is a mess from every standpoint (bad practices applied, slow code, no unit tests, etc), the backlog is piling up with tasks and yet I have NO IDEA how to tackle them because I don't understand the business behind it, and there's literally no documentation I can consult. If I change something there's 99% chance I broke something else but I can't find out what because there are no tests of the existing code.

Idea. So I considered talking to my boss about this (he's not the project leader). I've told him before what I think are the project's problems and he said he understood but I don't think I conveyed very well how bitter I am, nor do I think that the changes I suggested will be applied any time soon.

Possible outcomes. If he moves me to another project in a reasonable amount of time, then great. But what if he doesn't? I've been to a couple of companies, interviewing, but I haven't been able to land up any offers. Also, the process of interviewing is tiring in itself and after being let down a couple of times I don't feel in the mood to keep on interviewing (yes I know this is contradictory). I interviewed at places where I really wanted to work at. Now I'm left with random offers that appear in my inbox.

Finally, I worry he might start to think I want to quit and fire me. I don't want to be fired; if taken to that extreme I want to be the one to leave.

I'm in the software development industry, have some prior experience but nothing too big. I'm young and I have lots to learn, but I find it frustrating that I can't find good places to work at in an industry that's been said to lack employees. Granted, I've interviewed at top notch companies and got the same feedback ('lacks technical skills', which is true).

Also, is quitting without an offer an option for me? I'm not worried about my finances.

  • 3
    There's a lot going on here - and each individual part of your question is already answered elsewhere on this site (uncommunicative project leader, dealing with legacy code, interviewing and lack of offers, quitting without having an offer, lack of experience). You might be better off if you figure out what you want to fix in this specific situation. – HorusKol Jan 27 '16 at 3:29
2

You got thrown in a mess, it happens. Either buckle down and do the best you can, or whine about it.

Concentrate on the tasks you are given, document and comment them. If you're fixing something and breaking something else, then that's your fault. You need to go through all the relevant code until you have an idea of what you're doing. Just be systematic.

I'm assuming this company has been around for a while, so someone in there knows what they're doing, make sure you're one of the people who knows what they're doing as well and if the others are as incompetent as you think they are you will either rise quickly or get a lot of valuable experience and knowledge.

Meanwhile look for another job if you want, or motivate yourself to succeed where you are for a while.

As far as approaching your boss about being dissatisfied goes. It's best to actually have positive achievements, time, and experience under your belt before rocking a boat that might tip over on you. In other words don't complain without some sort of solution to pitch.

2

Also, is quitting without an offer an option for me? I'm not worried about my finances.

Of course - quitting without an offer is always an option, if not a good one.

You might not be worried about your finances now, but will you get worried if you can't find a new job for months? As you say, you "haven't been able to land up any offers".

And you know that an employment gap doesn't look good on your resume. Many hiring managers look down on someone who quits an existing job without having another one ready. Some view that as an indication that the candidate doesn't care much about working.

And if you go a long time without work, you have other hiring managers wondering why you can't find a job.

My overall suggestion would be to tough it out on this project and get it behind you. It doesn't seem to make sense to quit a job and people you like, just because of one project. As you say, you are young and have a lot to learn. One thing to learn is that work won't always be fun - you need to find a way to persevere even when it's real work.

But if you can't get past it, find a new job first. Even if you find it tiring and you aren't in the mood, suck it up and work harder to find a job you will stick with. Land a great job, then hand in your resignation at this one.

  • 1
    Exactly. How will you react when tasked to write documentation? Take me, for instance. I've finished my coding tasks for our upcoming release so I'm supposed to be working on documentation right now, but I'm procrastinating (reading/posting on workplace) because writing documentation sucks. Eh, well, bad example, I should get back to work. – James Adam Jan 27 '16 at 13:46
1

Ok, first of all "IT" means the guys who do infrastructure, meaning keeping the LAN and email running. You are in "Software Development," not IT.

There is no shortage of second-rate programmers who picked it up after finding out that playing guitar doesn't pay the bills, so don't think you are some kind of special snowflake.

Don't offer your opinions to the boss. Work doesn't get done by words, and you are not in a situation that will be helped by talking to people. There is zero chance you can turn this into your dream project by persuasion.

Every software project is as you describe. The only thing that is different is the attitude of the programmers. I remember once I was working at a company that hired some 45-year-old programmer wannabe and the jerkoff comes in and starts whining to the boss how my 30,000 lines of code are "spaghetti". He was a no-talent, unproductive talker--gone in 30 days. Guy probably never wrote 1000 lines of code in his whole life.

I am more a manager now, but back when I wrote code when I came into a project I could care less what the existing stuff was because I was so productive I would have 10x the functionality soon enough and the old stuff would be just a distant memory. Stuff I would keep around for nostalgia's sake.

Best practices, don't make me laugh. Look, when you can write 50,000 lines a year, then you can start lecturing people about best practices. Otherwise, you should just focus on getting what you can done and let other people do the talking.

  • 1
    Blunt, but valid. Welcome to software engineering, Kid. You'vs got to learn how to read and adapt to old code. If you don't understand what you're looking at, ask the more experienced folks specific questions. If you want more tests, write'em as part of writing your fixes.Ask to be pointed to a relatively local task, work that, use what you learn from that on the next task, work your way into the code one piece at a time. – keshlam Jan 27 '16 at 2:52
  • 1st paragraph: point taken. 2nd and 3rd: I don't think I'm a second rate programmer. I just got my degree from university and did some fair bit of programming, and I always love to refactor my code even if that means staying late. That doesn't remotely happen here. Also, my boss asked me for my opinion, I didn't just blurt it all out one day. He did this with everyone in the project. – curpickled Jan 27 '16 at 3:07
  • Regarding the last paragraph: you assume I work with top notch people and I'm just crying like a baby. I don't work with smart people. My scrum master doesn't even know what he's saying half the time and when you point out that you have issues he says "ok, let me see what I can do" and never responds... – curpickled Jan 27 '16 at 3:08

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