As the Senior Software Engineer, you will be responsible for designing and implementing custom web and backend applications for our support and product development teams. The Senior Software Engineer must have a strong focus and understanding of .NET and Full Stack. To be successful in the role of Senior Software Engineer, one must be able to work effectively in a fluid, fast-paced agile environment. This position requires strong leadership, design, and communication skills to effectively work with management and team members. The Infrastructure team combines broad application knowledge and a performance oriented mindset to support our production applications.
The Infrastructure team bridges the gaps between Product Development and Operations teams by bringing full application domain knowledge and system capacity awareness to feature development reviews. Using Opsview and Dynatrace we identify problem areas in the code and work with other teams to educate and resolve the opportunities. Using Opsview and Dynatrace we identify efficiency and stability problems is the applications and work to resolve them. We work to fully understand how the applications and infrastructure interact and help them perform optimally.
Additionally, we strive to automate the workflows for all of our developers and support team through custom tooling. Basically, we geek out on solving hard problems, making things performant and apply that passion at all levels with the R&D office.
Technology We Use:
- Maintain, build, use monitoring solutions for performance optimization
- Use identified areas of opportunity to educate, lead, and resolve said optimization opportunities across multiple teams
- Ensure infrastructure stability, sizing, balancing and technology consumption used across Operations and Product Development teams meets organizational goals for long-term sustainability
- Research and identify opportunities for automation and custom tooling for development and support environments
- Act as technical resource for an agilescrum team and actively participate in the project planning, sprint planning, daily scrum, and sprint review.
- Develop, implement and maintain unit tests during development
- Be pragmatic about what we’re testing
- For the assigned applications, functional areas or projects:
- Develop and maintain thorough system knowledge
- Participate in problem solving and troubleshooting
- Facilitate functional test planning and testing
- Work with the team to maintain system quality
- Stay current with changes in the technical area of expertise, best practices, newer frameworks, and patterns related to all technologies (Backend + Frontend)
- Mentor other Software Engineers through the software development process
- Minimum of 6 years of experience in object oriented programming
- 3 years of experience writing SQL, Oracle preferred
- BS in Computer Science or related degree, or equivalent work experience
Nice to Have:
- Get a leg up on the competition by bringing experience with:
- Opsview (nagios or similar monitoring system)
- Dynatrace or similar APM tool
- SQL tuning experience
What We Look For:
- Driven by desire to seek, create, or modify code to high performance levels
- Ability to research and solve complex technical problems
- Actively break the cycle of manual workflows by researching and designing automation and process across multiple teams, and environments
- Experience consuming and creating web services in a .Net environment.
- Experience building and implementing scalable applications that use modern design patterns and practices
- Ability to turn high-level requirements into a working system through iterative development
- Ability to work on multiple projects and be flexible to adapt to changing requirements
- High energy, confident, ambitious and self-motivated individual.
- Must be an effective communicator
- Willingness to mentor other Software Engineers