What criteria do you use? What are red flags to look out for?
- Compensation. People love to harp on good comp for engineers until they realize how much execs make. I'll deliver excellent value if compensated appropriately.
- Work life balance. It's good if people are working hard but the key is "balance". Being constantly stressed out grinds you to the bone, kills morale, and breeds a cutthroat culture.
- Team expertise-- I prefer to work on a small team with highly experienced engineers vs. a large team w/ enormous numbers of juniors. It typically means we can be very strategic on what exactly to work on vs. building a ton of unmaintainable bloat.
- Team/Manager culture-- Again, cuthroat is a no-no. I like to collaborate with others on a team. If I'm having to watch my back or I'm on a team w/ stack ranking where everyone's clawing over each other to not end up on the bottom then everyone who's able to will leave at the first opportunity.
Tie breakers: work that's more interesting
Everything else depends on everything else.
No adtech/No military/No "can be easily weaponized to maim or kill"
Compensation - has to be at least market rate
No "leetcode" interviews - if you don't believe I can write code by now, nothing will convince you otherwise.
No control freaks - especially in leads & managers
No toxicity/No assholes
How do you test for that during the interview process?
No on prem infrastructure and a dev cloud account with very wide guardrails. I didn’t focus on the cloud because I didn’t want to deal with administering servers. I moved to the cloud because I didn’t want to deal with server administrators.
No leetCode/DS&A monkey dance interviews. Let’s talk about your real world problems like adults and I can talk about how I can help you solve those problems. Yes that mindset got me into “a FAANG”
The application can’t be overly dependent on stored procedures and “database developers”
I only work for companies where their value proposition is “you give us money and we give you a service” - no adTech
I value equity in a private company at $0. If you’re not a public company you have to pay me in cash at market value. Yes my unvested RSUs are worth half their all time highs. But at least I can sell them and diversify when they vest.
- 100% remote only
- Flexible schedule (e.g., I can start at at 8am or at 10am. I can go and pick up the kids at 2pm from school. I have a dentist appointment tomorrow morning. Etc.)
- salary. At least 15% more than what I’m making now
- standard health insurance
- vacation days. No BS (e.g., unlimited vacation), just plain usual number of vacation days (around 30 where I live)
- people. I take a look at LinkedIn and check out the people who work there (experience, past companies, personal websites, Twitter profiles, etc.)
- product. Is it actually something I don’t hate?
- tech stack. Is it something I actually don’t hate? Would the stack make me more employable in the future?
- no on-call. This is getting more difficult to be picky about with all this stupid movement “you build it you run it”
- hardware. I hope I can choose the hardware
Everything else (conference budgets, learning budgets, etc.) are nice to haves but I couldn’t care less.
A lot many times employees themselves shoot in their foot. They don’t stand their ground and say yes even to nighttime on-call. Are you in a first world country? Wherever you are — isn’t there any legal deterrent against this practice?
That’s the most lame reasoning by the way. Because that means you rm-rf-*ing whatever the code I wrote the moment I walk out of your door, don’t you?
So, it’s not my job to figure that out — unless you give me budget to hire. I work only in daytime.
Hire someone else to do the nighttime work, or just hire someone else. Or hire a living or otherwise robot who can work round the clock.
That’s a red flag for me because if there isn’t a clear definition of success/failure for the role how do you know if you’re meeting/exceeding expectations. This is relevant for reviews, compensation, growth for employees, growth for the Org, growth for a Team etc.
I typically expect a response along the lines of “the person can write the code and not break things” - which is “lame” in my opinion but tolerable.
- Nice and sophisticated co-workers, and its overlap with company culture- which is significant.
- Should provide work-life balance.
- Either should be a very stable company with lower pay or a not-so-stable company with significantly high pay.
- Compensation: This is one of the few things that I know before accepting a role. The larger the company the more comp I expect.
- Culture: generally I look for roles where I could wear any hat. Anywhere where employees are empowered to fix problems.
- Team activities: I do not want to play volleyball, paintball, or go to the CEO's house for cornhole on the weekend. Occasional lunch or happy hour is fine.
- Adtech, blockchain, or crypto: nothing against folks who work at companies in these spaces, but I have never been interested in these domains and probably never will be.
2. Management that is sane. Not constantly changing directions or chasing the next sale.
3. Work/life balance.
4. Pay and benefits. I'm a for-profit enterprise.
5. Something meaningful to work on. It doesn't have to save the world, but it would be nice if it's something more than a "me too" product or, worse, something shady/immoral.
6. I'd prefer a smaller team.
- Work (interesting, career progression, etc).
- People (Good coworkers, aligned values, top-down vs bottom-up, etc).
- Compensation/Benefits (Many things to look at but I favor base and liquid components like RSUs).
At different times I've optimized for different things. I believe is pretty common to optimize for work (learning/interesting) early in our careers and then start optimizing for compensation/benefits (I include company stability here as a benefit) as we grow older and have life responsibilities.
People is something that I did not realize had such a big effect in my career and even compensation until much later in my career. If I work for an organization with people I enjoy working, values most of the things I value and I'm good at, I maximize the odds of being successful. Changing the culture of an organization is very hard, even more so when you're a leaf in the org tree.
- Micromanagement - I don't want anyone to overlook my work when it's being made, nobody to look over my shoulder and I want to just work in peace and only have any higher-ups wonder about the project(s) when finished or individual steps are ready for test.
+ Ability to work on my own things - I have many projects of my own and I want to be able to work on them and manage them alongside whatever work I am hired to do.
+ Trust - Very important that there's trust in that I finish my work regardless of how dynamically I work, as I don't work in a straight-line, I have to work a little here and a little there, otherwise I get nothing done.
- Work family bullshit - you know all that corporate cringe stuff
+ Remote work whenever needed - I should have the ability to work remote if I want to. I personally like to go see people, so I will not be working remote the majority of my time, BUT I want the ability to do so and without limitation. If I want to work home for the next 3 months then I should be able to do so.
+ Salary should be at least 20% above what I make
- Overtime without pay or without agreement beforehand - I refuse to work overtime unless it was agreed upon beforehand and definitely won't do it without pay. If a server is down and needs a restart and it can be done remote in 5 minutes, that's fine, but if I have to spent 1-2 hours fixing something, then it's not going to happen unless agreed upon beforehand, typically weeks in advance. I also work my specific hours per week and that's it. No more, no less. I prioritize working my exact hours a lot and anything extra is going to cost. At the moment that's up to 40 hours. I haven't worked over 40 hours for months and I will not do it without a good reason and pay.
+ Tech stack - I should be able to work with whatever language and tools I want, unless I have to maintain an existing project, but for new projects there should be no limitations.
+ Laptop, monitors etc. should all be paid for - I won't use any of my personal stuff.
Fancy job titles and competitions with coworkers is something I am too tired and frankly realised that no single job can give me the satisfaction I have from my wife&kids and from discovering the world.
"Who are going to be accountable for my professional well-being?"
This encodes inside that I have partners in the organization, whose success is associated with mine, and who have at least some of the ingredients to make things work; indeed it also includes the assumption that success is even possible.
As time goes by, I learnt to reject everything besides that - fancy words, supposed interest, money, etc.
i feel like i could or should use this criterion, but how do you interview someone and find out if they're monsters or not?
Optimizing people's professional well-being is a bit akin to engineering: a good practitioner can describe their potential strategies, their relative merits and consequences, and interactively - at least to the first order.
- earn or learn. where the learn relates to how familiar the industry is for me. worked in banking, gambling and now logistics and there is a learning curve, even though the job description is the same. earn has to be the same I'm making now.
- size of the company. worked in orgs from 200 to 4000 employees. I get lost in the org chart somewhere. I think my sweet spot is in the 400-600. there's also significantly less bullshit in smaller sized companies.
- home office flexibility. If I'm juggling sick kids at home, I want to be able to NOT show up at the office and spare me the commute for a month without any explanations.
- location. I actually like going to the office couple of times a week. if I don't have to spend an hour getting there, I know I will.
- has to be an international company. I'm an immigrant and I'd rather be with some like me. also attracts different kind of locals, more open minded.
you take a leap of faith with coworkers and company culture. I peek in kununu.com or glassdoor to see what others comment about it, but it's almost always a leap of faith.
For b2b: $$$$, like make it rain or gtfo
Ideally I want to join a company with devs that vibe like real bros <3, and feel the magic. Haven't found that yet.
Manager to IC ratio is one thing, what else?
Also, what is a good manager to IC ratio for you?
I think you were downvoted because the ratio hardly tells you anything conclusive about the qualitative aspects of the org that are more important. Getting to know the org chart definitely helps ask questions that will reveal the culture during the interview though.
has to be remote, not too bad tech stack, compensation, great tech stack, green field project, small team.