About Cerebry
About
Connect with the team
Similar jobs
- Lead the development of the backend systems for our first product
- Build reliable, secure and performant backend systems
- Drive test coverage and continuous delivery automation within the team
- Mentor and provide feedback to teammates
Requirements
- 5+ years of software development experience
- Strong computer science fundamentals
- Deep and wide knowledge of Python ecosystem
- Can write code that is readable, maintainable, secure and performant
- Know the importance of tests and how to approach writing different types of tests
- Good intuition for REST API design
- Deep understanding of relational databases, transactions, entity-relationship modeling
- Comfortable writing highly concurrent systems
- Experienced in using profilers, tuning garbage collection, optimizing SQL queries
Backend - Principal IC/Lead SDE
Minimum Requirements
- 8+ years development experience
- Solid Experience and knowledge of
- Coding and debugging using Object Oriented languages like Java, C++, Go or similar languages.
- Database design, Query optimizations, pitfalls (both SQL, NoSQL)
- Developing Scalable, distributed systems and patterns
- Developing REST and/or GraphQL based APIs
- Writing and driving Clean code in a team (via SOLID principles).
- Knowledge of writing unit tests
- NodeJS
Good to have
- Experience with GoLang/Python
- Experience with Microservices, designs and patterns
- Experience with Dockers/Kubernetes and orchestration
- Familiarity with Reactive programming and patterns like RxJs/RxJava, CQRS, Eventing systems
- Experience with automating DevOps lifecycle
- Proficiency with
Responsibilities
- Work with Product team and Drive design, development and deployment of the overall architecture and individual modules to support our Apps , website and internal tools
- Ensure the entire stack is designed and built for availability, speed, scalability, testability, debugging
- Design and development of our REST and GraphQL API
- implement and improve continuous integration and deployment
- Serve as a technical lead for the team
- Mentor team members
● Design and deliver scalable web services, APIs, and backend data modules.
Understand requirements and develop reusable code using design patterns &
component architecture and write unit test cases.
● Collaborate with product management and engineering teams to elicit &
understand their requirements & challenges and develop potential solutions
● Stay current with the latest tools, technology ideas, and methodologies; share
knowledge by clearly articulating results and ideas to key decision-makers.
Requirements
● 3-6 years of strong experience in developing highly scalable backend and
middle tier. BS/MS in Computer Science or equivalent from premier institutes
Strong in problem-solving, data structures, and algorithm design. Strong
experience in system architecture, Web services development, highly scalable
distributed applications.
● Good in large data systems such as Hadoop, Map Reduce, NoSQL Cassandra, etc.. Fluency in Java, Spring, Hibernate, J2EE, REST Services Ability to deliver code
quickly from given scenarios in a fast-paced start-up environment.
● Attention to detail. Strong communication and collaboration skills.
- Understand the fundamentals of Software Engineering, such as Data Structures, Algorithms, Design Patterns
- Ability to write Java applications using Spring, Springboot or any other microservices frameworks
- Experience in the development of REST applications, in Java or Kotlin
- Capable of writing effective APIs
- Solid knowledge of JVM fundamentals such as classloading, memory management, garbage collection
- Demonstrated experience in platform API design and development
- Knowledge on microservice and event-driven architecture
- Experience in working with version control frameworks such as Git (preferable), SVN
- Experience with NoSQL databases (MongoDB or Cassandra) & Relational Databases
- Solid understanding of TDD & Agile principles such as CI / CD, with a proven track record of implementing solutions centred around those concepts
- Excellent communication, collaboration, reporting, analytical and problem solving skills
- Expertise in software design and development.
- Proficiency with at least one Object Oriented language(e. g. Java)
- Experience with building high-performance, highly available and scalable distributed systems
- Experience with API Design, ability to architect and implement an intuitive customer and third-party integration story.
From the very beginning, Ally has believed that the right people united by the right mission can redefine the possible
Ally is a B2B SaaS startup. We enable teams to focus, align and achieve goals, with strong employee engagement. Our OKR solution is ridiculously easy to use and scalable to startups and larger teams.
We believe in being where the work happens. Ally is well integrated with the tools and products that we already use in our daily workflows. Further, you can access it from the web and mobile. Ally’s Insights identifies problems and helps the team make the necessary changes to achieve the goals on time.
We are looking for a Lead Software Engineer to join our Ally Engineering Team in Chennai, India.
What does a lead software engineer do at Ally?
As a lead software engineer, you will be the technical lead for a team that focuses on building software applications that scale well. You will play a significant role in shaping our software architecture that provides measurable customer value. You understand both technology and business to know the right tradeoffs to make. You will be a technical mentor for your team members. You will work closely with your peers, managers, product, design and operations teams to create solutions that meet business requirements. You will drive engineering and operational excellence across Ally. You will collaborate with other engineers to surface common pain points, develop solutions and evangelize best practices.
Qualifications
- 7+ years of professional software engineering experience building customer-facing web and/or mobile applications
- Strong coding skills using Ruby, Java, C/C++, Scala (or equivalent programming language)
- Excellent knowledge of Data Structures and Algorithms
- Bachelor or Master degree in Computer Science or a related discipline
- Experience working in an agile environment
- Self-starter, quick learner and passionate problem resolver
- Excellent debugging and troubleshooting skills, with an enthusiastic attitude to support and resolve customer problems
- Good oral and written communication skills
- Above all, an insatiable desire and ability to learn
Nice to have skills:
- Experience with large-scale SaaS applications
- Experience building web and mobile applications
- Experience designing services on top of cloud infrastructure like AWS, Azure, etc
- Knowledge of Ruby on Rails
- Prior experience as a technical lead
Additional Information
Benefits
- Ownership and autonomy to drive customer and culture initiatives
- Centrally located in the city; right next to Metro station
- Opportunity to get mentored and mentor junior engineers
- Competitive salaries
- Paid time off
- Medical insurance
BASIC QUALIFICATIONS
- Ability to design for scale
- Implement solutions for broadly defined problems
- Drive best practices and engineering excellence
- Development of code in object oriented languages like C++ and Java and build large scale robust distributed systems
- 3+ years experience building successful production software systems
- A solid grounding in Computer Science fundamentals (based on a BS or MS in CS or related field)
- Experience developing software services and an understanding of design for scalability, performance and reliability.
- Mastery of the tools of the trade, including a variety of modern programming languages (Java, JavaScript, C/C++) and open-source technologies (Linux, Spring)
- Proven ability to work in a fast paced, agile and in an ownership and results oriented culture.