Software Development Engineer, Server

Delhi / Bangalore
Engineering
Full-time

Hike’s mission is to reimagine messaging as 1 billion people come online on mobile devices that are faster and more powerful than the first set of PC's. It is our belief that messaging will do to mobile what browser did to desktop, only 100 times over. Hike today has over 100 million users and monthly messaging volume of 40 billion and is amongst the top 5 most used services in India.
  
Job Description
 
As a Server Engineer, you develop and support some of the very visible internet-scale features and infrastructure at Hike. Your work influences how Hike scales and has a deep impact across the organization. Your work would span multiple areas such as information retrieval, large-scale system design, networking, security, data compression, user interface design, etc. You work at scale and speed.
 
ESSENTIAL DUTIES & RESPONSIBILITIES
.  You write high quality, maintainable, and robust code.
.  You solve problems at their root, stepping back to understand the broader context.
.  You recognize and adopt best practices in software engineering that cover design, testing, version control, documentation, build, deployment and operations.
.  You develop pragmatic solutions.
.  You build flexible systems without over-engineering and choose simple, straightforward solutions over more complex ones.
.  You pick up technologies best suited for the business needs and adapt on-the-go.
.  You recognize and use design patterns to solve business problems.
 
KNOWLEDGE, SKILLS & ATTRIBUTES
.  Bachelor’s Degree in Computer Science or related field, with 2- 4 years of relevant work experience.
.  Experience in building large scalable distributed, asynchronous and stateless architectures.
.  Strong skills in object-oriented design, data structures, algorithm design and complexity analysis and experienced in understanding when to and when not to use the data structures and algorithms.
.  Proficiency in one of the commonly used languages (Java/Python/C++).
.  Thorough understanding of how operating systems work, perform and scale.
.  Strong verbal and written communication skills.
.  Attention to detail and organizational skills.
.  Strong project management skills and ability to exercise strong judgement and instincts.
.  Ability to prioritize in a complex, fast-paced environment and work through ambiguity.