Skip to main content
U.S. flag

An official website of the United States government

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 , external,Engineering Best Practices guide (, external,git repo) has details about our approach, tools, languages, and more. You might also enjoy the open source archives on the blog.

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 supervisor 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” which we call cohorts. A cohort shares a supervisor and serves as small communities of practice to encourage cross-pollination that might not otherwise occur in a large, distributed team.

Cohorts occasionally meet to:

  • Workshop tech talks (in preparation for a wider team talk or speaking engagement)
  • Demo projects
  • Collaboratively solve architecture/programming problems
  • Improve 18F’s hiring (group resume review, interview practice)
  • Engage in discussions and feedback sessions
  • Introduce members to one another!

, external,TTS-only, These activities are largely meant to increase cohesion across Engineering.

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. Supervisors do other HR functions such as approving SF-182s, telework agreements, TTS-only, HR Links requests, and the like.

Supervisors are the member of the engineering leadership team that individual contributors form the closest relationship with, and they meet with their reports for regular 1-on-1s. They also run regular cohort team meetings for their engineers to build community and support outside the context of project work. Supervisors act as advocates for their engineers, passing questions and concerns up the leadership chain as necessary and communicating upcoming changes to their cohort.

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 is 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

See , external,TTS-only, the org chart.

FAQ

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

Your supervisor 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 , external,TTS-only, 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 supervisor.

If you're looking for some engineering work to do during your non-billable hours, , external,TTS-only, this document has some suggestions that might get you started. Always feel free to bring it up with your supervisor!

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 , external,TTS-only, the Talent team.

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 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.

  • Monthly tech talks. See the 18F Events Calendar or , external,sign up for a talk.
  • Once a week (ideally): meet with your supervisor. Once a week or less frequently, depending on your preference, you’ll have a short check-in with your supervisor at a time that’s convenient for both of you.
  • Once a week (ideally): meet with your Engineering team. Once a week, you’ll meet with your cohort to conduct , external,TTS-only, various activities designed to bring your team together and share knowledge.

Engineering on Slack

General

, external,TTS-only, #dev, , external,TTS-only, #infrastructure.

Tools

, external,TTS-only, #django, , external,TTS-only, #elk, , external,TTS-only, #go, , external,TTS-only, #javascript, , external,TTS-only, #python, , external,TTS-only, #ruby.

Guilds and working groups

See current guilds and working groups.

Cohorts

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, see the Software page and assure the tool is approved. If what you want to use isn’t there or not approved, you’ll need to ask , external,TTS-only, #infrastructure .

Return to the top of the page ^

Questions?

Handbook.tts.gsa.gov

An official website of the U.S. General Services Administration

Looking for U.S. government information and services?
, external,Visit USA.gov