Head of Engineering
Overview​
Project Nebula is an initiative to build tools that help students. The Head of Engineering for Project Nebula oversees and maintains all of its technical infrastructure.
The Head of Engineering serves as Project Nebula’s chief technical lead, head of dev-ops, and chief architect of core Project Nebula infrastructure. The Head collaborates with project leads to support their specific project needs while coordinating the use of shared resources between projects. The Head manages the Nebula Platform, a collection of tools and services
Additionally, the Head of Engineering is very hands-on. We expect the Head of Engineering to have the enthusiasm to collaborate with others and find resources to solve their problems. The Head of Engineering is driven and technically-minded but can communicate technical requirements to other Project Nebula leads who may not necessarily have domain knowledge.
What We Need​
The Head of Engineering must have experience building projects with different frameworks and technology stacks and be able to communicate project requirements to others. We’re looking for someone with the following:
- Ample experience taking software from idea to implementation
- Understanding of libraries, frameworks, and tools used to build modern software
- Knowledge of version control and branching strategies
- Ability to communicate to others through textual, graphical, and verbal communication such as instructional guides or diagrams
- An ability to commit to mentoring and teaching others who may be learning
- An ability to quickly read through and understand technical documentation
- An ability to think critically about a problem’s technical constraints and explain them to others
Any of these may additionally help:
- Can build proofs-of-concept very quickly
- A care for open source software
- Experience troubleshooting nasty bugs in software
- Web development experience using frameworks such as Node.js, Next.js, and React/Vue.js
- Experience building or maintaining software used by others
We’re all students, so we understand that someone won’t be an expert in anything. If you don’t have all the skills, you will most certainly learn as a part of the Project Nebula team!
What You'll Do​
The Head of Engineering works closely with the Head of Project Nebula and Head of Product to prioritize features and come up with paths for implementation.
As the Head of Engineering, you’ll be an active contributor to all projects and be tasked with keeping an eye on the whole code base with assistance from the respective project leads.
You’ll also serve as an architect for common interfaces for Project Nebula’s products. For example, you’d be responsible for designing a public API for the Nebula Planner and the UTD Survival Guide to access common data on grade distributions or course data.
Additionally, you will write documentation that all contributors to the project will use and ensure it is usable by all developers.
Responsibilities:
- Weekly meet-ups with project leads (either in person or virtual)
- Advocating for open source software
- Designing product architectures for all of Project Nebula
On a day-to-day basis: you'll:
- Work with contributors and maintainers to oversee code contributions
- Design automation scripts to make the team’s job easier
- Assist with code reviews
- Respond to issues and discussions on GitHub
- Oversee recruitment for Project Nebula’s engineering contributors
- Serve as technical advisor for Project Nebula
Expect to spend 6-8 hours per week in this role.
What You'll Learn​
This role is pretty important, but you’ll gain a lot of experience leading others and fixing things that many others may not be able to fix. You’ll learn how to be a generalist and get experience tinkering with a wide variety of tools.
Specifically, you’ll learn:
- How to use common cloud-based tools
- How to delegate responsibilities to a team
- How to prioritize features to build for projects
- How to communicate technical issues to non-technical audiences
- What agile software development practices are
- How to provide useful, actionable feedback and mentorship to others
- How to handle maintaining infrastructure
- What devops are and how to perform them
- How to handle continuous integration/continuous deployment of code