JOB OVERVIEW
As a Senior Software Engineer, you will be responsible for working within your team to define, build, and deliver software solutions. You will apply your knowledge of object-oriented design, data structures, and algorithms to create high-quality code. You will collaborate with your teammates and contribute to the team's success while continuing to grow your technical skills. You will be required to be highly collaborative with a strong independent drive to see solutions through to implementation with high quality. Additionally, as a Sr. Staff Engineer, you will mentor and support less experienced developers to ensure we deliver a high-quality product to our customers.
RESPONSIBILITIES
Coding and Development: Write clear, simple, and maintainable code adhering to best practices and coding standards. Lead by example in code quality, testing, and debugging.
Testing and Quality Assurance: Implement advanced testing philosophies and contribute to systematic approaches to testing, ensuring high-quality code deployment.
Support and Maintenance: Lead incident response efforts. Develop and implement strategies for quick and effective resolution of critical issues.
Mentorship: Serve as a mentor to junior and mid-level team members, teaching and guiding them in best practices and technical skills.
Architectural Design: Influence architectural decisions and provide guidance on complex technical challenges. Ensure the scalability, performance, and security of software systems.
Cross-functional Collaboration: Work closely with product managers, designers, and other stakeholders to align technical solutions with business goals. Facilitate effective communication and collaboration across teams.
Continuous Improvement: Identify opportunities for process improvement and drive the adoption of new technologies and methodologies to enhance the engineering capabilities of the organization.
REQUIREMENTS
Bachelor’s Degree in Computer Science, MIS, IT, Engineering, or a related field with outstanding academics, or equivalent experience and the demonstrated ability to learn
7+ years’ experience working on a professional development team
Experience in web-based software delivery of client/customer-facing applications
Experience working in a collaborative environment using agile methodologies
Strong understanding of MVC, OOP design, data structures, and algorithms with emphasis on executing at scale
Solid understanding of systems and application design.
Strong test-driven development experience (NUnit or similar).
Solid understanding of REST API design methodologies using .Net Core 3.x and newer (C#).
Experience with building Micro Services with ASP.NET Core. Strong skills in modern web development practices.
Strong SQL development experience
Experience implementing serverless Cloud technologies such as AWS ECS, RDS, Lambda, and SQS or equivalent technologies
Experience working effectively with non-technical business partners to inform product and business decisions
Demonstrated design experience, including story decomposition and execution.
Willingness to act as a mentor to other team members.