Overview
Principal Software Engineer at Esko, a Veralto company, responsible for technical strategy, organization-wide architecture, and multiplying the effectiveness of engineering teams rather than only writing individual code.
What you'll do
- Design complex, scalable systems and define long-term technical roadmaps that span multiple teams or departments.
- Act as a force multiplier by unblocking teams, resolving deep ambiguities, and establishing coding and testing standards.
- Coach senior and junior engineers to raise the technical capability of the organization.
- Bridge the gap between technical execution and business goals by consulting with stakeholders and upper management.
- Build and maintain advanced software applications following industry standards.
- Implement security best practices for web applications throughout the software development lifecycle.
- Design software architecture and provide technical guidance to the Backend Development Team.
- Explore and implement the role of Artificial Intelligence (AI) in the Software Development Life Cycle (SDLC), including requirements gathering, coding, testing, and deployment.
- Collaborate with cross-functional teams to gather requirements, analyse user needs, and translate them into technical solutions.
- Write and maintain technical documentation, including design documents, user manuals, and release notes.
- Participate in code reviews, testing, and debugging activities to ensure software quality and performance.
- Research and stay up-to-date with emerging technologies, tools, algorithms, and best practices in software development.
- Ensure compliance with software development processes, standards, and security protocols.
- Be a subject matter expert in all layers of the product technical stack.
- Provide clear inputs and plan for technical debt in related products and take it to completion.
- Focus on organizational business needs and not just technology aspects.
- Drive critical organizational initiatives on innovation and strategic objectives.
- Design, develop, troubleshoot and debug software programs for software enhancements and new products.
- Develop software tools including operating systems, compilers, routers, networks, utilities, databases and Internet-related tools.
- Determine hardware compatibility and/or influence hardware design.
- Develop software applications, user interfaces, databases and embedded software.
- Consider software architecture to include networked applications and interactions within a system.
What you'll need
- Bachelor's or master's degree in computer science, software engineering, or a related field.
- 12+ years of experience in software development with expertise in programming languages Java and JavaScript.
- Strong understanding of software development methodologies, design patterns, system architecture, and industry best practices.
- Demonstrated ability to mentor junior engineers, provide technical leadership, and drive best engineering practices within the team.
- Substantial experience implementing algorithms, ideally optimization problems or other challenging problem domains involving some amount of non-determinism.
- Strong experience designing, developing, and consuming RESTful APIs, including secure, scalable, and well-documented services.
- Proven expertise in Spring Framework, including Spring Boot, and JavaScript Framework, for building enterprise-grade, microservices-based, and cloud-ready applications.
- Good knowledge of and hands-on experience with C++.
- Good knowledge of and hands-on experience with AI integration across the SDLC.
- Good knowledge of software development methodologies, design patterns, and best practices.
- Experience with AWS Kibana, Elasticsearch, Lambda, S3, and EC2.
- Experience with modern web development frameworks and libraries such as React, Marionette, or similar JavaScript frameworks.
- Strong understanding of database design and development with SQL and/or NoSQL databases.
- Hands-on experience with Agile and DevOps tools such as JIRA, GitHub, or similar tooling.
- Excellent analytical, problem-solving, and debugging skills, with a proactive, self-initiated approach to learning new technologies.
- Ability to work independently as well as collaboratively in cross-functional teams.
- Strong verbal and written communication skills in English, including ability to understand advanced technical documentation.
- Ability to quickly learn and adapt to new technologies, APIs, frameworks, and tools.
- Flexibility and willingness to work across multiple technology stacks; a technology-agnostic mindset is a strong advantage.
Nice to have
- AI/ML knowledge (highly desirable and considered an added value).
- Direct experience with AWS Kibana, Elasticsearch, Lambda, S3, and EC2.
- A technical mindset with great attention to detail.
- Relates well to a wide spectrum of people across multi-geographic scrum teams and embraces cross-cultural agility.
- Flexible, willing to go the extra mile while being an agile and fast learner.
- Result oriented with strong self-management skills.
- Experience and desire to work in a global delivery environment.
- Able to stay calm, friendly, a team player, and demonstrate good composure when handling complicated problems.
- High level of ownership.
- Strong algorithmic and analytical skills and self-initiative to learn new methodologies and techniques.
- Effective and clear communicator, asking the right questions, actively listening, and collecting the right inputs.
Details
- Location: Bangalore, Karnataka, India.
- Reports to the Engineering Manager.
Read the full description and apply on the company’s own careers page.