Hacker News new | ask | show | jobs
Ask HN: How can I enjoy my job?
21 points by idontlikemyjob 4322 days ago
I've been at three companies in just over a year and I'm already at the point where I don't like the third one. I don't know why this keeps happening, but I hope it's something I can fix.

The projects that I work on at these jobs aren'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't done anything but frontend since I started.

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'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'm required to join anyways.

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'm looking for a place where there is a high level of rigour involved in the software development process.

How can I figure out why I can'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'm moving through jobs so quickly?

Any advice or thoughts are appreciated.

11 comments

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.

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.

It is always nice to hear that one is not alone. Thank you. :)
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 !!!
|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...

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.
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.

The power of Negative Visualization :)
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. :)

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.
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. :)

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?

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.

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.

That is a very interesting (and kind of dark) metaphor. Haha. :)
If it makes you feel better, we used JIRA extensively at my previous employer and it didn't come close to painting an accurate picture either.
It is all about how you use the tool. For instance, our "tasks" (similar to bugs, perhaps) are generally large and not well defined. This makes it hard to break a large task down into smaller tasks. Without smaller tasks, it appears as if you're doing nothing at work all day.
Why are you working 12 hours a day at a job you don't enjoy?

Stop. Stop now. Sleep in tomorrow morning, and leave around 5 or 6. Pay careful attention that the world does not end because you've done so--and if you get fired, you can punch me in the stomach.

I don't think I want to punch someone named "angersock" in the stomache. :)
I remember this phase of my work.

I solved it by producing content no one could possibly question the value of, then becoming an expert on that content.

It's easy to work 40 hours per week if the company would see you as valuable if you worked 0.

And since you outpace your coworkers, I can't see why you can't do this.

Sorry to hear about your situation dude. There are some good tips from everyone here. Maybe try getting a better work/life balance going on. Come in to work later and leave earlier, 12 hours on anything can be draining. Hopefully that improves things for you.
I've been considering this lately, and perhaps I'll give it a try. My concern is that, by coming in later, I lose the advantage of coming into early, which is the ability to do more work when there is no one around to interrupt me.
Why not speak to your boss and explain this? Come in earlier but leave earlier as well. You still do your standard 8 hours, but just at different times.
i

start at: 11am ,

break time: 1hr (1pm to 2pm),

leave at: 5pm,

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.
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.

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. :)

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.

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
nice thought