What you'll do As a Senior Software Engineer at Forj, you'll do more than write code. In this role, you'll lead software development on cross-discipline engineering teams, be trusted to translate each client's vision into embedded software reality, shape system software architecture, make thoughtful tradeoffs across functionality, performance, cost and maintainability - all while ensuring safety and security. You will combine hands-on technical contributions with leadership and influence - including significant autonomy in design choices and the responsibility to guide your software team through the full software development lifecycle.
Core responsibilities include:
- Apply the Forj Quality Management System, FDA regulations, IEC 62304, and cybersecurity standards to software system development.
- Lead requirements definition, architectural design, and technical decision-making across software-intensive medical device systems.
- Provide detailed estimates in support of project milestones and software deliverables; deliver low to medium complexity projects within scope, schedule, and budget constraints.
- Apply a unique feature-focused method of breaking down software system functionality; you'll iteratively lead your software team through architecture, design, implementation, testing and integration of software features in an agile workflow.
- Provide leadership to a team of software engineers through work planning, task delegation, and coordination of execution.
- Design, implement and test project source code.
- Own the technical quality of all software artifacts - ensuring architectural integrity, code quality and design robustness through technical reviews, mentoring and leading by example.
- Lead and support software initiatives - including process improvements and internal library contributions.
- Represent Forj's software capabilities and technical perspective in proposals, design reviews and client discussions.
You'll have a chance to make a meaningful impact on the lives of patients - our recent products help clinicians treat cancer, sustain life and alleviate pain.
To top it off, we think you'll enjoy working with other smart, curious and talented engineers as you bring medical devices to life.
What you bring We're more interested in a balance between breadth and depth than checking every box, but helpful experience includes:
- BS, MS, or equivalent degree in Computer/Software Engineering, Computer Science or similar field.
- 5-9 years of experience in embedded software development in medical device or other regulated industry, ideally in a lead role with a track record of leading small software teams with an inspirational and effective leadership style.
- The ability to communicate technical concepts clearly and build trust with clients and peers.
- Significant experience with embedded Linux development on SoMs - particularly with Yocto Project/BSP and driver configuration.
- Expertise in object-oriented programming using C++, C#, and/or C. Experience developing multithreaded and multiprocess applications. Familiarity with common design patterns is a bonus.
- Demonstrated proficiency in solving high-complexity software problems - including a methodical, reasoned approach to reproducing and fixing bugs.
- Microcontroller programming (ideally using ThreadX or other RTOS) including device driver development and use of debuggers, emulators, communication analyzers, oscilloscopes, and logic analyzers.
- Experience with one or more of the following is a plus: device drivers and communication protocols; Qt/QML, LVGL or other GUI frameworks; automated builds and CI/CD; static analysis; Python or other scripting languages; medical-device cybersecurity.
How we workProject teams are led by a Program Manager / Systems Engineer; technical leads from Software, Electrical, Mechanical, Test and Quality (to name a few) collaborate on projects for clients ranging from established companies to small startups.
We foster a strong engineering culture and operate under mature software & product development processes.
We invest in tools, automation and continuous improvement.
We work at an efficient, sustainable pace - taking time for fun along the way!
Working Conditions: - Must be authorized to work in the United States
Compensation and Total Rewards PackageThe salary range for this position is outlined below under "Job Details" and is dependent upon the individual's skills, experience, qualifications, and applicable employment laws. Beyond base salary, Forj offers a competitive Total Rewards Package. We offer health, dental, vision, 401K plans, and time off programs. You may also be eligible to participate in an annual bonus program which depends on various factors, including, individual and organizational performance.