Full Stack Engineer (Backend Emphasis)
Upload My Resume
Drop here or click to browse · PDF, DOCX, DOC, RTF, TXT
Requirements
• You are comfortable working with backend and frontend technologies, but have a deeper background and interest on the backend side. • You care about and want to contribute to our mission of helping people do meaningful work. • We're somewhat flexible on the number of years of previous experience for this role. We highly favor talent and interest. • Some candidates may see this list and feel discouraged because they don’t match all the items. Please apply anyway: there’s a good chance you’re more wonderful than you think you are. • B12 is a safe place for human beings. We particularly encourage you to apply if you identify as a woman, are a person of color or other underrepresented minority, or are a member of the LGBTQIA community. • Please provide: • A pointer to your CV, resume, LinkedIn profile, or any other summary of your career so far. • If you have a profile on websites like GitHub or other repositories of open source software, you can provide that as well. If you don’t have one, it’s still very possible for us to get along just fine! • In addition to the traditional application details, we also ask that you complete a small technical challenge below. Two notes: • By virtue of submitting your application via a public platform like GitHub, it's possible for people to search for projects with "B12" in the repository name/description/contents and see that you have applied. You can obfuscate these details for your privacy, but contact us if you could benefit from a slightly different process to further protect your privacy. • We’ve never tried a “write code to apply to B12” exercise before, and introduced it because of a recent deluge of AI-generated/AI-mediated applications that has made reviewing inbound applications infeasible for us. We hope that introducing this exercise results in a smaller number of qualified candidates without serving as too much of an impediment. You are welcome to use AI assistance on this exercise (we did!). We imagine we’ll iterate on this experiment, and very much welcome your feedback on your experience. • To submit an application, create the following Python script that is executed via a GitHub Action (or continuous integration on any other Git forge). The script should: • "timestamp": "2026-01-06T16:59:37.571Z", • "name": "Your name", • "email": "you@example.com", • "resume_link": "https://pdf-or-html-or-linkedin.example.com", • "repository_link": "https://link-to-github-or-other-forge.example.com/your/repository", • "action_run_link": "https://link-to-github-or-another-forge.example.com/your/repository/actions/runs/run_id" • Make the timestamp an ISO 8601 timestamp • The action_run_link is a page similar to https://github.com/marcua/ayb/actions/runs/20561457327 (might differ if you’re using a forge other than GitHub), which allows us to see the continuous integration run that POSTed to B12 • We’ve pretty-printed for readability here, but the post body should contain no extra whitespace (compact separators), have keys sorted alphabetically, and be UTF-8-encoded. For example, the canonicalized payload above is • {"action_run_link":"https://link-to-github-or-another-forge.example.com/your/repository/actions/runs/run_id","email":"you@example.com","name":"Your name","repository_link":"https://link-to-github-or-other-forge.example.com/your/repository","resume_link":"https://pdf-or-html-or-linkedin.example.com","timestamp":"2026-01-06T16:59:37.571Z"} • Include a header called X-Signature-256 in the post request • The value of the header should be sha256={hex-digest}, where the hex digest is the HMAC-SHA256 of the raw UTF-8-encoded JSON request body, using the signing secret as the key. • Use a signing secret of hello-there-from-b12 (yes, it’s public, but treat it like a secret in your implementation ;)) • As an example, the payload above will have a hex digest of c5db257a56e3c258ec1162459c9a295280871269f4cf70146d2c9f1b52671d45 • If the POST is successful, you will receive an HTTP 200 with a response of • '{"success": true, "receipt": "your-submission-receipt"}' • Print that receipt in your continuous integration task • To confirm your submission, copy/paste the receipt into the field below • Create a Job Alert • Interested in building your career at B12? Get future opportunities sent straight to your email. • Autofill with MyGreenhouse