HN user

courtewing

711 karma
Posts2
Comments116
View on HN

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.

We've codified a lot of the philosophy that feeds into this workflow here: https://www.elastic.co/about/our-source-code

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 | REMOTE | Full time

Senior JavaScript Engineer https://www.elastic.co/about/careers/engineering/jobs/593004

Senior JavaScript Engineer (Security) https://www.elastic.co/about/careers/engineering/jobs/937336

Senior JavaScript Engineer (GIS) https://www.elastic.co/about/careers/engineering/jobs/972336

JavaScript Engineer (Canvas) https://www.elastic.co/about/careers/engineering/jobs/808365

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 :)

We also have dozens of other positions available across the entire company https://www.elastic.co/about/careers

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!

Elastic | REMOTE | Full time

Senior JavaScript Engineer https://www.elastic.co/about/careers/engineering/jobs/593004

Senior JavaScript Engineer (Security) https://www.elastic.co/about/careers/engineering/jobs/937336

Senior JavaScript Engineer (Canvas) https://www.elastic.co/about/careers/engineering/jobs/808365

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 :)

We also have dozens of other positions available across the entire company https://www.elastic.co/about/careers

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.

The underlying steps and reindex operation for this are outlined on the docs: https://www.elastic.co/guide/en/kibana/current/migrating-6.0...

The actual data transformation happens in step 3.

I hope this helps!

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.

This is great advice all around, but get a local lawyer involved to prepare your will. Even in US, there is not a single set of laws that apply to wills and power of attorney. It varies state by state. With a generic template pulled from the internet, you could just be doing a whole lot of work and ultimately be ending up with a document that has little legal basis.

Do your loved ones a favor - hire a lawyer to do it. It's not free, but they'll do the actual paperwork, and you'll get the comfort of knowing it's done right.

If you can get beyond the ancient website design, this is actually an amazingly simple tool. It is trivial to record a small portion of your screen, and it saves directly to your desktop as a gif. No file saving, exporting, etc. At Engine Yard, we use these gifs for UI related pull requests, bug requests, etc. A picture is worth a thousand words, or something like that.

Senior Frontend Engineer - REMOTE (UTC to UTC-8), San Francisco, Portland, Dublin

We're one of the oldest PaaS's out there, with support for PHP/Ruby/node.js on AWS. As a Frontend Engineer, you'll be working on our brand new UI - a single-page angular.js app.

The UI is served up by a lightweight node.js server that proxies to our core ruby api. We unit test with jasmine, and run our end-to-end tests in protractor. Through our "eybot" on slackhq, we deploy green CI builds to production multiple times a day.

The frontend engineering team at Engine Yard consists of 3 UI designers and 4 engineers (including myself). We're spread out across 8 timezones (Dublin through San Francisco), so experience working in a distributed team is key.

You will:

    * Write modern JavaScript for modern browsers
    * Have a significant influence on the UI architecture
    * Work with smart people every day
    * Be an integral part of a new era in an established startup
    
You might:
    * Rewrite our trial experience so it doesn't suck as much
    * Build support for customers to deploy docker containers
    * Convert the UI to CommonJS modules via browserify
    * Create near-realtime visualizations for server monitoring
    * Integrate 6to5 into our build system so we can use ES6
    * Learn to homebrew, or at least talk about how you want to
You'll get:
    * Competitive salary
    * Full medical, dental and vision benefits
    * 25 paid days off per year (15 PTO, 2 floating, 8 holidays)
    * 401(k)
    * We take care of your phone bill
    * Paid travel to conferences
    * Top of the line Macbook Pro
Must haves (seriously, these are essential filters):
    * A string of successful projects and/or positions in your wake
    * Significant experience building complex client-side applications in
      JavaScript, preferably with angular.js
    * Experience working in a distributed team
    * An impulse to write tests for everything you build, sometimes before you
      build it
    * A fantastic sense of sarcasm
    * Ability to travel occasionally (at least once or twice a year)
    * Somewhere between UTC and UTC-8
Great to have:
    * Somewhere between UTC-5 and UTC-8
    * Thorough understanding of git
    * Experience building REST apis
    * Experience with multiple languages (and an understanding of their tradeoffs)
    * Experience with agile development
    * Previously worked at a startup
If you're interested and meet all the "must haves", shoot me an email at cewing@engineyard.com
IO.js, a Node fork 12 years ago

What I find most interesting about this is how many of the most influential people in the node community seem to be at least interested in supporting this, if not actual on board. The website and github organization do not give any info about who is involved, but if you look at some of the discussions in github issues, you'll see some big-name node community members.

Just a few I saw in the handful of issues I looked at: isaacs, mikeal, domenic, rvag

The post says that compliance is disabled by default and that all users will be notified via slack itself if it were to be enabled for your organization.

Engine Yard - Fulltime, REMOTE

Frontend Engineer

We're one of the oldest PaaS's out there, with support for PHP/Ruby/Java/node.js and both AWS and Azure. Earlier this year we launched a brand new user experience from the ground-up -- a new website and a completely new client-side interface. As a Frontend Engineer, you'd be working primarily on the latter.

The UI is written using angular.js served up by a lightweight node.js api proxy server. We use jasmin/protractor/selenium for our tests and only accept green builds via travis to be merged to master. Through our "eybot" on slackhq, we deploy stable code to production multiple times a day.

The UX engineering team at Engine Yard consists of 3 UI designers and 4 engineers (including myself). We're spread out across 8 timezones (Dublin through San Francisco), so experience working in a distributed team is key.

You'll get:

    * Competitive salary
    * Full medical, dental and vision benefits
    * 25 paid days off per year
    * 401(k)
    * We take care of your phone bill
    * Paid travel to conferences
Must haves:
    * A passion for writing great software to solve real problems for real people
    * Demonstrated experience building complex client-side applications in
      JavaScript, preferably with angular.js
    * Experience working in a distributed team
    * The strong belief that a feature isn't finished until it's tested and, where
      appropriate, documented
    * A fantastic sense of sarcasm
    * Ability to travel occasionally (at least once or twice a year)
    * Somewhere between UTC and UTC-8
Great to have:
    * Thorough understanding of git
    * Experience building REST apis
    * Experience with multiple languages (and an understanding of their tradeoffs)
    * Experience with agile development
    * Previously worked at a startup
If you're interested, shoot me your info at cewing@engineyard.com.