Senior Web Backend Developer
Company Overview:
It is a US based startup founded in 2018 to build an edge data platform for the autonomous world.Rich data in large volumes is getting collected at the edge (outside a data center) in use cases like autonomous vehicles, smart manufacturing, satellite imagery, smart retail, smart agriculture etc.These datasets are characterized by being unstructured (images/videos), large size (Petabytes per month), distributed (across edge, on-prem and cloud) and form the input for training AI models to get to higher degrees of automation. It is engaged with building products that solve these unique challenges and be at the forefront of this edge data revolution.
The company is backed by prominent VCs and has it’s entire software engineering team based out of India and provides ample opportunities for from-scratch design and development.
Role:
This role is an individual contributor role with key responsibilities in developing web server backends for Akridata management plane software that provides a ‘single pane of glass’ for users to manage assets, specify and monitor large volume data pipelines at scale involving 10s of petabytes of data.
This role involves:
- Working with tech leads and the rest of the team on the feature design activities and picking appropriate tools and techniques for implementation.
- Be a hands-on developer able to independently make correct implement choices, follow sound development practices to ensure an enterprise grade application.
- Guide and mentor junior team members.
What we are looking for:
- A Bachelor’s or Master’s degree in computer science with strong CS fundamentals and problem-solving.
- 5+ years of hands-on experience with software development with 3+ years on web backend development.
- A good understanding of backend application interactions with relational databases like MySQL, Postgres etc
- Knowledge of web server development frameworks preferably on Python.
- Enthusiastic to work in a dynamic, fast paced startup environment.
Good to have:
- Hands-on experience with designing database schema and implementing and debugging SQL queries for optimal performance for large datasets
- Experience working with applications deployed on Kubernetes clusters.
- Experience with working on a product from early stages of it’s development typically in a startup environment.
Similar jobs
Company Description
Miko is an advanced artificial intelligence innovation lab with a mission to bring AI and robotics to every consumer home. Headquartered in Mumbai, India, our workforce spans several countries, including the
United States, Canada, Europe, and the Middle East. To check out various product offerings, visit Miko's website.
Position Overview:
We seek a highly skilled and experienced Senior/ Lead Software Engineer to join our innovative team. The ideal candidate will have a strong background in Java development and be proficient in various backend technologies and frameworks. The role involves designing, developing, and maintaining high-performance, scalable backend systems. The candidate should be comfortable working in a Linux environment and have hands-on experience with both SQL and NoSQL
databases, as well as modern containerization and orchestration tools.
Key Responsibilities:
• Design, develop, and maintain backend services using Java, Spring Boot, and Vert.x.
• Implement and manage database solutions using SQL and NoSQL databases.
• Work with Hibernate for ORM (Object-Relational Mapping).
• Develop and manage caching mechanisms with Redis.
• Implement messaging and streaming solutions using Kafka.
• Utilize Docker for containerization and Kubernetes for orchestration.
• Perform system designing to ensure high availability, scalability, and reliability of applications.
• Design and develop microservices or monolithic architectures based on project requirements.
• Collaborate with front-end developers and other team members to establish objectives and design more functional, cohesive code to enhance the user experience.
• Write clean, scalable code using Java programming languages.
• Revise, update, and debug code.
• Improve existing software.
• Develop documentation throughout the software development life cycle (SDLC).
• Serve as an expert on applications and provide technical support.
Mandatory Skills and Qualifications:
• Proven experience as a Java Backend Developer.
• Strong expertise in Java, Spring Boot, and Vert.x.
• Proficient in using Hibernate for ORM.
• Extensive experience with Linux operating systems.
• Hands-on experience with Git version control system.
• Solid understanding of SQL and NoSQL databases.
• Experience with Redis for caching.
• Practical knowledge of Kafka for messaging and streaming.
• Proficiency with Docker for containerization and Kubernetes for orchestration.
• Strong understanding of system designing principles.
• Experience with microservices or monolithic architecture.
• Excellent problem-solving skills and attention to detail.
• Ability to work independently and as part of a team.
• Strong communication skills.
Preferred Skills:
• Familiarity with CI/CD pipelines.
• Knowledge of cloud platforms (AWS, Azure, GCP).
• Understanding of network protocols and security.
Educational Qualifications:
• Bachelor's or Master’s degree in Computer Science, Information Technology, or a related field.
Why Miko?
• Cutting-Edge Technology: Work with the latest in AI, robotics, and software development.
• Dynamic Work Environment: Collaborative and inclusive culture encouraging creativity and innovation.
• Career Growth: Opportunities for continuous learning, mentorship, and professional advancement.
• Impactful Work: Contribute to products that enhance the learning and play experiences of children worldwide.
• Global Reach: Be part of a brand that has a significant international presence.
• Innovative Products: Develop revolutionary products like the Miko robot.
• Supportive Culture: Enjoy a diverse, inclusive, and well-balanced work-life environment.
• Competitive Compensation: Receive competitive salaries and benefits packages.
• Entrepreneurial Spirit: Bring your ideas to life in a company that values initiative.
• Community Engagement: Participate in outreach programs and initiatives that give back to the community.
Your Responsibilities would be to:
- Architect new and optimize existing software codebases and systems used to crawl, launch, run, and monitor the Anakin family of app crawlers
- Deeply own the lifecycle of software, including rolling out to operations, managing configurations, maintaining and upgrading, and supporting end-users
- Configure and optimize the automated testing and deployment systems used to maintain over 1000+ crawlers across the company
- Analyze data and bugs that require in-depth investigations
- Interface directly with external customers including managing relationships and steering requirements
Basic Qualifications:
- Extremely effective, self-driven builder
- 2+ years of experience as a backend software engineer
- 2+ years of experience with Python
- 2+ years of experience with AWS services such as EC2, S3, Lambda, etc.
- Should have managed a team of software engineers
- Deep experience with network debugging across all OSI layers (Wireshark)
- Knowledge of networks or/and cybersecurity
Preferred Skills and Experience
- Broad understanding of the landscape of software engineering design patterns and principles
- Ability to work quickly and accurately in a highly stressful environment during removing bugs in run-time within minutes
- Excellent communicator, both written and verbal
Additional Requirements
- Must be available to work extended hours and weekends when needed to meet critical deadlines
- Must have an aversion to politics and BS. Should let his/her work speak for him/her.
- Must be comfortable with uncertainty. In almost all the cases, your job will be to figure it out.
- Must not be bounded to comfort zone. Often, you will need to challenge yourself to go above and beyond.
-
Bachelor’s or master’s degree in Computer Engineering, Computer Science, Computer Applications, Mathematics, Statistics, or related technical field. Relevant experience of at least 3 years in lieu of above if from a different stream of education.
-
Well-versed in and 3+ hands-on demonstrable experience with: ▪ Stream & Batch Big Data Pipeline Processing using Apache Spark and/or Apache Flink.
▪ Distributed Cloud Native Computing including Server less Functions
▪ Relational, Object Store, Document, Graph, etc. Database Design & Implementation
▪ Micro services Architecture, API Modeling, Design, & Programming -
3+ years of hands-on development experience in Apache Spark using Scala and/or Java.
-
Ability to write executable code for Services using Spark RDD, Spark SQL, Structured Streaming, Spark MLLib, etc. with deep technical understanding of Spark Processing Framework.
-
In-depth knowledge of standard programming languages such as Scala and/or Java.
-
3+ years of hands-on development experience in one or more libraries & frameworks such as Apache Kafka, Akka, Apache Storm, Apache Nifi, Zookeeper, Hadoop ecosystem (i.e., HDFS, YARN, MapReduce, Oozie & Hive), etc.; extra points if you can demonstrate your knowledge with working examples.
-
3+ years of hands-on development experience in one or more Relational and NoSQL datastores such as PostgreSQL, Cassandra, HBase, MongoDB, DynamoDB, Elastic Search, Neo4J, etc.
-
Practical knowledge of distributed systems involving partitioning, bucketing, CAP theorem, replication, horizontal scaling, etc.
-
Passion for distilling large volumes of data, analyze performance, scalability, and capacity performance issues in Big Data Platforms.
-
Ability to clearly distinguish system and Spark Job performances and perform spark performance tuning and resource optimization.
-
Perform benchmarking/stress tests and document the best practices for different applications.
-
Proactively work with tenants on improving the overall performance and ensure the system is resilient, and scalable.
-
Good understanding of Virtualization & Containerization; must demonstrate experience in technologies such as Kubernetes, Istio, Docker, OpenShift, Anthos, Oracle VirtualBox, Vagrant, etc.
-
Well-versed with demonstrable working experience with API Management, API Gateway, Service Mesh, Identity & Access Management, Data Protection & Encryption.
Hands-on experience with demonstrable working experience with DevOps tools and platforms viz., Jira, GIT, Jenkins, Code Quality & Security Plugins, Maven, Artifactory, Terraform, Ansible/Chef/Puppet, Spinnaker, etc.
-
Well-versed in AWS and/or Azure or and/or Google Cloud; must demonstrate experience in at least FIVE (5) services offered under AWS and/or Azure or and/or Google Cloud in any categories: Compute or Storage, Database, Networking & Content Delivery, Management & Governance, Analytics, Security, Identity, & Compliance (or) equivalent demonstrable Cloud Platform experience.
-
Good understanding of Storage, Networks and Storage Networking basics which will enable you to work in a Cloud environment.
-
Good understanding of Network, Data, and Application Security basics which will enable you to work in a Cloud as well as Business Applications / API services environment.
We’re Looking for Someone With:
Experience working with startups.
Experience working with ORMs like SQLAlchemy or Django
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
o Python
o Celery
o Postgres
o Redis
o RabbitMQ
Nice to Haves:
Prior experience at a growth stage Internet/Software company
Experience with ReactJS, Google Cloud, Heroku
Cloud deployment and scaling experience
- Manage and improve the engineering process continuously and make sure the team delivers the quality code with zero-waste.
- Should provide technical leadership to major projects, but also build and manage a team of 5-8 top-notch engineers.
- Should do sprint planning and run daily stand-ups and deliver 100% hit rate.
- Maintain the legacy code base and reduce tech debt on a continuous basis.
- Able to handle multiple projects and deliver with stringent timelines without compromising the code quality.
- Work with the product team for roadmap planning and delivery as per the plan.
- Conduct sprint planning & sizing, engineering grooming, daily stand-ups, and deliver with zero spillovers.
- Prepare & publish sprint reports to the leadership team and provide visibility to stakeholders.
- Hire and mentor junior/ senior team and make them engineering champions.
- Mentor the engineering team with your technical skills to write scalable, generic, reusable code.
- Develop and Coach engineers on the team, share engineering pointers, conduct regular 1-1s with the team, and help them advance in their careers.
Requirements
- Having work experience in a Product organization with 7 -10 yrs also in leading a cross-functional engineering team that includes API Development and Backend & Middleware development.
- Should have experience in the continuous delivery process. Ship new features and improvising the code base continuously.
- Should have involved in setting up engineering process.
- Must have experience in microservices and distributed patterns.
- Must have worked on high traffic and throughput application.
- Must have prior experience in handling mid to large-size projects.
- Must have worked on high traffic and throughput application.
- Should have managed and lead the engineering team of Web App and Backend development teams.
- Must-Have Experience in Python programming & Postgressql/ Nosql (MongoDB as a data store.
- Must have experience in modern back-end tech stacks (Django, Postgress, NoSQL) and cloud design & deployment patterns.
- Must be conversant with AWS, Docker/Kubernetes
- Should be good with design patterns and integration patterns.
- Should have knowledge/ experience in concurrent programming & distributed locks.
- Requires solid understanding of technologies and architecture in a highly scalable and available set-up.
- Should have handled multiple epics, themes, and experience of delivering high-quality projects on time.
- Should have managed end to end development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
Minimum 5-7years of professional experience building web-applications
Strong experience in backend development
Strong experience in AI/Machine Learning development, Data Analysis/Processing
Experience in creating robust and secure REST APIs
Hands-on exposure to RDBMS like PostgreSQL, MySQL, MariaDB etc.
Proficiency with one or more programming languages from Java, Python, Node/JavaScript
Solid familiarity working with cloud and related technologies, AWS, GCP and Azure cloud environments
Ability to do very quick research in unknown technologies
Startup mindset, comfort with chaos and multi-tasking ability
Strong programming fundamentals in Data Structures, Algorithms
An eye for writing performance optimum code in any tool set
Managing & mentoring a team of 5+ people
Ability to deliver projects/sprints on time
Obsessed with quality: Design reviews, code reviews, testing (system/performance)
Spending at least 50% time with hands-on coding while doing the above
Programming
Hands on experience with design and implementation of of WebApps and APIs using a PHP based framework (such as Laravel, Code Igniter, Cake or similar)
In addition to PHP, hands-on with a Python or node.js based framework
Good understanding of SQL (mySQL, postgres or similar. including clustering)
Good understanding of one no-SQL
Comfortable producing and refactoring code without assistance
Understands different major language paradigms (object oriented / functional /reactive)
Can reason about complexity of algorithms (time and space)
Basic CI/CD and DevOps