Job Details:
Job Description
We are seeking a curious, creative, and seasoned software engineer to lead our software team. The leadership responsibilities will include writing code, mentoring junior staff, and growing the software engineering team.
Duties
As our lead developer, we’ll rely on you to produce solid (and often clever), software solutions – mostly on a .NET technology stack – for our business requirements and technical challenges. You’ll also be our go-to for selecting talent to join our team (translation: you’ll be doing technical interviews with new candidates) and continuing our engineers’ development (i.e. help keep the team abreast and in-line with best practices).
As a team, we primarily develop and support custom business applications for internal users. We handle large data sets, complex mathematical processes and a choreographed ballet of data transformations.
Culturally, we are willing to sacrifice velocity on the altar of code quality.
Actual Duties
•Code: Write good, clean, unit-tested, and documented code to solve business requirements.
•Architect: Assist in architecting solutions for business problems.
•Mentor: Perform code-reviews and guide the learning of less-senior engineers.
•Coach: Identify individual talents and matchmake engineers to projects accordingly.
•Lead: Actively participate in the implementation of best-practices for the team. Propose new or revised standards for the team and suggest new technologies and languages to explore as we continue to grow and innovate.
•Manage: If you’re good at management, this position will include managing junior engineers; if not, this position will include the mentoring, but not management responsibilities.
Us + You =
•C#: We use .NET Core (plus some legacy .NET). If you know Java or C++ and you’re really, amazingly talented, we’ll still consider you.
•SQL: We use Microsoft SQL Server. Other DB experience won’t be frowned upon.
•Object-Relational Mapping (ORM): We use a lot of Entity Framework, but we’re open-minded.
•VisualStudio: We’re on 2017 Professional.
•Web APIs: Authentication, authorization, route design, async, error handling, logging.
•The Twelve Factor App: We have monolithic, micro, distributed and no-one-knows-what-this-does services. Maybe we’ll move to Azure Functions and eliminate all our services…who knows?
•JavaScript: We’ll also take python or similar scripting languages.
•JS Stuff: Node, Angular, React, Redux, etc. We use React and Redux.
Boilerplate Skills & Duties
•Transform requirements into technical specifications.
•Document test cases and implementation details.
•Develop and deploy code using the following technologies: C#, NET, .NET Core, MVC, T-SQL / Microsoft SQL Server, React/Redux, Entity Framework, and Python.
•Troubleshoot existing code.
•Source control such as git or Subversion (we use Bitbucket).
•Strong programming fundamentals including algorithms and data structures.
•Experience in software design patterns and deploying apps.
•Knowledge and hands-on experience in unit- and integration-testing.
•Ability to learn and help build a complex and integrated system.
•Passion for programming and an eagerness to acquire new skills.
•Excellent troubleshooting and analysis skills.
Really Nice-to-Have
These demonstrate exactly the kind of passion for software development that we are looking for:
•Advanced hobby projects.
•Linux or Unix skills.
•Arduino, Raspberry Pi, robotics.

