About the job Software Engineer Job brief We are seeking a Software Engineer to execute the full lifecycle of the product development, by programming well-designed, efficient, and testable code that meets specifications. Responsibilities
- Develop new capabilities and re-architect parts of an existing system.
- Take part in test-driven, iterative development, prototyping, and reviews with a team of developers.
- Design and code middle and back-end in a clean and efficient way.
- Implement scalable and robust services.
- Develop external and internal APIs.
- Develop and run unit and performance tests to ensure scalability and reliability.
- Review and debug code.
- Develops documentation, flowcharts, layouts, diagrams, charts, code comments, and clean code to explain and show solutions.
- Determines and designs system specifications, standards, and programming to prepare and install solutions.
Requirements
- Bachelor's degree in Software Engineering, Information Technology or related field
- 5+ years of experience in software engineering
- Experience developing server-side web applications in Java
- Experience developing Java Web Services with public API (e.g. REST, SOAP)
- Experience with relational (e.g. MySQL, PostgreSQL) and NoSQL databases (e.g. MongoDB)
- Proficient in object-oriented development
- Able to effectively and quickly adopt new technology
- Knowledge of Java frameworks, architecture, and design patterns
- Good communication skills