Sr. Principal Software Engineer
Alex Lee, Inc. · Hickory, NC · 2 mo ago
EngineeringFull-time
About the Role
As a Principal Software Engineer at Alex Lee, you deliver high-performing, robust, scalable, and maintainable software while leading and mentoring other software engineers. You collaborate with cross-functional teams, document system designs, and report on project status. Continuous improvement and adoption of best practices are essential to your success, with contributions enhancing product performance and business value while maintaining high standards.
Responsibilities
- Technical Leadership:
- Lead by example and mentor others to produce extensible and maintainable code used across products.
- Serve as a Designated Responsible Individual (DRI), mentoring engineers and working on-call to monitor systems for degradation, downtime, or interruptions.
- Act as a subject matter expert for solutions in the Alex Lee software portfolio, providing mentorship to build knowledge and capabilities within engineering teams.
- Foster an inclusive and positive culture by facilitating team discourse, mentoring junior members, and promoting continuous learning.
- Schedule and attend code reviews to maximize quality, security, and maintainability of all software.
- Identify and resolve complex technical issues, recommending and implementing permanent solutions.
- Recommend software development process changes to prevent future issues.
- Identify development practices or software that introduces risks to business operations.
- Introduce technology and design concepts that enhance business operations and deliver incremental business value.
- Collaboration and Cross-Functional Teams:
- Partner with cross-functional teams to determine user requirements and drive project plans, releases, and development.
- Influence technical strategy by collaborating with teams to develop a long-term technical roadmap that meets stakeholder and business needs.
- Collaborate with peers and leaders at all levels to turn opportunities into results.
- Documentation and Transparency:
- Document system designs, processes, and architecture for transparency and future reference, complying with standards developed by architecture teams.
- Report on project status, challenges, and results to stakeholders.
- Continuous Improvement and Best Practices:
- Proactively seek new knowledge and adapt to trends, technical solutions, and patterns to improve product availability, reliability, efficiency, observability, and performance.
- Contribute to the continual improvement of your team’s quality standards and engineering processes.
- Balance innovation with business value to drive modern approaches and adoption of best practices.
Requirements
- Bachelor's Degree in Computer Science or equivalent practical experience.
- 10+ years of software engineering experience, including the following technologies/skills:
- Coding Languages: Proficiency in C# and SQL; knowledge of JavaScript, CSS, HTML5, and React is beneficial but not required.
- Coding Skills/Technology Stacks: Familiarity with ASP.NET MVC, .NET Core, Entity Framework, Microservices, LINQ (proficient), REST APIs, Full Stack Applications, Azure DevOps & GIT, Azure CI/CD Pipelines, T-SQL, Relational Database Design/Development, Hangfire, Kendo UI, jQuery, RabbitMQ, Azure Service Bus, etc.
- .NET Experience: Multiple years of full-time experience with .NET Core 3 framework or higher. Experience with classic .NET is also valued.
- Agile Experience: Daily Standups/Scrums, Sprint Planning, Reviews & Retrospectives, and daily peer code reviews. Proficiency in leading and engaging in these agile ceremonies is important.
- Soft Skills: Problem-solving abilities, effective time management, willingness to learn and seek assistance, openness to daily feedback from multiple perspectives, and ability to peer review other team members.
- Excellent communication skills, with the ability to clearly articulate technical concepts to both technical and non-technical stakeholders.
- Strong self-motivation and organizational skills.
- Demonstrated ability to context-switch between multiple concurrent projects.
- Self-sufficiency and excitement for working in a fast-paced, result-driven environment.
- Demonstrated coaching and mentorship skills.
Nice to Have
- Azure AD B2C Custom Policy Development.
- Docker/Kubernetes experience.
- AWS/Google Cloud Development Experience.