Ask HN: How can I enjoy my job?
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.
30 comments
[ 3.8 ms ] story [ 31.8 ms ] threadI 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. :)
Is your work tracked in any fashion, such as Jira?
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.
Though it doesn't sound like this place is for you, so perhaps that is just rearranging the deck chairs on the titanic.
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.
start at: 11am ,
break time: 1hr (1pm to 2pm),
leave at: 5pm,
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.
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.
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.
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.
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. :)
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.
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 gro...
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. :)
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...