Job Description
● You will build Robust and Scalable web-based applications.
● Build abstractions and contracts with separation of concerns for a larger scope.
● Drive problem-solving skills for high-level business and technical problems.
● Do high-level design with guidance; Functional modeling, break-down of a module.
● Do incremental changes to architecture: impact analysis of the same.
● Do performance tuning and improvements in large scale distributed systems
● Work closely with Product Manager to derive capability view from features/solutions, Lead execution of medium-sized projects
● Work with broader stakeholders to track the impact of projects/features and proactively iterate to improve them
Key Responsibilities
● 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.
● Experience in building highly scalable business applications, which involve implementing large complex business flows and dealing with a huge amount of data.
● Extensive experience in object-oriented design skills, knowledge of design patterns, and huge passion and ability to design intuitive module and class-level interfaces.
● Excellent coding skills – should be able to convert the design into code fluently.
● Knowledge of Test Driven Development.
● Good understanding of databases (e.g. MySQL) and NoSQL (e.g. HBase, Elasticsearch, Aerospike, etc).
● Experience with full life cycle development in any programming language.
● Worked in a startups environment with high levels of ownership and commitment.
Qualifications
● BTech, MTech, or Ph.D. in Computer Science or related technical discipline (or equivalent).
● 3-5 years of experience in the art of writing code and solving problems on a Large Scale.
