Information Technology

Senior Research Engineer

Jobs for Humanity

London, England, United Kingdom
Full-time, Mid-Senior Level
Remote: No

Company Description

Company Description

Jobs for Humanity is dedicated to making work accessible to everyone. We believe programming should be accessible, powerful, and joyful. We invest in long-term ideas, value intellectual curiosity, and give you room to shape the future of how humans interact with code.

We welcome people from all walks of life. All your information will be kept confidential according to GDPR guidelines.

Job Description

About the Role

We're looking for a skilled, forward-thinking engineer with a strong interest in programming language design, developer experience, and system-level tooling. As a Senior Research Engineer, you will help design, prototype, and implement the next generation of developer-facing technologies. You’ll join a small, high-impact team focused on advancing the boundaries of how people program, learn to program, and interact with computing systems.

This role is ideal for someone who thrives on building developer tools from the ground up, designing new language features or systems, and is eager to collaborate with others to turn ideas into real-world impact.

Responsibilities

  • Research, design, and implement new programming paradigms and tools, particularly aimed at education and non-expert programmers.

  • Develop interpreters, compilers, or integrated development environments (IDEs) from concept to prototype.

  • Contribute to internal knowledge sharing, documentation, and tool improvement.

  • Work closely with peers and stakeholders to understand needs and translate them into robust solutions.

  • Optional but valued: Participate in collaborations with academic or industry researchers to turn theoretical models into practical developer tools.

  • Explore human-computer interaction aspects of programming environments, with a special focus on teaching and accessibility.

Job Qualifications

Essential:

  • Demonstrated experience in software development, systems analysis, and tool creation.

  • Strong background in algorithms, programming languages, or system architecture.

  • Proficiency in languages such as C++, Python, or similar systems languages.

  • Proven ability to work independently and deliver high-quality code.

Preferred (but not required):

  • Experience leading projects or mentoring other engineers.

  • Prior collaborations with academic researchers or participation in joint research projects.

  • Contributions to publications, workshops, or standards in language design or software tooling.

What We Offer

  • A supportive, intellectually curious team dedicated to long-term impact.

  • Flexibility to shape your own projects and research directions.

  • Opportunity to broaden your skills, including leadership and academic collaboration.

  • A mission-driven company that values diverse perspectives and backgrounds.