Principal Software Engineer

This position has been filled!

Stay in touch! We announce new positions on Twitter at @innoliticsdev along with articles, tips, and lessons for software-developers.

Thank you for your interest in Innolitics!

About Innolitics

We're a remote-only team of software engineers and regulatory consultants helping accelerate progress in the medical device industry. We focus on software-only medical "devices", but we sometimes work with physical devices too. We're accelerating progress in a few ways: We help our clients write software for their medical devices. We also help with regulatory submissions and quality documentation for our clients devices.

The U.S. healthcare industry is less prone to the booms and busts of the economic cycle. It is a good choice for those looking for a stable job in this economic climate. If you have recently been laid off or are concerned about your job security, we are hiring and would love to talk to you. Additionally, investment in the medical device industry is still booming as investors are moving money to safter assets and AI/ML is making its way into the clinic. It's a good time to be in this space and we expect to grow significantly over the next few years.

Do you want to work on meaningful and challenging medical device projects in an environment where code quality matters? Do you want to work on a team that values continued learning and takes pride in our craft? We're a growing, fully-distributed medical-device software firm. We're looking for a principal software engineer who can manage and mentor a small team of engineers and communicate with clients to refine vague requirements.

Who are we looking for?

It is required that you:

  • Share our values
  • Believe in our mission
  • Have 10+ years of professional software development experience
  • Have 5+ years of experience interacting directly external stakeholders
  • Have 5+ years of experience managing at least two direct reports
  • Have Python programming experience
  • Have web development experience
  • Are comfortable on the Linux command line and are familiar with Git
  • Are interested in medical devices
  • Can communicate clearly and professionally in English with coworkers and clients via Slack, email, and video calls
  • Are interested in learning new skills (our primary languages are Python, JavaScript/Typescript, C++, and a little Bash; chances are you will learn and use all of these if you work with us long enough)
  • Are willing to travel approximately twice/year for 2-4 days for company retreats, conferences, and client meetings. Usually one of these trips will fall partly on a weekend.

It would be nice if you have:

  • Experience in the medical device industry
  • Experience doing consulting work
  • Experience with C/C++

How success will be measured

Your success as a principal software engineer at Innolitics will be measured along three axes: First, by the value, and perception of this value, you provide to our clients. Second, by the technical and professional growth of the engineers on your team. Third, by your contributions to Innolitics' mission via business development. Each of these three axes are discussed in more detail below.

You'll be directly responsible for one or more client projects. We want to impact the world—our work is our vocation. Thus, we measure our success by our client's ability to bring useful medical devices onto the market. To do this, we must add value to our clients through our work. This isn't enough though. If our clients are going to be happy working with us, they also need to be satisfied with our adding value. Client Satisfaction = Perception - Expectations. You'll need to build the trust and respect of our clients over time, so we can increase our impact. Sometimes adding value requires ruffling feathers and having difficult conversations about tradeoffs, timelines, or bad technology.

Many of our clients are startups. You'll need to learn about their business needs and help them define the device requirements, which are often vague or unknown. If we're building exactly what the client asks us to build, we're probably not doing our job.

You'll be responsible for managing and mentoring other engineers on your projects. This means reviewing pull requests, holding one-on-ones, and conducting performance reviews. Your goal will be to help the people on your team grow and expand their skills quickly, delegating tasks that are just on the edge of what they're able to accomplish. You'll be responsible for training your reports through 10x lessons. You'll also be responsible for creating new 10x lessons as needed.

Typically you'll be most technically involved with projects early in the life-cycle, helping identify key requirements, sketching rough UI designs, making key architectural decisions, and documenting all of this. You'll also be responsible for managing the software process. As the requirements and architecture progresses, your involvement will gradually decrease as you delegate more of the work to your engineers.

Beyond your work with clients, you'll also be involved with hiring and training. You'll also be responsible for identifying ways we can provide more value to existing clients.

Your first 90 days

We recognize this role requires a lot of skills, and you likely won't have all of them. Thus, for your first 90 days you'll split your time between intensive training and working on a client projects. You'll be working closely alongside David or Yujan, working through some of our 10x lessons, as well as reading a lot of background material.

Our on-boarding reading list includes:

  • Managing The Professional Services Firm by David Maister
  • Code Complete by Steve McConnell
  • Medical Device Software: Verification, Validation, and Compliance by David A. Vogel
  • Mastering the Requirements Process by Suzanne Robertson and James Robertson
  • Digital Imaging and Communications in Medicine (DICOM): A Practical Introduction and Survival Guide by Oleg S. Planykh
  • IEC 62304: Medical device software – Software life cycle processes
  • ISO 14971: Medical devices — Application of risk management to medical devices
  • All of the Guidance Documents in this list
  • Two other books that you'll propose which seem useful

The first few months will require a good bit of outside reading time, but after the initial hump our goal is to have the hours load drop to 45 hours/week (most of our engineers are only expected to work 40 hours/week). Anything beyond this will be paid according to our overtime policy

To begin with you'll focus on a single client project. You may also work solo for a while, but the reason we're looking for a principal senior engineer is so that, eventually you'll be able to manage two or three client projects each with one or two engineers dedicated to the project.

Why would you want to work for us? 🔗

Meaningful work 🔗

We only work on fulfilling projects—ones that we believe improve the world. For example, our current projects include software for radiation oncology clinics, a startup building an medical device to detect ear infections, open-source software used by neurosurgeons and researchers, software for tracking metastatic cancer, and several others.

You can see past projects in our portfolio.

Compensation 🔗

We pay competitive salaries, including profit sharing bonuses.

Financially Stable 🔗

We operate exclusively in the healthcare sector and do not take on debt which shields us from boom and bust economic cycles. We have never had to lay off employees because of a recession.

Tight-knit and growing 🔗

We’re tight-knit, profitable, and growing quickly. If you work with us you can participate in our growth and help define the direction we move in. There will also be opportunities to grow your career. You can also wear many hats and contribute to the company beyond software development.

Talented and fun teammates 🔗

Work with a team of talented, mission-driven engineers who will help you become a better engineer. We're also a lot of fun and have a close-knit group, despite being fully-remote.

Stay relevant 🔗

We invest in the personal and professional development of all our team members. We dedicate two and a half hours on Wednesday afternoons to ongoing learning. Here is a list of our previous learning topics.

You’ll also have opportunities to change projects from time to time and be involved with many more.

Remote only 🔗

We’ve been remote-only since 2012. You can live wherever you want within the United States except for Alaska and Hawaii.

Balance 🔗

We love what we do, but we also have lives outside of work. We have flexible work hours. You are free to work at your own schedule as long as you are not blocked or do not block others. Most individual contributors have an hour worth of meetings a week.

We provide two weeks of paid time off your first year, three weeks your second and third years, and four weeks for each year after that.

Benefits 🔗

We provide a 401(k), with Traditional and Roth options. Innolitics makes an annual contribution, equal to 3% of your salary, to your 401(k) once you’ve worked with us for six months. This contribution vests immediately. The 401(k) plan includes very low-cost index mutual funds, and we cover all the plan costs.

We provide company health insurance (read more about this in our handbook). We reimburse internet costs up to $1200/year and provide a $750/year equipment stipend.

How to apply 🔗

Send an email to info@innolitics that includes

  • a copy of your resume
  • two or three paragraphs explaining why this position in particular interests you and why you are a great fit.

What happens after you apply 🔗

We’ll read your email and review your resume.

If we don’t think you’re a good fit, we’ll let you know. We probably won’t respond if you don’t live in the US or haven’t explained why you want to work at Innolitics in particular.

If it looks like you’re a good fit for the role, we’ll get in touch regarding next steps.