Job Overview
We are seeking a Senior Software Engineer to work within our agile development teams and be involved in the full development lifecycle including creation and elaboration of business requirements, functional/design specifications, development and maintenance of our software and driving innovation into our product suite.
As a senior software engineer, you will lead a team of developers responsible for building new and support existing websites and applications. You should be able to prioritize well, communicate clearly and possess a consistent track record of delivery and excellent software engineering skills.
If you are a highly motivated individual with a desire to grow your career in a fast paced environment, then this is the right opportunity for you!
Job Responsibilities
- Design, develop and implement applications that support day-to-day operations.
- Understand and evaluate complex data models.
- Design, develop and implement new integration.
- Execute system development and maintenance activities.
- Develop solutions to improvise performance and scalability of systems.
- Proactively bring issues and problems to the attention of the team; generate, propose and implement innovative solutions to solve them.
- Lead a team of engineers to complete large-scale as well as smaller projects according to pre-determined specifications, system requirements and security requirements.
- Interface with clients and gather business requirements and objectives.
- Translate clients’ business requirements and objectives into technical applications and solutions.
- Determine viability of solutions by evaluating current problems, future requirements, existing solutions and customised programs.
- Research, recommend and implement tools as needed with the goal of continually increasing our development productivity.
- Mentor, train and support other junior team members.
Job Requirements
- Prior working experience in software engineering.
- Familiar with working in an agile environment.
- Hands-on experience of working with a wide variety of open source frameworks such as Spring, Camel, Hibernate etc.
- Strong experience with SQL and NoSQL databases such MySQL, PostgreSQL, DB/2, MongoDB, DynamoDB.
- Experience building complex web systems that have been successfully delivered to customers.
- Solid scripting skills (e.g., shell scripts, Perl, Ruby, Python).
- Rich Internet applications using HTML5 & JavaScript and the underlying frameworks that support them (such as Struts, JSF, Spring MVC etc.)
- Extensive experience with testing frameworks like JUnit, Mockito, Powermock, JMock, DBUnit Experience of cloud (or hybrid) hosted enterprise.
- Excellent English communication skills (written & verbal).
- Eagerness and willingness to learn new technologies.
- BSc/MSc degree in Computer Science, Engineering or a related subject.