Full Stack Engineer (Backend Emphasis)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

minimum USD 2000/month (based on experience and skills)

HOURS PER WEEK

40

DATE UPDATED

Jan 6, 2026

JOB OVERVIEW

Job Description:

B12's engineering team views software as a craft, but improving the world as the reason to practice it. Our engineers are responsible for prioritizing, conceptualizing, co-designing, building, testing, and engaging users for any concept we are building out. We’re generalists in encouraging each other to experience the full stack, but we’re also aware of each other’s preferences in the stack. For this role in particular, we’re searching for a full-stack engineer who brings strong backend skills (and an interest in using them) to the product. We mentor and teach where we can, both inside and outside of the company.
We value sharing our work with the outside world. Our team has published papers on forming expert flash teams and machine-mediated worker hierarchies. We’ve baked our research into Orchestra, the system that coordinates our expert and machine teams, and released Orchestra into open source to contribute our software back to the community.

We hope our engineers have more longevity than any one tool we use, but here is a sampling of our current thoughts about technology:

- We live on Python/Django and TypeScript/React.
- We store blobs in Amazon’s S3, munch on them in Amazon’s EC2, develop in Docker, and deploy containers to Amazon’s Elastic Beanstalk.
- We believe PostgreSQL should be the first system you consider when thinking about persisting structured data.
- We clean and centralize data in Amazon’s Redshift, and are able to answer almost any question in SQL.
- We leverage AI in our product and our internal tooling, and faced with a landscape in constant flux, try to pick the right model or agent on a task-by-task basis.
- We have near-full test coverage on the backend, and are making progress on our frontend and integration tests.
- We set up continuous integration and deployment because, while this model comes with its own pains, we’ve disliked being on fixed release schedules on previous projects.
- We like to move fast and support point-in-time recovery :).

YOU'D BE A GOOD FIT IF:

- You have at least 4+ years of experience building products and systems in production using Python AND Django (required), Typescript or Javascript, AWS, GCP, or Azure.
- You have experience working with tech startup companies.
- You are proficient in the English language (oral and written)
- You feel comfortable managing your time and d ---------- among competing priorities.
- You are passionate about the future of work.
- You enjoy learning and teaching.
- You have some mobile experience.
- 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.

Don’t fear:
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.

How to apply

Please provide:
1. A pointer to your CV/resume, LinkedIn profile, or any other summary of your career so far.
2. Some informal text introducing yourself and what you are excited about.
3. 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!

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0188
Total Execution Time  0.0206
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,514,936 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Engineer-Backend-Emphasis-1481732
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0119 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1481732
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 571002
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1481732
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-19',ej.date_added) duration_daysDATEDIFF('2026-04-19',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-04-19',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1481732' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1481732 
0.0015   UPDATE employer_jobs SET hit_counts '***Oct-01-2025=58***Oct-02-2025=70***Oct-03-2025=20***Oct-04-2025=8***Oct-05-2025=9***Oct-06-2025=11***Oct-07-2025=9***Oct-08-2025=8***Oct-09-2025=6***Oct-10-2025=3***Oct-11-2025=2***Oct-12-2025=2***Oct-13-2025=4***Oct-14-2025=5***Oct-15-2025=6***Oct-16-2025=6***Oct-17-2025=5***Oct-19-2025=1***Oct-20-2025=2***Oct-21-2025=3***Oct-22-2025=2***Oct-23-2025=3***Oct-24-2025=5***Oct-25-2025=1***Oct-26-2025=1***Oct-28-2025=3***Oct-29-2025=1***Nov-02-2025=1***Nov-03-2025=1***Nov-04-2025=1***Nov-07-2025=1***Nov-08-2025=1***Nov-12-2025=2***Nov-13-2025=1***Nov-16-2025=1***Nov-17-2025=1***Nov-18-2025=2***Nov-19-2025=2***Nov-21-2025=72***Nov-22-2025=27***Nov-23-2025=20***Nov-24-2025=30***Nov-25-2025=7***Nov-26-2025=9***Nov-27-2025=6***Nov-28-2025=4***Nov-29-2025=2***Nov-30-2025=2***Dec-01-2025=10***Dec-02-2025=5***Dec-03-2025=3***Dec-04-2025=7***Dec-05-2025=1***Dec-06-2025=3***Dec-07-2025=1***Dec-08-2025=3***Dec-10-2025=1***Dec-11-2025=1***Dec-12-2025=1***Dec-13-2025=1***Dec-14-2025=1***Dec-15-2025=71***Dec-16-2025=77***Dec-17-2025=17***Dec-18-2025=6***Dec-19-2025=8***Dec-20-2025=4***Dec-21-2025=1***Dec-22-2025=4***Dec-23-2025=3***Dec-25-2025=1***Dec-26-2025=1***Dec-27-2025=6***Dec-28-2025=3***Dec-29-2025=6***Dec-30-2025=2***Dec-31-2025=1***Jan-01-2026=4***Jan-02-2026=5***Jan-04-2026=1***Jan-05-2026=2***Jan-06-2026=158***Jan-07-2026=22***Jan-08-2026=12***Jan-09-2026=7***Jan-10-2026=8***Jan-11-2026=10***Jan-12-2026=13***Jan-13-2026=10***Jan-14-2026=4***Jan-15-2026=7***Jan-16-2026=5***Jan-18-2026=3***Jan-19-2026=11***Jan-20-2026=5***Jan-21-2026=5***Jan-22-2026=1***Jan-23-2026=5***Jan-24-2026=2***Jan-25-2026=3***Jan-26-2026=5***Jan-27-2026=5***Jan-28-2026=3***Jan-29-2026=2***Jan-30-2026=3***Feb-02-2026=3***Feb-03-2026=2***Feb-04-2026=4***Feb-05-2026=1***Feb-06-2026=1***Feb-07-2026=2***Feb-11-2026=1***Feb-12-2026=1***Feb-15-2026=2***Feb-16-2026=2***Feb-17-2026=3***Feb-18-2026=2***Feb-19-2026=1***Feb-20-2026=1***Feb-21-2026=3***Feb-22-2026=1***Feb-24-2026=2***Feb-27-2026=1***Mar-04-2026=2***Mar-07-2026=3***Mar-09-2026=3***Mar-12-2026=1***Mar-14-2026=2***Mar-16-2026=1***Mar-18-2026=1***Mar-23-2026=1***Mar-25-2026=1***Mar-26-2026=3***Mar-27-2026=1***Mar-28-2026=2***Mar-29-2026=1***Mar-30-2026=1***Apr-02-2026=1***Apr-03-2026=2***Apr-05-2026=2***Apr-06-2026=2***Apr-10-2026=1***Apr-11-2026=1***Apr-12-2026=1***Apr-16-2026=1***Apr-18-2026=1***Apr-19-2026=1' WHERE job_id'1481732'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Oct-2025=254***Nov-2025=193***Dec-2025=249***Jan-2026=321***Feb-2026=33***Mar-2026=23***Apr-2026=13' WHERE job_id'1481732'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1481732' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1481732 
0.0051   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '571002'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)