PPLSI is seeking a Senior Full Stack Engineer to lead the design, development, and maintenance of internal tooling that enhances operational efficiency and customer satisfaction. This role involves significant ownership over the systems that support the business, mentoring other engineers, and bridging operational needs with technical solutions.
Responsibilities:
- Own end-to-end features for internal operational tooling, from database to user interface, making architectural decisions that balance immediate needs with long-term maintainability
- Drive technical design for new systems and major enhancements, creating proposals that consider scalability, performance, security, and developer experience
- Establish standards and best practices for code quality, testing, and deployment within the team
- Anticipate and solve problems proactively, identifying technical debt, potential bottlenecks, or operational pain points before they become critical
- Think strategically about how internal tools impact operational efficiency and customer experience, not just completing tickets
- Champion quality through comprehensive testing strategies, thoughtful error handling, and systems that are resilient and maintainable
- Design and implement robust, scalable full-stack solutions using modern technologies (React, Node.js, C#/.NET, or similar)
- Build intuitive, responsive UIs that operational teams want to use, applying web client best practices including performance optimization, responsive design, state management, and modern browser capabilities
- Architect backend systems that handle operational workflows, data processing, and integrations efficiently using .NET Core and related technologies
- Work within and contribute to microservice architectures, understanding service boundaries, inter-service communication patterns, and distributed system considerations
- Design and optimize database queries for performance
- Build and maintain APIs that serve both internal tools and integrations with other services
- Write production-ready code with comprehensive testing (unit, integration, and end-to-end)
- Apply web client best practices for security (XSS prevention, CSRF protection, content security policies), performance (code splitting, lazy loading, caching strategies), and user experience
- Design monitoring and alerting strategies to ensure system reliability
- Lead incident response when issues arise, conducting thorough post-mortems and implementing preventive measures
- Take ownership of mistakes, treating them as learning opportunities and ensuring the team improves from them
- Evaluate and introduce new technologies and approaches that improve team productivity
- Break down complex problems into manageable pieces for the team to tackle
- Make pragmatic decisions that balance perfect solutions with shipping value to users
- Document architectural decisions and system designs for team knowledge sharing
- Mentor and guide junior and mid-level engineers, helping them grow their skills through code reviews, pair programming, and technical discussions
- Collaborate cross-functionally with operational teams, product stakeholders, and other engineering teams to understand needs and deliver solutions that truly solve problems
- Lead by example in all aspects: code quality, communication, work ethic, and how you handle challenges and setbacks
- Foster a culture of quality and collaboration, where the team feels empowered to challenge ideas constructively and strive for excellence together
- Champion the voice of operational users, ensuring their experience and efficiency are at the forefront of technical decisions
- Communicate effectively with both technical and non-technical stakeholders, translating complex technical concepts into business impact
- Lead technical discussions and architecture reviews with the team
- Participate actively in agile ceremonies, contributing to sprint planning and team processes
- Build strong partnerships with engineering and operational teams to understand pain points and validate solutions
- Share on-call responsibilities and help establish sustainable support practices
- Proactively identify opportunities to improve team processes, tools, and workflows
Requirements:
- 5+ years of professional software engineering experience with demonstrated progression in responsibility and impact
- Strong full-stack development skills across frontend (React, HTML, CSS, JavaScript) and backend (Node.js, .NET Core/C#, or similar)
- Deep understanding of .NET Core and modern .NET development practices
- Familiarity with web client best practices including performance optimization, security, responsive design, and modern web standards
- Familiarity with microservice architecture, including understanding of service boundaries, API design, inter-service communication, and distributed system patterns
- Proven track record of designing and delivering complete features or systems from concept to production
- Experience with SQL databases, including schema design and query optimization
- Solid understanding of software architecture patterns, design principles, and when to apply them
- Strong collaboration and communication skills—you can explain technical concepts clearly and work effectively with diverse stakeholders
- Quality-focused mindset with experience implementing testing strategies and CI/CD pipelines
- Experience building internal tooling or operational support systems
- Understanding of message queues, event-driven architecture, and asynchronous processing patterns
- Hands-on experience designing, implementing, or evolving microservice architectures in production environments
- Familiarity with cloud platforms (AWS, Azure, GCP) and modern deployment practices
- Experience with monitoring, observability, and incident response
- History of mentoring or leading other engineers
- Contributions to technical documentation or knowledge sharing initiatives