Principal Software Engineer – Java

  • Full Time
  • Colombo

Carlson Marketing Solutions

Job description
A brief summary :

The Principal Software Engineer will provide leadership and direction to the development team. The role will be responsible for the management of the delivery of all software components with an overriding commitment to the highest standards of quality in design and development, reducing rework and improving consistency, quality, and speed of delivery. Must be a hands-on programmer/technologist who can lead by example and teach the team how to solve complex problems. Will work closely with Business Analysts, Solution Architects, Quality Assurance, Project Managers, Client Services and Clients to ensure that solution design, test plans and released code meet client expectations in terms of quality, timing and cost.

Areas of key responsibilities:
• Responsible for delivering software that meets the business requirements, delivering solutions on time and within budget, and ensuring development best practices including design, documentation, coding, unit testing and peer review.
• Experiment with, and introduce, new technology to improve software solutions.
• Work with Architecture and Senior Leaders on technology strategy.
• Instil an “On Time, and Right the First Time” culture within the development team.
• Work with Business Analysts and Solution Architects to provide appropriate estimates for efforts that include time to understand requirements and the proposed solution, carry out necessary design work, design and build unit tests, write code, carry out peer reviews and subsequently test code.
• Work closely with the Project Management team to ensure appropriate resources are available to deliver against project deadlines and to pragmatically manage resource conflicts.
• Foster a culture of ownership and accountability across the team for the solutions developed.
• Make sure that the Development team take pride in their work and fully understand the business benefits of their efforts.
• Ability to set development standards and demonstrate a path to adoption
• Ensure a consistent approach to Development that ensures maintainability of all code going forwards.
• Mentor Development team and assure that individuals are being challenged and supported at the same time.
• Manage the peer review process.
• Lead Development team, ensuring resource levels, skills and quality are maintained to appropriate levels at all times.
• Provide forward thinking in terms of exploiting new tools that will improve the delivery capability of the Development team.

Background and Experience:
• 9+ years of commercial software development experience
• 4+ years of experience leading development teams in complex software projects
• Bachelor’s degree in Computer Science or similar discipline
• Experience in both frontend and backend technologies
• Deep Expertise in Java with proficiency in at least one other programming language
• Experience in scripting languages like Python
• Familiarity with modern frameworks like Spring
• Experience with high volume transactional systems
• Experience designing, building and enhancing cloud-native multi-tenant applications
• Experience with test driven development
• Experience integrating with 3rd party API’s and building APIs which others can easily consume
• Familiarity with public cloud providers/services (Azure, AWS, GCP) with expertise in AWS preferred
• Solid background in SDLC, from building, testing, quality to release (e.g., Maven, Junit, Cucumber, Sonar, Clover, DBDeploy, etc.)
• Experience with continuous integration, code coverage tools, source control management tools (e.g., Jira, BitBucket, Bamboo, Jenkins, Artifactory, Crucible, etc.)
• Preferred experience developing cloud-based solutions with good knowledge in web/application servers (Nginx, Apache, JBoss)
• Preferred experience and track record of continuously modernizing applications and keeping ahead of technical debt

Skills and abilities :
• Solid working knowledge and experience applying OO principles and functional programming
• Ability to code software according to published standards and design guidelines
• Excellent communication skills, written and verbal
• Skilled in working with both relational and non-relational databases
• Proficient in DevOps/Continuous Delivery and related infrastructure-as-code tools
• Solid analysis and design skills

To apply for this job please visit ezjobs.online.

Scroll to Top