Software Development Engineer - II
||Welwyn Garden City
Tesco are Now Recruiting Software Development Engineers - Application BackEnd
We are now seeking creative minds who will be responsible for developing the software applications that make life easier for customers.
Our Software Engineers are responsible for the entire development and support process for a software programme. Their applications make previously complex tasks simple with the impact ranging from saving time, effort or money to re-defining normal.
Why Tesco Technology......
* We are building systems to solve real world problems at scale, with impact for tens of millions of people
* There are great engineers (and managers and product people) to learn from
* We are agile and enlightened in our approach to building software and teams
* There's a great atmosphere and we work sustainably as a team
* Tesco has a "do the right thing" mentality
* We promote flexible working
* The canteen is excellent!
We offer excellent benefits that help make Tesco a great place to work. These include but aren't limited to:
* An annual bonus scheme which you can achieve up to 3.5% of base salary
* Colleague Clubcard (including a 2nd card for a family member) after 6 months service with 10% off most purchases at Tesco
* Holiday starting at 25 days plus a personal day
* A retirement savings plan - 4%-7.5% contribution rate
* Life Assurance - 5 x contractual pay
* Buy As You Earn Scheme
* Save As You Earn Scheme
* Deals & Discounts through Tesco including Tesco Mobile & Tesco Bank
* Deals and Discounts through many other external businesses
Typically the role involves the following activities:
* Use my in-depth knowledge of at least one major programming language, the framework and the tool ecosystem to implement end-to-end systems, which you're able to do without assistance.
* Profile and optimise code.
* Produce test driven features in a specific programming language and demonstrate that your comfortable with the TDD cycle.
* Apply your understanding of cohesion and the SOLID principles to create well structured, maintainable software.
* Apply your understanding of threads, the threading model and concurrent programming.
* Identify patterns in code and refactor the code towards them where it increases understanding and/or maintainability with minimal guidance.
* Translate requirements into tasks & code.
* Develop high quality code that can lead to rapid delivery. Ruthlessly pursuing continuous integration and delivery.
* Commit code early and often, demonstrating your understanding of version control and branching strategies.
* Automate everything by default.
* Write secure code by default.
* Write maintainable code and observe basic hygiene practices.
* Demonstrate the importance of domain model and I coherently model a problem domain within a given context
* Implement relevant project instrumentation.
* Follow the best practices of continuous BDD/TDD/Performance/Security/Smoke testing.
* Work effectively with the product stakeholders to communicate and translate their needs into improvements in your product.
* Lead group discussions on design of particular areas and understand domain well enough to work with Product Managers to drive value
* Support production systems, resolve incidents and perform root cause analysis.
* Debug/find complex problems and support/maintain the software solution.
* Share knowledge with the wider engineering community.
* Mentor and develop those around you
* Produce proof of concepts to evaluate new tools.
Experience relevant for this job:
* Experience of best practice methodologies.
* Experience in one or more programming - Java and ideally other JVM languages
Skills relevant for the job
* Written and verbal communication skills.
* Problem solving, analysis and computational skills.
* Customer focus.
* Innovative approach to problem solving.
To find out more information and to apply, please click the APPLY button.