Quitting a New Job
yolken.net
yolken.net
A few years ago, I was looking for a new job after being laid off. I had two competing companies to choose from, and chose the one that sounded like it would be more exciting. After about five months, though, I was miserable and called the other company to see if they'd still take me; they did, and I've been happily working here since.
But after I announced my departure, a few engineers from other teams came up and told me they wished I'd let them know before quitting, since they would have been glad to have me on their team instead. They knew the reasons I was feeling frustrated, and felt confident that those issues were either not a problem on their team, or were at least being worked on. I still kind of wonder how true that was, and what would have happened if I'd made the switch internally, instead.
Anyway, that was kind of a long and boring story - two whole paragraphs! - but I think this was probably the one of the more valuable parts of OP's post. An internal team change is often a lot less stressful and less risky than going to a different company.
Why? If a person can learn bunch of algorithms and apply them to custom problems they probably can do quite a bit with computers. And it shows that they probably can learn new stuff rapidly as well. I don't get why so many developers hate Leetcode. I love it personally, I think it's great. And also, I think people are just lazy and don't want to learn new stuff so they whine instead. I don't think whining will help them.
If that was the case, you think all of the biggest tech companies that have billions of dollars would continue using it? Did you ever consider that you might be wrong?
And when is the last time you had to balance a binary tree or write Djikstra’s algorithm from memory anyways?
I didn’t reproduce it from memory though (but I did choose to port a Java version in preference to any of the existing Python versions I found, because it’s code was structured in a way that I grokked much easier. Possibly due to my not totally expert idiomatic Python skills, I’m really a Perl coder deep down.)
(And I never had to do any whiteboard performative coding to land this gig either.)
Totally wouldn't work for Google Maps doing shortest path routing globally, but for an event with only a couple of hundred POIs and intersections, it's a cheat that seems almost magical to people who have some concept of the algorithmic problem, but haven't worked out the "trick".
If I were asked to whiteboard this, I would 100% be asking that constraints of the dataset up front. (I'm not too sure I'd have been smart enough to do that a couple of decades back, when I last had a "perform for us code-monkey!" type of job interview...)
No...
> at least not one that’s possible to administer cheaply.
Ah, yes. AFAIK, Behavioural interviewing works, but it does require training and thoughtfulness. You have to know what you're looking for, and ask questions specifically targeting that. You definitely cannot just throw a random employee into an interview with a list of questions and expect it to work.
I'm not trying to denigrate it by labeling it useless - competitive problem solving/"sport programming" is a fun activity and can be a rewarding hobby, but it's important to recognize it as such, as a hobby that's only tangentially related to most actual development work once you move above a certain base competency level ( I'll grant it that it is useful for people without much practice in actual programming to do a bit of it.)
It's a problem from the industry perspective if we as industry have many people spend a lot of time doing things that don't benefit the employer (since grinding leetcode doesn't make a non-junior person better at their development job, it's an orthogonal skill) and that doesn't benefit themselves personally (we're talking about people who don't want to do leetcode just because they enjoy it) but only through the zero-sum game of competing for jobs effectively by "peacock signaling" of who invested/wasted the most effort in leetcode. This is effectively a lose-lose competition, spending a lot of everyone's time without a net benefit.
But these topics are very, very far from being everything important. I would put them under soft skills, especially in cross-collaboration and working with non-engineering groups. And I would put them under having the type of knowledge and experience in approach that, especially combined with the above soft skills, allow us to push the direction of the company forward.
As a dumb example off the top of my head: It's great if you know how to average a batch of numbers efficiently. It's better if you know how to do such in a streaming fashion, and recognize that we can use that within our architecture to materialize savings. And, it's best if you can convince the business that there's no need to calculate the average because we can do streaming estimates for any quartile.
Mostly what you deal with is architectural problems. And when it comes time to fix slow code, the problem won't be O(n^2) code but a mountain of code where the constant factor C is somewhere between log(n) and sqrt(n).
I think algorithms per se don't necessarily give you much of an advantage. For example, LIS[0] is fairly frequently-run algorithm if you work with web stuff, but nearly no one in that specialization knows how to write it from memory (and knowing about it doesn't translate to being able to write other algorithms)
Where I think leetcode helps is in giving you an opportunity to practice the skill of putting together various building blocks in a semi-realistic fashion (e.g. having to use a memoization trick to get under the run time threshold is something that is similar to real life performance work, despite the exercise itself being completely unrealistic).
[0] https://en.wikipedia.org/wiki/Longest_increasing_subsequence
I think people are just lazy and don't want to learn new stuff so they whine instead.
Now imagine your dance skills accounted for 99% of your score during the courtship (hazing) ritual.
Leetcode is even less relevant. I can google algorithms. Dancing's an actual skill.
For example, a large employer may want a willingness to do arbitrary, difficult tasks that appear meaningless. These same employers may have a variety of software maintenance tasks that require recognizing a pattern of problem, knowing the appropriate algorithm from Ye Olde Textbook, and quickly applying it.
These edge cases might exist, although I argue the more likely problem is that hiring is hard, expectations can be unrealistic, and so it’s easier to fall back on puzzles and call them an objective measure of technical competency and soft skills. Project Euler is fun, but Stack Overflow is likely more relevant for your day to day for solving business problems with software.
I find that many junior-level candidates scrape by with Stack Overflow, but sadly have little competence when it comes to reading documentation. Candidates for more senior roles have a similar problem regarding systems design. They can find and parrot little statements they've seen on forums, but when you ask them to explain, their understanding turns out to be shallow.
I don't use programming exercises as a sufficient measure, but they are a necessary one.
Now I feel obligated to add that footer: We're hiring! ;-)
Side note: you should put some contact info in your profile so people know who you are hiring for anf how to contact you. :)
Exactly! Thank you for formulating what I always knew subconsciously.
That's not to say they're a bad option, but it still seems like you've gotta jump to a different company to maximize earnings.
Some companies will flat-out refuse to negotiate in this way as a matter of policy, and some will really appreciate you giving them the opportunity to bid to keep you; it really depends on the company and their comp strategy. I think as long as you're earnest about the conversation and don't try to run a bidding war, most companies won't burn bridges with you over a round of negotiations in this fashion.
The biggest issue we encountered was arbitrary requirements in the paper documentation of the role we were aiming to move me into, including a ‘hard’ requirement for an engineering degree with honours, which suddenly became less of an issue when the argument was ‘im going to accept another role but you can match it with x salary and title’ in a polite discussion with department head.
This will only apply to very large companies though, ymmv.
Biggest downside is economic; can't negotiate new pay when changing teams by policy and you've gotta build a new case for promos/etc. People who have changed companies 2-3 times are likely making significantly more money than I am. I try to keep it in mind that I'm paying for quality of life by staying, so I need to get my money's worth or it's not worth it.
That's always a judgement call on your part. Were your problems just with your part of the management tree, or were they more systematic with the company? If it's the former case, switching teams might help. In the latter, best to get a fresh start and new perspective. Most people feel a bit of exceptionalism when it comes to their team being not like the others, without knowing what your particular issues with your current situation are. In my personal experience "if only you'd have let me know beforehand" comes more from a place of self-interest in finding/retaining talent than necessarily interest in the other person's career.
What people say they will do for you after you've already said goodbye and what they'll do when you just ask for change are often very different things.
It's one of the reasons they say not to take the counter-offer. Because one day while you're brushing your teeth you realize that if they could cough up that much money or control when you tried to quit, why hadn't they factored that into your previous review, when half as much might have prevented the situation in the first place?
You know I know folks who've actually taken these kind of opportunities and sometimes it works, but other times it results in a) you finding out there are problems with the transfer (headcount or manager blocks transfer) and b) being distracted from getting out of your current situation.
It's 20/20 hindsight, for sure - but I like to think of opportunities missed as simply "outside my light-cone". How likely was it you would have broadcast your departure early?
Some recent Apple threads seem to support the idea that there was intense internal competition and lower overall compensation at Apple, compared to other tech companies of similar caliber.
If they have enough resources, it doesn't matter. Google and Apple don't seem to have any trouble paying talent.
This statement really nails it. If you change teams and are still unhappy you can always quit. If you quit without having changed teams and then hate your new job, you might not be able to go back to your previous company (but new team). I think it's general good practice to give another team a change before you leave the company if you're on the fence. If you know it's a company problem, bail, but if you think it could just be your team, give it a shot.
Maybe it's just me, but I like to minimize the amount of decisions I make that I cannot undo.
A few years ago I started a job where, within the first week or two, I had serious enough doubts about whether or not it was going to work that I spoke to my manager and said that I wanted to leave (even though I had nothing else lined up). He was really good about it and after we talked I decided to make more of a go of it, but it was the wrong decision and I've always regretted it.
In the end I stayed for 8 months and was miserable and frustrated for the entire time. This was, I think, a contributory factor (though by no means the only factor) to the breakup of a relationship that I valued very deeply, and that I have also always regretted the end of. The end of that relationship was really the final straw: the moment I realised I needed to bail, and that I should have bailed long before.
I still I didn't have anything definite lined up, although I did have three options on the table. In the end I chose one of them and started after taking a month off to recover. Even had I left at the beginning, I don't think I'd have struggled for work though.
Every situation is different, and staying is not always the right thing to do especially not - as was the case in my situation - where the cultural and ways of working gulf is so large. I have no awkward explaining to do about my CV but there are sometimes more important concerns in life.
(I've omitted a lot of specifics because I don't want to name either the organisation involved, or impugn the people either - many of them were great. There was certainly nothing unpleasant going on of the sort we've seen discussed a few times recently on HN. It was simply a case of an unresolvable culture clash. The commute was also a horrible slog - anything between 60 and 90 minutes each way even on a motorcycle, and I hadn't realised how exhausting that amount of riding every day would be.)
If you have a 45 minute commute which is allegedly "normal". It's an hour and a half. I would add another hour to that to make that a true door-to-door figure, i.e. from the time you decide to get ready (past breakfast/morning coffee) to when you're actually productive at your desk. Same in the evening from the time you shut work to when you're back home.
If you sleep 7 hours a day, you have 21 waking hours. You're spending 15% of your time (2.5 hours) on a commute. That in my opinion is a lot of waste.
My point being most people seriously underestimate the cost of the commute. It's almost like saying you have to work at least 2.5 more hours a day but you won't be paid for it.
Exactly this.
The way it worked for me is that on the way in just the ride itself would be 70 - 80 minutes, and then on the way home it would be anything between 90 and 115 minutes.
The longer duration on the way home was firstly because the traffic was generally worse, and secondly because I'd always have to stop for fuel. My tank range was 160 - 180 miles, and I was doing around 115 for the round trip. In theory I could alternate fuel stops between morning and evening, stopping on every third trip, but I never like to run the tank that low in case - for whatever reason - something happens that means I need more fuel.
The net result was between 2h40 and 3h05m of travel time every single day. And that's with filtering through traffic. If I weren't doing that you could probably add another 30 - 45 minutes on to both trips, which would mean spending up to 4h35m commuting. That's on top of 8 hours in the office.
Riding a motorcycle is much more tiring than driving a car. Partly this is because it is more physical, and you are of course exposed to the elements so your body will be burning more energy to stay warm even wearing proper winter gear, but also because you have to concentrate a lot more and be a lot more aware of your surroundings because you're so much more vulnerable.
That amounts to an 11 hour day where you're "on" - i.e., basically working. You're probably more "on" during the commute than you are in the office because, believe me, you cannot afford for your attention to waver for a second. This in itself suggests the commute is too damn dangerous and you probably shouldn't be doing it. A couple of minor incidents, and one that was more serious where somebody drove into the side of me, brought this starkly into focus, and also contributed to me moving on.
I've mostly worked for startup to mid sized companies in the past, but I decided I'd try to do things differently by cramming leetcode and chasing that fat FAANG pay check. Now I'm kicking myself, this is what happens when you follow money over passion. The silly thing is I'm fine financially, yet I lusted after a job with technology I'm not interested in working on just for the lure of the almighty dollar.
I saw an anecdote a few years ago about a hiring manager basically saying, "If you worked happily for a small startup, you will most likely be unable to put up with the bureaucracy of a large enterprise from now on"
I've often wondered how much truth there was to that statement.
I think that was also part of whatever I saw had to say. But I don't remember where I read such a thing, so who knows.
With a larger company you will typically find they have already hired specialists to handle very specific tasks. You can always do some things but more often than not the rigor of corporate structure says "If you need anything done in dev ops, please speak to _Bob_ and he will sort it out".
Jumping from the challenge of constantly adapting to different tasks to being there to only do a single 'role' can be quite jarring.
I did interview at a different startup a couple years ago, which was I think around 100 employees at that point. They claimed to be very lean and quick on their feet, but I got the feeling that we were talking about different levels of volatility.
I suppose the thing that actually keeps me where I am is I have both a very long leash and a high degree of influence. Hard to level-set that against other positions I see listed.
That's just the reality of senior IC engineering positions. At some point, there's a limit to the amount that you can contribute by sheerly by your own work - to have a bigger impact, you'll need to need influence/improve/impact others
b) A contractor who can only provide a single headcount is extremely limiting, and will get treated like a capped IC.
BUT, I've met a few people where that is not always true. They tend to be people that can come up with unique solutions to difficult problems that are actually useful in the long run. They tend to be people that have PhD's and thrive in that type of work (and are actually good at it, while also being able to work as a team).
This policy was eventually dropped, thankfully, but among some managers I feel like the attitude has remained.
Gee it's too bad you saved everyone on the team 8 hours of work a week because you only got 80% as much work done as they did (ie, we're actually punishing you for making everyone else more productive by comparing you to the yard stick that you just changed).
Individual contributions are necessarily easier to measure and easier to attribute than force-multiplication or communication, so it's going to be easier / less work for managers to pull them out at review time.
Sadly, that means that you need to highlight your own work (in a vaguely PR/Marketing) way that you don't have to for individual contributions.
That means that you both have to communicate well to other engineers "look at this easy way to save 10% of your time", but also communicate the effects of that to management so they'll a) reward you for it and b) invest in making it happen.
None of that is "easy".
Alternatively, you can simply leave your new position off your resume and not talk about it in the interviews at all. There is nothing wrong with saying "My last gig was a software engineer at Stripe. I left there to focus on looking for a better fitting opportunity".
There is no need to have your resume be a complete record of your employment. In fact, such resumes are often less desirable because they are long and don't highlight any specific strengths. Instead, make your resume highlight your most relevant and best accomplishments.
I've only been a professional for 10 years, but I am already condensing my resume, removing descriptions from my first few jobs. I imagine that as time goes on, I will even group jobs together like "2010 - 2015 - Software engineer at Companies A, B, C" to keep my resume a nice, neat one pager, and focus on the more important things I have done recently. Like the OP, I've also quit two jobs shortly after I stared them during my career and those are definitely not on the list - its simply not relevant.
1. Background check companies usually only contact the positions you list to verify your dates of employment and title. They probably won't contact a job you don't let them know about.
2. If it helps you sleep at night, you can still fill out the background check form accurately, but leave stuff off your resume / not talk about it in the interview. Again, there is no rule that you need to talk about every job you have ever had in chronological order on your resume or in the interviews. As long as there is nothing untrue, or some sort of strange conflicts of interest, you are totally welcome to omit things that aren't relevant.
3. In the rare, extremely unlikely chance that you have to explain yourself, it seems perfectly acceptable to say "I've only been at this job for a few weeks. I am not sure I am going to stay longer, so I didn't think it was relevant".
If you are interviewing for the CIA, then definitely list every job. If it's a normal tech job, people simply don't care. Fill your precious chance to impress your interviewer with things that are actually impressive.
i got an email asking why the job i left out wasn’t that n my resume. i simply said having it on there always drives the conversation to why i’m morally opposed to that business after working there. that’s apparently a fine answer and i was given the offer.
going forward i’m just gonna leave it off the resume and the background check. i simply updated my other job dates to 2/2002 - 3/2003 && 5/2003 - 8/2005. if asked i say i took a long break. been fine since
Eventually someone else (upset) comes in and tells me that I'm supposed to be working rather than sitting there. I tell him I'm waiting for the HR lady to come back. "She went home for the day." Okay, I have no idea what I'm supposed to be doing. Guy gets even more upset, takes me to the back room, points at one of the other workers, tells me to do what he's doing, and then I never see him again.
The only time anyone talks to me is (a) to tell me every couple hours I'm doing something wrong, (b) tell me it's break time, and (c) to shout at me for coming back from break two minutes early. (c) was my supervisor, and that was the only contact I had with him. When the second day was just like the first, I decided I didn't need that job.
After what they had done, it was a surprise how bad they took it. Very serious threats to my future employability and well being. I really suffered during the whole call, trying not to laugh and keep it professional.
It was also a hardware company. I worked for another hardware company later. Not sure if there are other kind of hardware companies there in the Valley. But for me, there's a clear rule: never work for another hardware company.
No idea what happens where you live, but in Spain, a signed job contract is not worth the paper it's written on. They could just fire me the first day (there's always a "test period" during which they can do it no questions asked).
We operate with some good faith assumptions. Actually it's the only time that such a thing happened to me.
I imagine there are exceptions to this rule (Nvidia).
They followed the "flag oriented programming" paradigm. The company tanked a few months after I left anyway, so no bad feelings. Edit: I meant the other hardware company. The we-dont-honor-contracts one I guess it's still there making the world a nicer place.
I could see that in the best case, I would be there long enough to get up to speed on my position, just in time to leave. That wouldn't do a service to the company, so I gave my notice after 6 weeks.
To my boss' credit, he offered that I could stick around for a while until I found my next gig. Looking back, I guess this served his interests also — it would have been hard for him to recruit for this position if a newly-arrived team member left so quickly, following on the heels of several other departures.
After two weeks I was panicking over things like customer Hipchat meetings in which participants were using other channels to mock the customers (not shared with the customers, of course) with porn clips.
I noped out of there after two weeks. They gave me puppydog eyes and made all sorts of promises but...nope. Just, nope.
What really did it for me was when we all went out for someone's "birthday" (it wasn't their birthday, the team had put cards in at a few restaurants with different dates for their birthdays to get free stuff, whatever, the restaurants don't care, but it was just weird) and most of the team berated a guy who was trying not to drink so he didn't order a beer. You could tell the guy was uncomfortable, and they just kept goading him for the entire 2hr lunch.
After a week and a half I called back a company I had turned down for this one and asked if they would still take me. Started there the next Monday. That was 10yrs and 2 jobs ago, and easily the best decision I had made for my career.
Last year I interviewed with a company and was ready to take the job but I had drinks with the manager and decided it was too much of a brogrammer shop for me. Looking back, if I had taken the job, I would have worked with friends, the brogrammer aspect wasn't as bad as I thought, and I'd be planning my retirement after 3 years of work.
Sometimes you just never know. It does pay to do your due diligence though. Same thing with buying a house. Big changes, like jobs or living arrangements, demand adequate investigation.
For the future, this kind of stuff is very easy to negotiate with the new company, and should definitely not be the thing holding you back. E.g. "you would have paid relocation for me but I'm in the same city so help me pay back my current company for it instead".
After 4 months, I felt numb and that would last every week from Monday to Friday. I wanted to be somewhere else so bad.
But instead of option 2 ("Start exploring new opportunities but don’t quit until something better is lined up"), I chose option 3 ("Stick it out for at least a year") for these reasons:
- With only €800 saved up (had just invested €5,000 in a fishing business that had failed) at the moment I realized it wasn't a good fit I couldn't afford even a month of bills.
- It would look bad on the resume, and might have to justify it to next prospective employers.
Also due to unfortunate circumstances, my life was administratively a mess: there was a massive 6-month delay in the delivery of new residence permits. And by the time my papers got processed, social security information was no longer up-to-date (only valid for 3 months), causing an additional nerve-wracking 5-month delay. As a consequence I couldn't quit or even get fired as, in addition to the mess above, I would have to update employment information (and get possibly another 5-month delay). After my annual review with my boss and a PIP, my salary got cut 10% (had no choice)
The happy ending? When I finally managed to get my residence permit and successfully updated my social security information 18 months after I joined the company. I looked for and found a new job, handed in my resignation and joined the other company.
I have absolutely no qualms about it, and I don't put the tiny stint on my resume. My work and expertise speaks for itself. It's sad that job hunting has become rife with Machiavellian machinations in the past three decades, but this is the world we live in. Acting otherwise is self-sabotaging.
Long gone are the days where we'd become "company men" loyal to CEOs and corporate pillars. We'd get to retire in our late 50s with pretty wives, a few kids, and decent savings. Job hopping is the most reliable way to get a raise. If you don't job hop, you might be on the chopping block come the next layoff wave.
This is all on top of the fact that engineers are woefully underpaid. I have finance friends that make literal millions in yearly bonuses. This is virtually unheard of in software, even though we provide orders of magnitude more value.
It is what it is.
That doesn't necessarily mean engineers are woefully underpaid. It may just be that your finance friends are obscenely overpaid.
Though whether all/most engineers provide "orders of magnitude more value" may be questionable. Some of the highest-paid engineers, AIUI, devote their considerable expertise to optimising ad click rates. "Provide value"? Hmmm. To whom? Not humanity in general, I think.
The organization they're employed at. Which is obvious because we're talking about jobs here; that's what salaries are, in part, based on.
Though I am not quite sure the average finance person makes more than the average software engineer.
I worked on an ad product with a team of 10 or so data scientists + engineers. I'd wager most of us made between 100k-175k + some tiny bonuses here and there. The product we built was making the company $2.5 million a month.
But hey we all got some cool jackets and a pat on the back. Give me a break. Money talks. I don't know why engineers are so shy when it comes to wanting more.
It was making $2.5m/mo.
"Double" is a much better (but still probably a bit high unless you're also factoring in HR and other similar overhead) estimate for low-paid white-collar workers. Lots of fields in vast swathes of the country start out around $30k/yr but still have full benefits. A $3k-$15k/yr healthcare benefit on top of the other variable costs can push you close to double.
if you buy that, it's no surprise that many software engineers (albeit not necessary ultra professional ones) are willing to give away their labor for free to the world, on the internet, in their (spare?) time. to them, it's just a fulfilling use of time, and that it may be valuable on its own or on behalf of capital, isn't really a big deal.
it should also be no surprise, then, that despite potentially automating away entire industries (e.g. transportation) whose proceeds will ostensibly go to those deploying the labor of the engineers, they're perfectly willing to settle in for a "good salary", "cool perks", "comfortable lifestyle", and, most importantly, being fed very difficult problems to hack on. as long as the SWE isn't too bored or too uncomfortable, i think they'd continue to plow ahead, even if their employers stand to gain $Billions from whatever they're doing.
1) All the other things that goes into making that money. Like sales, marketing, HR, etc.
2) Supply and demand. Doesn't matter if you made the company $xx millions, what's your market value?
3) Risk. If you and your team doesn't make the company money, should you not get paid?
You're attacking a strawman, no one in this thread is arguing that the company should pay engineers whatever they make.
Being proportionally paid with the value you bring isn't even remotely comparable to being paid everything you make. In fact, proportionality of pay is quite common in plenty of industries, e.g., real estate, law, etc.
You are being extremely uncharitable, and are attacking a straw man yet again. I don't think my argument is particularly hard to follow. A degree of proportionality between value generated and compensation isn't some far-fetched kooky idea.
I assure you, if SV could get away paying $12 an hour to engineers or finance, they would.
The idea was that if teaching was a prestigious profession, we would see large returns on that investment. We have an entire underclass of population that is poorly educated, so maybe we shouldn't be living off 'discount teachers' as we are doing now.
The argument was -you cannot get away underpaying developers, you get crap develipers and crap code. But compare teaching outcomes, and you will see that countries with better paid teachera have better outcomes in primary education, so we are suffering the consequences in both cases. Its just that we've chosen different tradeoffs
Most IBs aren’t making millions in the same way that most engineers are making what a Principal at a FAANG makes.
He felt really bad leaving so early but he wasn't particularly happy with the environment after the first week and took the next opportunity that came his way and paid significantly more.
Of course he said that the second job hasn't been much better to his happiness, but his logic was that if you are going to do something you hate, you might as well get paid more to do it. The second job is also more convenient for his commute.
He told me that he doesn't plan on putting the one week job on his resume going forward.
Commutes are hell. If you are working on hardware, especially secret hardware, it's unlikely that you'll be allowed to work from home.
Note in the Apple Press Events, they always have this zoom thing, where they burrow into the earth to show you the hardware labs.
Sort of like The IT Crowd...
It was a bigger company that had acquired probably 7-8 businesses--my team's job was to integrate them all together to help the business operate more fluidly. It took me about 2 days to realize that a) the project was doomed, b) all the people working here (except Dave, the guy who told me to "abandon all hope" as I sat down on the first day) were just faking it and c) literally every person with decision-making capacity was incompetent.
The SMEs were all siloed into a different (you might even say competing) team. They were actually trying to encode all the business rules into something akin to MuleSoft. They were inaccessible to us.
The architect on the project couldn't write code to save his life. He was in love with some inane microservices architecture for which the example project wouldn't even compile. It was basically a mock of a microservice architecture, but built on top of SOAP. It was a bunch of crazy nonsense. He got fired shortly after I left.
The development manager was a nice enough guy, probably too nice. I'm not sure what he did other than set up interviews for me and a couple of the other senior developers to conduct.
I left after 3 months, for a job that was still a pay-cut from my first job, and was twice as far to commute to. But at least it wasn't a total crapshow.
I still keep up with Dave though. So I guess it wasn't a total waste :)
I recently started a new, lucrative team lead job in a problem space I was interested in that promised to be structured, ambitious, and full of opportunity. I even requested a follow-up post-offer to make sure it was a good fit. But after only two weeks, I realized it was a command-and-control death march.
No product ownership. Design your database up front. Complete waterfall but with developers and team leads responsible for each phase. A drive-by micromanaging executive with a team far too large to micromanage. Implementation teams of (only) junior developers had spent months prior to my arrival talking/meeting/designing - with virtually nothing to show for it.
Every day was a calendar full of meetings to prepare for other meetings. Other teams and their managers were reporting fraudulent statuses creating the illusion of progress when no actual progress actually existed. Asking questions or offering any pushback was met with passive-aggressive anger. Any effort to create a little bit of structure amidst the chaos was, almost immediately, thrown away.
So I decided it was best if I resigned. They even kept me around for a couple of weeks after I resigned which was nice, and that two weeks confirmed I made the right decision. A number of other team members and peers reached out and expressed agreement or envy - they wanted to leave as well.
But despite those assurances that I'd made the right choice, it was a tough pill to swallow. I've never worked anywhere less than 18 months. I love building good software and I hate job hunting. I'm debating whether to put this experience on my resume or not because it's such an outlier in my professional experience and was such a short stent.
Here's hoping the next opportunity is a better match. If you're an employer in DFW (or willing to take on a remote) looking for a Team Lead or hands-on Development Manager that can code, I'd love to chat.
I've had 3 relatively short stints in tech jobs, but none where I left responsibilities on the table, like leaving in the middle of a project, or promising some work only to bail. Notice was always given, and I made the best effort to transition by completing all work before the end date. My reasons for leaving each are a bit more serious than a lifestyle downgrade, but none-the-less, that doesn't matter to future employers.
There are lots of sectors to jump between that utilize programming and IT knowledge (DevOps, Cloud roles, security roles), so even when you go to try them out, it's being considered a job hop by recruiters/hiring managers. If it doesn't work out, you're now potentially job hopping twice when you try to go back to something you know you can do due to world events.
Not only is this the major take-away from the article, it also applies to switching industries, and in my experience for switching industries, it applies even if you have a recent certification in the new industry which gets requested by a lot of companies:
>It’s ok to quit after a few weeks (just don’t make it a pattern)
Unfortunately, companies won't see the notice you gave or the transition work you did. Those companies likely can't verify that, so they really only have your employment dates to look at. If they don't like it, they just won't put you forward regardless of how much they like your skills.
For some people, there will be companies where they don't fit in with because of personality traits. If you get particularly unlucky, you'll run into 2 or 3 of those companies in quick succession, with the latter positions being even worse than the first, and so you'll have to stick it out and endure more. This unluckiness doesn't do you any favors, though. But it's really up to you if those personality traits need to be fixed or not.
The only thing that seems to count is your tenure, so don't fuck it up. You might not even get to the leetcode step if you do.
This is flat wrong. Are you only applying to Fortune 500s or something?
Some companies won't care, but finding those is just about as easy as finding a company that's a good fit before you've worked there.
Yes. Hard technical skills are even more important in that situation.
- Disappointed that Stripe wouldn't just give him a job and the same pay back. - Referring to the new job as a downgrade when in fact it was simply a bad fit. - Job hopping every 18 months as if that is perfectly acceptable and sustainable for the employers.
Live and learn.
Having another internal team still want to do a technical interview was ridiculous to hear though.
EDIT: To clarify, I'm referring here to folks who are already employed at some firm, and that same firm is asking them to interview (again) for their existing job, or a new job that is almost identical to the legacy job...all within the same firm.
He regretted switching to the new team, when he expressed his disastisfaction to the new team manager the team manager felt like he simply wasn't a good fit and transferred him to a third team. Now he is the guy who has been on 3 teams in 6 months and he feels all the same problems as before, but with the label of being a "team switcher" whenever something doesn't go right.
Over Christmas he told me he plans to start applying for new jobs outside of the company at the start of the year.
As a manager, I have personally moved employees from other teams to my team twice and neither time did it work out well. There is often a reason that the previous team wasn't working out. Many people see switching teams as an easy and secure way to get a new job. But it is a lateral move and not a job switch. I haven't seen it work out well in either of the two times I have allowed it. Both employees lasted less than 6 months after switching teams.
If we expect startups and companies to act ethically (in terms of pay, benefits, options, etc.), we should expect the same of employees.
How so?
> If we expect startups and companies to act ethically (in terms of pay, benefits, options, etc.), we should expect the same of employees.
I'm not sure what an ethical action from an employee would look like under this framework; quit and live without an income during any job search?
Yeah, I am confused by that one as well. If you are delivering value in the same capacity as you did before you started the job search (aka you ain't slacking and doing the bare minimum, with the rest overflowing onto the rest of engineers on your team), then how is it harmful or even noticeable to anyone at all?
I don't think it's unethical to leave after a short amount of time given the employer has no equivalent expectation.
* If I am terminated without breach of contract I still will receive full compensation (at least for some months).
* Contract may not be broken related to any unexpected health issues.
* No arbitration requirement if one side accuses breach of contract.
Of course this would benefit me more than the employer :-)
I work in finance and certain hedge funds have a reputation for cutting people quickly they don’t like. It attracts people that are ok with that and most stay away.
That all said - you got to look out for you and your family and friends, so you got to do it sometimes. Just wanted to say that, most of the times, the feeling of a commitment to each other goes both ways during the honeymoon period between company and person.
We also hired a c-level exec who came aboard apparently having already accepted a different offer and came on for under a month to collect pay and get some juicy stock. Apparently they negotiated well and walked off very, very well paid.
Edit: not sure if I have a point there other than both employees and companies can be jerks. We should all be better.
At a previous job, I worked fairly closely with a sales representative who, it turned out, was working in sales “full time” for two different tech companies in different fields.
Needless to say, once he was discovered he was jobless (unless, of course, there were more undiscovered jobs out there).
If this continued for a while and you were happy with his work prior to discovering this, why let him go?
They talked about making him full-time. Negotiated an offer, relocation package, etc., all good. He set about selling his home, finding his kids new schools, etc. And then about a week before his start date, he got a phone call.
"The clinic has been sold to new owners. They are reviewing finances and rescinded any job offers, including yours. They will allow you 30 days to repay your relocation assistance."
Oh hell no. He lawyered up. He'd sold his home. Had a whole bunch of language in the employment contract that the new owners were unaware of, to ensure things went "smoothly".
He didn't end up repaying his relocation assistance. And his "new" "employer" ended up paying three months salary and the closing costs on his house for the inconvenience.
California at-will employment cuts both ways and requires neither employer nor employee to give notice.
Many employers will typically notify employees 30 days in advance of layoffs and provide severance on top of that.
Many employees give employers two weeks’ notice before quitting.
Some employers and some employees do neither, which is fully within the bounds of at-will employment in California.
She was nervous because they "required"/"only wanted" someone who "was going to be there long term".
I asked her: "They want you to make commitments to them that you will be there for a long term. Are they willing to make the same commitment to you? Or are you out the door the moment you are unneeded?"
"Business is tough. But here at BlahCo, like we told you, we're a family. So like we required from you, we're keeping you on and paying you!" - hah, no. At least not the very very vast majority of the time, more like "Come in, close the door, have a seat".
No we shouldn't. The reason being that this puts employees at a significant disadvantage compared to the multitude of companies doing much worse things.
Obviously, there is always a line that one should not crossed. EX: don't do anything that is blatantly illegal.
But taken advantage of at-will employment status, which is fully within someone's legal right to do so? Go for it. If the company is upset about it, then they should have offered better employment terms.
Like, say, 6 months of guaranteed pay if you are let go for any reason non-criminal.
until then, no thank you - if you are hoping to win people over by using warm-sounding moving targets like "ethics", well, hopefully we've seen enough of that to know better by now.
Oh, I gave up on that a long time ago. So where does that leave me in light of the second half of your sentence?
I know where it leaves me: it leaves me in the place where employers pushed for "at-will" employment in the state legislature, and just like an employer might want me to train my replacement, I'm going to "not quit until something better is lined up". I'll still do the work that I was hired to do, but I'm not quitting until it suits my needs, just like an employer won't keep me around even one minute longer than suits their needs.
Ethics don't come into play, these are the rules that have been foisted upon us while no one asked us our opinion on the subject. To argue ethics in this case makes me suspect manipulation at worst, naivety at best.
And how about their bills? People have to pay for shelter and other things. There's ethics and there are material needs. Not everyone is a made man / woman.
I did ask them to show me what a typical office would look like, though.
I once applied to 7-10 jobs in the same week. Of the 4-5 that decided to interview me, the interview processes didn't even interleave at all.
Why? If a person can learn bunch of algorithms and apply them to custom problems they probably can do quite a bit with computers. And it shows that they probably can learn new stuff rapidly as well. I don't get why so many developers hate Leetcode. I love it personally, I think it's great. And also, I think people are just lazy and don't want to learn new stuff so they whine instead. I don't think whining will help them.
Because they think that the employer should recognize their greatness by just looking at their resume and having a simple conversation with them, instead of assessing them on some skill that they have to brush up on.
After being on the interviewer side myself recently, I think those people just don't realize how hiring actually works. I've seen some people with impressive resumes and who could bullshit their way around a conversation greatly, to the point where they make you believe they are one of those magic 10x-ers. And when you get to algorithmic problems, they struggle to figure out when or how to use a hashmap and cannot even do some super basic bruteforce parsing of binary trees or even know what they are used for.
Of course there are some edge cases where a great developer would fail a leetcode-style interview, but those exceptions are very rare and only seem to affirm the rule. I know that leetcode style interviewing is far from perfect, but I struggle to think of anything that would work better. A take-home coding project sounds like a great option, until you realize that each one of them takes about a week of working on it a couple of hours a day, which is an unacceptable time sink for any adult with responsibilities and who interviews at more than one place at a time.
To be honest, most data structure wonks are great at scaling cloud services or massive middleware business logic. But not all programming is like that.
It's easy to fall into "If they won't do a coding interview, they have something to hide!" But it doesn't (only) work like that.
I am one of those people myself, absolutely cannot do it. But interviewing isn't like that and shouldn't be. It is more like, cooperatively working on a problem with a colleague and then presenting and explaining it to your teammates. That's a pretty valuable skill at work, even necessary, I would say.
The whole "loner dev in his cave" stereotype, most of the time, just materializes in the form of a dude writing code that no one can understand or maintain, with a cherry on top being that dude not being able to effectively explain it to other people either.
If I'm talking, if I'm listening to you, then I'm not coding. They are orthogonal activities, at least for me. Want me to 'talk you through' my design thoughts? Thanks for your time, goodbye.
What do you mean? That's pretty much what leetcode-style problems are during interviews. You get a problem with some theme, like "here is a list of airplane flights in an array composed of tuples, with the first member being origin, and the second being destination. Write code that would create full-blown routes out of those flight entries."
You ask questions, clarify constraints, come up with a few approaches, discuss with the interviewer pros and cons of each, decide to go with one, implement it while walking the interviewer through your thought process. And then you discuss limitations and edge cases, scalability concerns, how you would test it if it was a problem you were solving at an actual workplace, etc.
Leetcode-style interviewing doesn't typically refer to "we just pulled a random problem from leetcode, go ahead and solve it while I am standing over your shoulder, and we will check how correct the solution is afterwards." In fact, interviewers care way more about the thought process and your approach, as opposed to caring about your solution matching theirs. In fact, there were many cases where people ended up not solving the problem and passed the interview anyway, as well as cases where people solved the problem and ended up not passing. Because the process of arriving at the solution and the reasoning you took to get there matters way more when hiring (even if you didn't get there all the way to the correct solution), as opposed to just getting the correct answer. The fastest way to fail a leetcode-style interview is to sit down and write down the correct solution as fast as possible, without explaining your reasoning process or even anything at all.
I've rejected a good bunch of candidates that can pass coding tests while not having any good understanding of theory, hardware, OS, networking, security
Those are valid points, fully agreed. I think the discussion of those topics must be included in an interview process and discussed in-depth too, leetcode-style problems are not sufficient enough on their own.
>Leetcode focused on tricks and memorizing algorithms.
Strong disagree on "memorizing" and only partially agreed on "tricks". Those "tricks" (like knowing that you should use a hashmap when you need a key-value datastructure, or memoizing [aka caching] repeated operations) are very useful in real life problem-solving situations at work. I can tell you for a fact, I don't remember almost any particular problem from leetcode, and I ended up solving certain problems multiple times on leetcode, because I couldn't recognize them at all. However, thanks to leetcode, I obtained a pretty solid intuition on which approach to use in a particular situation, and it helped me out in the workplace immensely (even if I don't directly implement those approaches or remember the specifics 99% of the time).
As an interviewer I've never had to give a coding test and I'm not about to start now. I've had people try and bullshit -- not really on purpose -- but asking specific questions weeds them out easily. Often times they don't even know they're failing the questions.
I have a less-technical manager come in on my meetings and by the end he could spot those people who failed without any knowledge of programming at all.
> Of course there are some edge cases where a great developer would fail a leetcode-style interview, but those exceptions are very rare and only seem to affirm the rule.
I did all this binary tree stuff in University decades ago -- I only have so much brain space and studying all this again is going to push out the interesting stuff I'm working on right now.
Yep, that's me.
> don't want to learn new stuff
No, I like learning some kinds of new things. I read non-fiction regularly. I just don't want to practice algorithms.
Yes, this means I probably would be a failure as a BigCo employee.
The algorithms and ideas do sort of stick to me somehow but I still have to repeat this silly exam prep over and over again. And it's sad because the truth is this part of the interview process has almost no relation to your actual job.
I understand there is no simple solution to how to hire software engineers, but you should be able to recognize why a lot of us don't like the current status quo of interviewing (even if you thrive in it).
There are definitely those of us without formal degrees in software engineering, programming, what-have-you, too. But similarly, I can see some of these employers saying "Oh, you have a CS degree from Stanford? That's cool. How do you perform preorder traversal in a given binary tree? Whiteboard is over here."
I'm not sure why you're putting this out there like it's a bad thing. Surely, we want all candidates to be assessed against the same hiring standards and not give some people a pass because of the school they went to.
The real reason you left is the commute and office decor. Moving from a 15 walk to an hour trainride is a big change. Moving to an environment where people care more about product than impressing people is a huge culture shift.
In the end covid would have forced everyone wfh anyhow.
"I figured it wasn’t really fair to my colleagues at Nuro to stick in a job that my heart wasn’t in."
So, in the end, I decided that option 2 was the best fit for me. I continued at Nuro and did my best to get up-to-speed and to contribute to my team’s work, but at the same time jumped right back into the job market"
This is after he went to a robotics company because it seemed different.
He may also have felt out of place with people who know computers, electrical engineering, and mechanical engineering. If all you know is webcrap, you may feel way over your head in a robotics company.
Which is fine, compared to twitch streamers making millions for doing squats this is still a great career, but if anyone's looking at all for constructive criticism then they should introspect how priviliged all this stuff sounds like and whether it's healthy for their own development to live in such a bubble for too long.
In this case I or others are not alleging this person owes the company much. They should feel free to move as soon as possible if they don't like the commute or the work. It does look like the hardware place looks like a crappy deal. I'm just curious if the OP is truly doing whats in their interest or if they're overindulging their cushy position (being an in demand engineer) to their own long term detriment.
> He may also have felt out of place with people who know computers, electrical engineering, and mechanical engineering. If all you know is webcrap, you may feel way over your head in a robotics company.
I agree with you, but that is worded really harshly. I was surprised to see it come from you, of all people. I usually love to read your comments.
And HN responds by upvoting the article and downvoting @Animats!
I know that sentence was probably meant to be humorous and not taken too seriously, but it comes off as smug and disdainful. Manufacturing is very difficult, and road safety is anything but trivial.
He joined the company because he believed in the mission, but then decided the lifestyle tradeoff wasn't worth it? His conviction must not have been very strong to begin with.
The comment about safety is obviously tongue in cheek
1. I have a ton of respect for people who do robotics work. I was trying to be a little humorous/cheeky in my descriptions here. Apologies if it comes across as flippant, that was not what I intended.
2. My undergrad was in EECS, so I know a little about the hardware side of the world (although, to be fair, I've never done it for work).
3. There's a bit more to the story than what I wrote about in my post. For reasons around confidentiality, etc. I had to focus on the things that were safe to talk about openly, some of which I agree are kind of petty. Ditto for the reasons about leaving Stripe.
As an employer, I tend to think we dodged a bullet. I've had one or two early quits over the years, and it's fine, we mostly avoided investing too much in them. People come, they sniff around for a week, they leave. Or they come, we find out we don't like them, and they go. Both have happened.
I've also been on the employee side of that. I joined, and then found the place to be a mess. So I left immediately when something else presented itself a few weeks later.
The thing about jobs, as opposed to school, is that the only way a job ends is that someone calls time on it. School ends because you're done. You graduated, passed the viva, whatever. A job you have to decide to end if you don't like it. You can't just slog it out through that course that you don't like, because there's no end.
I wouldn't worry at all about the CV impact. Chances are you can explain what happened if you decide to have it on your CV. Alternatively, I don't think anyone would hold it against you if you omitted or obscured a few weeks of your life. I certainly wouldn't.