Principal Software Dev Engr
- Full-time
- Technology CF Job Family: Software Engineering
- Group Function: Tesco Technology
Company Description
Tesco are committed to making the business a more Engineering-led technology business akin to that of revered software houses and as such are restructuring our organizational capability. As a result, Tesco now require a number of Technologists with a software engineering heritage to join the business and reshape the way that development is executed and delivered across the global business.
Principal Software Development Engineer are the creative minds developing the software applications that make life easier for customers. They are responsible for the entire development and support process for a software program with a DevOps mind-set. They produce high quality working software that add value to the customers. Their applications make previously complex tasks simple with the impact ranging from saving time, effort or money to re-defining normal.
Job Description
- Apply my in-depth knowledge of multiple programming languages, associated frameworks and the tool ecosystem to create elegant solutions to problems.
- Adopt new languages and new paradigms applying them to the problem domain where they deliver significant benefit.
- Shape the wider application landscape.
- Apply distributed programming models (e.g. Actor frameworks) appropriately.
- Model multiple domains, articulating contexts & boundaries, and articulate the rationale behind them.
- Expert at translating requirements into tasks & code.
- Develop high-quality code that can lead to rapid delivery. Ruthlessly pursuing continuous integration and delivery. Committing code early and often, with an understanding of version control & branching strategies.
- Implement continuous live testing.
- Implement infrastructure as code.
- Apply my understanding of elastic scale and build highly available systems.
- Build manageable code and observe basic hygiene practices.
- Follow the best practices of continuous BDD/TDD/Performance/Security/Smoke testing.
- Work effectively with my product stakeholders to communicate and translate their needs into improvements in my product.
- Lead group discussions on design within an appropriate bounded context
- Support production systems, resolve incidents and perform root cause analysis.
- Debug/find complex problems and support/maintain the software solution.
- Share knowledge and influence with the wider engineering community.
- Mentor and develop those around me.
- Raise the bar of the organization.
- Produce proof of concepts to evaluate new tools
Qualifications
BE / B.Tech /M.Tech in Computer Science related field with 12+ years of experience with Java as stack preferably
• Minimum 10+ years of experience building large scalable systems
• Strong experience in architecting and building multi-tiered Fullstack & distributed systems.
• Knowledge of New & Emerging Technologies to design distributed & highly available for performance.
• Outstanding problem-solving abilities
• Ability to achieve & deliver projects by building consensus in a complex & distributed environment
• Solid background with hands-on experience as a Principal-level software development engineer
• Extensive experience of mentoring junior engineers to success
• Strong communication & Influencing skills
• Very positive & pragmatic mindset to get things done