About the role
Responsibilities:
- Build Robust and scalable web-based applications.
- Need to think of platforms and reuse.
- 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, and break-down of a module.
- Do incremental changes to the architecture: impact analysis of the same.
- Do performance tuning and improvements in large-scale distributed systems.
- Mentor young minds and foster team spirit.
- Break down execution into phases to bring predictability to overall execution.
- Work closely with the Product Manager to derive a capability view from features/solutions.
- Led execution of medium-sized projects.
- Work with broader stakeholders to track the impact of projects/features and proactively iterate to improve them.
Requirements:
- Extensive and expert programming experience in at least one general programming language (e., Java, C, C++) and 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 the design into code fluently.
- Knowledge of Test Driven Development.
- Good understanding of databases (e., MySQL) and No SQL (e., HBase, Elastic search, Aerospike, etc. ).
- Strong desire to solve complex and interesting real-world problems.
- Experience with full life cycle development in any programming language on a Linux platform.
- Go-getter attitude that reflects in energy and intent behind assigned tasks.
- Worked in a start-up-like environment with high levels of ownership and commitment.
- BTech, MTech, or PhD in Computer Science or related technical discipline (or equivalent).
- Experience in building highly scalable business applications, which involve implementing large, complex business flows and dealing with a huge amount of data.
- 5 years of experience in the art of writing code and solving problems on a large Scale.
- An open communicator who shares thoughts and opinions, frequently listens intently, and takes constructive feedback.
- Ability to drive the design and architecture of multiple subsystems.
- Ability to break down larger/fuzzier problems into smaller ones in the scope of the product.
- Understanding of the industry's coding standards and an ability to create appropriate technical documentation.