Fulfil’s software engineers develop the next-generation technologies that change how millions of customer orders are fulfilled by merchants. Our products need to handle information at massive scale. We're looking for engineers who bring fresh ideas from all areas into our technology.
As a senior software engineer, you will work on our python based ORM and applications that scales to handle millions of transactions every hour. This is mission critical software and your primary focus will be building robust and scalable solutions that are easy to maintain.
In this role, you will be collaborating closely with the rest of the team working on different layers of infrastructure in an international environment. Therefore, a commitment to collaborative problem solving, sophisticated design, and quality product are important.
What You’ll Do:
- Own definition and implementation of API interfaces (REST and GraphQL). We take pride in our 100% open API with over 600 endpoints.
- Implement simple solutions to complex business logic that enables our merchants to manage financials, orders and shipments across millions of transactions.
- Build reusable components and packages for future use.
- Translate specs and user stories into reviewable, test covered patches.
- Peer review code and refactor existing code.
- Integrate with our eCommerce partners (Shopify, BigCommerce, Amazon), shipping partners (UPS, USPS, FedEx, DHL) and EDI.
- Manage Kubernetes and Docker based global deployment of our infrastructure.
Requirements We’re Looking for Someone With:
- Experience working with ORMs like SQLAlchemy or Django (2-3 years)
- Experience with SQL and databases (Postgres preferred)
- Experience in developing large server side applications and microservices
- Ability to create high quality code
- Experience with python testing tools (pytest) and test automation
- Familiarity with code versioning tools like GIT
- Strong sense of ownership and leadership quality
- Experienced in the tools of our web stack- Python, Celery, Postgres, Redis, RabbitMQ
Nice to Haves:
- Prior experience at a growth stage Internet/Software company
- Experience with ReactJS, Google Cloud, Heroku
- Cloud deployment and scaling experience
About Fulfil.IO
Similar jobs
Must have - Strong python
We are seeking a highly skilled and experienced Senior Python Developer to join our team. As a Senior Python Developer, you will be responsible for developing and maintaining high-quality code for our software projects. You should have strong expertise in Python programming and extensive experience with microservices architecture. Your role will involve collaborating with cross-functional teams, implementing best practices, and ensuring the delivery of robust and scalable solutions.
Responsibilities:
- Develop, test, and maintain high-quality Python code for our software projects.
- Design and implement microservices architecture for scalable and efficient applications.
- Collaborate with cross-functional teams, including product managers, designers, and other developers, to understand requirements and deliver optimal solutions.
- Participate in code reviews to ensure adherence to coding standards and best practices.
- Identify and resolve technical challenges and performance issues.
- Optimize existing code and improve system performance.
- Contribute to architectural discussions and propose innovative solutions.
- Stay up-to-date with the latest trends and technologies in Python development and microservices.
Requirements:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 2+ years of professional experience as a Python developer, with a focus on building robust and scalable applications.
- Strong understanding of microservices architecture and experience working with related technologies (e.g., Docker, AWS, service discovery,Jenkins).
- Solid knowledge of Python frameworks (e.g. Django) and libraries commonly used in microservices development.
- Experience in developing RESTful APIs and working with third-party API integrations.
- Proficiency in database systems, such as MySQL or MongoDB.
- Familiarity with code versioning tools (e.g., Git) and CI/CD pipelines.
- Strong problem-solving skills and ability to handle complex technical challenges.
- Ability to write clean, maintainable, and testable code following best practices.
- Excellent communication and collaboration skills, with the ability to work effectively in a team environment.
Preferred Qualifications:
- Experience with cloud platforms (e.g., AWS).
- Knowledge of message queue systems (e.g., RabbitMQ, Kafka, SQS).
- Familiarity with tools (e.g., Airflow, ELK).
- Previous experience in mentoring and providing technical guidance to junior developers.
- Contributions to open-source projects or active participation in developer communities.
Key Responsibilities:
- SDLC development of product features, enhancements, UAT/production issues.
- Work with development team members for development of product features.
- Client-side and server-side development.
- Develop and manage well-functioning databases and application.
- Write/ design product APIs and write unit test cases.
- Follow standard agile scrum practices for software development.
- Peer review, pull requests, code refactoring and managing source code per standards and ensure quality.
Required Experience & Skills:
- 5+ years of software development experience using Microsoft .Net technology stack.
- Strong experience in .Net, .Net Core, C#, Entity Framework, SQL server, JavaScript, jQuery, etc.
- Experience in using unit test framework e.g., xUnit, Moq.
- Experience in Web API development.
- Experience in Agile / SCRUM development process.
- Good to have experience in Domain driven design development and Microservice architecture.
- Excellent communication and teamwork skills
- Good to have knowledge and experience in ABP.IO framework, Angular 8+, PostgreSQL and AWS cloud service and CI/CD process.
- Taking ownership of building specific components of CARPL
- Working with the product team to prioritize tasks within these components
- Working with customers to redefine and modify the platform based on user input (optional).
You are the ideal candidate for this role if you :
- Provable proficiency in Go programming
- Have expert-level command over Python, Django, Flask, RDMS, NoSQL, Git Test, distributed systems.
-Experience with working in cloud environments, agile development methodologies with Test Driven Development (TDD) would be an advantage.
- Are familiar with Docker, Kubernetes
- It would be awesome if you are also familiar with DICOM, DCM4CHEE, HL7
- Are familiar with Jira, Asana, and Slack
- Knowledge of Go templating, common frameworks, and tools
- Believe that the future of healthcare lies in the power of AI and analytics
- Thrive in a chaotic, fast-moving, and ambiguous work environment
1: proficient in python, flask, pandas, GitHub and AWS
2: good knowledge of databases both SQL and NoSQL
3:Strong experience in REST and SOAP APIs
4: Experience with working on scalable interactive web applications
5:Basic knowledge of JavaScript and Html
6: Automation and crawling tools and modules
7: Multithreading and Multiprocessing
8:Good Understanding of test-driven Development
9: Preferred exposure to finance domain
Python |
FastAPI / Django Framework |
Database concept, API & SQL's |
SSO, Oauth2, JWT, Microservices |
MVC, ORM |
1) Write effective, scalable code |
2) Develop back-end components to improve responsiveness and overall performance Integrate user-facing elements into applications. |
3) Test and debug programs. |
4) Improve functionality of existing systems. |
5) Implement security and data protection solutions. |
6) Assess and prioritize feature requests. |
7) Coordinate with internal teams to understand user requirements and provide technical solutions |
8) Debugging programs and integrating applications with third-party web services. |
● work directly with the product team to understand requirements, help formulate aggressive growth plans, and then translate that into an effective technical solution
● design and create services and system architecture for your projects
● participate in brainstorming sessions and contribute ideas to our technology, algorithms
and products
● dive into difficult problems and successfully deliver results on schedule
What will your day look like?
1. Own all services and tools
2. Develop and deploy required services responsible for the evolution of the overall product
3. Do server-side development in golang/python preferably (or any other language)
4. Deploying stuff in production in docker containers
5. Write tests
6. Invent awesome stuff to make your job easier
What are we looking for?
1. Motivation to design and build reliable, elegant backend services
2. Energy to build smart internal tools quickly
3. At least 1-2 years of backend development experience
4. Proficiency in golang is desired. We are open to you learning on the job.
5. Familiarity with SQL. Experience with Postgres, Redis is preferred.
6. Familiarity with message-oriented middleware like rabbitmq, google pubsub is preferred.
- B Tech/BE or M.Tech/ME in Computer Science or equivalent from a reputed college.
- Experience level of 7+ years in building large scale applications.
- Strong problem solving skills, data structures and algorithms.
- Experience with distributed systems handling large amount of data.
- Excellent coding skills in Java / Python / Node / Go.
- Very good understanding of Web Technologies.
- Very good understanding of any RDBMS and/or messaging.
About the job
Job Description
We are looking for a Back-End Engineer responsible for managing the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, definition, and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your coworkers into the application. A basic understanding of front-end technologies is therefore necessary as well.
Responsibilities
- Develop and Maintain REST API's
- Integration of user-facing elements developed by front-end developers with server-side logic
- Building reusable code and libraries for future use
- Optimization of the application for maximum speed and scalability
- Implementation of security and data protection
- Design and implementation of data storage solutions
- Follow and encourage Test-Driven Development (TDD) Approach
Skills And Qualifications
- Strong foundation and knowledge about Object-Oriented Design Principles
- Champion of the TDD approach
- Implementing automated testing platforms and unit tests
- Proficient in Python programming language
- User authentication and authorization between multiple systems, servers, and environments
- Integration of multiple data sources and databases into one system
- Management of hosting environment, including database administration and scaling an application to support load changes
- Data migration, transformation, and scripting
- Outputting data in different formats
- Understanding differences between multiple delivery platforms such as mobile vs desktop, and optimizing output to match the specific platform
- Creating database schemas that represent and support business processes
- Proficient understanding of code versioning tools, such as Git
- Understanding accessibility and security compliance