The ideal candidate for this position will have an advanced grasp of the full life cycle of the software development process: requirement gathering, design proposals, implementation, testing and maintenance for the enhancement of both existing and new products and tools. This candidate will provide technical support to the project team members and rely on experience and judgment to plan and accomplish established goals. The position will involve a variety of complicated tasks and may require resourcefulness is expected.
- Great Interpersonal relations, team cooperation and the ability to communicate with technical and business stakeholders.
- Familiarity with emerging technologies and software development best practices.
- Ability and desire to quickly evaluate and learn new concepts, technical skills and technologies.
- Design, develop, test, deploy, maintain and improve software.
- Manage individual project priorities, deadlines and deliverables.
- Software development experience in Java using Spring Stack such as Spring boot, Data, Cloud, Stream.
- Experience working with ORM framework such as Hibernate.
- Experience working with two or more from the following: web application development, Unix/Linux environments, mobile application development, distributed and parallel systems, machine learning, information retrieval, natural language processing, networking, developing large software systems, and/or security software development.
- Working proficiency and communication skills in verbal and written English.
- Experience with EJB is a plus.
- Interest and ability to learn other coding languages as needed.
- Experience with cloud providers such as AWS, Azure