Responsibilities
● Designing, developing, testing, troubleshooting, debugging, deploying,
maintaining, documenting, and delivering large-scale, highly distributed, real-time
data platform.
● Using Java, object-oriented (OO) design patterns, NoSQL DBs, and data
modeling techniques.
● Recommending changes in development, maintenance, and system standards.
● Working in an agile development environment to deliver a high-quality product.
● Mentor junior software development engineers.
Basic Qualifications
● Bachelors/Masters degree in computer science or a related field.
● 4+ years of experience in software development.
● Proficient in Core Java, with a good knowledge of Java’s ecosystems.
● Proficient in multithreading in Java.
● Excellent problem-solving skills.
● Possess an extremely sound understanding of the basic areas of Computer
Science such as Algorithms, Data Structures.
● Strong OO programming and design skills with an understanding of common
design patterns.
● Knowledge of professional software engineering practices & best practices for
the full software development life cycle, including coding standards, code
reviews, source control management, continuous deployments, testing, and
operations.
● Candidate must have good written and oral communication skills, be a fast
learner, and have the ability to adapt quickly to a fast-paced development
environment.
Preferred Qualifications
● Experience building large-scale, fault-tolerant distributed systems.
● Familiarity with Big Data platforms and architecture, relational and no SQL
database concepts, solid knowledge of Hadoop, Spark, Hive, etc in general.
● Demonstrated ability to mentor junior software engineers in all aspects of their
engineering skill-sets.