As a Software Engineer:
● You will build Robust and scalable web-based applications You will need to think of platforms & 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, 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
● Mentor young minds and foster team spirit, break down execution into phases to bring predictability to overall execution
● 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 As a senior software engineer you must have
● 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
● 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)
● Strong desire to solving 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 startups environment with high levels of ownership and commitment
● BTech, MTech, or Ph.D. 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.
● 9+ 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.
As a Software Engineer, good to have
● The 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.