Senior Software Engineer - Java/Big Data
Experienced mid-level (6 to 9 years) senior developer with experience in software design, coding and debugging. The developer will gain exciting real-world software engineering experience in a fast paced, dynamic environment of a thriving company.
We frequently work in small teams to solve problems, explore new technologies, and learn from one another. The ideal developer for this environment will be a core hands-on individual whos enthusiastic and collaborative.
Responsibilities:
- Develop application modules by producing clean, efficient code
- Develop high-quality software design and architecture
- Understands and follows the functional specifications of the business domain
- Develop flowcharts, layouts, and documentation to identify requirements and solutions
- Review and debug code
- Identify and resolve performance and stability issues
- Collaborate with internal teams to fix and improve product
Requirements:
- Bachelors in Computer Science/Engineering, Masters preferred
- Strong knowledge and experience of good engineering practices: coding standards, best practices, design patterns, modularity, use of abstractions, defensive coding, etc.
- High proficiency in Java and object oriented programming constructs
- Extensive knowledge and experience in distributed processing or asynchronous or multi-threaded applications
- Significant experience in designing and developing micro services
- Working knowledge of Big Data technologies such as Kafka, Apache Storm, Elasticsearch
- Working knowledge of cloud resources (viz. Azure Eventhub, Azure Batch, Azure Blob Storage, Scalesets etc)
- Good understanding of developing and working with REST API frameworks and JSON Structures
- Basic knowledge of Nodejs, JavaScript, Python
- Excellent analytical and logical skills
- Ability to work as an individual contributor & work with remote teams
- Ability to manage the work of the team members when required
- Career-oriented with strong communication skills