Skip to main content

Engineering Lead

Overview#

Project Nebula is an initiative to build tools that help students. The Engineering Lead for Project Nebula oversees and maintains all of its technical infrastructure.

The Engineering Lead serves as Project Nebula’s chief technical lead and head of dev-ops, chief architect of core Project Nebula infrastructure, working with project leads to build just about everything.

Additionally, the Engineering Lead is very hands-on. We expect the Engineering Lead to have the enthusiasm to collaborate with others and find resources to solve their problems. The Engineering Lead 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 Engineering Lead 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 Engineering Lead works closely with the Project Nebula Lead and Head of Product to prioritize features and come up with paths for implementation.

As the Engineering Lead, 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 Web App 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