I understand that there have been many questions on this site asking what to do if someone is not enjoying their job, and I'd like to stress that is a different scenario.

Since leaving university I have had two graduate software engineering jobs. The first I left very quickly, as I wasn't enjoying it, I wasn't a cultural fit and I didn't like the atmosphere - I was dreading going into the office every single day.

My second job I have fit in much better. I like being in work and get along with all my colleagues. I work for a fantastic company in a really interesting sector, but I'm starting to feel like a liability. I have to be taken through many steps as I struggle with the some of the work on my own. I understand that there's a learning curve with any job, but the other graduates I started with have been getting along fine and I'm starting to become very aware of my abilities.

Having given this some thought, I think I'm just not cut out for software engineering, whatever it takes to be a good developer I don't have. I love technology and it's an industry that I want to stay in, but actually sitting down and writing code for x hours a day is not for me. I know I needed a software engineering job to come to this conclusion, but now I know I feel a bit guilty for being a waste of a resource.

I have spoken to other departments to see if there's any project management opportunities (I think this is where I would thrive) but unfortunately it doesn't look like it. Graduate opportunities for project management are opening up in other companies and I do feel like it's a now-or-never move into this career path.

Is it better for graduates to quickly find what they want to do/are good at and get entry level positions in those jobs etc, or is it more important to work up through the ranks towards a goal, even if you're not going to enjoy the journey?

Is experience in a particular role more important than experience in an industry as a whole?

  • 5
    There are lots of bad developers out there who don't even realize they are bad. You know you are so you are ahead of the curve. Keep working at it. You will only get better and eventually you will be a real asset. Don't feel negative. Software engineering is hard. I felt the same way as you in my first job and wondered if this was the career for me. Honestly I felt lost every day. Five years later I'm a senior developer answering juniors' questions every day and planning high level architecture. Don't give up!
    – WalkerDev
    Feb 10, 2016 at 16:16
  • 4
    No offense intended here but I want you to understand what you are saying. "I do not like this entry level stuff I want to jump into a job that is 10 years beyond my experience level" Feb 10, 2016 at 18:19
  • 3
    What makes you think project management is your forte? You have invested a lot of time and money (perhaps your parents) to learn a skill, It hasn't even been a year yet and you want to give up. Well, lots of people want to give up at the start, perseverance and commitment is what pays off long term. Lots of bad software engineers making money out there.
    – Kilisi
    Feb 10, 2016 at 19:21
  • 3
    Project management is likely to be wishful thinking without either years of experience, or a relevant degree (my employer is taking on graduate trainee project managers). Have you considered QA or systems engineering as alternatives?
    – Simon B
    Feb 10, 2016 at 23:07

6 Answers 6


If possible, stick it out until your performance review.

The learning curve in software engineering (even for recent college graduates) is very steep, and it is possible that you are not be as bad as you may think.

It is also possible that you are comparing yourself with abnormally talented people and suffering by comparison.

The performance review will give you a more objective view of how well you're doing, what you can do better, and what steps you can take to learn more.

It can take many years to get really good at anything. How fast you learn usually isn't as important as how well you learn / how much you retain.

  • If I may -- you have impostor syndrome.
  • According to some study or another a developer writes an average of 12 lines of code per day that make it into production. Software engineering is most definitely not about sitting down and writing code for 8 hours each day!
  • Good engineers look a heck of a lot like good project managers. But a lot of tech industry project management jobs are closed off to you if you don't have an engineer hat.
  • If I may, again -- you are way too young to know if it's your fault or your company's fault that you are a bad fit. A previous company I did not do well at lacked any concept of modern software testing practices, and lacked any concept of agile development. I'm glad to have learned those things since then at other companies, but at the time I had no idea it was "them" and not "me."
  • That all being said, you should apprise yourself of what your manager thinks of you, either doing a regular performance review (annual or bi-annual?) or because you ask for it. You are not doing this right now. It sounds like you've decided how you are performing instead of letting your manager decide how you are performing. If you are at a decent company, your manager will be somewhat in touch with your work and have way more experience for what makes "a good engineer" than you.
  • You have zero ethical obligation to leave a company because you feel you are performing poorly. That is their job to determine, and you are more likely than not making a big mistake with your eagerness to act.
  • Also, quite bluntly, software engineering is an extremely good career to go in right now. There's job opening after job opening, geographic diversity, a culture that lets you switch jobs and technologies frequently, firms increasingly compete on benefits that were unheard of 10 years ago, and salaries are extremely competitive for the workloads involved (have you seen your friends who went into medicine recently?) I would rather suggest you be disinterested in the nuts and bolts of what you do for a living than walk away from software engineering. [Disclaimer: this bullet was added after the first 5 upvotes.]
  • Just leave after 1-2 years. What is way too fast and viewed as job-hopping in other fields is the norm in the tech world in the Bay, New York, and other areas with lots of tech jobs. YMMV and research this yourself but the timetable is probably more aggressive than you think. To be honest I would give this job more time since it sounds like you are learning a lot, but switching companies and work is a totally viable solution to feeling a mismatch with your current work. [Same disclaimer]

You're on the right track. Stick with it.


Project Management - Reality Check

No offense, but people with a lot of experience in their fields go to special schools and undergo years of training before they are trusted as project managers. Project Management certification programs often don't even accept fresh graduates, only people with X years of experience in the field, as Project Management is a highly valued skill, and talented project managers make a lot of money.

If you can't handle entry level software development what makes you think you have what it takes to manage a project? After all, a lot of the same skills apply:

  • Organizational skills
  • Logical thinking
  • Establishing specifications
  • Setting up a timeline, etc.

This list of overlapping aspects could go on, and on.

However, project management also involves handling people, playing at office politics, and taking a lot of responsibility, even for other people's actions, which I'm not sure you've considered, seeing how easily you've given up on software development.

Software Development

I don't think a few short months is long enough to determine whether you'll make a good developer or not. It certainly doesn't make sense when you analyze the amount of time you spent in school, vs the amount of time you've actually been a developer.

Typically a software development program is at least 2-3 years long (maybe 4). During that time you were taught many valuable skills, and you presumably enjoyed it enough to stick with it and graduate from that program.

You've now been applying those skills for only a few months and you want to give up?

whatever it takes to be a good developer I don't have <- I'm a software developer, and I couldn't tell you what that magical ingredient is, except maybe by being as vague as saying: "be organized", or "have the ability to think logically".

It may very well be that as much as you enjoy the company you simply don't find your projects engaging, or that you feel intimidated by the the amount of information you need to absorb.

If you never had co-op experiences and this is in fact your first "real job", then all I can say is that this is normal. That moment of absolute panic when you look at 10K lines of code and you need to find a bug? I still get it.

It takes me, on average, anywhere between 6 to 8 months to feel somewhat comfortable in a new position, and about a year to "really get it". And I think I'm a pretty good dev. Yourself, as a fresh graduate - and working your first job to boot - are going to need at least that long.

Establishing Expectations

Before you draw any conclusions about your development skills/aptitudes you should ask the senior dev you interact with most often for a honest assessment of your project/skills. On top of that, you should probably wait for an actual performance review and align your goals and expectations with those of your manager.

As a fresh graduate you can't possibly be expected to perform at the same level as someone with even a year of experience under their belt. You simply lack the experience to even "know what you don't know". Stay humble, and keep your nose to the grindstone.

Comparing Yourself To Others

Try not to do it too much. Focus on what you bring to the table.

I've worked with devs who are able to sit down at the start of the day, and focus on their code like a laser until quitting time. For myself, I have days when I have zero motivation to do anything, and my eyes just glaze over as soon as I look at a line of code. I thought I was simply a bad developer until I spoke to a senior dev whom I greatly admired, and was told he experiences the exact same thing. The trick, he told me, was to be super productive on the days when "you're feeling it".

And so, I may not always have delivered the same quantity of code as my super focused colleague, but I produced high quality, polished solutions because when I did "feel it", I did a great job.

That's not to say that you should feel justified to slack 7 hours out of the day, or take 5 months to deliver on a two week project, just that having an "off day" is not something that makes you a bad dev.

Some people can focus easier, others are better analytical thinkers, others still have great ideas, but suck at implementing them. We each have our strengths and weaknesses, and you need to figure yours out, then leverage the strengths.


Don't give up yet. It's my honest opinion that anything under a year of experience is not long enough to determine whether you're developer material or not. You owe it to yourself to give it a shot, if only because you spent years going to school for it.

Remember that those people saw something in you for them to hire you, and as scary as it may sound, if they don't think you can do the job, they'll let you know.


Don't despair. Get a mentor. Talk to your manager. Don't wait until performance review time, often that's too late and you've already created a negative impression.

Chances are you are doing OK, even if you are struggling at times. Even if you are falling behind, your superiors will love the fact that you are aware of your problem and willing to address it. Most college grads are fairly inexperience and it takes them a year or two to get comfortable.

You say your company is great and you get along with everyone. If that's the case they'll be willing to work with you to find a position that's better fit for you, or at the very least give you a heads up that things are not working out.

Just don't expect to jump over everyone else and become their boss...


Maybe you have a problem with the creative aspect of the job? Sitting down coding for 8 hours a day suggests a pure development role, but as with all software (particularly that written by devs writing code 8 hours a day every day) there are bugs and lots of support issues that need sorting out. A support engineer role still requires coding, but also a fair amount of investigation, analysis and customer feedback skills. These can make a boring job coding away into something much more involving, and once you solve problems, very satisfying.

In addition, you're often not writing "new" code but fixing existing code. this can take away a lot of the 'paralysis' that some people dislike when thinking about how to make something new.

Many devs think support is a poor choice, but I disagree - fixing the crappy code the devs create is a much more guided role.

So, maybe ask to move or work more on support issues. And BTW, a PM role is awful. It may sound glamorous and easy but its thankless, boring and sometimes demeaning. All those gannt charts and spreadsheets... yuk.

  • 1
    Try "And BTW, PM roles frequently have an intense workload and in many cases require business skills you are less interested in than you realize. If you're afraid of 8 hours of coding, try 8 hours of meeting after meeting, phone call after phone call, with breaks to manipulate Powerpoint and Excel."
    – user42272
    Feb 11, 2016 at 7:04
  • @JoeStrazzere I'm not sure I've ever met one who is happy - overworked and stuck in the middle of sales demanding results tomorrow and engineering saying it'll take weeks... I've met plenty of useless ones who couldn't manage their way out of a paper bag, and I guess they might be blissfully ignorant :-)
    – gbjbaanb
    Feb 11, 2016 at 8:37

I'd say get out of there as fast as possible. Because right now you can get any job, but in the future you're going to be hired for your experience. So, if you don't like to write code but you only have experience writing code then your future is dark.

In the other hand, you need experience before apply for project management, because at least you need to know what is going on below you.

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