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 Between 1 and 3 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