This encompasses Java programming, relational databases, SQL, and various forms of scripting. They will usually have knowledge of multiple programming languages and operating systems.
Based on progression and growth, Intermediate Software Engineers would be expected to mentor and assist less experienced Software Engineers.
SKILLS
- Java SE
- Working knowledge of Python.
- Working knowledge of Spring / Spring Boot Frameworks with working knowledge of Maven / Gradle.
- Exposure to Payment Software / Solutions advantageous (Postilion, Payment Provider API’s, eCommerce Platforms).
- Experience in teams implementing DevOps processes and tools (Jenkins, Ansible).
- Working knowledge of containerization and some exposure to micro-services architectures.
- Experience with cloud deployments advantageous.
- Exposure to the development of API’s (REST / SOAP) both from a provider and consumer point of view, as well as experience developing service-oriented architectures.
- Some exposure to ORM tools such as Hibernate / Liquibase / Flyway advantageous.
- Working knowledge of fundamental networking principles.
- Good experience and knowledge of SQL Server (SQL Queries, Procedures, Performance).
- Good data modelling and analysis skills.
- Ability to read and interpret business, functional and architectural specifications and be able to write clear and well written technical specifications.
- Ability to read and interpret technical specifications for realization in software.
- Analytical and logical problem-solving skills, with a bias for action.
- The ability to work well within a team, as well as displaying ownership and accountability in personal deliverables.
- Good software design skills, with exposure to design patterns.
- Experience with issue tracking solutions such as Jira.
- Working knowledge of distributed source and version control principles and products such as Git, Mercurial.
- Working knowledge of unit testing and code coverage tools (Jacoco / Junit / Mockito).
EXPECTATIONS
This serves as guideline of what the company expects from a software engineer. The items categorized below are not fully inclusive and there may be additional expectations from time-to-time.
- Minimum of four years experience.
- Develop solutions from technical specifications.
- Develop technical specifications from business and/or functional specifications.
- Write high-quality, readable code to applicable standards (including internal and external customer’s standards).
- Ensure that version control is properly performed.
- Highlight and address errors or shortcomings in received specifications, as well as effective troubleshooting of defects.
- Manage time effectively.
- Be able to work on more than one project at a time.
- Deliver software that is thoroughly tested and debugged.
- Accurate and timeous resolution of problems as well as solution delivery against deadlines.
- Effectively communicate status without prior prompting.
- Provide mentorship and knowledge sharing across the business (in your own team but across teams as well).
- Technical support and management of our environment.
- Liaise with vendors; third parties and clients in a professional and courteous manner.
- Assistance with automation and improvement of processes within the organization.
- Effective team collaboration, with a focus on quality and excellence.
- Willingness to work extra time if necessary.
Desired Skills:
- Java SE
- payments
- postilion
- python
- spring
- spring boot