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.