
Principal Software Engineer
RBGlobal
Job description
The Principle Software Engineer will be working as Java/Spring Server-side engineer to design, code and maintain web applications, apis and infrastructure components. Must be comfortable working in a team as well as individual contributor with minimal supervision.
-
Responsible for designing and coding highly efficient and scalable software.
-
Accountable for refactoring and improving maintainability of the codebase.
-
Works on troubleshooting production issues and providing resolution.
-
Responsible for solving complex scalability, platform, and integration problems.
-
Act and SME for Jr level software engineers.
-
Perform other duties as assigned
-
Should be proficient in both application development, application support and maintenance of production system.
-
Minimum 10-12 years of application design and development experience
-
Expert level knowledge and experience with Java
-
Expert level knowledge and experience with Spring Framework
-
Expert knowledge and experience of developing and consuming Web Services using REST and SOAP.
-
Expert knowledge with Spring boot micro-service, Spring Cloud, API development and API security.
-
Experience working in relational databases: MySQL/Oracle/Postgres
-
Experience with Web and Application Servers, Tomcat preferred.
-
Experience writing unit and integration test, preferred Junit, Mockito.
-
Experience supporting and troubleshooting systems and software running in Prod.
-
Preferred Skills:
-
Experience with Agile Scrum
-
Experience with TDD and Pair Programming
-
Experience with modern CI/CD tools and deployment pipelines
-
Experience with Git/Bitbucket
-
Experience with AWS
-
Experience with containerization tools like Docker, Kubernetes
-
Experience with Full stack development using HTML5, Java Script,Type Script, AngularJS.
-
Office and/or remote work environment.