Similar jobs
JOB DESCRIPTION: Software Development Engineer
.Net Developer is required to design, modify, develop, write and implement software programming applications and components. Supports and/or installs software applications and components. Works from pre-established guidelines in an agile development environment that uses a test driven approach to perform the functions of the job and maintains documentation of process flow.
Main Duties & Responsibilities: Utilize established development tools, guidelines and conventions including but not limited to Visual Studio, ASP.NET, SQL Server, HTML, CSS, JavaScript, and C#/VB.NET
Create and deliver data-driven reports
Design, code and test new service oriented web software applications
Enhance existing systems by analyzing business objectives, preparing an action plan and identifying areas for modification and improvement
Maintain existing software systems by identifying and correcting software defects
Investigate and develop skills in new technologies
Create technical specifications, test driven scripts and test plans
Create new and extend existing operational documentation
Consult closely with management and occasionally agency staff related to projects and tasks
Consult colleagues concerning new development, enhancement, maintenance and performance of software systems
Develop, implement and support new software Qualifications
7+ years of hands on experience in Microsoft DNA architecture
7+ years of hands on experience in Microsoft .NET technologies and expertise in .NET framework 3.5/4.0 and 4.5.
7+ years of hands on experience in Visual Studio 2008 and 2010
4+ years of hands on experience in developing web services and Microsoft Windows Communication Foundation (WCF)
5+ years of hands on experience Java Script
7+ years of hands on experience in HTML including HTML 5
7+ years of hands one experience in SQL Server 2008 and 2012 as a SQL developer
Good communication skills
Need to be self-starter and should be able to perform under minimal supervision.
Responsibilities:
Develop and maintain high-quality, scalable, and efficient Java codebase for our ad-serving platform.
Collaborate with cross-functional teams including product managers, designers, and other developers to
understand requirements and translate them into technical solutions.
Design and implement new features and functionalities in the ad-serving system, focusing on performance
optimization and reliability.
Troubleshoot and debug complex issues in the ad server environment, providing timely resolutions to ensure
uninterrupted service.
Conduct code reviews, provide constructive feedback, and enforce coding best practices to maintain code quality
and consistency across the platform.
Stay updated with emerging technologies and industry trends in ad serving and digital advertising, and integrate
relevant innovations into our platform.
Work closely with DevOps and infrastructure teams to deploy and maintain the ad-serving platform in a cloud- based environment.
Collaborate with stakeholders to gather requirements, define technical specifications, and estimate development
efforts for new projects and features.
Mentor junior developers, sharing knowledge and best practices to foster a culture of continuous learning and
improvement within the development team.
Participate in on-call rotations and provide support for production issues as needed, ensuring maximum uptime
and reliability of the ad-serving platform.
Must have :
- Strong Experience in Python development
- Familiarity with Data Structures and Algorithms
- Experience in developing Enterprise scale applications
- Exposure to NLP
- Exposure / awareness of AI, ML
- Exposure to Windows Azure is an added advantage
- God understanding of project architecture and software development processes such as Agile and Scrum
Responsibilities :
- Partner with Business Stakeholders to translate business objectives into clearly defined analytical Projects
- Own the end-end process, from recognizing the problem to implementing the solution
- Understand customer’s requirements and design the optimum solution using Icertis’ AI applications
- Configure, Extend, and optimize Icertis AI app through Python scripts, NLP NER Analysis and other mechanisms
- Take full ownership of project / product features to implement, provide bug fixes and write tests and tooling for those features to ensure they work well at cloud scale.
- Plan and identify solutions and risks in assigned work
- You are expected to be hands on and write code on day to day basis and also mentor other team members
Our team is looking for experienced backend engineers to lead the development of our cloud-based software products and be responsible for major technical decisions associated with them and accountable for their successful execution.
In this position on the software engineering team, you’ll have the opportunity to contribute to client and internal facing products. FarmSetu’s suite of products spans multiple technical domains and disciplines in software and hardware, and experience in end-to-end systems thinking across distributed components is key for this role.
What You Will Do
- Design, implement and deploy back-end services
- Lead the delivery of software projects in a team-based environment
- Collaborate cross-functionally with business users, product managers, customer success representatives and other engineers to define, design, scope and ship new features using elegant solutions.
- Provide recommendations for continuous improvement.
- Work alongside other engineers on the team to elevate technology and consistently apply best practices.
- Help others to improve the quality of their work through regular design and code reviews
- Deliver new features to production environments and support them in operation
- Participate in building the open engineering culture at FarmSetu
FarmSetu’s technology stack includes (but will not be limited to) Python, Django/Flask/FastAPI, GraphQL, Hasura, React, Flutter, Dart, Postgres, Celery, Docker, Git/Bitbucket to be deployed on Digitalocean/GCP infrastructure. We’re also quick to adopt better tools and processes, so you’ll be more than welcome to help shape our tool suite.
What You Will Bring to FarmSetu
- 2+ years of experience developing applications at an enterprise scale using the front and back-end technologies in our stack
- Ability to develop robust and scalable backend services defined by GraphQL and RESTful APIs in Python using OpenAPI standards
- Familiarity with Cloud/SaaS architectures and how to build secure and maintainable services
- Strong understanding of unit testing, design patterns and usage of tools like profilers
- Experience with source control and continuous integration tools
- Worked in an Agile multi-functional team
- Thrive in an environment that requires you to partner with multiple cross-functional teams as stakeholders/customers
- Great oral and written communication skills
What We Offer
- Competitive salary
- Annual compensation reviews
- 12 days of annual leave plus public holidays
- Ongoing investment in you and your skills
- The right equipment for the job
• Bachelor’s degree in Computer Science or IT related field
• 4-6 years of experience working across different product domains in a product development/engineering role
• Good communication skills necessary to manage business requests and work with different teams across differ-
ent geographies and time-zones; experience working with remote and distributed teams will be an added ad-
vantage
• Hands-on working knowledge and experience is requiredin:
a. JavaScript, Typescript, NodeJS (Express, NestJs, etc.)
b. Experience working in GCP or AWS or Azure
c. Experience working in Containers & Unix Platforms
d. Relational Databases (PostgreSQL, MySQL, SQL, etc.)
e. Agile Methodologies (Scrum, TDD, BDD, etc.)
f. Understanding of Microservices Architecture, Domain Driver Design, Test Driven Development and
Secure Design patterns and architecture is a must
g. Data Structures and Algorithms using Javascript, Typescriptand/or other Programing Languages
h. Strong organizational skills
i. Agile Methodologies (Scrum, TDD, BDD, etc.)
• Experience with several of the following tools/technologies is desirable:
a. GIT (Bit Bucket, Gitlab, etc.), Jira, Gradle, Maven, Jenkins, SharePoint, Eclipse/IntelliJ.
b. Design Patterns and implementing the Design Patterns
c. Development of Complex Application and System Architectures
d. NoSQL Databases (Redis, Mongo, etc.)
e. Full stack development
f. Experience working with CI/CD pipelines with for example GitHub Actions.
• Knowledge of the following technologies is a plus:
a. Other Programming Languages (Java, Python, etc.)
b. Continuous Integration and Continuous Delivery Tools like Jenkins, Git, etc.
c. Secure Development based on OWASP standards
standing of Java and the different frameworks like Spring, etc., and have experience working on Cloud and Containers.
The Developer will perform duties and tasks to support a complete life cycle management (example: Analysis, Technical
Requirements, Design, Coding, Testing and implementation of Systems, etc.).
The Developer will work closely with the Product and Technical teams across different regions primarily Europe and will
be part of an Agile Team. The role includes research and Continuous Development of new Products based on new Tech-
nologies. This position collaborates with the operations team routinely and henceforth excellent English communication
skills (bothwritten and verbal) are essential.
A clean coder who will always leave the code in better shape than they found it.
A curious person who never stops learning and loves to try new things, even when theydon’t succeed on the
first try
A team-oriented developer with the motivation to bring out the best in others
A person who shares our appreciation for transparency and is willing to share theirexperience and knowledge
for the benefit of the team
Someone who is willing to take a stand for something they believe in.
Somebody that takes pride in their work and knows that development is a craftsmanship
Duties & Responsibilities
Conducts systems and requirements analysis, creates and contributes to task lists, cost and time analysis
Performs assigned functions and tasks to meet project plan and quality review requirements.
Raises issues as appropriate to support effective resolutions.
Analyzes specifications and user requirements to perform assigned applications development work.
Assists with system and componentdesigns to meet requirements.
Participates and documents design and code reviews to improve quality.
Analyzes, designs, codes, tests, and documents to develop application software.
Develops unit tests and unit test plans to deliver quality code.
Performs applications maintenance and support functions to support problem resolution.
Qualifications:
• Bachelor’s degree in Computer Science or IT related field
• 4-7 years of experience working across different product domains in a product development/engineering role
• Good communication skills necessary to manage business requests and work with different teams across differ-
ent geographies and time-zones; experience working with remote and distributed teams will be an added ad-
vantage
• Hands-on working knowledge and experience is requiredin:
a. Java (Spring, Spring Boot, etc.)
b. Experience working in GCP or AWS or Azure
c. Experience working in Containers & Unix Platforms
d. Relational Databases (PostgreSQL, MySQL, SQL, etc.)
e. Messaging (RabbitMQ, ActiveMQ, Kafka etc.)
f. Agile Methodologies (Scrum, TDD, BDD, etc.)
g. Understanding of Microservices Architecture, Domain Driver Design, Test Driven Development and
Secure Design patterns and architecture is a must
h. Data Structures and Algorithms using Java or other Programing Languages
i. Strong organizational skills
j. Agile Methodologies (Scrum, TDD, BDD, etc.)
• Experience with several of the following tools/technologies is desirable:
a. GIT (Bit Bucket, Gitlab, etc.), Jira, Gradle, Maven, Jenkins, SharePoint, Eclipse/IntelliJ.
b. Multiple Java technologies around Spring, Spring Bootetc.
c. Design Patterns and implementing the Design Patterns
d. Development of Complex Application and System Architectures
e. NoSQL Databases (Redis, Mongo, etc.)
f. Experience working with CI/CD pipelines with for example GitHub Actions.
• Knowledge of the following technologies is a plus:
a. Other Programming Languages (NodeJS, etc.)
b. Continuous Integration and Continuous Delivery Tools like Jenkins, Git, etc.
c. Application Servers like Tomcat, etc.
d. HTML5, CSS, AJAX, React
e. Full stack development
f. Secure Development based on OWASP standards
● You should be able to take ownership of a project end to end.
● Your primary focus will be to build, implement & maintain the complete back-end stack of the product.
● You will create production-grade code and will implement the solutions which run bug-free.
● Participate in product development discussions and product development road-maps.
● Collaborate with members across departments to identify and build on
improvements to products, processes, and systems.
Required Experience and Qualifications:
2 to 6 years of software development experience.
● Experience in working on application architecture design will be preferred.
● Experience in working on at least 1 or 2 projects, managing or leading the entire
tasks.
● Experience in Docker/Kubernetes, Agile methodologies & CI/CD automation process.
● Knowledge of Queueing technologies like Kafka, RabbitMQ, ActiveMQ, and Version control using Git.
● Experience in microservices architecture, in-memory systems like Redis and basic knowledge of Linux/Unix systems.
● Experience in building applications processing large volumes of streaming data will be preferred.
● Experience from a middle size company or from a startup will be preferred.
● BE/MCA/MSc in Computers/Information technology with a good academic record.
Basic Qualifications
Candidates for this role must have:
- Bachelor’s degree in computer science or a related field
- At least three years of experience writing production code of increasing complexity
- Strong understanding of computer science fundamentals, including algorithms, complexity analysis, data structures, problem solving, and object-oriented analysis and design
- Proficiency in at least one of the following: Java, C, C++, C#, Ruby, Scala, Python
- Experience refactoring code and evolving architectures
- Experience crafting unit, integration, functional and regression tests
Preferred Qualifications
- Master’s degree in computer science or a related field
- Experience developing in a Linux environment
- Experience applying service-oriented architecture techniques to production use cases
- Experience in developing secure, multi-platform mobile applications