Ask HN: Should I quit my job if I am not learning?
I graduated with a B.S. Computer Science in 2013 and joined a (moderately large) software company in the Bay Area. When I accepted the offer, I was led to believe that I will be working with the company's search/recommendations/data products team - a role that will be a combination of software engineering and applied research (information retrieval, machine learning). But so far, I have been asked to work on things like the company's metrics pipeline and various dashboards etc. I am really frustrated about the fact that I don't get to work on any products/applications - the work is not satisfying and I feel my software engineering skills are eroding.
Should I wait for my 1 year cliff or quit immediately or not quit at all?
56 comments
[ 4.4 ms ] story [ 145 ms ] threadUnderstanding the metrics intimately, building some intuition for them via dashboards, and plotting things in order to formulate hypotheses is a good way to get you warmed up. It seems that by these projects, they're trying to familiarize you with what they measure.
For projects like improving search relevance being able to formulate an insightful theory and quickly checking this against logs/metrics is way more important than programming skills. It seems that you're working with all the right tools - come up with an insight & make a pitch for an A/B test to the right boss!
My job satisfaction has increased greatly with the ability to drop the ego and take an unglamorous task and just do a good job on it.
Hah, one of my first jobs at Google was to do the dashboards for our feature's dogfood, and my manager had to tell us "I know that engineers love to tweak dashboards and make them look pretty, but please try not to spend too much time on them, we have other important things to do."
It's really common for early versions of dashboards or metrics to use off-the-shelf components because the person who set them up had other responsibilities (like building the product) and didn't have time for it. That doesn't mean they should stay that way forever. They could be giving you this assignment as a test to see what you do with it - if you replace the off-the-shelf stuff with pipelines and displays that are way better, that shows that you have the skills that'll be necessary for working in IR or ML.
Money buys flexibility and the ability to take risks with larger payoffs and that is not to be underestimated. How long do you have to go? For me, experiences, especially the bad ones, have been valuable. Learn how to excel in a broken org but don't hang around too long. Finally, always be interviewing. Good luck.
"How long do you have to go? For me, experiences, especially the bad ones, have been valuable" - can you elaborate ? How can I make the most of my time here ?
I learned things from each experience. Some lesson were way more valuable than they initially seemed. Like how to over communicate and that consulting is about service first and the technology second. That I don't like to work with people that don't care about their job. From the same people I realized it's a marathon and not a sprint. How to build consensus and work with people whose approach you fundamentally disagree with. Why marketing and market fit is really important and that if you build it they won't necessarily come. The importance of seeking out mentors and maintaining relationships. How to time a move to maximized the number of RSUs that vest (or to get more when you are hired - they won't give you a higher salary? Ask for something else they can give you.) or that you can line up a new job and then make them wait until a retention bonus is paid out.
In summary, there is more to this game than just your algorithms and computer code. At the same time, don't let people take advantage, ask for what you want, figure out how to get it or go elsewhere but be smart about it and don't leave money or something else valuable on the table.
If you don't prove that you can do these tasks well, we wouldn't trust you with the harder stuff. Another benefit is this gives you a wider understanding of the different parts of the system.
Not saying that you shouldn't stick through because I agree that there is always something to learn, especially at the beginning. That said, look out for opportunities to grow - either inside or outside your company. Don't settle in boredom land.
That said, if you're not learning and your day is full, then you might try working on ways to free up time in your day (learning to automate things), and if your day isn't full learning other parts of the stack can be fun too. You could always chat with your manager about it, that is part of their job description :-)
It should be pretty obvious. Hell, I'm not even a manager for other departments and I can easily tell when people don't feel motivated or stretched enough mentally to feel like staying with a company.
Spending less than a year in the first job would be a red-flag for me, and it would take the candidate offering some very persuasive reasons for having left for me to give the serious consideration.
But "I wanted to do something cooler" isn't going to cut it, because how do I know they won't find something cooler six more months down the road.
Just to name a few: the job description didn't match the actual job, overbearing managers, overbearing coworkers, uninteresting work, a better offer elsewhere, changing interests, or - just like OP - the employee feels like he would grow his talents better elsewhere. I have been in the same situation and employers have understood and respected my decision.
This career's not easy. This career's not always fun. There's strong personalities all over. Sometimes the going gets tough, how do I know this person's going to get going or just get gone?
If the environment is hateful and you're going home in tears every night and hitting the grolsch a little too often then yeah you gotta do what you gotta do, but that's how things are.
We generally look more closely at employees who quit or are let go quickly, but we don't treat the involved companies with the same level of scrutiny.
It's hard to actually do that, because employers don't provide a company resume at the interview that details the list of employees that they've worked with, and the accomplishments related to those employees that show off the company's skill and responsibility. I also don't recall ever seeing a company give references to a prospective employee; at best, a candidate might get some cheer leading from a colleague who's a current employee.
The most important thing at any job in software is to always feel that you are improving as well as contributing to the organization's goals. The latter is often true, but the former is your part of the bargain. We are fortunate to live in a world where employment is high and you can and will find a job where those two needs are met. Take advantage of that because no matter how "great" of a culture the organization that employs you has, if they don't offer you constant improvement and opportunity, you are at an economic loss that can affect your career much more than it will affect their future.
If you have someone who makes it to 35 and doesn't have a stint more than a couple years, then you have a quitter. But it's really common for new grads today to have 3-4 jobs in their first couple years out of college, then a longer stint of 4-5 years as they find their footing.
Learning how to operate in a moderately large company is a skill, and requires you to understand how to assess the value of projects you're working on, how to make them more valuable, and how to find things which would be valuable that you can work on of your own volition.
In general, you'll be asked to demonstrate competence on risk-free projects before you're given the keys to bigger things. Demonstrate excellence on those and then ask for more challenging work.
You need positive reasons for making the move (talk up how much you feel the new job will help you and how you can contribute to the company). In fact, if you make it seem like you don't really want to leave your current role you might even get a higher salary than the one posted (provided you can convince them you are a good fit).
Like, I interview a paerson who dropped out of graduate school or left after a master's, I want to hear things like "I decided academia and I weren't good fits for each other" or "the two-body problem" or even "ain't no faculty jobs, yo", and I don't want to hear "my advisor's a jerk", even if your advisor is such a jerko supremo they get blogged about or something.
EDIT: What I'm trying to get across with these posts is "don't give me a reason to say 'no'."
Personally, I think you should get out of there before your brain turns to mush and falls out. Other posters are telling you to instead perceive it as a blessing to work on these things that you find mundane and boring, but I strongly disagree. To quote Paul Graham, "If you're worried that your current job is rotting your brain, it probably is."
Don't quit, but start applying/interviewing for a new job. You will need to have a good explanation for why you're looking for a new job so quickly after starting, but that's doable. You're in a pretty strong position if you start interviewing for new jobs before quitting -- at least that makes it clear that you weren't fired, and it'll sound credible when you tell them that you're just not challenged enough by your current job.
I would either leave immediately for a company that makes products you want to work on or start my own thing after hitting the cliff.
I made a similar choice recently. My email's in my profile, if you'd like to talk.
You can always code the stuff you want as hobbies - I grow my skills on my own, then look for jobs to help me bring that stuff onto my resume.
Ask yourself the following questions:
Do I know what is expected of me at work?
Do I have the materials and equipment I need to do my work right?
At work, do I have the opportunity to do what I do best everyday?
In the last seven days, have I received recognition or praise for doing good work?
Does my supervisor or someone at work seem to care about me as a person?
Is there someone at work who encourages my development?
At work, do my opinions seem to count?
Does the mission/purpose of my company make me feel my job is important?
Are my co-workers committed to doing quality work?
Do I have a best friend at work?
In the last six months, has someone at work talked to me about my progress?
This last year, have I had the opportunity at work to learn and grow?
A lot of people are suggesting to stick it out, learn from what's there, make the best of it, etc. But this advice is lazy at best, and maximizes regret at worst. You see, this could be applied to almost any job, even within software engineering. Because this advice implies that anyone can be fulfilled at any job, it implies to favor the default option of sticking where you ended up, which was made at a time where you had less information and experience. Worse, it may imply that somebody else has authority over your opinion or "tastes", if you will - you ought to like this job, so find something you like there! Because otherwise, your unhappiness is your own damn fault (which it really is, but not the way others mean).
No. Here's what you do. Before you discount it and consider quitting, consider the following:
1) What kind of work would you ideally be doing at this organization that would make you want to stay?
2) Speak with your manager or someone relevant, to figure out what conditions need to be met until you can do the work in 1.
3) Is the path to get there too painful? Pain is relative, and the way to find out is to research other jobs you could be starting in the next month. You can do this on weekends, everyday after work, whatever. It's important, so you'll make time.
I'm trying to advocate that there's nothing wrong with having taste and preferring something else, or simply disliking what you have. But instead of going too far in that direction and just up and leaving, be smart about it and do your homework. At least then you can be more confident that you made the right decision (stay/go) rather than following some blanketed advice based on responses to your limited detail post on your situation.
Hope this helps.