Position: Backend (Java) Team Lead
Company: Suntech INNOVATION
Experience required: 5y
English level: intermediate

Responsibilities:
Writing backend code and tests (with an eye for full stack) as well as leveraging open source technologies to get reliable results;
Improving code quality through testing, refactoring, peer-reviews, and pair programming while emphasizing simplicity;
Championing software quality, innovation and appropriate technology choices;
Working effectively in an agile team using Scrum, XPand Lean practices, e.g. participating in daily stand-ups, planning sessions, showcases and retrospectives;
Collaborating with business stakeholders and internal users to design and deliver products that attract new customers and keep them coming back;
Writing end-to-end user stories that steer a technical design that can be iteratively developed by the entire team;
Performing root cause analysis to ensure that mistakes are properly understood and not repeated;
Contributing to coding standards and guidelines a swell as setting a good example of adhering to them;
Standing by your solutions to ensure that both you and the team have the tools and ability to support its operation after hours.

Requirements:
Extensive knowledge of Java, Spring and associated technologies: JUnit, Web Application Servers (e.g. Jetty/Tomcat), Gradle/Maven/Ant;
Strong knowledge of MySQL and writing optimized database queries;
Thorough understanding of architectural software concepts, Object-Oriented and Functional programming, MVC/MV* architectures, asynchronous server communication;
Experience in the design and development of RESTful web services and JSON handling;
Able to use Git and understand distributed version control strategies;
Software craftsman, with a rigorous and disciplined approach to writing simple and effective software but not afraid to learn from failure and tell others about mistakes;
Knowledgeable in web software architectures and design patterns;
You champion agile principles and are a strong advocate for Continuous Delivery, TDD, Refactoring and Pair Programming;
Familiar with using a tracking system such as JIRA;
Have an aptitude and willingness to learn the business domain and new technologies;
A genuinely nice person, opinionated but humble enough to work with anyone.

Desirable:
Familiar with Groovy, Spock, Hibernate, Spring Boot;
Have used cloud services like AWS orGoogle App Engine;
Experience of integrating backend services with NodeJS, Angular, Ionic or a similar framework for mobile site development;
Experience of using Google Analytics and logging services like Datadog and Splunk to track product usage and drive features;
Knowledge of multi-threaded programming and concurrency;
Experience using virtual services like Docker to automatically build new environments for development and testing;
Track record of delivering scalable applications that are performant under high traffic volumes and leverage aCDN like Fastly;
Comfortable working in a Linux environment with scripting languages;
Interested in full stack development and a dev-ops approach to delivery.

Personal skills:
Self Motivated team player;
Reliable person in development;
Keen to do things better;
Strong communication and problem solving skills.
Product goals-oriented
Team player

You will get:
Working in a product company with a dynamic environment and several projects.
Act and improve. Your ideas for improvements.
Team of motivated professionals.
Continuous self-improvement and growth, including certifications and courses.
Annual bonuses $$$.