- Our company is the world leader in plant biotechnology area including discovery, development and delivery of elite crop genetics.
- Our company is aggressively building Big Data and Predictive Analytics capabilities in order to deliver improved services to our customers.
- We are seeking an accomplished and energetic Senior Software Developer to join our brilliant and collaborative team in company Knowledge Center in India for our global Data Science and Informatics group.
- If you have been looking for that next frontier where you can expand both your technical skills and your knowledge space, this is the place for you.
- The software platform we are creating enables our Genomics researchers and Computational biologists to explore the boundaries of what is known and what is possible, requiring us to design solutions around robustness of design, flexibility, and massive scalability.
- As a key contributor, you will be responsible for architecture and implementing new distributed processing services (micro services) for reliability, performance and scale, while also collaborating with our bioinformatics team to deliver the best possible end-user experience.
Duties / Responsibilities
- The senior software developer will work within agile Software Development teams to design, implement and validate software based on business-driven requirements.
- The successful candidate will work closely with the software architect, test engineer and product owners to implement production quality software solutions, implement rich multitier web solutions that are aligned with and extend shared platforms and solutions.
- The candidate will also research and identify patterns, tool-kits and services that support a well-designed service oriented architecture on all of company's internal software as well as work with various software teams to support adoption of these tools and services.
- The candidate will be part of a diverse team of experimental biologists, computational biologists and software developers.
- A critical aspect of this position involves working with global teams across multiple locations.
- Communication and team work are key elements of this role; excellent verbal and written communication skills are required.
- B.Tech in Computer Science, Computer Engineering, information technology or related field and at least 5 years of professional full time developer experience, or a combination of education and experience totaling 8 or more years
- Experience developing within Linux/Unix environments
- 5 years of experience in software engineering using Python, C#/.net, C/C or a comparable programming language
- Ability to collaborate effectively with high velocity teammates in an agile team
- Comfortable with high degrees of freedom and responsibility
- Proven experience developing high throughput applications
- Expert in Object oriented programming using C#/.net (or C/C with decent fluency in Python)
- Experience using MVC and other frame works
- RESTful API design and implementation
- Strong understanding of microservice architectures and SOA
- Experience using version control systems such as Git/SVN
- Experience in relational databases and data structures
- Familiarity with build tools (Jenkins, make, ANT)
- Exposure to project management tools (JIRA, Confluence, RED MINE, etc.)
- Proven experience working in teams using agile software development methodologies and processes
- Extensive experience with Cloud technologies (AWS, Azure)
- Professional experience designing and building scalable microservices and orchestration
- Contribute to the architecture and design decisions for the product(s)
- Test driven development, Coordinate with and support QA, Product Management and development teams on specifying features and requirements, test planning, test case development and test execution
- Ability to demonstrate solid analytical skills and exceptional attention to detail