Skip to main content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Engineering

18F Engineering is responsible for delivering high quality, robust, open source software. We also evangelize best practices relating to software testing, scalability, operations, security, and agile development.

Collectively, we’re experienced in a wide variety of technologies including Python, Ruby, server and client-side JavaScript, Go, C, relational and schema-less databases, ETL pipelines, version control, testing frameworks, machine learning, and more.

Documentation

Our Engineering Best Practices guide has details about Git, code reviews, and more. You might also enjoy the open source archives on the blog.

Communication

If you have any questions, find us on Slack in #dev, #g-frontend, #g-devops, #wg-cybersec, or #wg-opensource.


Joining the Engineering team

Welcome to the 18F Engineering team — we’re happy you’re here! We’ve compiled tips to help you get started. We’ll update this guide as we receive feedback, so don’t be shy to share your thoughts.

First week

You might not have much assigned work during your first few weeks here. That’s okay and expected. If you’ve gotten all the government onboarding items done and a project still hasn’t landed, the Engineering team has a long list of internal projects that aren’t funded but that will help us work better together. Talk to your faciltator (more on that below) to learn more.

Who we are

Members of the Engineering team come from all over: major technology companies, startups, civic nonprofits, other parts of government, and news outlets. Collectively, we’re experienced in a wide variety of technologies. You’ll probably be able to find someone to help you with whatever question you have.

Structure

As per the org chart, 18F Engineering is itself composed of smaller, “engineering teams,” each organized by a facilitator. While most engineers at 18F work in cross-functional project teams, the facilitator engineering teams serve as small communities of practice to encourage cross-pollination that might not otherwise occur in a large, distributed team.

Facilitator teams occasionally meet to:

These activities are largely meant to increase cohesion across Engineering.

Facilitators

The Facilitators assist the Supervisors in the supervision of a smaller set of engineers (3-8). For an individual engineer, their Facilitator is the member of the engineering leadership team that they form the closest relationship with, and meets with them regularly 1-on-1. The Facilitator acts as an on-boarding buddy for new engineers. Facilitators run regular team meetings for their engineers to build community and support outside the context of project work. Facilitators act as advocates for their engineers, passing questions and concerns up the leadership chain as necessary and communicating upcoming changes to their facilitation groups. They participate in and contribute to the mid-year and end of year performance evaluations, though the Supervisor is ultimately responsible for them. Facilitators work together with Supervisors to ensure that the engineers are succeeding, growing, and producing quality work, and that the chapter has a positive and inclusive culture.

Facilitators are selected through nominations and interviews according to team needs. While there is no additional compensation for being a facilitator, it’s an opportunity to help make team members’ time at 18F great. Reach out to the Onboarding Lead, Keith Wilson, for the facilitator checklist.

Supervisors

The Engineering Supervisors are responsible for the direct supervision of a set of engineers. Duties include hiring, on-boarding, project staffing, mentoring, training, supervision, and off-boarding of those engineers. Supervisors conduct the mid-year and end of year performance evaluations for the engineers reporting to them, with help from the Facilitators. Supervisors do other HR functions such as approving SF-182s, telework agreements, HR Links requests, and the like. Supervisors delegate some duties to the Facilitators, but remain ultimately responsible for the engineers reporting to them. Supervisors work together with Facilitators to ensure that the engineers are succeeding, growing, and producing quality work, and that the chapter has a positive and inclusive culture.

Supervisors are selected through nominations and interviews according to team needs. While there is no additional compensation for being a supervisor, it’s an opportunity to help make team members’ time at 18F great.

Director

The Director of Engineering is responsible for the Engineering Chapter. The Director represents the chapter on the Senior Management Team of 18F, is responsible for the strategic planning of the chapter including hiring approach, capacity planning, and expanding the impact of the chapter and engineers’ work. The Director guides the work of the Engineering Practices guild (which encompasses backend, frontend, and data) and the diversity, equity, and inclusion (DE&I) leads to ensure alignment with strategy and each other. The Director has as direct reports the Engineering Supervisors, and acts as mentor, coach, and guide to their work. The Director is ultimately responsible for the success of the chapter in the context of the 18F mission and organizational priorities.

The Director was selected through nominations and interviews. While there is no additional compensation for being a director, it’s an opportunity to help make team members’ time at 18F great.

DE&I Leads

The DE&I Leads lead efforts to foster a diverse and inclusive environment for engineers. Their mission includes building a strong culture and setting an inclusive tone even before a new engineer comes on board. Anyone who has issues or concerns related to inclusion or equity in the 18F engineering chapter should feel empowered to reach out to the DE&I Leads. If you have access to the TTS Slack, you can reach us at @amymok and @alexsoble. You can also reach us by email at: eng-dei@gsa.gov.

Leadership and facilitators

See the org chart.

FAQ

I’m interested in working on a different or additional project. How can I do that?

Your facilitator and the engineering staffing lead are responsible for making sure you have the right amount and kind of project work. However, you’re encouraged to get involved in finding projects you’re interested in. To do this, review projects in the staffing repository. The issue threads will have lots of extraneous information, but look for issues tagged with the Engineering chapter. If you find a project you’re interested in, let the engineering staffing lead know or talk to your facilitator.

How can I become an interviewer or resume reviewer?

Thanks for wanting to participate in hiring! In order to review resumes, GSA requires that you be a Subject Matter Expert (SME), which involves a small amount of training. You don’t need to be a SME to be an interviewer.

To do either or both, please get in touch with #talent.

How can I move from another part of 18F into engineering?

Are you already a member of 18F and interested in moving into the Engineering Chapter? Hooray! Here are some steps to follow:

  1. Talk with a member of the Engineering leadership team (a facilitator, supervisor, or the director). Express interest with your Supervisor. Let’s make sure this move is a possibility.
  2. Someone from Engineering will review your relevant work, for example any software you’ve written for 18F projects, to understand whether your level of software development expertise is appropriate to join Engineering, or suggest ways you could develop that expertise.
  3. You’ll have a meeting with someone from Engineering leadership to review the expectations of being in Engineering, review the appropriate performance profile, and talk about a development plan to improve software skills, if appropriate.
  4. Your current Supervisor, your new Engineering Supervisor, and yourself will agree on a transition date.

Rituals

Most of the Engineering team works on a mix of partner agency projects and internal initiatives. As you’d guess, everyone’s weeks look a little different. That said, there are recurring weekly meetings and commitments we all have on our calendars.

Engineering on Slack

General

#dev, #infrastructure.

Tools

#django, #containers, #elk, #git, #go, #javascript, #mac, #meteorjs, #python (and #learnpython), #ruby.

Guilds and working groups

#g-accessibility, #g-frontend, #wg-api, #wg-code-reviews, #wg-cybersec, #wg-opensource, #wg-testing.

Facilitator groups

#eng-ephemere, #eng-chumanjalaal, #eng-space-goats, #eng-bellatrix, #eng-leadership.

Everything else

#bdd.

Mailing lists

Before you use a new tool…

Here are some common tools we use, how we use them, and how you can get access to them. If you can’t find the information you need in the chart below, get in touch with your design lead; they’ll be able to point you in the right direction.

And one more thing: before you start using any new tool that asks for access to files/browser data, please check the full list of approved tools. If what you want to use isn’t there, you’ll need to ask #infrastructure first. New tools often create hard-to-anticipate security problems.