Software Engineer
Job Description:
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
- Bachelors 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
Required Skills:
REST Scalability Diagrams NoSQL Design Patterns SOAP Reliability Web Applications Reviews Web Services Product Development PostgreSQL Developers MongoDB Architecture Specifications Databases Programming Information Technology MySQL Documentation Software Java Engineering Design Communication