Responsibilities :
- Design and Development of the modular, reusable backend infrastructure
- 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.
- 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
Required Skills :
- 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 systems.
- 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 java framework like J2EE, Servlets, Spring, java spark (Java).
- Proficiency in at least one data serialization frameworks: Apache Thrift, Google ProtoBuffs, Apache Avro, etc
- Proficiency in at least one of interprocess communication frameworks WebSockets, RPC, message queues, custom HTTP libraries/frameworks ( kryonet, RxJava ), etc
- Proficiency in multithreaded programming and Concurrency concepts ( Threads, Thread Pools, Futures, asynchronous programming).
- 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 at least one of database SQL, NO-SQL, Graph databases like MySQL, Maria db, Postgres, MongoDB, Orientd
- Proficiency in in-memory databases like Redis
- Proficiency in at least one RPC communication framework: Apache Thrift, GRPC
- Working Knowledge of DevOps containerization technologies like Docker, LXD
- Proficiency in at least one of testing frameworks or tools Jmeter, Locusts, Taurus
- Proficiency in working on at least one of cloud hosting platforms like Amazon AWS, Google Cloud, etc (Basics of devops, networking and firewall management)
- Proficient understanding of code versioning tools, such as Git
- Proficiency of working on messaging frameworks like kafka, rabbit mq is added plus
- Working Knowledge of tools for server, application metrics logging and monitoring and is a plus Monit, ELK, graylog is an added plus
- Proficiency in working with NoSQL/graph databases is an added plus
- Proficiency in asynchronous libraries(RxJava), frameworks(Akka) is an added plus
- Proficiency in functional programming ( Scala ) languages is an added plus
- Working knowledge of atleast one of container platforms like kubernetes, k8s, openshift, aws eks, google kubernetes is added plus
- Basic knowledge of other web application technologies like php, html ., javascript, nodejs for utilities and tools development is added plus
- Working knowledge of integrating with Application monitoring frameworks like datadog is added plus
- Working Knowledge of DevOps containerization utilities like Ansible, Salt, Puppet is an added plus
- Basic knowledge of python frameworks : falcon,flask,Django, celery, dask etc is a added plus
- Basic knowledge of php frameworks: codeignitor,core PHP is added pus
- Knowledge of big data technologies hadoop, hive, apache-spark, apache druid is a added plus