Similar jobs
About the Role
As a result of our rapid growth, we are looking for a Java Backend Engineer to join our existing Cloud Engineering team and take the lead in the design and development of several key initiatives of our existing Miko3 product line as well as our new product development initiatives.
Responsibilities
- Designing, developing and maintaining core system features, services and engines
- Collaborating with a cross functional team of the backend, Mobile application, AI, signal processing, robotics Engineers, Design, Content, and Linguistic Team to realize the requirements of conversational social robotics platform which includes investigate design approaches, prototype new technology, and evaluate technical feasibility
- Ensure the developed backend infrastructure is optimized for scale and responsiveness
- Ensure best practices in design, development, security, monitoring, logging, and DevOps adhere to the execution of the project.
- Introducing new ideas, products, features by keeping track of the latest developments and industry trends
- Operating in an Agile/Scrum environment to deliver high quality software against aggressive schedules
Requirements
- Proficiency in distributed application development lifecycle (concepts of authentication/authorization, security, session management, load balancing, API gateway), programming techniques and tools (application of tested, proven development paradigms)
- Proficiency in working on Linux based Operating system.
- Working Knowledge of container orchestration platform like Kubernetes
- Proficiency in at least one server-side programming language like Java. Additional languages like Python and PHP are a plus
- Proficiency in at least one server-side framework like Servlets, Spring, java spark (Java).
- Proficient in using ORM/Data access frameworks like Hibernate,JPA with spring or other server-side frameworks.
- Proficiency in at least one data serialization framework: Apache Thrift, Google ProtoBuffs, Apache Avro,Google Json,JackSon etc.
- Proficiency in at least one of inter process communication frameworks WebSocket's, RPC, message queues, custom HTTP libraries/frameworks ( kryonet, RxJava ), etc.
- Proficiency in multithreaded programming and Concurrency concepts (Threads, Thread Pools, Futures, asynchronous programming).
- Experience defining system architectures and exploring technical feasibility tradeoffs (architecture, design patterns, reliability and scaling)
- Experience developing cloud software services and an understanding of design for scalability, performance and reliability
- Good understanding of networking and communication protocols, and proficiency in identification CPU, memory & I/O bottlenecks, solve read & write-heavy workloads.
- Proficiency is concepts of monolithic and microservice architectural paradigms.
- Proficiency in working on at least one of cloud hosting platforms like Amazon AWS, Google Cloud, Azure etc.
- Proficiency in at least one of database SQL, NO-SQL, Graph databases like MySQL, MongoDB, Orientdb
- Proficiency in at least one of testing frameworks or tools JMeter, Locusts, Taurus
- Proficiency in at least one RPC communication framework: Apache Thrift, GRPC is an added plus
- Proficiency in asynchronous libraries (RxJava), frameworks (Akka),Play,Vertx is an added plus
- Proficiency in functional programming ( Scala ) languages is an added plus
- Proficiency in working with NoSQL/graph databases is an added plus
- Proficient understanding of code versioning tools, such as Git is an added plus
- Working Knowledge of tools for server, application metrics logging and monitoring and is a plus Monit, ELK, graylog is an added plus
- Working Knowledge of DevOps containerization utilities like Ansible, Salt, Puppet is an added plus
- Working Knowledge of DevOps containerization technologies like Docker, LXD is an added plus
Job Responsibilities:
* Design, build, and maintain efficient, reusable, and reliable Java code
* Ensure the best possible performance, quality, and responsiveness of the applications
* Identify bottlenecks and bugs, and devise solutions to these problems
* Help maintain code quality, organization, and automatization
* Prepare the technical design of complex technology components
Mandatory Skills:
* Proficient in Java (JDK 1.7) or above JDK 8 preferable, with a good knowledge of its ecosystems with a knack for writing clean, readable Java code, writing reusable Java libraries along with knowledge of concurrency patterns in Java
* Solid understanding of object-oriented programming along with various design and architectural patterns
* Hands on experience with Spring, Spring Boot, JUnit
* Familiarity with concepts of MVC, Microservices, RESTful
- 3+ years of experience in the Development in JAVA technology.
- AWS or cloud Experience
- Strong Java Basics
- SpringBoot or Spring MVC
- Hands on experience on Relationl Databases (SQL query or Hibernate) + Mongo (JSON parsing)
- Proficient in REST API development
- Messaging Queue (RabitMQ or Kafka)
- Microservices
- Any Caching Mechanism
- Good at problem-solving
Good to Have Skills:
- 3+ years of experience in using Java/J2EE tech stacks
- Good understanding of data structures and algorithms.
- Excellent analytical and problem solving skills.
- Ability to work in a fast paced internet start-up environment.
- Experience in technical mentorship/coaching is highly desirable.
- Understanding of AI/ML algorithms is a plus.
If yes! then join us @ Equal Experts.
Equal Experts does not work on support & maintenance projects.
It creates enterprise software applications & products for its global clients from scratch.
Things you will NOT get at Equal Experts:
Fancy designation - You will be called a Software Engineer here, regardless of your experience or expertise.
▪ Projects in only 1 language - Today you might code in Java, tomorrow in
Groovy, the day after in Scala... :-). At Equal Experts, we work on diverse tech stacks, and you simply have to be a polyglot.
▪ "Management" role - We don't hire dedicated PMs, IMs, DMs ...or any other Ms out there.
▪ If you are part of Equal Experts, you are a techie who will code every day.
Here's what else you can look forward to:
▪ Freedom - Freedom to explore new technologies & implement them on
projects.
▪ Responsibility & ownership - Writing elegant code every day. Taking design & architectural decisions.
▪ Agile expertise - TDD, BDD, XP practices. Working with experts & thoughtleaders in Agile.
▪ Cutting edge - Work on Ruby, Scala, Hadoop, MongoDB, Neo4j, Groovy,
J2EE, iOS 6, Angular JS, Cucumber and the likes.
▪ Consulting exposure - Interact with clients every day. Travel onsite
frequently.
▪ Open culture - No hierarchy. No cubicles. No formal dress codes.
Here's what you must possess:
Exceptional OOP skills - Solid, Grasp, Kiss and Dry should mean more than words to you. Your daily code must be clean, simple, modular, extensible, and always thoroughly unit tested.
▪ Conceptual understanding of whatever you've worked on - We're more
interested in knowing how & why you used a particular technology/approach to solve a problem. Definitions and theory don't interest us that much.
▪ Decision-making experience - We need you to start new projects from scratch.
Accordingly, you must have the experience of taking design decisions &
influencing architecture on projects
We are looking for a Backend Developer who has 4-6 years of experience in designing, developing, and implementing backend services using Python and Django.
- Responsibilities-
- Design highly scalable, testable code and follow Test Driven Development methodology
- Able to write well-organized, modularised code with test cases.
- Contribute to the design and architecture of our backend APIs and deployment of microservices
- Ensure adherence to engineering best practices and maintain the overall quality of our codebase.
- Work with the product team to translate powerful ideas into everyday business value.
- Skills-
- Back-end programming language: Python
- Familiarity with Django or Flask framework
- Familiarity with AWS and Elastic Search
- Experience in SQL and NoSQL databases with an insight into various data modeling use cases
- Experience with system & unit testing
- Familiarity with containerized deployment
- Proficiency with Git
- Sound with data structures and algorithms and have a good understanding of design patterns, software architectures
● Develop, record and maintain cutting edge web-based PHP SAAS applications on portal plus
premium service platforms.
● Should be individual contributor and able to handle frontend and backend.
● Build innovative, state-of-the-art applications and collaborate with the User Experience (UX) team,
testing teams.
● Strong knowledge of HTML, CSS, and JavaScript, JQuery and Microservices
● Prepare and maintain all applications utilizing standard development tools
● Utilize backend data services and contribute to increase existing data services API
● Lead the entire web application development life cycle right from concept stage to delivery and post
launch support
● Good knowledge of GIT, Digital Ocean or AWS servers
● Convey effectively with all task progress, evaluations, suggestions, schedules along with technical
and process issues.
● Document the development process, architecture, and standard comp
- should have at least 5 years of hands-on experience in backend software development using Java.
- should have proven expertise in Spring Boot REST/Microservices.
- should have used design patterns like MVP, MVC or MVVM and should know when to use which.
- should have working experience with relational and NoSQL databases.
- should have multiple years of experience with cloud application design and in one or more reputable cloud platform providers (e.g. AWS, GCP, Microsoft Azure … )
- should have professional experience working in an agile development environment.
- should have strong communication skills and like making decisions.
- should follow good software engineering principles such as TDD, writing modular, maintainable and clean code