JOB DESCRIPTION / REQUIREMENTS:
The Code Fusion team is seeking a Software Engineer who will be responsible for the delivery, architecture, and development of complex large-scale systems. The ideal candidate will have a solid foundation in Software Engineering principles and 3+ years of hands-on JAVA development.
The candidate should work within an agile development environment with other developers and responsibilities include design & development of web/mobile applications, participate in project planning, develop and deliver world-class software solutions and work directly with Product Management and Sales to design and develop new product features.
Number Of Openings: 3
Key Roles and Responsibilities:
- Design and develop complex and highly scalable Web/Mobile applications and participate in all phases of the development process: planning, construction, and testing.
- Collaborate with business analysts, other developers, and test engineers on the team to produce high-quality software that delivers business value and follows established design patterns and processes.
- Independently develop code or modify, test, and debug application programs of varying degrees of complexity.
- Work as a key project resource on a project team or independently to complete assigned tasks.
- Writing well-designed, efficient, and testable code.
- Deliver high-quality software programs adhering to coding standards.
- Production defects analysis, UAT support, implementation, infrastructure support, development.
Must have skills:
- Hands-on experience in designing and developing applications using Java EE platforms.
- Solid knowledge and Experience in Core Java, Hibernate, Spring/Spring Boot, and frameworks.
- Experience in the tools required in a development lifecycle: build (Maven, Gradle), unit testing (JUnit, TestNG), version control(Git), task and defect management (Jira), Agile development approaches.
- Outstanding knowledge of SDLC (software development Life Cycle).
- Experience in developing highly scalable applications that handle huge traffic and large amounts of data.
- Solid understanding and experience with Application Server and middleware technologies such as Apache, Tomcat, Web logic, etc
- Experience with JSON, RESTful web services, asynchronous/concurrent programming models.
- Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management, etc).
- Solid knowledge and understanding of NoSQL and Relational databases (MongoDB, MySQL, Oracle, etc.) and understanding of database concepts (schemas, tables…).
- Experience with Linux/Unix operating systems and scripting (bash, python, etc.).
- Experience working in a SCRUM team.
- Innovative and strong team player with amazing problem-solving skills.
- Proficiency with GIT as a version control system.
- Experienced in Agile development methodologies and tools including JIRA and Bitbucket.
Special Instructions for Applicants:
Your CV must include: A detailed description of the nature of current and/or previous job/s, and roles played.