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"
Stable company
Remote only
Work/life balance
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
No on-call
Compensation
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.
- 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.
Red flags:
- 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.
- 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.
has to be remote, not too bad tech stack, compensation, great tech stack, green field project, small team.