
Ask HN: I'm 23, and I dislike my job as a software engineer - sk14
I graduated last June, and joined a major UK bank at their technological center in India. I switched from this first job after 8 months into it - the work excited me, since I was working on building a web based dashboard from scratch as the only developer, but that was also the drawback - I was the only developer. I figured this was more like another college project of mine since most of the things I did to build this dashboard - hacking around; googling for answers; building, failing and rebuilding - were similar to what I did as a college student anyway. Hence, I switched for an internationak supposedly better opportunity - at another finance related firm in Japan.<p>However, despite learning from being in a team of developers, the work here is frankly uninspiring. We work on Java EE for the web with JSF, and most of my day-to-day work simply involves mere bug fixing in the existing system. I don&#x27;t see any good projects that will help me learn good tech and good coding practices.<p>The only reason that I feel like sticking to this job is the money. I come from India, where people in the IT profession are hired for peanuts. So the money that Japan gives me seems relatively very good, even if it is nothing compared to what the US provides for software engineers. I have contemplated a lot of times about pursuing an MS - just like my fellow Indians do - as a gateway to US and the jobs in the US.<p>But more often than not, I realize that maybe almost all software jobs tend to be mundane in the end. Am I wrong?<p>I know that in the future, I would to stick around in the tech industry, but not as a developer, but as someone who is more involved in the wholesome outlook of the product - like a product manager, perhaps.<p>What should I do? Am I being too pessimistic? Is it okay to feel this way? After all, it&#x27;s just been a year since I started working.
======
hellwd
How you feel right now it's completely normal and expected because you are
young and you want to learn and gain knowledge. I have changed 4 companies
because I was searching for the job where everyone is writing clean code and
where best practices, code review, and learning are on the high level. You can
forget about that because managers don't care how your code looks like, or if
you are using best practices to achieve your goal. Now what I'm doing, I'm
trying to get as much as possible time on estimates, that's how you can have
time to write clean code, and to learn something. If you are estimating the
task, add also the time you need to review what you did and do not be scared
of refactoring, if you see that something is written in a wrong way, rewrite
it, don't blame around :).

Also, work and learn at home. That's your time and you can learn and do
whatever you want.

Keep in mind that there is no job where everything is perfect, so collect all
negative things you have at the current position and try to change them. If
that's not working then leave :)

What managers love is the example and real POC. So if you think that something
is wrong or old, create a POC, make a demo. That way you can get some time and
resources to do something new and interesting. Don't think someone will give
you such project just like that :)

~~~
nevatiaritika
Such a fantastic answer! Kudos, I share similar views.

To add to what you say, I also believe that while we easily start hating our
jobs most of the times, we often fail to realize we were never excelling at
them.

When I come to realize that I am currently not enjoying my current role, I
think of only two possibilities. I either put in my time and efforts to make
myself better at what I am doing or simply do something better that would make
me enjoy my job.

P.S. grass is always greener on the other side.

~~~
hellwd
Thanks :)

Your saying at the end of the comment described everything.

------
bigredhdl
Just my two cents, but you asked for it. I give all young engineers the same
basic advice "Follow your gut". If you are religious, pray about it. If not,
meditate about it. Either way, the answer will probably be screaming at you in
the first minute. Now having said that, I have two more pieces of advice.

First, is to see the value in every job along the way. I started out as a
hardware engineer, but had this nagging voice telling me I wasn't in the right
job. It took a while to realize that my heart was in software. At first I felt
like I had wasted career time as a hardware engineer, but then I realized I
was much better at certain software problems because of my hardware background
than others. If I take inventory of all of my jobs, even from high school, I
realize that I have skills to this day that can be traced back to them. Even
the ones I absolutely hated.

Second, while finding your niche is important, also find the right boss.
Bosses have almost as much to do with liking your job than the work itself. I
actually think it is harder to find a boss worth working for than finding work
I want to do.

------
CyberFonic
Maybe you haven't been reading
[http://thedailywtf.com](http://thedailywtf.com). Most programming jobs are as
you have experienced. Maybe 1% of 1% work for startups on exciting projects.
The rest just do maintenance on Java EE or worse COBOL.

~~~
Bino
COBOL is actually very good money nowadays. There are more legacy systems than
programmers left. Learn COBOL and #StayAflotForAWhile

~~~
kayla210
Yep. I'm working as a COBOL developer now and the language itself is fairly
simple to read and write. The hard part is learning the systems in place and
how everything talks to each other, since the systems have been in place since
before I was born and have just been growing ever since.

------
p333347
IMO in software industry there are only two kinds of jobs that are interesting
- ones where you create non trivial user applications using complex high level
technologies and one where you create those underlying technologies. It seems
you are doing boring CRUD applications, and that at a very high level too, so
it is natural to feel bored. If you can't find the former kind of jobs, I
would suggest that you learn/improve hardcore CS stuff and apply for a job
where you would be building things at lower levels.

------
Bino
It really sucks when the reality doesn't match the expectation. This is the
reality of being a "developers" in 99% of the cases. I'm surprised you got
this far and no one told you.

~~~
Grishnakh
He's only 23, so he's probably single. Just wait until he discovers the harsh
reality of marriage. No one ever seems to tell single people about that
either.

There's a reason people have called college "the best years of your life".
They really are; everything goes straight down the toilet after that.

------
WheelsAtLarge
I understand your problem the truth is that you are being paid to fulfill
someone else's dream. You're giving up your dream for money.

Work is not about you. It's bigger than you. It's a way to get society's needs
met.

Your job is to find your dream, define it and balance both work and your
goals. Understand that you'll work for someone but it's only temporary until
you get your dream going.

Do this or you'll be changing jobs and careers without much fulfillment. It's
only going to be a drag.

If you're lucky you'll fall into a job with an inspiring leader. Where his/her
dream will be comes yours but don't count on that.

There's the sentiment that says, "Do what you love, and you'll never work
another day in your life."

The question is, "What do I love?" What I think it really means is "Define
your current job in a way that fills your needs and you'll never work another
day in your life."

Good luck, finding your needs.

------
stuaxo
Hi, I too went into Java EE, and started thinking I hated programming.

Luckily for me the IT crash of 2001 happened and I was out of a job. After a
while I did data entry and automated that ... which I enjoyed.

It turned out that it was Java EE I hated (and the horrible codebase we used).
Since then I switched to Python and it reminded me that programming can be
fun.

Sure, there are a lot of web apps that aren't the most exciting, but I'm
always moving forward and learning new things. Try some other languages and
see if you like them - when I started with Python, I learned by building a
simple breakout game with pygame.

In every job it helps to find an element you can enjoy ... for me I am never
touching J2EE again, it was just so horrible.

Also - you NEED to work in teams with other people, hopefully there will be
someone smart in the team you can get to mentor you + there will be good code
you can learn from.

S

------
lucidz
wow there are a lot of people here being doom and gloom.

Look, you're the equivilent of a fry cook. You want a good job, be a chef. How
do you get to be a chef, you ask? You stick around, and get on burger duty,
and eventually, someone has you cook a steak.

The point is: you're super new to this. Eventually, you will have enough
experience that you can CHOOSE your jobs. Sure, 99% of the programming jobs
may be boring tedium, but if you are good, you'll be able to choose the 1%
that aren't.

But when you're starting out you just have to be a sponge and keep an open
mind. Either find a niche or be great at everything, but dont just get by,
because that's how the 99% does it.

Source: 17 years in SW - I'm an enterprise architect.

------
bighi
I'm 31, and I dislike my job as a software engineer.

I had many jobs on my 10-year long career. I disliked all of them. I settled
into a job that doesn't make me work that much, so I can just do other stuff
and be less sad.

~~~
rurban
I'm 53 and trained in a lot of other professions.

I worked as an architect, which I didn't like too much, esp. the low pay. even
if I was highly successful, been on national TV and press, exhibitions, ...
Then I got into more technical jobs, like surveying, civil engineering, stage
design, movies and also a lot more SW jobs. They were much more interesting
and I got paid double.

Then I settled as SW developer in a big internet company, which was nice for a
few years, but then I took a big risc with a B2B SW project which failed. Then
I worked in knowledge engineering and mechanical engineering (support Formula
1 teams with their engine testing, I was basically a virtual Formula 1 "test
driver"), which was nice I guess.

But in the end getting back from mixed engineering jobs to sole SW engineering
made most fun. Now I'm writing compilers.

For the Formula 1 e.g. I wrote a C++ cross-compiler for an unknown platform,
for which we only guessed what it was in reality (it was a blackbox with
custom PCI boards), but it was successful and eventually helped this team win
a couple of championships. (the unknown platform was 10x faster than the
others). But technically it was as simple as stripping g++ from all virtual
RTTI calls and IO.

Writing my own compilers and now also improving the libraries and VM's around
makes a lot of fun, and has a lot of impact. E.g. planning a JIT. It's not as
dangerous and has not a high budget as high speed controllers for high speed
cars, with 10-20 PC's and a lot of custom real-time HW involved. (For which I
also planned a JIT for a Visual Basic like real-time scripting language, but
would have never been allowed to actually do it). But you are much more
independent, have much less stress and much higher pay. SW engineer is _the_
top job. Esp. in the USA.

------
maxime066
What I realized is not that I dislike Sofware Engineering, it's that I can't
adapt to the 8-5 culture. It's impossible to manage family, friends, health
and personnal projects while working 8hours in a office (when in reality it's
more about 10-11hours a day because of commute, lunch preparation, lunch
break, sleep dept, etc.).

In fact, I LOVE Sofware Engineering. I realized that when I left my previous
job to get back to school. Every time I had some free time I was programming
on personnal projects.

------
ruler88
I'll just say that getting a MS will not change your situation at all. MS is
just a couple of years of working experience, and a stamp of validation if you
get it from one of the top 5 institutions. Talk to product managers and see if
their daily tasks are any more interesting than your daily tasks.

I'd say what you are going through is pretty similar to a lot of software
engineers. It also contributes to why a lot of engineers end up starting
companies.

------
probinso
Age 27. Had same problems.

School is one of the most addictive drugs you can take. Dedicated learning is
completely different from on-job training (which mostly doesn't exist) and
experience through work.

The pace of job-learning is significantly slower, additionally the things you
learn are not what you were hoping to. This means that it will be harder to
identify what you gained. Be sure to update your resume monthly until you get
better at recognizing these things.

As 'Hellwd' said, you will greatly benefit from learning how to grow on your
own time. It will also give you the opportunity to choose your own career path
instead of taking whatever path closest fits your company.

Remember : If you plan to return to school within the next 5 years, then there
is little risk in what you do for the next few years. Now is a good time to
experiment on your employment needs.

I know several people who have left the industry, happily, for jobs that keep
them outside.

There are cool jobs, they are just harder to get, and its difficult to
appreciate the forest through the trees. Every job has crap parts.

------
guitarbill
You can try smaller companies. From my experience, they're awesome because
they care about teaching you stuff, and also what you do really does make a
difference for the product you're building.

Bigger companies will always be less flexible, and especially banks love
rules. The bigger the company, the more process (aka. bullshit) can get in the
way.

~~~
behnamoh
Agreed.

For example, Microsoft is now swell, really. I mean, do you think it was
really that difficult for them to improve Winphone ASAP? Of course not. But it
took them so many years, they failed Windows Mobile, bought Nokia, destroyed
Nokia, stopped releasing updates to older phones, and now they're dumping
Lumia. After all these years, they still don't have a solid user-friendly OS.
I know, people always complain about the lack of apps, but I believe Winphone
has a bigger problem: it is not designed with the users' happiness in mind.
Microsoft is too big that transforming ideas into products is so slow due to
all the bureaucracy.

This is not the case with startups. They mostly use scripting languages with
fast development time such as ruby. While ruby fits well for prototyping
purposes of startups, banks and huge companies use enterprise solutions like
Java, which has slower dev time, but instead comes with many rules. It's
"business best practice".

~~~
guitarbill
This is all true, but a small company isn't necessarily a start-up. They might
have an equally established stack, which can be a blessing in disguise. I made
a lot of money before university rewriting VB6 apps into C#, and making the UI
better. Some of the most gratifying work I've done, because they gave me
pretty much complete freedom.

------
marmot777
At the young age of 22 you have time to change your mind and explore and not
get stuck in something that's not enjoyable. Your background will serve you
well even if you move into another role.

One thing to consider is the particular context. I've seen software shops
where there's a great deal of creativity and fun, so it's possible that the
problem is that the bank's core business isn't software it's money. Sure, all
businesses are out to make money but what they value beyond that is radically
different between industries and even between companies in the same industry.

I bet the people at your bank who get the most respect dress very well,
concerning themselves with finance. You might find an environment that's
better or a role that's better. Or both.

Hell, you have time to make a bunch of mistakes, too.

------
xHopen
[https://www.devrant.io/](https://www.devrant.io/)

------
ashitlerferad
Become a gardener.

~~~
bbcbasic
Lots of bugs and you need to be an expert on trees, but plenty of green field
projects. You get to use rake now and then too.

~~~
behnamoh
No bugs, actually they're features.

------
rdtek
Some development jobs are more interesting, I've worked in a startup which was
very fast pace and plenty of tech to learn and challenging projects, but the
renumeration wasn't great so switched to an enterprise style company. Pace is
slower which is fine because it allows a lot of time for enjoyable side
projects and self directed learning. If your day to day tasks aren't
challenging enough you can carve out some time to create your own projects.

~~~
navyad
Same situation led me contributing to open source projects.

~~~
behnamoh
Ironically, [some of] those people working on open-source projects work for
proprietary software companies...

------
Grangar
Frontend dev here, I feel the same about my place of work. we are an agency
with ~150 clients, all working on the same opensource system (that we extend).
Day to day you keep doing the same things, install module X, style item Y, but
it feels all mundane. Part of that is that the most we do is support, which is
usually 2-4 hour tasks.

Also we have to log hours meticulously (down to 15mins). Even after a year
that is a pain in the ass and actively makes me dislike my job.

~~~
okwhatthe2
> Even after a year

I think you're starting to think like _them_.

------
informatimago
Try to work for a startup. There you might encounter more challenges, both in
diversity of work you will have to do (in smaller startups), and in the
technology and sophistication of the programming required.

Another alternative would be to switch to being smartphone developper,
eventually to an independent smartphone developper, where you'll be able to
find more interesting and technically-challenging projects.

~~~
sk14
Money? [https://80000hours.org/2015/10/startup-salaries-and-
equity-c...](https://80000hours.org/2015/10/startup-salaries-and-equity-
compensation/)

~~~
lucidz
Startups are a great way to "passionately work in a fast paced environment
that's going to change the world"

Translation: "Passionately" \- we will underpay you "Fast paced" \- 7 days a
week "Change the world" \- we won't ipo but sell out to a company for a few
hundred million which you won't see a dime of.

GL!

(Source: too much time interviewing in silicon valley)

------
paulcole
> almost all software jobs tend to be mundane in the end. Am I wrong?

No, you're not wrong. Almost all jobs of any kind are mundane. You can either
accept this and deal with it like most people or work to find a job that isn't
mundane to you.

------
mattbgates
I graduated college, went away to teach English in another country for a year,
and came back to the United States with a nice amount of student loans
knocking at my door. I applied to all jobs across the board pertaining to my
degree and no one replied. I decided to go into another realm: programming,
which I had taught myself at a young age (12). I applied and managed to get
the job. I had some training to do in order to catch up, but I was paid
starting at $10/hr. After my training was complete, my pay was bumped up to
$12/hr.

At that rate, you know how long a $40,000 student loan was going to pay off? I
needed to do additional work to catch up. Basically, I designed and developed
Auto-Collision software, from adding new things to mostly fixing up old bugs &
errors, etc. Severely underpaid. I loved the job but my boss made my time
there hell. He was a micromanager. He taught me a bit of logic, but really
didn't do me any favors.

During my time there, after work, I'd go home and search Craigslist for people
looking for web designers and managed to make some good money that way. About
a year and a half later, I had already gotten deep into web design and
development, which I loved. It wasn't enough to quit my day job, but it was
enough to give me the confidence to start looking for other jobs in that area.

To make a longer story short, I ended up leaving, but before I left, my boss
had offered me double my salary. So I would've been making $24/hr. I turned it
down because with that offer.. everything came with a catch. If I made any
errors or anything like that, he would've thrown it up in my face: "What am I
paying you this amount for?" etc. So I couldn't deal with it and ended up
settling for less. More than what I was making, but far less than the double
salary. I didn't care because I managed to accumulate a lot of experience
within the next 5 years.

I ended up getting 2 web design jobs at the same time (one from 8 AM to 5 PM
and another from 6 PM to 2 AM) and did that for 2 years before getting laid
off by the former, and now I currently work the latter. About 2 years later, I
would end up making the salary he offered me, plus benefits and a ton of
vacation time and the freedom to not have a "micro-manager" constantly
hovering over me.

You can read more about it here: [http://confessionsoftheprofessions.com/the-
opportunity](http://confessionsoftheprofessions.com/the-opportunity)

Anyways, the point is: Sometimes you do have to stick it out for a time, but
take it all as a learning experience until you can quit the job and get one
you love. If you aren't happy doing something, than find something that makes
you happy. It makes your life totally worth living.

I not only still work at my day job, but I run a freelance business, a
software company, and several side projects, and although I find myself
working 15+ hour days sometimes, I love it and I don't think I'd have it any
other way. If you take everything you learned and you apply it, you can make
an excellent living, but turn that living into something you want to be doing
everyday.

Also: The more you know, the more valuable you are. If you've gone 6 months to
a year and the company has grown and yet you've seen no "returns on your
investment", than start looking for another job, but don't be afraid to ask
them to consider "better benefits" for you or at least a raise.

------
hackathonguy
Any way to contact you? :-)

