Earlier this year (2020), traffic to the HashiCorp Developer documentation platform passed 100,000 people per month. That’s more software developers and ops professionals each month than attend annual conferences like AWS re:invent or Microsoft Build!
NOTE: In early 2023, that number exceeded 1,000,000 monthly learners.
Given the impact that a small technical education team can create, it’s not surprising that many developer tools companies are building fantastic online learning content. In addition to what my team has created at HashiCorp, there’s Salesforce Trailhead, Stripe docs, Microsoft Learn, and Pusher. Given that these online platforms can reach hundreds of thousands of end users and potential customers, it makes sense for companies to invest in a team to create this kind of content.
Our title for the role is Education Engineer, combining the technical skills of a software engineer with the instructional delivery of an educator. It’s a slightly different role from a traditional Technical Writer or a Developer Advocate or a Classroom Instructor.
What does an Education Engineer do and what value does one provide to a developer tools company? Or, if you aspire to build a career, what skills do you need?
Core skills for anyone in the role
Ravenous appetite for learning both inside and outside of technology. Command line and software engineering fundamentals. Non-judgmental appreciation of any language or toolset. Human communication. Exploratory testing. Git-based workflow.
Entry level skills
Productivity and pace. Receive feedback. Explain a concept to one type of audience. Teach from an existing demo app. Find your way around a new technology or API.
Mid-level skills
Curate existing content in process. Communicate with internal stakeholders. Predict online effectiveness. Give feedback. Explain to multiple audiences. Communicate visually as well as textually. Prioritize.
Principal level skills
Multimedia including audio and screencasting. Build examples on interactive platforms. Teach a full stack across multiple tools. Create demo applications from scratch that others can use.
Education Engineering management
Strategize for a year at a time. Consider and measure business impact. Do basic data analysis and visualization. Teach others to teach. Time management. Email and spreadsheets! Design and implement workflows. Plan curriculum and improve content for SEO.
Core skills for any career level
The Education Engineer role is a lateral career move for people in many related roles including site reliability engineering, software engineering, developer advocacy, customer success, and maybe even general education.
Education Engineers create online hands-on step-by-step code-based tutorials for both existing software and unreleased features. They often work independently. They need to be comfortable communicating with product managers and engineers during the development of a feature. They’ll write demo code that people can learn from and will explain it concisely so a self-directed online audience can learn without being in the same room as the instructor.
If you aspire to succeed in this role, you’ll need to be comfortable learning from little more than hands-on exploration of the software itself plus any feature specification written by a product manager. You’ll be one of the first people to put hands on the software, so you’ll discover bugs and will report them back to the engineering team. As a code-first role, you’ll use a git-based workflow where even your instructional writing is reviewed in a GitHub pull request and deployed to production with a git merge
.
Most importantly, you’ll probably use many different technologies in the course of your career (or even in a single year), so you need to have an open mind and an appreciation for the good parts of every tool you’ll encounter.
Core skills
Ravenous appetite for learning both inside and outside of technology. Software engineering fundamentals. Non-judgmental appreciation of any language or toolset. Human communication. Exploratory testing. Git-based workflow.
Entry level skills
Everyone needs to start somewhere, even if somewhere means basic proficiency in the half-dozen areas already mentioned.
In a good team you’ll receive feedback on your work from senior education staff in the form of pull requests, comments on initial outlines, or bug reports when running your tutorials. An important part of personal improvement is being able to take this feedback positively and implement it in your ongoing work.
You should be able to explain a concept to at least one audience such as:
- Suppose I’m a Python developer who has written web applications on my local laptop. Tell me how to get my code into a Docker container and why I might want to.
- If I know how to create an AWS instance from the web UI, tell me how to launch one with Terraform.
At this stage you’ll have help from co-workers and will be working on existing projects, but you should start learning to explore an undocumented API so you can learn about it without any existing documentation.
Entry level skills
Productivity and pace. Receive feedback. Explain a concept to one type of audience. Teach from an existing demo app. Find your way around a new technology or API.
Mid level skills
A few years into your career, you’ll expand your scope beyond the work that is directly assigned to you as decided by someone else. You’ll talk to internal stakeholders like product managers, engineers, enterprise architects, and technical sales engineers. You’ll take their personal notes about deployment and improve it for public consumption.
Before, someone else did the work of thinking about the impact of the content you were assigned. Now it’s time for you to understand demand, impact, and effectiveness. Is an advanced tutorial about the intersection of five technologies going to be viewed by as many people as a beginner tutorial focusing on one technology? What if those five technologies are part of the company’s core business focus and revenue? Is fixing a bug as important as publishing new content? You’ll learn to decide and prioritize.
Beyond receiving feedback (which will still be a part of your professional growth), you’ll give feedback to others. And you’ll seek feedback from more senior staff who can help you move to the next stage of your career.
You’ll be able to explain a topic to one audience (secrets management for security professionals) and then explain the same thing to another audience (what does a web developer need to know about working with sensitive data?).
Having become proficient in communicating via text, you’ll work on the skill of communicating visually with a simple diagram, flowchart, or graph.
Mid level skills
Curate existing content in process. Communicate with internal stakeholders. Predict online effectiveness. Give feedback. Explain to multiple audiences. Communicate visually as well as textually. Prioritize.
Principal level skills
Now you’ve reached the principal level, the top level for an individual contributor. You’ve realized that a large percentage of your audience will find it easiest to get started by watching a video. So you’re comfortable setting up your screen and narrating a screencast. And you’ll know when that’s worth doing.
In-browser interactive platforms are widely available, so you’ve learned to build a tutorial that can be completed by a student in 5 to 30 minutes online. And you understand the topics, difficulty levels, and audiences for whom this will be the most effective.
You can teach a more complex multi-product tutorial to production-oriented practitioners. You’ll create demo applications from scratch that are useful for your tutorials and can be used by others.
Principal level skills
Multimedia including audio and screencasting. Build examples on interactive platforms. Teach a full stack across multiple tools. Create demo applications from scratch that others can use.
Education Engineering management
Not everyone wants to go into management. But in mature developer tools companies with more than a few Education Engineers, someone needs to lead the team.
In a small startup or a new education team, a manager might also create content in addition to exhibiting more visionary planning skills.
Individual contributors will focus on a project that can be completed in a week or a month. You’ll plan around content, product features, release dates, and team growth for a year at a time. You’ll think about the business impact of the tutorials being created. Are practitioners learning to use the product at increasing levels of proficiency, and is education playing a role in the success of the business?
An online learning experience can create many more data points than students sitting in a classroom do. You’ll look at available data, you’ll instrument platforms to record more about how people are learning, and you’ll define what it means for them to be successful. You’ll analyze and optimize for the biggest source of traffic: search engines.
As the team grows you’ll design, implement, and document internal workflows and processes so others can learn to teach more effectively.
Management skills
Strategize for a year at a time. Consider and measure business impact. Do basic data analysis and visualization. Teach teachers to teach. Plan curriculum and improve content for SEO. Design and implement systems and workflows.
Conclusion
Although the number of open roles for education engineers are fewer than there are for site reliability engineers, software engineers, or other technical roles, it’s a growing area that is much more active than it was 10 or 20 years ago. There are many opportunities to contribute to an open source or commercial project or publish on your own in order to demonstrate that you have the skills to succeed as a professional education engineer.
For me, there are few things as fulfilling as knowing that I helped someone learn a skill that will improve their current job prospects or their ongoing career. It’s creative, the problems are interesting, and it can certainly occupy a lifetime.
So check out the work we’re doing at HashiCorp Developer. We are looking for a few good people to build on the work we’ve started!
Reference
- Tu Nguyen on being an Education Engineer