Senior .Net Software Engineer
The Role
The Senior Software Engineer contributes to design, implementation, and operations for an enterprise scale ecommerce solution. As well, the Senior Engineer drives improvement of processes, mentoring, and leadership of the team. While a Senior Engineer might not be versed in every technology, they are able to quickly learn and contribute to the team's success. Of equal importance, their understanding of design, good patterns, and the software life-cycle make them a strong team member.
The Senior Software Engineer is comfortable working within the team, and as well with other departments including production, operations, and support as partners to provide the best possible result for our customers.
About You
- You view software engineering as a craft and welcome the opportunity to share knowledge with fellow enthusiasts.
- You find learning new technologies/patterns exciting and love experimenting with them.
- You are not afraid to dive into unfamiliar code and come up to speed quickly.
- You are able to identify opportunities for improvement in development process, code, architecture, or automation.
- You understand the balance an engineer has to strike while weighing new feature development with technical debt.
- You are excited to design products from the ground up. A blank piece of paper doesn’t scare you.
About Our Team
- We are comprised of talented, motivated individuals, who pride ourselves on working smarter, not harder.
- We are empowered to make decisions, reducing the overhead of getting things done.
- We have a DevOps culture and a “you build it, you run it” mentality.
- We welcome new technologies and actively evaluate our stack to make sure we are providing software of the highest quality.
- We continually strive to improve our automated testing, continuous integration, and continuous deployment processes.
Our Tech Stack
We are interested in candidates who are curious, ready to learn, and unafraid to tackle the next challenge. A non-exhaustive list of tools and technologies we currently use:
Primary technologies:
- C#, ASP.NET, MVC, WebAPI, WCF, IIS, MSMQ
- Microsoft SQL Server, T-SQL
- Amazon Web Services - EC2, Lambda, Kinesis, RDS, Redshift, SQS, Elasticsearch, Beanstalk
- Git, TeamCity, GitLab CI, Octopus
- Docker
Secondary technologies:
- Microsoft SQL Server Integration and Analysis Services
- JavaScript, Node.js, React/Redux
- GoCD
Our Microsoft stack includes both legacy "full framework" implementations and carries forward into more modern micro-service and serverless cloud-native architectures (.NET Core, AWS Lambda).
Additionally, a significant amount of our application architecture relies on Microsoft SQL Server - complex stored procedures, common table expressions, scalar and table-valued functions, and SQL CLR implementations.
Education
- Bachelor of Science in Computer Science or equivalent.
- Master of Science in Computer Science, Software Engineering is a plus but not required.
- Software Engineer Certification is a plus but not required.
Experience
- 5 to 10 years of direct .NET web application development.
- 3 to 5 years of direct SQL experience with complex store procedures.
- Familiarity with modern software architecture best practices.