On March 31st - April 1st, 2018 volunteers from IT companies will join to help local NGOs by de...28 February 2018
This Vacancy is currently inactive. However, should you wish to send your CV for consideration, please use the form below and when the position becomes active again, we will notify you.
Symphony – Why So Special?
At Symphony Solutions we have removed all possible barriers created by the traditional organization and embraced the organic principles and a high-degree of self-management. We believe that this kind of organization is the optimal environment to attract and retain the best talents, fully develop them and leverage their potential. As a result, we have achieved the highest retention of employees possible in our industry (currently there’s less than 3% unwanted turnover).
We have a unique employee selection process where colleagues choose colleagues. Such approach eliminates possible conflicts and ensures honest and transparent relationship with clients and within the team. Symphony Solutions is a company that strives to be the Best Price/Performance and the easiest to do business with.
Our customer is a world-leading supplier of online and in-venue based sports betting and gaming solutions. It is this level of performance, combined with an inherent culture of innovation that has seen the development of the industry’s first omni-channel gaming solution.
Reporting to a Senior Software Developer, the Middle Software Developer will be working alongside other Software Developers, Project Managers, QA/Software Testers, Software Architects in order to shape and implement the technology and product deliverables that will drive forward this strategic initiative.
A Software Developer will be expected to both lead and mentor less experienced developers, actively contributing to their day-to-day activities and training needs.
There will be a mixture of small, but strategically significant projects, and also large scale complex programmes of work, all delivered in an Agile format with direction from Product Management, but with delivery via a tightly contained team focused on quality deliverables across the platform.
- At least 1.6 years' experience developing commercial Enterprise Java applications;
- Ideally 1 year of demonstrable experience in developing on distributed, high-volume, highly available, complex transactional systems;
- Experience in developing web applications using at least one popular web framework (JSF, Drupal, GWT, Spring MVC etc.);
- An understanding of the actor model;
- General understanding of the use of Docker, Ansible, Maven, Jenkins, Sonar and Git (BitBucket);
- An understanding of TDD and / or BDD principles;
- A good understanding of relational databases, SQL and ORM technologies (JPA2, Hibernate etc.);
- Ability to document technical solutions in a variety of formats and to constructively share knowledge with team members;
- Ability to learn new technologies quickly;
- Excellent verbal and written communication skills, including presentations to peer groups;
- Excellent teamwork skills within a scrum team environment;
- Able to deal with changing priorities within a large programme;
- Able to take direction from senior team members including, BA’s QA’s and software architects
- A Bachelor's degree in a traditional science subject, ideally computer science, engineering or information systems from a well regarded university
- Some experience of Akka, Kafka, Scala and Cassandra;
- Some understanding of large distributed systems and concepts such as caching, sharding, consistent hashing, interprocess communications and brokering;
- Hands-on experience in developing microservices using at least one popular framework (Netflix OSS, Spring Cloud, Play etc.);
- Some experience in Domain Driven Design, the actor model, event-sourcing and CQRS;
- Some Knowledge in Python (maybe PHP) and PostgreSQL or MySQL would be beneficial;
- Domain knowledge is not required, but having worked on major eCommerce or any significant widely distributed system would be an advantage
- Development of new features and functionality for products and services, including the production of unit tests as and where required;
- Will be asked to participate in reviews for products of the projects they are assigned to;
- Ensuring code quality is maintained at a high level for products and services delivered by the team the Software Developer is working with;
- Ensuring that products and services adhere to agreed user stories provided by product owners and business analysts;
- Maintenance of relevant technical sections of the internal Knowledge Base;
- Understanding of solutions architecture and design, including KPI definition;
- Ability to input into planning sessions for sprint planning and sprint retrospectives;
- Support the Senior Software Developer to ensure continuous quality improvement in the sprint team
- Escalate issues in areas of material improvement, notably around performance, security and scalability;
- Understand development team processes and where they should be aligned with technical processes prevalent in the wider company;
- Develop a clear understanding of the overall system architecture and design components, in the context of meeting product requirements;
- Knowledge of Agile development processes and scrum roles and responsibilities;
- Contribute to scrum meetings and escalate issues as appropriate to the Senior Software Developer
- Friendly and highly professional teams;
- Competitive salary and compensation package;
- Career and professional growth;
- Regular (twice a year) performance reviews;
- Paid English classes;
- Low hierarchy and open communication