We are seeking an experienced and highly skilled Principal Engineer to join our team of developers. As a Principal Engineer – JAVA, you will be responsible for leading and guiding the development of JAVA-based applications, API’s and services. You will work in a collaborative environment with other engineers, architects and business analysts to design, develop, and deploy state-of-the-art software solutions. You will be tasked with delivering quality software that meets the business requirements, is maintainable, and scalable.
Responsibilities:
- Lead software design and architecture activities for JAVA-based applications and services.
- Develop, test, and release production-quality software solutions.
- Collaborate with business analysts, developers, and architects to identify technical requirements and design solutions that meet business needs.
- Provide technical guidance and mentorship to junior engineers.
- Keep up to date with the latest trends and technologies in software engineering and JAVA development.
- Design and build RESTful APIs and web services.
- Ensure that code meets standards for quality, maintainability, and scalability.
- Participate in code reviews to ensure that code written meets both technical and business requirements.
- Develop and maintain documentation of design, development, and testing activities.
- Work closely with DevOps teams to ensure continuous integration and deployment of software solutions.
Requirements:
- Bachelor’s degree in Computer Science or related field.
- At least 8 years of professional experience in JAVA development.
- Experience with developing and maintaining enterprise-level software solutions.
- Strong knowledge of software design patterns and architecture.
- Experience with agile software development methodologies.
- Proven ability to design and develop RESTful APIs and web services.
- Expertise in debugging, troubleshooting, and optimizing software performance.
- Excellent written and verbal communication skills.
- Ability to work in a collaborative, team-oriented environment.
- Willingness to stay updated with latest trends in the software development industry.