Duties & Responsibilities
- Develop, test, and maintain software components and applications as per the requirements.
- Collaborate with team members to analyze user needs and determine technical solutions.
- Participate in code reviews to ensure code quality and share knowledge among peers.
- Assist in troubleshooting and resolving software defects.
- Write and maintain technical documentation related to software functionality.
- Continuously learn and apply best practices in software development, quality, and security.
- Contribute to the design of new features and improvements to existing applications.
- Work on short-term assignments and follow defined processes and procedures to deliver assigned tasks.
- Assist in process improvement efforts by recommending simple changes that optimize efficiency.
Requirements
Basic Qualifications
- 5+ years of related work experience.
- Strong hands-on programming experience in at least one modern language (Java, Python) and Big Data frameworks (Spark or Kafka)
- Strong hold on system design and ability to develop highly reliable, fault-tolerant distributed applications with a heavy emphasis on performance and scale in the Cloud.
- Demonstrated understanding of fast-paced Agile principles with technical designs, iterative development, and code reviews.
- Well-versed with building high quality software using the industry proven practices – 12 factor app, reactive manifesto, and CI/CD.
- Building microservices using Spring/Spring-boot framework including Spring JPA, Spring Batch, Spring Security, Spring Cloud, Spring Data Stream etc.
- Experience working with Distributed Databases such as Azure CosmosDB, Couchbase, and MongoDB.
- Experience working with Relational Databases such as MySQL or PostgreSQL.
- Experience working with Distributed Caching solutions such as Memcached, Redis, and Hazelcast.
- Experience working with Distributed Messaging solutions such Azure EventHub, Apache Kafka, and Solace.
- Experience building and optimizing production grade data pipelines (stream processing and batch) to prepare datasets at scale for data analysis, modeling, and optimization.
Preferred Qualifications
- Proven experience taking an idea from inception to life with an ability to explore a variety of open-source technologies.
- Experience with developing, deploying, and launching software products on public cloud preferably Microsoft Azure.