Wednesday, August 29, 2018

Google Software Engineering Levels and Ladders

Google (now Alphabet) hires a lot of engineers every year. There are articles out there about the interview process and how to prepare, and I do definitely recommend spending time in preparation. Google interviews for software engineers mostly do not focus on the candidate's resume or prior experience, instead asking technical questions on various topics and coding. You'll do better if you mentally refresh topics in computer science which you have not recently worked with.

This post focuses on a different area: how to evaluate an engineering job offer from Alphabet. The financial aspects will presumably be clear enough, but the career aspects of the offer may not be. This post will attempt to explain what Google's engineering career progression looks like.

There are two concepts: ladder and level. The ladder defines the role you are expected to do, like manager or engineer or salesperson, while the level is how senior you are in that role.

Like many Tech companies, Google has parallel tracks for people who wish to primarily be individual contributors and for people who wish to primarily be managers. This takes the form of two ladders, Software Engineer (universally abbreviated as "SWE") and Software Engineering Manager. Google does allow people on the SWE ladder to manage reports, and allows people on the Manager ladder to make technical contributions. The difference is in how performance is evaluated. For those on the SWE ladder the expectation is that at least 50% of their time will be spent on individual contributing engineering work, leaving no more than 50% on management. For those on the Manager ladder the expectation is more like 80% of the time to be spent on management. People on one ladder veering too far out of the guidance for that ladder will be encouraged to switch to the other, as performance evaluations will begin to suffer.


Software Engineer Ladder

The levels are:

  • SWE-I (Level 2) is a software engineering intern, expected to be in the junior or senior year of a four year degree program.
  • SWE-II (Level 3) is an entry level full-time software engineer. An L3 SWE is generally someone who recently graduated with an undergraduate or Master's degree, or equivalent education.
  • SWE-III (Level 4) is someone with several years of experience after graduation, or for someone who just finished a PhD in a technical field.
  • Senior Software Engineer (Level 5) is the level where a software engineer is expected to be primarily autonomous: capable of being given tasks without excessive detail, and being able to figure out what to do and then do it. A software engineer advances to L5 primarily by demonstrating impact on tasks of sufficient difficulty. When hiring externally, six to ten years of experience is generally expected.
  • Staff Software Engineer (Level 6) is the level where leadership increasingly becomes the primary criteria by which performance is judged. Many, though by no means all, SWEs begin managing a team of engineers by this point in their career. When hiring externally, ten or more years of experience are generally expected.
  • Senior Staff Software Engineer (Level 7) is essentially L6 with larger expectations. Guidance for years of experience begins to break down at this level, as most candidates with ten or more years experience will be hired at Level 6 unless there is a strong reason to offer a higher level. Involvement of the hiring manager or strong pushback by the candidate can sometimes push the offer to Level 7.
  • Principal Software Engineer (Level 8) is the first level which is considered an executive of the Alphabet corporation for the purposes of remuneration and corporate governance. Principal Software Engineers drive technical strategy in relatively large product areas. SWEs at level 8 or above are relatively rare: the equivalent level on the manager ladder will routinely have five or more times as many people as on the SWE ladder. By this level of seniority, most people are focussed on management and leadership.
  • Distinguished Software Engineer (Level 9) drives technical strategy in efforts spanning a large technical area.
  • Google Fellow (Level 10) is the same level as a Vice President, expected to drive technical strategy and investment in crucial areas.
  • Google Senior Fellow (Level 11) is for people like Jeff Dean and Sanjay Ghemawat.

Most external hiring for software engineers is for L4 through L6, with L7 also possible though less common. Hiring externally directly to L8 and L9 does happen, but is quite rare and demands the direct sponsorship of a high-level executive like a Senior Vice President of a Google Product Area or CEO of an Alphabet company. For example James Gosling and David Patterson both joined the company as L9 Distinguished Engineers.

Also notable is that the external hiring process and the internal promotion process are entirely separate, and at this point have diverged substantially in their calibration. It is fair to say that Alphabet substantially undervalues experience outside of the company, or perhaps overvalues experience within the company. Someone with ten years experience externally would be hired at L5 or L6, while ten years within the company can make it to L7 or L8.


Software Engineering Manager Ladder

The levels are:

  • Manager, Software Engineering I (Level 5) is the first level on the manager ladder. It is expected that people will have a few years experience in the field before they begin managing a team, and therefore the Manager ladder starts at level 5. Manager I will typically lead a small team of engineers, five to ten is common.
  • Manager, Software Engineering II (Level 6) is typically a manager of a team of ten to twenty, sometimes a mixture of direct reports and managing other managers. When hiring externally, 10+ years of experience is expected.
  • Manager, Software Engineering III (Level 7) begins the transition to be primarily a manager of managers. Teams are larger than L6, typically twenty to forty.
  • Director (Level 8) is the first level which is considered an executive of the Alphabet corporation for the purposes of remuneration and corporate governance. Directors are mostly managers of managers, and typically lead organizations of forty up to several hundred people.
  • Senior Director (Level 9) is basically a secret level at Google: all of the internal tools will show only "Director," and by tradition promotions to Senior Director are not publicly announced. Senior Directors may lead slightly larger organizations than L8 Directors, though mostly it provides a way to have a larger gap between Director and VP while still allowing career progression.
  • Vice President (Level 10) typically leads organizations of hundreds to thousands of people. Their direct reports will typically be Directors and will be second to third level managers themselves.
  • Vice President II (Level 11), like Senior Director, is shown only as "VP" in internal tools and provides a way to maintain a larger gap between VP and SVP while still allowing managers to advance in their careers.
  • There are executive levels beyond L12, notably Senior Vice Presidents of Google divisions and CEOs of other Alphabet companies. This blog post is not a good guide to hiring for those levels, if you happen to be such a candidate. Sorry.

When hiring managers externally, L5 through Director is most common. Above Director is rare and generally only happens with the sponsorship of a high level executive. However where SWE hiring essentially tops out at L9, manager hires can come in at almost any level given sufficient sponsorship. Alphabet hires CEOs for its affiliated companies (John Krafcik, Andrew Conrad) and Google SVPs (Craig Barratt, Diane Greene) externally.


Other ladders equivalent to SWE

There is one other software engineering role at Alphabet which is parallel to the SWE/Software Manager ladders: Site Reliability Engineer or SRE. The individual contributor ladder is called SRE-SWE — for historical reasons, as there used to be an SRE-System Administration ladder which is no longer hired for. There is also an SRE Manager ladder. The levels on SRE-SWE and SRE Manager roughly correspond in responsibilities and years of experience to the SWE and Software Manager ladders described above, though the nature of the work differs.

SRE is equivalent to SWE in that at any time, an SRE can choose to relinquish the SRE duties and transfer to the SWE ladder and SRE Manager can switch to the Software Manager ladder. If originally hired as an SRE, they can also generally switch back if they choose to to do in the future. Engineers hired as a SWE who wish to transfer to SRE require a bit more process, often via an internal training program to serve a rotation as an SRE.


Other ladders NOT equivalent to SWE

SETI, for Software Engineer in Tools and Infrastructure, is another engineering ladder within Google. Though recruiters will make the claim that it is just like being a SWE, transfers from SETI to SWE require interviews, acceptance by a hiring committee, and approval of the SVP who owns the SWE ladder. Though often successful, transfers from SETI to SWE are not automatic and do get rejected, at both stages of the approval process. As such, recruiter claims that it is just like being a SWE are not accurate. The recruiter just has an SETI role to fill.

Only accept an SETI role if automated testing and continuous software improvement are really passions. Projects listing SETI openings will be less numerous than SWE, though will often be more focussed on automation and quality improvement. In many cases, internal transfers to projects which list a SWE opening will accept an SETI applicant, but not always. Being on the SETI ladder will therefore be slightly limiting in choice of projects for internal mobility.

There are other ladders which also involve software development but are even further removed from the SWE ladder, notably Technical Solutions Engineer (TSE) and Web Solutions Engineer (WSE). As with SETI, transfers to the SWE ladder require interviews and approvals. Recruiter claims that TSE or WSE are "just like being a SWE" are not accurate, as people on these ladders cannot internally transfer to projects which have a SWE opening. They can only transfer to TSE/WSE openings, which limit the choice of projects.

Saturday, August 25, 2018

Carbon Capture: Soil health

Topsoil across the land areas of the planet holds substantially more carbon than the entire atmosphere, and over the past several hundred years we have released at least 50 percent of the carbon formerly held by soils into the air. This is primarily because of tilling, which disturbs the deeper soils and kills the roots and fungi which reside there. Tilling is necessary for modern agricultural practices using fertilizer and insecticides, which can improve yields substantially until the soil has become substantially depleted of carbon and gradually less productive. Much farmland around the world now is stuck in a local maxima: stopping tilling and allowing the soil to recover would eventually result in improved yields, but only after a few years of very poor harvests.

It is estimated that regenerating depleted land can absorb two to five tons of CO2 per acre per year, for about ten years. Done at scale, regenerative agriculture could absorb tens of gigatons of CO2 per year. For perspective, current human emissions are approximately 36 gigatons per year. Improving soil health could offset a nontrivial fraction of current emissions or, in conjunction with other methods to reduce new emission, pull previously emitted carbon from the air.

Companies in this technology space

  • Regen Network provides tools to gather and analyze data for soil health in regenerative agriculture, silvopasturing, and other practices to improve ecological health. It also provides a trading platform to invest and fund these developments.
  • COMET-Farm at Colorado State University tracks data entered by farms to estimate the levels of carbon stored, plus other factors relating to soil health.
  • HiveMind produces Mycelium soil enhancements which jump-start the process of sequestering substantially more carbon per acre of soil.

Saturday, August 11, 2018

Carbon Capture: Other Types of Sorbents

A previous post discussed temperature swing adsorption, wherein carbon dioxide is captured when the sorbent is at low temperature and released when raised to sufficiently high temperature. Desorption temperatures of five to seven hundred degrees Celsius are typical with known sorbents, imposing a substantial energy cost to heat and cool the material.

There are other sorbent materials where the capture and release cycle is controlled not be temperature but by other factors. The two most common are:

  • pressure-swing, where adsorption is controlled by the pressure of the gases in the process. In one study, activated carbon was used as the sorbent to capture carbon dioxide.

  • moisture-swing, where the presence of water or water vapor controls the adsorption cycle. A great deal of recent work on moisture swing sorbents for carbon dioxide has been done at the Arizona State University, apparently focused on a Metal Oxide Framework material containing zirconium.

The goal with both of these technologies is for a carbon dioxide removal process requiring less energy than for temperature swing adsorption. The Temperature Swing Adsorption processes are much further along in development, with several commercial carbon capture systems (detailed in the earlier post). Pressure Swing Adsorption is used to scrub CO2 in high-oxygen feeds like for hospitals, but is not currently used at scale for carbon capture from the atmosphere. So far as I can tell, Moisture Swing Adsorption has thus far only been used in the lab and small scale trials.


Companies and organizations in this technology space

Friday, August 10, 2018

Flatulenating, Wherein We Attempt to Rectify a Dictionaric Injustice

Flatulenating: having the property of inducing flatulence.

Example: "Beans are flatulenating. I get such terrible gas every time I eat them."



At the time of this writing on August 10th, 2018,"flatulenating" shows zero results. This blog post is an attempt to resolve this dictionaric injustice.

Wednesday, August 1, 2018

Career & Interviewing Help

Something I find rewarding is helping others in their careers. I am quite happy to conduct practice embedded software engineer or manager interviews, answer questions about engineering at Google or in general, advise on career planning, etc.

I keep a bookable calendar with two timeslots per week. I am in the Pacific timezone, and can set up special times more convenient for people in timezones far from my own. If the calendar doesn't work for you, you can contact me at to make special arrangements.

Anyone is welcome, you don't need an intro or to know me in person. The sessions are conducted via Google Hangout or by phone. My only request for this is to pay it forward: we all have opportunities to help others. Every time we do so, we make the world a slightly better place.