
Ask HN: How can I enjoy my job? - idontlikemyjob
I&#x27;ve been at three companies in just over a year and I&#x27;m already at the point where I don&#x27;t like the third one. I don&#x27;t know why this keeps happening, but I hope it&#x27;s something I can fix.<p>The projects that I work on at these jobs aren&#x27;t intellectually challenging to me. In addition to that, I seem to be stuck as a front end engineer. When I joined my current company, I made it clear that I want to do backend work, but I haven&#x27;t done anything but frontend since I started.<p>There are certain problems that are definitely my fault; the least of which is my inability to deal with other people. Discussions about which design is better are pointless to me. Why don&#x27;t we just try both and let the data decide? Meetings that are announced at the last second are irritating at best, because they distract me from my work, but I&#x27;m required to join anyways.<p>I want to work with people that are a lot better than me, but (at the risk of sounding arrogant) each time I move to a new company, my team seems to get worse. I&#x27;m looking for a place where there is a high level of rigour involved in the software development process.<p>How can I figure out why I can&#x27;t enjoy any job that I take? How can I tell if I am the problem? How can I stop doing front end work? How can I identify a good team before accepting the job? Is it bad that I&#x27;m moving through jobs so quickly?<p>Any advice or thoughts are appreciated.
======
WWKong
I was in the same boat. Then I recallibrated myself a bit and everything
changed. The tweak was what I thought "work" was. If you think going to this
place called office and doing what you think you love to do (code, design,
water plants etc.) is what it is about, then you will mostly find yourself in
your current situation.

Now think of office as this place which is a set of problems. Mediocre talent,
useless meeting, aimless projects, difficult managers etc. and you are
captain-problem-crusher. You have one goal: make this place efficient and
super productive. Impossible? Not for captain-problem-crusher. Track your
progress. Keep score. 2 months, in were you able to eliminate 40% of meetings?
Were you able to make middle managers play nice? Great.

People will start calling you leader, visionary and stupid stuff like that.
Ignore them. You are captain-problem-crusher.

------
javajack
You are not alone dude. I have had similar feelings when I graduated here in
India and started my first job in corporate culture !

If you are skilled enough then start doing a "freelancing", don't need to
waste your time in a "job" thing.

Act like a businessman and extract more value of your time !!

As far as " inability to deal with other people " problem is concerned, you
will have to train yourself to deal with them.

This world is full of people who are dumbass and still they have better social
and economical positions than the people who deserve one !

Life is a not fair game ! Be flexible, your time would come.

~~~
idontlikemyjob
It is always nice to hear that one is not alone. Thank you. :)

------
ozuvedi
Your Problem: You don't have patience. Remember, life is long and you have a
lot things to learn. I had same issue as yours in my last company. I hated the
company, their coding style, their system...everything. But after working 1
year there, I realized things weren't too bad. I really feel happy I learned a
lot there. Then I moved to my current job. I hated it for 6 months. I hated
the code. So messy. I thought I deserved better. But now I'm in seventh month.
I convinced my senior to move to new tools and new framework. I am already
working on it. I learned so much here. Greatest thing: how to convince, how to
tolerate, how to have patience and what NOT to DO. Now I know what type of
attitude should a senior developer should have, what responsibility is. I am
so glad I stayed till now. Have patience. Take every negative as well as
positive as opportunity to learn. That's how you'll move forward. At last, be
a good person. Be humble, respect others. Be a good listener. Problem with
programming world is most of the developers talk more and listen very less.
They search for quick answers and read very less. Don't go that way. Best of
Luck !!!

------
josephschmoe
|Discussions about which design is better are pointless to me. Why don't we
just try both and let the data decide?

This seems to indicate to me that you are stuck in the "expert beginner" phase
of development. That's bad - but it's not necessarily your fault. And you're
obviously making moves to try to escape this trap.

What you need - or at least what worked for me - was going out of my way to
learn as much as I possibly can about the field I'm interested in, and even
accepting that I might need to re-learn some things or reconsider some of my
notions (for me, the biggest one was my low tolerance of messy code and
extreme sense of organization - I worked on mastering refactoring tools to
make it easier to fix messy code quickly if I need to, so I've given myself a
higher tolerance for writing it).

I don't mean this badly. I'm still an expert beginner in plenty of things -
it's just important to be humble and try to escape it so you can get some
perspective. Perspective isn't something your environment will probably give
you, you need to make it for yourself.

[http://www.daedtech.com/how-developers-stop-learning-rise-
of...](http://www.daedtech.com/how-developers-stop-learning-rise-of-the-
expert-beginner)

------
derekp7
Next time you go into a discount retail store, take a look at the staff there.
Now imagine that is the only job that you could get. How miserable do you
think you would be working as a cashier at Walmart? Or a stock chaser at a
grocery store? Yes, I making a fallacy of relative privation, but it is true
that no matter how good any one person has it, they often feel that they are
miserable and want better.

~~~
idontlikemyjob
I understand where you're coming from, but I'm not convinced that I see this
as a bad thing.

The same logic can be applied to those who (like myself) don't think they can
ever learn enough. Perhaps I know more than I think I do, or perhaps I don't,
but I will always have a deep, insatiable hunger for more knowledge.

------
_navaneethan
If you still not tired of changing your company, please change the company
till you get tired.There is no wrong.

Job is same wherever you go, only tools can be changed that you can't
decide.Start enjoying all the tools.

 _this life is temporary.you got only limited time.If you like doing wrong
things that will not give hurt to others, just do the wrong things.enjoy the
journey._

Because I am going to change the company next month from this company where i
joined before 5 months only. :)

------
yunyeng
Why don't you take your time doing outside backend projects ? Spend less time
for the company you are working and more time for your own backend enjoyable
projects. It's not like they fire you at the point, just take things slowly at
work and try to focus your own projects which you enjoy.

~~~
idontlikemyjob
To the contrary, I am worried that if I work any less, they will fire me.

I get into work at 7:00 AM every morning to an empty office. Others join me
around three hours later, but I understand that since nobody sees me come in
there is a misconception about the hours that I work. I leave at 7:00 PM.

I would like to write a Python interpreter in Python, though. That sounds like
a lot of fun. :)

~~~
mcs
Unless your work hours are being explicitly questioned, you perhaps are being
a self conscious to the point of being unhappy. There is also a difference
between being physically present for 12 hours and being productive. I don't
think anybody would for a minute guess you are productive for 12 hours. If you
actually are, you are way more valuable to the company than they are paying
you and they would be damn fools to fire you. (And you shouldn't even try to
be that productive).

Is your work tracked in any fashion, such as Jira?

~~~
idontlikemyjob
Understood. I did not mean to imply that I'm productive the entire time. In
fact, I don't believe in working 12 hours days specifically because I agree
that virtually no person can put in 12 hours of productive work in a single
day.

I take time to eat breakfast, lunch, and sometimes dinner while at work. I
also take off at 5:00 some days to exercise, not to mention the fact that I
take a 20 minute nap every day directly after lunch.

We use a system similar to Jira called Phabricator. I'm also interested in how
our team can use Phabricator better, because I don't think it paints an
accurate picture of the amount of work anyone at the company puts in.

~~~
RogerL
Do your check ins in the morning - 7, 8, 9 am. You will build a body of work
that no one can dispute.

Though it doesn't sound like this place is for you, so perhaps that is just
rearranging the deck chairs on the titanic.

~~~
idontlikemyjob
That is a very interesting (and kind of dark) metaphor. Haha. :)

------
nmutiara
Thanks for sharing this! I'm also having the similar problem despite having
decent work-life balance. At this point I can only think of how to accept that
this is how it works and keep doing side projects.

------
techjuice
Something for you to ponder: Maybe you are not the type that should be working
for other people but should have other people working for you...

Design patterns are nice but choosing the right one can have a long term
positive or negative effect on the project, I would recommend learning them
more in detail and when a conversation comes up about them you provide
constructive criticism if needed if you have found better use of another
design pattern. Sometimes it is best to sit back and see things through the
eyes of other members of the team to get a better view of why they have chosen
what they have suggested. If something comes up don't treat them as pointless
but possible improvements to the project. It is similar to using algorithms to
solve problems, one that is chosen may work fine now but as your data set
grows you may need to choose or create a new one to meet your needs and
improve efficiency of your algorithm (Big example are the regular changes in
the Google Search Algorithms).

If you are seeing the teams get worse start making a log of what you have
noticed going down in quality in the teams you have been on. This will help
you pinpoint anything that keeps happening. Somethings could be skill gaps,
problems too advanced for the current teams, no senior developers on the team
only juniors or intermediate developers, no out of the box type thinkers, etc.
Make a log of it and analyze the reoccurring points to come up with a few
hypothesis on resolving the reoccurring issues.

Meetings at the last minute should be rare but you should be prepared for them
as they are a way of business life either internally at the company or
externally with clients. Until you rise the ladder or start your own company
there will be nothing you can do to change this as it would be the standard
unfortunately. Yes, these unannounced required meeting do pull us out of the
Matrix at critical points while fighting the agents and building our neural
network but the secret to these is to learn to start back up and get going
without taking it too personally. Use the meetings as mental time to solve the
problem mentally that you were working on while taking notes of the meeting.

If you want to stop doing front end work apply for backend jobs but insure you
meet the the desired qualifications for doing them and have some system
administration qualifications. If you do not have any work experience doing
backend work start created web applications and putting up code on GitHub. If
you do but are not getting any bites back when applying for the backend jobs
make your projects more advanced and solve real world problems. Eventually
someone will reach out to you to help them solve their problems after seeing
your methods of solving problems.

Main thing to remember is don't give up looking for the job you want, keep
pushing forward and don't give up. Work on being more positive in team
environments when at work, and when your at home work on strengthening your
weaknesses and fine-tuning your strengths.

~~~
idontlikemyjob
Thank you for taking the time to write that.

I have never seriously considered working for myself. Because I live in
Silicon Valley, the thought has crossed my mind, but never for more than a few
moments.

From what I can tell, this all sounds like very good advice. I'll be
bookmarking your answer so I can return to it frequently. :)

------
blakzer0
I've been also struggling with the same sort of situation.

Initially I was working as the only developer at a small company. I spent a
lot of time building better code and learning as much as I could. After about
a year I noticed my forward momentum slowing and my overall happiness
dropping. I felt I wasn't improving enough by myself.

I moved to another company with 5 other developers. I thought this company was
going to be a great opportunity to improve my skills. However I quickly
realized the company as a whole hired only mediocre developers with no will or
skill to improve. I feel I provided a lot of value while at the company but as
a whole I was extremely unhappy. The companies managers, if you can even call
them that, had literally no experience. What they had in age they lacked in
technical ability and skill.

I quickly moved to the my current company and I can say things have changed
for the better. Although my company has hired some mediocre developers and
cheap overseas labor we do have a fantastic CTO leading our technology
department. I've been really able to improve my knowledge and skills
considerably. I find I'm much happier and feel more accomplished.

What I've found to be most important for my happiness is company culture and
leadership. Our culture is very open and playful. Although we joke a lot we
work hard when it comes down to it. Our leadership is solid. It makes a world
of difference coming from my previous employer who had 10x the money but
lacked the leadership to do anything with it.

I still deal with the other mediocre developers and their poor attitudes but
I've been able to look past them. Focusing on learning from our CTO as well as
becoming the problem solver has has helped myself exponentially. Being the
problem solver allows you to see the issues and work towards fixing them
instead of allowing them to hinder your progress and growth.

To address some of your points: 1\. How can I figure out why I can't enjoy any
job that I take? This takes a lot of self reflection. I had to consider why I
was at my current company and what was keeping me there to really find my own
answer. I don't think anyone but yourself can answer this question for you.
Spend some personal reflection time on this.

2\. How can I tell if I am the problem? I would suggest looking at your
behavior at work. Are you friendly? When someone needs help do you help them
or turn them away? I don't think you're the problem but your unhappiness can
exacerbate an existing problem.

3\. How can I stop doing front end work? You're going to just to have to start
doing back end work. It's clear your not going to be assigned any so just
start doing back end work and start forcing opportunities for you to do the
back end work. The worst they can say is no, but it's unlikely.

4\. How can I identify a good team before accepting the job? I've struggled
with this issue. The interview can be difficult to judge. I've been fooled
multiple times into thinking the team I was joining was a strong development
team. The number one question I would ask if given the chance was which
framework was chosen and why it was chosen. If they don't have a good answer
its a VERY CLEAR sign the development team is quite weak.

5\. Is it bad that I'm moving through jobs so quickly? No. Double no. Triple
no. You're happiness is important. If you're current job isn't providing the
right environment for personal growth move on until you find the right
company. In the last year I've had 3 jobs. You're going to find a lot of duds
before you find a winner. In my experience it's been financially more
rewarding to switch jobs. If you find you only reason for staying is fear,
then leave. Don't let yourself be afraid of trying something new.

I would also create a GitHub account. Consider it your public code resume. You
need to fill it with interesting projects. So start filling it with code. This
has helped jump start my own personal growth.

Seth Godin has a book called Linch Pin which I highly suggest reading. It's
just the right kind of motivation you need in your situation.

To sum it up: Keep working hard. Keep growing. Keeping learning. Never let
anyone get in your way. Don't ever settle for mediocre and most importantly be
happy and share the art you create with the world.

------
Ragu
First of all you need to love your profession. Then take deep analysis why i'm
working here. Then you will get the answer. Plan your day with Do's and dont
Do's list. Then execute step by step. Take a nap and share your thoughts with
your co workers boldly

~~~
courseeplus
nice thought

