Lead Software Engineer
Description
As a Lead Software Engineer, you are responsible for leading development, maintenance and enhancement of business applications. Guide project teams within an assigned business unit or corporate department and utilize various technology platforms. You will collaborate with business partners, and other technical staff to identify user requirements, assess available technologies, and recommend solution options. A majority of your time will be spent hands on in the code base designing and developing features. This role includes several direct reports, a combination of early career, mid-level and senior engineers, where you will mentor, coach and own their performance and growth.
Responsibilities
- Build applications and infrastructure for the ERP Pro Tyler product suite
- Full Stack Development: Develop and maintain web applications using, the Microsoft .NET framework, including both front-end and back-end components.
- Front-End Development: Design and implement responsive user interfaces using HTML, CSS, and JavaScript frameworks - Angular
- Back-End Development: Build and optimize server-side components, APIs, and databases using C#, ASP.NET, MVC and MySQL.
- System Integration: Collaborate with other developers and teams to integrate third-party APIs and services into our applications.
- Infrastructure & Architecture: Own and implement large system design decisions
- Code Quality: Write clean, well-structured, and maintainable code while following best practices and coding standards. Set and teach these standards for the entire team
- Testing and Debugging: Perform unit testing, debugging, and troubleshooting to ensure the reliability and performance of applications.
- Performance Optimization: Identify and resolve performance bottlenecks and optimize applications for speed and scalability.
- Security: Implement security best practices and ensure the integrity and confidentiality of data.
- Collaboration: Collaborate with cross-functional teams, including designers, product managers, and QA engineers, to deliver high-quality software solutions.
- As lead, responsible for mentoring junior team members
- Be the technical voice for the team and product
Qualifications
- Bachelor’s degree in Computer Science, Computer Engineering, or related field, or equivalent professional experience demonstrating expert-level programming and technical leadership.
- 5+ years of professional software development with clear progression into technical leadership roles.
- Proficient in C# and .NET 10+; strong software engineering fundamentals.
- Front-end experience with HTML and JavaScript/TypeScript; hands-on with Angular (or a similar modern framework).
- Expertise with MySQL/SQL and relational database design and optimization.
- Solid understanding of RESTful API design and integration.
- Comfortable working in Linux; strong with Git and Docker.
- Experience with microservices.
- Demonstrated ability to lead complex technical projects, influence technical decisions, and mentor and grow engineers.
- Strong ownership, ability to prioritize and deliver to deadlines, and effective collaboration with engineers, product managers, and cross-functional partners.
- Clear written and verbal communication skills.
Preferred
- System architecture: designing scalable, distributed systems and cloud-native patterns.
- Cloud: production experience with AWS (or Azure/GCP), including monitoring/observability and managing live environments.
- DevOps & infrastructure: CI/CD, container orchestration (e.g., Kubernetes), and infrastructure as code (e.g., Terraform/CloudFormation).
- Performance & scale: application profiling/tuning, database optimization, caching strategies, and capacity planning.
- Security & quality: secure development practices, code reviews, and quality assurance.
- Continuous learning: stays current with industry trends and emerging technologies.
- Problem-solving: track record of resolving complex technical and organizational challenges