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.