Overview

Your mission, should you decide to accept it.
As a Senior Software Developer, you will be responsible for both developing entirely new products and innovating over our existing technology stack. This will involve research, analysis, design, and planning, as well as teamwork, collaboration, and mentoring team members to help shape the product to be the best it can possibly be. This is a unique opportunity to participate in every aspect of engineering. You will have the guidance to learn, optimize, advance, and grow every quarter.

Qualifications.

Experience is an asset, but what follows is much more important:

You are curious, you love learning, sharing ideas, and tackling problems.
You have a natural inclination for shipping and iterating at high velocity.
You can step back and appreciate the value of recognizing a mistake.
You care. About ideas, solving hard problems, and about our team’s success.
You have a strong comprehension of the SaaS development lifecycle.
You are passionate about strong architecture.

Skills we value:

You are obsessive about the quality of your work (and the work of your teammates).
You have autonomy in your ability to manage and prioritize your tasks, with an innate ability to shift gears when required.
You are a sponge when it comes to learning, and excel even when outside your comfort zone.
You have strong software design skills and are open to receive feedback and iterate collaboratively over your designs.

Responsibilities:

Achieve a deep understanding of the problems we’re tackling, our business model, and our product.
Develop software solutions by studying information needs; conferring with stakeholders; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
Familiarize yourself with our technology architecture – Currently, microservices on a modern C# / .NET async/await stack, REST APIs, Javascript/TypeScript, MySQL, Elasticsearch, SASS, much ado about caching, AWS, and even some leftover PHP (which is on the way out)
Continuously ship new features for our applications, helping with the bridge between the backend and frontend, stopping by middleware along the way ;)
Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions.
Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
Improve operations by conducting analysis and recommending changes in processes.
Stay up-to-date with state-of-the-art development tools, programming techniques, and computing equipment.
Participate in educational opportunities, reading professional publications, and maintaining personal networks to stay on the leading edge of development practices.
Protect operations by keeping information confidential and provide a secure coding methodology.
Support and mentor software engineers by providing advice, coaching, and educational opportunities.
Follow and improve company coding standards, and coach junior and mid-level engineers to follow them.
Collaborate with the team to brainstorm and create new products and features and provide ETAs.
Make informed decisions quickly and take ownership of services and applications at scale.