Job Description
As a very experienced Java developer/programmer, you may require to own certain parts of the products, manage small or bigger teams, contribute to design and oversee implementation. You must be a passionate software engineer who models the world, think in terms of design patterns and object-oriented design, functional programming, test-driven development are your second nature. You are used to working in agile teams delivering small, incremental improvements through continuous delivery pipelines. You are proud of the quality, security and robustness of the code you write, and because you write your code with an in-depth understanding of the execution environment these qualities translate to the systems you implement as well.
As an experienced Software Engineer you will have the following key responsibilities:
- Provide solutions to problems across your functional areas
- Own features and drive them to delivery end to end
- Write well designed, testable, efficient code (mostly in java)
- Develop and debug high-volume, low-latency, high-performance applications which are highly available
- Develop APIs via object-oriented design using agile methodology e.g. Scrum etc
- Contribute in all phases of the development lifecycle
- Work in TypeScript, NodeJS
- Work with a mentor to learn and demonstrate constant progress towards the next level of the career ladder
Qualifications
As an experienced Software Engineer, what skills, qualifications and experience do you need?
- Bachelor or higher degree in Computer Science or related field
- 3+ years of commercial software development experience
- Expert knowledge of Java Platform and related technologies
- Adept experience working with static code analysis and linting tools
- Comprehensive automated testing experience
- Experience with containerization with Docker etc
- Knowledge of CI/CD processes
- Very good knowledge of Git
- Experience with NoSQL databases like ElasticSearch or MongoDB
- Good understanding of web technologies
- Ability to work in TypeScript, NodeJS
- Ability to work independently and must be self-driven
- Must be passionate for quality and has a keen eye for designs and aesthetics
- Excellent written and verbal English communication skills