SG Digital is searching for experienced, smart and creative individuals to work in a primarily technical role. Individuals are most likely to be an engineer with at least 5 years of professional experience in the domain of web system design and development.
They will be expected to take on a senior role within the team, displaying the ability to lead technical discussions and deliver technical advice in a confident manner.
The ideal candidate will be expected to contribute a key supporting role in areas such as requirements capture and test whilst fulfilling their core responsibilities in the development of software systems.
They are expected to be able to apply considerable professional experience of software development concepts and processes to ensure best practice within the team.
The candidate should have a track record of making crucial contributions to the development of software for a variety of purposes including live production systems and automation of engineering processes such as test and release.
Design & develop functionality based on existing coding standards or patterns
Write unit and integration tests for own code
Contribute to code reviews on code written by the team
Design / alter complex database schema and queries
Maintain documentation for products you work on
Lead engineer on a large project / component / product, providing technical coaching for less experienced engineers
Work with partners and development teams to define requirements and finalize designs
Sign-off on team architecture and design choices
Identify and address performance bottlenecks in the software
Primary contact on day-to-day technical issues
Escalation point for critical and business-impacting incidents
Provide input to the project / product cost estimation process e.g. : estimations of engineering effort
Support the recruitment process of technical resources
We’re operating under a "you build it, you own it" philosophy and as such you will be on call as part of a team rota as a 3rd level SME to support our class-leading 1st and 2nd level Support and Operational teams"
A bachelor’s degree (1st or 2 : 1) in computer science, engineering, or information systems
Excellent knowledge of the Java programming language, with at least 5 years of commercial experience
Disciplined approach to testing
Experience and knowledge of software design patterns
Design and evolve complex database schema and queries
Knowledge of a scripting language (Bash, Python, etc)
Excellent communication skills, both written and spoken
Experience with database design
Experience with Continuous Deployment and Integration tools (Jenkins, Docker, etc)
Experience reviewing others work for performance, security, efficiency, and portability
Comfortable leading technical discussions with customers
Excellent analysis and problem-solving skills
Working knowledge of Linux / Unix OS
Nice to have
Good understanding of enterprise software architecture (Java EE)
SQL query optimization experience
Experience leading a small team of developers
Some fluency in Maths (probability, combinatorics)
Knowledge of enterprise integration patterns
Experience with Java Spring Framework, Guice or similar framework.
Experience using Maven
Experience with Agile methodologies (Scrum, Kanban)
Experience acting as the primary technical decision-maker for a team, platform, product, or major project.
Experience in deploying, configuring, and maintaining Java Servlet containers (Tomcat)