Principal Software Engineer Position Summary: Our partner, a fast-growing SaaS company that provides intuitive remote monitoring and endpoint management software for IT teams, is seeking a Principal Software Engineer to join their expanding Mainline team. In this pivotal role, you will be instrumental in the efficient operation and strategic evolution of the company's IT infrastructure and services. As a Principal Software Engineer, you will combine your technical expertise with leadership to design, develop, and optimize scalable, high-performance software solutions that power the company's internal IT platforms. This position is ideal for a seasoned engineer who thrives on working with cutting-edge technologies, has a strong background in software development, and is eager to tackle complex technical challenges while mentoring and guiding talented engineers. We offer flexibility for remote work, but candidates must reside in Brazil, Colombia, Ecuador, or Mexico. Experience and Education: Bachelor's/Master's in computer science, Information Systems, Information Technology, or a related technical field. 8 years of professional software development experience, with a focus on Java and Spring Boot. Experience in designing, implementing, and supporting enterprise level applications and database design. Strong understanding of microservices architecture, containerization, and orchestration technologies. Proven ability to lead and inspire teams to successfully project deliverables. Experience with SaaS-based platforms that serve external customers, ensuring uptime, performance, and security for key customer-facing applications. A proven track record of troubleshooting, optimizing, and automating core systems to improve operational efficiency. Familiarity with CI/CD pipelines and DevOps practices. Technology Skills and Strengths: Java (Java 8) Software Design & Development Java Classes Spring Boot Spring Java Kotlin JavaScript ReactJS NodeJS Python AWS MySQL PostgreSQL MS SQL Server RabbitMQ Redis APIs SDLC Web Services: REST, SOAP, XML GIT Source Control Service Oriented Microservices MVC Patterns Design Patterns Troubleshoot Infrastructure testing Unit Testing Performance Testing Code Reviews SaaS Business Processes CI/CD Virtualization tools (e.g., VMWare, Hyper-V, ESXi) Operating systems (e.g., MacOS, Linux, Window) Command-line SCRUM/Agile Primary Job Responsibilities: Lead the architectural design and evolution of our RMM platform, ensuring it meets scalability, performance, and security requirements. Collaborate closely with product managers, architects, and stakeholders to define technical requirements and project goals. Design, develop, and maintain high-performance and reliable software solutions using Java and Spring Boot. Champion best practices, code quality, and software engineering excellence within the engineering team. Provide technical leadership and mentorship to a team of software engineers, fostering their growth and ensuring high-quality code delivery. Collaborate with senior leadership and product managers to align technical decisions with business goals. Participate in cross-functional teams, contributing to architectural discussions and ensuring alignment with company objectives. Promote a culture of continuous improvement within the engineering team. Conduct code reviews, enforce coding standards, and champion best practices to maintain code quality and security. Create and optimize AWS-based microservices, with a focus on cost-effectiveness and scalability. Drive architectural decisions and design patterns that support scalability, maintainability, and robustness. Collaborate with architects to define and refine the technical roadmap for the RMM platform. Stay current with industry trends and emerging technologies, applying them to enhance our platform's capabilities. Troubleshoot and resolve complex technical issues, identifying root causes and implementing effective solutions.