Tech tends to be more friendly with vacation time in the US than most other industries. It still varies a lot, but it’s not uncommon for a tech company to start you with 3-5 weeks of vacation time plus 8-12 paid holidays throughout the year. It still could be a lot better though, and I agree that it contributes greatly to burn out.
As with anything that is potentially contentious and involves humans, there's a lot of nuance here and breaking it all down into a couple paragraphs doesn't really respect the unique needs of everyone. I've worked with some amazing people that respond best to very informal processes around performance-based feedback, and I've worked with some equally amazing people that desire a relatively rigid and analytical process. I think we all try to do what's best for each person.
That said, it's important that we do have guiding processes and principles here to ensure that everyone is being evaluated both fairly and effectively, so it's not like the wild west or something.
Every "track" has levels with defined expectations in terms of the type of work they do, the impact they have, the interactions they have with teammates, others at Elastic, the community, etc. High performers would be folks that are at least meeting the expectations established for their level, which is where promotion comes in.
Promotion is not necessarily role-oriented in the sense that you don't get promoted out of being an engineer into management or something like that, they are different parallel tracks. For example, I technically took a demotion to switch from a Tech Lead to an Eng. Manager role.
Processes do vary a bit team by team, though they've become more consistent over time and are pretty similar now. This is how things work on my teams:
I have 30 minute 1:1s with each person that reports to me every 2-3 weeks depending on their seniority. This is pretty informal, but the consistent face to face gives us opportunities to talk frequently about how things are going.
Every quarter I do a longer review with each team member. This isn't super formal or anything, but it is more structured with a corresponding doc that I fill out in advance and that we both expand upon during our meeting. Nothing should be a surprise here as I give positive or critical feedback more regularly, but this is where we can really dig into aspects of their performance, rehash current expectations for their level and make plans with them for how to achieve their professional goals, whether it be promotion, type of work, transitioning to a different role, etc.
The 6 and 12 month reviews are a little more comprehensive as I also include anonymous 360 feedback from peers and others throughout Elastic.
We do, yeah. We include "target" seniority designations in the job post titles, so if it doesn't say "senior", "principal", etc, then it isn't a senior position. We also don't (for the most part) have requirements around years of experience, though in practice there's an obvious correlation.
That said, at this very moment we happen to have a boatload of more senior positions available. There are a couple less senior ones though.
Elastic works similarly, though not to the extent that was described in that Gumroad post. It also varies a bit by team, but I've worked on many teams over the last 5.5 years here, so I have a decent perspective on what's normal and how things evolved to this point.
Engineering is distributed around the world, so it happens in a highly asynchronous way centered around GitHub issues, the vast majority of which are in public repos. Slack and Zoom are used, but if they're used to make decisions, the recording is saved for others to consume and the decision is documented on GitHub.
Meetings are discouraged, but not non-existent. To give some context, I'm a manager of two teams and this week I had 4.5 hours of meetings (including 1:1s), which is pretty normal. When I was an independent contributor on a single team, I often had weeks where I had a single 30 minute meeting.
In practice today, I suspect an engineer at Elastic will spend an average of ~2 hours a week in a meeting, with a few spending a great deal more than that and others spending less.
This culture is demonstrated top-down and has been a common thread from the early days, through the IPO, and continues today.
Edit: We also have a general philosophy of features being done when they're done rather than when we reach some arbitrary date. This doesn't mean we don't have timelines (we have ~2 month long release cycles), but if we can pair down scope to make a release, we will, and if we can't do it then we'll just move the feature to the next release instead.
Wouldn’t this problem be even harder to deal with if you didn’t work remotely? You only need to plan for the radius of one person’s commute rather than limiting your housing options to a balance of two locations.
For every one position we hire for we’ll see 100s of applicants, and we might have 5-10 good choices to hire. Filters are a critical part of managing a candidate pipeline, and for better or worse a degree is widely used as a filter for those companies that don’t lack a pool of qualified candidates, which also tend to be pretty attractive companies to work for.
Elastic is technically a European company and is distributed around the world. EU headquarters is in Amsterdam, US headquarters in Mountain View, AP headquarters in Singapore.
As of 6.5, the Elastic Stack ships with a logging app and an infrastructure monitoring app out of the box in Kibana. They are both new, so expect a bunch of new features im 6.6 onward.
Come work with us on Kibana. We're looking for senior level software engineers with experience building JavaScript apps.
Elastic is the company behind Elasticsearch, Kibana, Logstash, and Beats, and we're always interested in talking to engineers with a track record of doing great work throughout their careers.
* Competitive pay based on the work you do here and not your previous salary
* Stock options
* Paid bonding leave for parents with newborns
* At least 4 weeks paid time off, 1 week of volunteer time, paid holidays, etc.
* An environment in which you can balance great work with a great life
* Employees with a wide variety of interests and backgrounds
* Your age is only a number. It doesn't matter if you're just out of college or your children are; we need you for what you can do.
* Distributed-first company with employees in over 35 countries, spread across 18 time zones, and speaking over 30 languages! Some even fly south for the winter :)
I live in a small city in the US, and remote work has provided me opportunities for career progression and networking that would otherwise be impossible for me unless I moved my family somewhere else.
The key for me has been to work for distributed companies rather than as one of the few remote workers on the team. This seems to make all the difference in the world.
Kibana's an open source project, so if you're looking to volunteer, you can contribute directly to it without having to jump through hoops, do interviews, etc. We follow the same process that our open source contributors do, so read through the contributing guide, take a look at the issues, and dive in!
Come work with us on Kibana. We're looking for senior level software engineers with experience building JavaScript apps.
Elastic is the company behind Elasticsearch, Kibana, Logstash, and Beats, and we're always interested in talking to engineers with a track record of doing great work throughout their careers.
* Competitive pay based on the work you do here and not your previous salary
* Stock options
* Paid bonding leave for parents with newborns
* At least 4 weeks paid time off, 1 week of volunteer time, paid holidays, etc.
* An environment in which you can balance great work with a great life
* Employees with a wide variety of interests and backgrounds
* Your age is only a number. It doesn't matter if you're just out of college or your children are; we need you for what you can do.
* Distributed-first company with employees in over 35 countries, spread across 18 time zones, and speaking over 30 languages! Some even fly south for the winter :)
If it helps at all, Kibana also had to be updated to go from multiple types to a single type. It was a big project, and a bunch of approaches were explored for dealing with existing data (which I assume you are).
Ultimately, we settled on continuing to have different "types" in Kibana, but we treated them as data concerns rather than architectural concerns of Elasticsearch. At a high level, this meant that we added a new "type" field to documents to track the type itself, and then we prefixed fields with the type as well to preserve the ability to use the same userland id on different "types" in the index and such. The type/id prefixing thing doesn't get exposed beyond the layer that queries Elasticsearch for the kibana index.
Once that change was ready in the code, we also had to consider the need for users to migrate their existing multiple-type index to this new format. The upgrade assistant in x-pack basic handles all of this automatically, but folks can certainly repurpose the same reindexing operation we perform on .kibana on your own indices.
I strongly encourage anyone in the US to put a full credit security freeze on all three credit agencies. When a credit freeze is in place, you still have access to all of your existing loan accounts and whatnot (e.g. credit cards), but lenders cannot access your credit to open new accounts unless you want them to.
It's not difficult nor expensive to do, and the freeze lasts until you decide to revoke it. Whenever you need to allow access to your credit (credit check for rent, taking out a loan, etc), you can temporarily lift your credit freeze for a small fee. The fees associated with this are going to be much cheaper than any of the professional "identify protection" services that exist out there, and the freeze is significantly more effective at protecting you.
When a company leaks your social security number and personal details, which almost certainly will happen at some point if it hasn't already, then opening fraudulent accounts in your name isn't the only risk you face, but it's an obvious and dangerous possibility that can ruin you financially or make you spend a considerable amount of time and energy fixing the situation.
For every person in the US with kids, I also strongly suggest that you freeze their credit as well. There's no good reason for your 13 year old to take out a loan, but identity thieves don't care about how old their victim is.
Cool plugin! If you are the author, would you be willing to share your experience of building the plugin to begin with? We don't have a publicly documented plugin API or anything, so I imagine you had to figure a lot of this out from reverse engineering and such.