Assistant Research Engineer - Full-Stack Web & Mobile Development
Listed on 2026-02-06
-
Software Development
Software Engineer
General Description
The Johns Hopkins Whiting School of Engineering and the Center for Bioengineering Innovation and Design are seeking a motivated Assistant Research Engineer to join our dynamic team. The Assistant Research Engineer will support the research, development, and deployment of the Vector Cam platform, an AI-enabled vector surveillance system funded by the Gates Foundation. Following the successful completion of a one-year randomized controlled trial, Vector Cam is now scaling across multiple countries in Africa, Latin America, and Asia.
The engineer will play a central role in expanding the Vector Cam web application by designing new features, customizing workflows for country programs, and implementing feature flags that support rapid and reliable multi-country deployments.
The role operates in a fast-paced Agile development environment and involves close collaboration with the Software Lead, global research partners, and the Johns Hopkins University team. The ideal candidate is a mission-driven software engineer who enjoys solving complex workflow problems, iterating quickly based on user feedback, and building dependable systems for real-world global health applications.
While the primary focus is on the web application, there are opportunities to contribute across mobile development, backend services, and cloud infrastructure for candidates with relevant interest or experience. The successful candidate will take ownership of technical decisions and help scale Vector Cam across Uganda, Kenya, Ghana, Colombia, and additional countries as national programs adopt the tool.
A. Software Architecture and System Design- Participate in architectural planning for new features and platform components
- Design systems that are modular, maintainable, testable, and scalable
- Define clear boundaries between data, domain logic, and presentation layers
- Contribute to long-term roadmap decisions involving multi-country deployments
- Produce technical documentation and architectural specifications
- Develop scalable, high-quality web applications using modern frameworks (Next.js, React, Type Script) and the Backend for Frontend (BFF) design pattern
- Build server-side logic for data access, authentication, and role-based authorization
- Integrate with REST APIs and design well-structured API consumption layers
- Implement responsive UI components, dashboards, data tables, and workflow-driven interfaces
- Optimize performance, caching, bundling, and load times for real-world bandwidth constraints
- Ensure clean code structure through modularization, shared utilities, and reusable components
- Maintain high standards in security, data handling, and error recovery for production web systems
- Design and develop modern Android applications using Kotlin and Jetpack Compose
- Build clean UI/component architecture and state management patterns
- Ensure the app works reliably in offline/low-connectivity settings
- Integrate with backend APIs using clean domain/data models
- Maintain high levels of performance on mid-range Android devices
- Debug concurrency issues, lifecycle edge cases, and memory/performance challenge
- Manage cloud infrastructure (AWS preferred), including compute, storage, databases, and CDN
- Implement and maintain CI/CD pipelines for web and mobile deployments
- Configure multi-environment deployments (development, staging, production, per-country variants)
- Set up monitoring, logging, observability, and alerting systems for production reliability
- Troubleshoot infrastructure issues and participate in incident response
- Optimize deployments for multiple countries in terms of performance, reliability, and cost
- Build systems that can be configured per country, program, or workflow
- Design a flexible architecture that accommodates localization, data segregation, and regulatory differences
- Collaborate with global partners to understand local technical constraints
- Collaborate with mobile engineers, data scientists, and hardware teams.
- Integrate with backend APIs and support development of clean data models.
- Contribute to QA, troubleshooting, and field deployment readiness.
- Contribute to reports, manuscripts, and technical presentations.
- Support operational research evaluating usability and digital adoption.
- Participate in conversations about scale-up strategy, interoperability (e.g., DHIS2), and data governance.
Bachelors, Masters or Ph.D. in related field.
General Engineering- Strong software engineering fundamentals (architecture, design patterns, debugging)
- Ability to design end-to-end systems across multiple layers of the stack
- Experience working in small teams, high-ownership environments, agile development
- Strong experience with Type Script, React, Next.js
- Understanding of server-side rendering, routing, API…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).