We are looking for a Developer to build a complex system that involves cutting-edge Back-end technology stack involving Machine learning and Deep learning techniques in NLP space. You will own and be responsible for the end to end development and work directly with upper management as well as the core engineering team to define software requirements and take the lead on the entire software development life-cycle of the system. In this role, you should be able to work independently with little supervision. You should have excellent organization and problem-solving skills. You should be able to cope up with the
changing needs with high agility. Your goal will be to develop high-quality software along with the architecture that is aligned with user needs and business goals.
Responsibilities
- Develop high-quality software design and architecture.
- Technology research and evaluations.
- Identify, prioritise and execute tasks in the software development life cycle.
- Develop tools and applications by producing clean, efficient code.
- Work directly with the existing and potential customers.
- Collaborate with vendors to enhance the product.
- Automate tasks through appropriate tools and scripting.
- Review and debug code.
- Perform validation and verification testing.
- Document development phases and monitor systems.
- Ensure software is up-to-date with latest technologies.
- Technical on boarding of new hires.
Requirements
- Extensive experience in software development, scripting and project management.
- Proficient in Java and Spring ecosystem.
- Experience on developing Spring Boot applications and building microservices.
- Proficient in JavaScript with expertise in Node.js and at least one UI framework Angular or ReactJS.
- Experience on developing UI applications in a modular way.
- In-depth knowledge of at least one NoSQL database.
- Preferred are, MongoDB and Neo4j.
- Good experience in working on at least one of the public/private Cloud Platform - AWS, Google Cloud, Azure, OpenStack etc.
- Experience and good understanding of one of the API design frameworks.
- Swagger or Apiary.
- Experience on the message buses like Kafka, RabbitMQ etc.
- Good understanding of fundamental design patterns in software design.
- Understanding of the Algorithms and Data Structures concepts.
- Experience using system monitoring tools and automated testing frameworks.
- Familiarity with various operating systems (Linux, Mac OS, Windows).
- Analytical mind with problem-solving aptitude.
- Ability to work independently.
- Bachelors or Masters degree in Computer Science or a related degree.
- Experience of working of NLP frameworks like StanfordNLP, Apache
- OpenNLP and understanding of NLP fundamentals is preferred.
- Experience and excellent understanding of at least one Machine Learning system - e. g. TensorFlow, Apache Singa etc is preferred.