

About SplashLearn
At SplashLearn, our vision is to build the most engaging learning experiences for children that transform them into lifelong learners. We are the world's first scientifically-designed, game-based curriculum spanning Pre-K to Grade 5.
Loved by a whopping 33 million learners across 150+ countries and trusted by over 440k teachers and 77k schools, SplashLearn is the fastest growing elementary math program in the US. If those numbers seem too abstract, consider this: Every 1 in 3 schools and 1 in 7 elementary school children in the US love SplashLearn!
Backed by Accel Partners, SplashLearn has bagged many prestigious edtech awards such as the NASSCOM Emerge50, Parents Choice and Best App Ever and has been consistently featured among the best apps on the App Store.
What we are looking for:
If you're a passionate problem solver who gets a kick out of creating rewarding learning experiences for an audience as diverse as ours (read kids - can't read, can't click on a small button and won't sit straight during a user testing session and their ever possessive parents and ambitious teachers!), we might just have a career-changing opportunity waiting for you.
What you’ll do: Core Responsibilities
-
Create games based on the Game and Level Design Documents
-
Work with Game Designers to algorithmically generate levels
-
Own all technical aspects of the game, including challenges in implementing the core game mechanics, art, animation
-
Optimize code for best possible performance, quality, and responsiveness of games across platforms
-
Write modular code, create reusable components
-
Create quick prototypes for game ideas and concepts
-
Very good with algorithms and problem solving
-
Hands on with at least one programming language
-
At least a bachelor’s degree (engineering/game development) or equivalent (BCA/MCA etc)
Qualifications and Skills
-
4+ Years of experience building games for the mobile or web
-
Understanding of common Design Patterns and techniques in game development
-
Any experience working with game engines, e.g. Unity, Cocos2d-js, JavaScript etc.
Culture at SplashLearnAt SplashLearn, we dig individuality. We love people who have something to say, and we listen. With us, you will get a chance to weave a little bit of you in our suite of learning products that are being used by millions of users. We have a workplace that is perennially high on energy. You can find people deeply engrossed in conversations that range from the latest movie to the newest tech on the block, and you will also see people who don’t want to have anything to do with that and are quietly typing away on their machines.

About Splash Learn
Similar jobs
Job Description:
We are seeking an experienced Java Back-end Developer to join our team. The ideal candidate
will be responsible for designing, developing, and maintaining robust and scalable back-end
solutions using Java and related technologies. The Back-end Developer will work closely with
cross-functional teams to deliver high-quality software solutions that meet our business needs.
Responsibilities:
Design, develop, and maintain Java-based back-end applications, services, and APIs.
Write efficient, reusable, and well-documented code following industry best practices
and coding standards.
Collaborate with front-end developers, product managers, and other stakeholders to
understand requirements and translate them into technical solutions.
Implement and maintain database schemas, write complex SQL queries, and optimize
database performance using Oracle SQL.
Develop and consume RESTful web services to enable seamless integration with
external systems.
Utilize Spring framework and its various modules (e.g., Spring Boot, Spring Batch) for
building enterprise-level applications.
Manage project dependencies and build processes using Maven.
Work with version control systems such as Git for code management and collaboration.
Perform unit testing, integration testing, and debugging to ensure the quality and
reliability of back-end components.
Stay updated on emerging technologies, trends, and best practices in back-end
development.
Additional Requirements:
Strong knowledge of application servers such as Tomcat and WebLogic.
Experience with continuous integration tools such as Jenkins.
Familiarity with automated testing frameworks such as JUnit.
Understanding of authentication and authorization mechanisms, including OAuth.
Knowledge of SOAP web services and related technologies.
Requirements:
Bachelor's degree in Computer Science, Engineering, or a related field.
5 Plus years of experience in Java back-end development.
Proficiency in Java programming language and related frameworks (e.g., Spring, Spring
Boot, Spring Batch).
Strong understanding of object-oriented programming principles, data structures, and
algorithms.
Experience with Oracle SQL and database design principles.
Familiarity with RESTful web services and API development.
Experience with build tools such as Maven.
Knowledge of version control systems, particularly Git.
Strong problem-solving skills and attention to detail.
Excellent communication and collaboration skills.
Ability to work effectively in a fast-paced, agile environment.
Preferred Qualifications:
Experience with other databases such as MySQL, PostgreSQL, or MongoDB.
Familiarity with continuous integration/continuous deployment (CI/CD) pipelines.
Understanding of software development best practices and design patterns.


Requirements
• Extensive and expert programming experience in at least one general programming language (e. g. Java, C, C++) & tech stack to write maintainable, scalable, unit-tested code.
• Experience with multi-threading and concurrency programming.
• Extensive experience in object oriented design skills, knowledge of design patterns, and a huge passion and ability to design intuitive modules and class-level interfaces.
• Excellent coding skills - should be able to convert design into code fluently.
• Knowledge of Test Driven Development.
• Good understanding of databases (e. g. MySQL) and NoSQL (e. g. HBase, Elasticsearch, Aerospike etc).
• 4+ years of experience in the art of writing code and solving problems on a large scale.
• Open communicator who shares thoughts and opinions frequently, listens intently, and takes constructive feedback.
Responsibilities:
- Participation in the requirements analysis, design, development and testing of applications.
- The candidate is expected to write code himself/herself.
- The candidate is expected to write high level code, code review, unit testing and deployment.
- Practical application of design principles with a focus on the user experience, usability, template designs, cross browser issues and client server concepts.
- Contributes to the development of project estimates, scheduling, and deliverables.
- Works closely with QA team to determine testing requirements to ensure full coverage and best quality of product.
- There is also the opportunity to mentor and guide junior team members in excelling their jobs.
Requirements:
- BE/B. Tech. Computer Science or MCA from a reputed University.
- 3.5 - 6.5 Years of experience in software development, with emphasis on JAVA/J2EE Server side programming.
- Hands on experience in Core Java, Multithreading, RMI, Socket programing, JDBC, NIO, webservices and Design patterns.
- Should have Knowledge of distributed system, distributed caching, messaging frameworks ESB etc.
- Knowledge of Linux operating system and PostgreSQL/MySQL/MongoDB/Cassandra database is essential.
- Additionally, knowledge of HBase, Hadoop and Hive are desirable.
- Familiarity with message queue systems and AMQP and Kafka is desirable.
- Should have experience as a participant in Agile methodologies.
- Should have excellent written and verbal communication skills and presentation skills.


Software Developer
Roles and Responsibilities
- Apply knowledge set to fetch data from multiple online sources, cleanse it and build APIs on top of it
- Develop a deep understanding of our vast data sources on the web and know exactly how, when, and which data to scrap, parse and store
- We're looking for people who will naturally take ownership of data products and who can bring a project all the way from a fast prototype to production.
Desired Candidate Profile
- At Least 1-2 years of experience
- Strong coding experience in Python (knowledge of Javascripts is a plus)
- Strong knowledge of scraping frameworks in Python (Request, Beautiful Soup)
- Experience with SQL and NoSQL databases
- Knowledge in Version Control tools like GIT.
- Good understanding and hands-on with scheduling and managing tasks with cron.
Nice to have:
- Experience of having worked with elastic search
- Experience with multi-processing, multi-threading, and AWS/Azure is a plus
- Experience with web crawling is a plus
- Deploy server/related components to staging, live environments.
- Experience with cloud environments like AWS,etc as well as cloud solutions like Docker,Lambda, etc
- Experience in DevOps and related practices to improve development lifecycle, continuous delivery with high quality is an advantage.
- Compile and analyze data, processes, and codes to troubleshoot problems and identify areas for improvement
Job Description:
Minimum 3+ years of experience
Java, OOPS, Data structure, Design Patterns, Multithreading, Spring, Hibernate, Java Script based technology, knowledge of J2EE, PL - SQL..
Core Java Topics including Language Features, Architecture.
OOP Concepts in depth with real time scenarios
Understandings of special Keywords and their applicability as well as advantages and
disadvantages - Like static, final, this, super etc. static should be in depth
Singleton class, Serialization, Cloning, Anonymous Inner class concepts.
In depth concept of Dynamic and static polymorphism & Multiple Inheritance issue/ resolve.
Concepts on String, Exception Handling, Array etc.
Java SE 8 and 9 Features: Functional Inheritance, Lambda Expression, default and static method
etc.
Collection Classes in detail along with the internal data structure and working principle.
Multithreading concept. Concept on ConcurrentHashMap etc.
Analysis of Algorithm - Time Complexity – Big O Calculation
Code Optimizing techniques, Different Algorithm designs and strategies.
Design patterns in Java
Different Sorting & Searching Algo with their Time complexity analysis
Problem solving using Hackerrank or similar sites, with focus on Arrays, Linked Lists, Hash Maps,
Trees, Balanced Trees, Stacks, Queues, Strings , Big Number , Data Structures, Object Oriented
Programming
Exception Handling – Advanced, Sorting, Search, Recursion, Graph Theory.
Note: Core Java + PL/SQL (Unix will be add on)

- 3 - 6 Years of Experience in Golang Development
- Understands requirements well and comes up with an efficient design
- Develops complex, well-backed and bug-free products.
- Estimates accurately.
- Takes well-reasoned tech decisions keeping in mind goals and trade-offs
- Become a go-to person in more than one area. Provide technical mentoring to team
- Communicates clearly, gets clarifications, and establishes expectations for all parties
- Helps establish SDLC best practices and high standards of code quality
- Demonstrates excellent problem solving & debugging skills
- Proactively identifies and resolves issues in requirements, design, and code
Ideal Candidate Profile:
- Solid experience in Golang is a must.
- Solid understanding of Apache Products.
- Should have experience in cloud computing (AWS is desired).
- Has an ability to quickly learn and contribute in multiple codebases
- Overcomes roadblocks and requires minimal oversight
- Takes initiatives to fix issues/tech debts before assigned to him/her
- Able to deep dive into the codebase and advise QA of possible regression impact
- Communicates tech decisions through design docs and tech talks
- Has delivered projects with end-to-end accountability
- Keeps track of industry trends and introduces the right tech/ tools for a given job
- Excellent understanding of software engineering practices,
- Design Patterns, Data Structures, Algorithms
- Experience in product-driven organization
Working in highly collaborative teams and building quality code
Working in lots of different domains and client environments also understanding the business domain deeply
Architect highly scalable, highly available, reliable, secure and fault-tolerant systems with minimal guidance
Suggest new architectural elements to improve the existing architecture
Design and implement low latency RESTful services; Define API contracts between services; Version APIs and make them backward compatible
Translate business requirements into scalable and extensible design
Create platforms, reusable libraries and utilities wherever applicable
Continuously refactor applications to ensure high-quality design
Choose the right technology stack for the product systems/subsystems
Write high-quality code that are modular, functional and testable; Establish the best coding practices
Formally mentor junior engineers on design, coding and troubleshooting
Plan projects using agile methodologies and ensure timely delivery
Troubleshoot issues effectively in a distributed architecture
Communicate, collaborate and work effectively in a global environment
Operationalize releases by partnering with Tech operations on capacity planning and operability of the product.
Skills Required:
Proficient in JVM based language(like Java, Groovy), J2EE technology stack
Expertise in API design and development, experience in dealing with a large dataset
Strong in collections, algorithms, multithreading, also have worked on Springboot, Hibernate frameworks.
Practicing the coding standards (clean code, design patterns, etc)
Very strong object-oriented design skills, awareness of design patterns and architectural patterns
Performance tuning and Troubleshooting memory issues, GC tuning, resource leaks, etc.
Strong problem-solving skills, algorithmic skills and data structures
Experience in agile methodologies like Scrum
Good understanding of branching, build, deployment, continuous integration methodologies
Experience in leading a team (min 5)and mentoring engineers
Attitude to getting Stuff Done!
Ability to make decisions independently.
Good to have:
Hadoop knowledge
Cloud Platform Architecture
Groovy


- Write a significant amount of code for new and existing databases and related systems
- Scale and own these backend systems and databases
- Ship high-quality code and architecture
- Mentor engineers on the team, developing their skills and helping advance their careers
- Work with the founders to flesh out the future of the product
- Help shape the future of our engineering organization
Requirements
- A passion for working on deeply technical projects and wanting to work on distributed systems, concurrency & parallelism, replication protocols, file systems & correctness
- You have been building applications for 5+ years with C/C++ or Rust and have significant backend, database, or systems-level programming experience
- You have a BS/MS/Ph.D. in a scientific field or equivalent experience
- You want to work in a fast-paced, high-growth startup environment that respects its engineers and customers
- You are comfortable working with a 100% distributed engineering team, collaborating on GitHub, Slack, Zoom, etc. in the open and as a self-starter
Bonus points:
- Experience working on databases or other storage systems internals
- Experience with Apache Arrow, Apache Parquet
- Know how columnar databases work
- Know how to convert an algorithm to use SIMD instructions
- Good knowledge of Linux internals
- You’ve contributed to open-source libraries and actively participate in the development community (blogging, giving talks, meetups, tweeting, etc.)

Demonstrable experience in Core Java (8 or higher) and Spring framework (Core, AOP, Batch, JMS).
Multithreading, Data structure, Algorithm, Eceptional handling,OOPS Concepts, collections
- Excellent customer facing skills that include conducting compelling technical briefing & demonstrations. The person should have a technical aptitude to implement new technologies and articulate the solutions to the customer.
- Java, Spring with Database & Unix - Preferred with Scala or Spark(Hadoop) background
- Proven knowledge in OOPS & Data Structures
- Strong experience of developing multi-threaded and synchronization application
- Demonstrated delivery experience of Micro services APIs using Springboot, Oracle PL/SQL development and activities like Performance tuning / Optimization.
- Experience of using Git/Bitbucket, Maven/Bamboo, & related tools.
- Good Understanding of Agile Delivery Methodology & experience in working with Scrum teams.



