Senior Software Engineer

We are looking for a senior software engineer to join our team.

Rustici Software makes eLearning standards based software. Our software is responsible for launching and tracking standards based online learning for millions of learners. You would join a team that develops software that integrates into other software products around the world. We are a remote/in-office hybrid company located in Franklin, TN. While we give preference to local candidates, we are open to qualified remote candidates.

The ideal candidate will be able to balance the competing priorities of producing quality code and solving customer problems quickly. Since this is a senior position, we are looking for someone with several years of experience. We don’t have a hard number of years as a requirement, but we do require the expert level of skills that people usually only acquire after 10,000 hours of developing software. The areas of expertise we value are in software development, communication, the software development lifecycle, and learning new technologies.

This position requires a strong ability to develop in JavaScript and either Java or .NET, coupled with the aptitude to work in a completely different language when needed. All of our products are web applications, so we also look for a strong understanding of HTML, CSS, and REST APIs. Our products are often integrated with our customer’s enterprise web applications. While we don’t work in a typical corporate environment, experience and an understanding of how enterprise software shops work is a plus.

Most Prevalent Technologies

  • Git
  • Java
  • .NET
  • JavaScript
  • SQL (MySQL, PostgreSQL, SQL Server)
  • AWS

What will you be doing?

  • Maintaining existing codebases: One or more software products and all of the ancillary tools needed to manage them. These are profitable products that have been around for 10+ years (and we expect to be around for 10+ more) and that our customers expect to work as well or better than they did last year or the year before or the year before that. There is technical debt to be paid, refinement to interfaces and implementations, bugs to squash, and processes to improve. QA is a forethought and a requirement, developing test code is just part of the work.
  • Writing technical specifications for new work: Anytime we embark on larger features, we build out a technical specification, with the goal of expressing the work in English before we attempt to express it in code. You will be writing technical specifications for the larger work you do, and possibly for features that other engineers will work on.
  • Taking new features from start to finish: We really value autonomy here at Rustici. Engineers pick up work that needs to be done and run with it until it has passed code reviews and QA.
  • Identifying new work: We rely a lot on customer feedback for improvements and new features, but we rely on our engineers to listen to what customers want and provide them with what they need. We also don’t expect all the answers to come from the top down, and will look to our engineers for ideas on what to work on next.
  • Weekly standups: We try to keep meetings at a minimum. Each team meets once a week to discuss the work that happened last week, and what they expect to accomplish in the coming week.
  • Mentoring junior devs: With the key being that this is a mentoring rather than management consideration. We hire exceptional people who learn fast, but we expect our senior engineers to impart their technical and non-technical skills to those with less professional experience.
  • Play and compete: The day to day may vary, but almost everyone carves out a little time every day to play ping pong, crokinole, Magic The Gathering, KanJam, or whatever people are into at the time.

How to apply

Check out “An Open Letter” from our Managing Director, Tammy Rutherford. It says a lot about what you need to know before applying to this job opening. You might also want to read up on our answers to the Joel Test to see how we approach software development.

Make sure that what we get from you makes it apparent that you are the right person and that this job is important to you, and that you want to work here, not just somewhere.

You will also want to spend some time on our website, learn how we think, what we do, and why we have been named a Best Place to Work by Nashville Business Journal for 12 years. Get to know us if you want us to get to know you.

Each time we hire, we wait until we find exactly the right person. If that’s you, we really hope you’ll apply. Don’t forget to include more about why you’re the right person to join our team and your answer to our developer test.

Apply to position

.