Principal Software Development Engineer
- Degree in Computer Science (BS/MS), related technical field or equivalent practical experience
- 8+ years of industry experience in product development
- Experience in coaching and mentoring team members
- Must own a specific component of the product. Gathering requirements by working with product management. Working closely with development managers in defining external product interfaces
- Must have excellent written and verbal communication skills. Must articulate various design approaches and design decisions clearly - within the team and across the teams.
- Must work with QA engineers to devise proper test constructs - unit testing and integration tests.
About Streaming Data Integration Startup
Similar jobs
We are seeking a highly skilled Backend Developer to join our team and contribute to the development and improvement of both our customer-centric SaaS platform and internal systems. As a Backend Developer, you will be responsible for designing, implementing, and maintaining the server-side logic of our application, ensuring high performance, scalability, and security.
As a Backend Developer with expertise in Java, and PostgreSQL, you will play a critical role in developing and maintaining the backend infrastructure of our SaaS and internal platforms, ensuring its reliability, scalability, and performance. Join our team and be a part of building cutting-edge software solutions that empower our customers and drive business growth.
Responsibilities:
- Collaborate with cross-functional teams, including front-end developers, product managers, and designers, to understand project requirements and translate them into technical specifications.
- Design and develop server-side logic, APIs, and database schema to support the functionality and performance requirements of our SaaS platform.
- Write clean, modular, and well-documented code using any relevant programming language preferably Java with SpringBoot.
- Optimize the backend systems for maximum speed and scalability, ensuring high performance and responsiveness of the application.
- Implement data storage solutions using PostgreSQL or other relational databases, ensuring data integrity and security.
- Conduct thorough testing and debugging to identify and resolve any issues or bugs in the backend code.
- Stay up-to-date with emerging technologies, industry trends, and best practices in backend development and contribute to the continuous improvement of our development processes.
Requirements:
- Proven work experience as a Backend Developer or similar role, with a focus on server-side development.
- Proficiency in working with relational databases, particularly PostgreSQL, and writing efficient SQL queries.
- Familiarity with SaaS concepts and architecture.
- Experience with API design and development, including RESTful APIs.
- Solid understanding of software development principles, including object-oriented programming, design patterns, and data structures.
- Experience with version control systems, such as Git.
- Strong problem-solving and analytical skills, with keen attention to detail.
- Excellent communication and teamwork skills, with the ability to collaborate effectively with cross-functional teams.
- Bachelor's degree in Computer Science, Engineering, or a related field is preferred, but not mandatory.
Architect, develop and maintain highly scalable, reliable and secure distributed backend
systems on Cloud (AWS or Azure) or on-premises environments for its customers
and partners.
Work closely with your fellow engineers to develop systems capable of concurrently
processing massive amounts of voice data both in online real-time as well as offline
environments.
Drive accountability for test driven development, delivery of high-quality features and
resilient enterprise class solutions.
Lead a culture of team ownership and direct individual and team accountability to
continuously improve how they work to achieve results.
Work in a startup environment, pushing boundaries with deep involvement with business.
Requirements (what we are looking for)
The right person is better than the right set of experiences and these are the traits we’ve
identified make great additions to our team.
BE//BTech/ME/MTech in Computer Science or a related field from a Tier I or Tier II
University.
6-8 years of hands-on software development and deployment experience (experience of
working in a consumer product startup during its growth phase will be a plus) of which 1 – 2
years of experience would be in leading a team of software developers.
Expertise in Java 8+ and Spring Boot is a must
Good experience in messaging platforms like RabbitMQ/Kafka
Good experience in distributed systems and relational & NoSQL databases like PostgreSQL,
MySQL, Redis, MongoDB, etc.
Expertise in one or more of: Python, NodeJS, GoLang would be preferred
Must have hands on experience in products which handle multiple concurrent calls (API),
handle CPU intensive jobs, consist of multiple asynchronous system calls.
Worked on microservices based architecture and design
Managed/ Owned infrastructure on AWS/Microsoft Azure/private clouds and setup high
availability systems
Knowledge of Docker and Kubernetes
Knowledge of RESTful APIs, caching concepts, the HTTP protocol and general web
architecture
- 2+ year of experience in Development in JAVA technology.
- Strong Java Basics
- SpringBoot or Spring MVC
- Hands on experience on Relationl Databases (SQL query or Hibernate) + Mongo (JSON parsing)
- Proficient in REST API development
- Messaging Queue (RabitMQ or Kafka)
- Microservices
- Any Caching Mechanism
- Good at problem solving
- 4+ years of experience in using Java/J2EE tech stacks
- Good understanding of data structures and algorithms.
- Excellent analytical and problem solving skills.
- Ability to work in a fast paced internet start-up environment.
- Experience in technical mentorship/coaching is highly desirable.
- Understanding of AI/ML algorithms is a plus.
Must have 1+ Years of experience.
Location: Apart from the East Indian States it will be permanent work from home.
Requirements:
- Work experience as a Python Developer
- Expertise in at least one popular Python framework (like Django, Flask or Pyramid)
- Team spirit
- Good problem-solving skills
- BSc in Computer Science, Engineering or relevant field
At Embibe, we have just one mission - to truly personalize education. Because every child deserves it. This has led us to embark on this noblest of journeys to deliver life and learning outcomes for every student! Rooted in consumer behavior, we are leveraging AI and Data Science to deliver personalized achievement journeys for every student.
We are a tribe of intellectually fierce people from diverse backgrounds, focused on building cutting-edge products that empower everyone in the education ecosystem - students, teachers, educational institutes and parents. We enable a deeper understanding of student behavior, their strengths and weaknesses through analysis at a granular level. It is this shared vision of democratizing and personalizing education that unites us all.
Embibe is powered by AI and data science algorithms, using these contents being recommended across platforms and millions of learning outcomes delivered to students. Since its inception, millions of students have used the imbibe platform for learning concepts and outcomes. Academic users have spent 52mins on average with an average of 3 sessions daily. Embibe has been launched for 12 languages across India with support for 361 Exams (English), and 120 Exams (Hindi) for K6-K12 having 22.6L+ Qs and 58k+ Tests, 29k videos, 50k+ 3D assets. Embibe is the world's largest live online public sector implementation in edtech for test preparation, NTA app which is powered by Embibe has 3.1Mn+ downloads, and 14.3Mn hours spent by users with total 13.4Mn sessions and 1.64Bn attempts.SchoolApp is currently being used by 1000s of schools across India and we are planning to scale it to 100Mn students with 1Mn schools with 10Mn teachers in the period of the next 3yrs.
Prerequisite
We are looking for a Software Engineer across levels who have ever contributed to any large-scale systems be it content platform e.g. Quora/Medium, streaming platform e.g. Netflix or Hotstar, activity log system e.g. Twitter feeds or payment systems like Razorpay to name a few. I/O, Read-Writes, DB connections, Distributed Locking, Memory, Bandwidth, High Throughput, Low Latency and minimal CPU cycles excite you!! You are deep thinkers and can bring ideas to the table, before starting writing the code!!
Interested? We'd love to hear from you.
Who are you?
● 2-14yrs years of relevant large-scale product company experience ideally in a fast-moving B2C/B2B environment.
● Programming. Proficiency in object-oriented and multi-threaded programming in at least one of the following languages: Java, Python,React.js, Node.js, Next.js, PHP, Golang etc.
● Deep understanding & experience of high-performance web-scale & real-time response systems, and large scale distributed systems.
● CS Fundamentals – exposure to a wide variety of problem spaces, Good in Data Structures and Algorithms Design, Problem Solving.
● Open source contributors and can do quick POC of technologies will catch our eyes.
● Expertise in designing, implementing and operating distributed Systems architectures and concepts, especially on public cloud infrastructure (AWS/Azure)
● Demonstrated expertise in applying systems patterns (e.g., Client-server, N-tier, Master/Slave, MVC) and API constructions (e.g., Swagger, OpenAPI).
● Experience in a high-availability 24/7 environment (cloud platforms are a plus). Expertise should include several of the following:
○ High-performance,up-time (99.999%) and self-recoverable systems.
○ Control, orchestration and automation platforms leveraging containers or VMs. ○ RPC frameworks (e.g., Protobuf/gRPC, Thrift, Bond)
● Experience with one or more Data Stores like (MySql, Postgres ) and NoSQL DataStores ( Mongo, Cassandra, Scylladb, Hbase, Redis, Aerospike etc.).
● Experience with Agile software development, TDD, and Continuous Integration. ● Experience in building Web/RESTFul/GraphQL services.
● Sound knowledge of *Nix, ORM(Hibernate, JPA), Spring ecosystem, Messaging platforms like Kafka/RMQ, build framework like Maven/Gradle etc.
● Very strong system design and object-oriented skills with a nifty ability to craft clean interfaces and operate at the right levels of abstraction.
● Solid coding skills with the ability to drive teams through massive refactoring exercises & improve coding standards across large code bases.
● Deep knowledge, understanding & experience of working with a large variety of multi-tier architectures. Awareness of pitfalls & use cases for a large variety of solutions. ● Exposure to complete product development cycles – from inception to production to scaling up, supporting new requirements, and re-architectures.
● Having experience building web infrastructure in cloud environments (such as AWS or Azure/GCP) is a plus. You understand and are always excited about learning new e.g.docker, Kubernetes.
● Education. M.Tech/M.Eng in Computer Science/Engineering or B.Tech/B.E in the same disciplines with equivalent years of experience would be a plus.
We'd particularly love it if:
● You’re a steward for engineering quality, reliability, scalability, availability, maintainability, flexibility habits and mindset in the organization under your purview, You know SOLID,12 factor App and Design Principles which you can apply or help the team in applying as needed. You can assure that our architectures are consistent with industry best practices. ● Version control tools like Git, SVN etc are good to have.
● Gather, understand, and prioritize requirements, research potential solutions, rapidly build prototypes, and distill and communicate what was learned, expected risks, resources & security concerns.
● Mentoring more junior engineers to instill engineering best practices and driving high standards in documentation, code reviews, design reviews, architecture discussions and strategy roadmap development.
● Actively participate in development along with team members - creating modules & systems that can then be treated as a working reflection of the best practices.
● Set the vision of the domain architecture and technology stack for technology in your organization, You understand LLD and HLD.
● Be an evangelist for technology - drive a culture of curiosity and active debate around technology in your organization.
● Experiment with new & relevant technologies and tools, and drive adoption while measuring yourself on the impact you are able to create.
Note: We just use degrees to measure the Temperature!!
REQUIREMENTS
- 5+ years of non-internship professional software development experience
- 1+ years of exposure to the architecture and design (design patterns, security, reliability and scaling) of new and current systems.
- Bachelors/Masters degree in computer science or other related fields
- Programming experience with at least one modern language such as Java or Python including object-oriented design
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.
- Proven ability to take initiative and dive into new areas of technology.
- Passion for learning, analysing technology trade-offs and shipping products.
- Knowledge on SQL, NOSQL databases and AWS deployments is a plus
- Strong sense of ownership, urgency and drive
- Ability to work well with people and be both highly self motivated and motivating
- Must be independent and comfortable in a fast paced, ambiguous and often multi-directional work environment
JOB RESPONSIBILITIES
- You will build cutting-edge secure and scalable systems by writing simple and efficient code.
- You will push your design and architecture limits for new product development.
- You will be the owner of your feature and work directly with product teams to drive customer impact.
- You will ensure that the systems you oversee are secure, fault-tolerant and are performing reliably at high volumes.
- Constantly look at possibilities to improve the overall functioning of the product.
- You possess a strong desire to learn and contribute solutions and ideas to a broad team
- You are independent and comfortable in a fast paced, ambiguous and often multi-directional work environments
- You will manage multiple tasks and use sound judgment when prioritizing
- You can collaborate with globally-located cross functional team in building customer-centric products
- You will analyze existing software implementations to identify areas of improvement and provide estimates for implementing new features
- Full stack experience is a plus
- Understanding of complete SDLC and Agile methodologies
- Domain expertise in Financial Services, Banking or Payments
- Code Quality –Code Hygiene (Coverage, Complexity, Usability)
- Collaboration –Strong peer review standards
WHAT YOU’LL BE DOING:
- Compile and analyze data, processes, and codes to troubleshoot problems and identify areas for improvement.
- Collaborate with the front-end developers and other team members to establish objectives and design more functional, cohesive codes to enhance the user experience.
- Develop ideas for new programs, products, or features by monitoring industry developments and trends.
- Record data and report it to proper parties, such as clients or leadership.
- Participate in continuing education and training to remain current on best practices, learn new programming languages, and better assist other team members.
- Take the lead on projects, as needed.
- Be involved and participate in the overall application lifecycle.
- Build high-quality reusable code that can be used in the future.
- Develop functional and sustainable web applications with clean codes.
- Conduct UI tests and optimize performance.
- Manage cutting-edge technologies to improve applications.
QUALIFICATIONS:
- Bachelor’s degree in Computer Science, Computer Programming or relevant field. Master’s Degree in a related field is preferred.
- 5-7 years of relevant experience
- Must be an expert programmer, skilled at computer languages such as HTML, C+++, C#, PHP, Python and Java.
- Must understand Spring Core, Spring Boot, Spring MVC, Spring Data, JMS, Mysql, Redis, CouchDb, Micro Services, Docker, Kubernetes
- Must be able to interpret and follow instructions related to the ultimate functionality of our IT-based product
- Familiarity with front-end languages such as HTML, JavaScript and CSS
- Must be comfortable with technology architecture and how a computer and its software functions.
- Deadline driven, organized and understand how people view and understand content on the front-end
- Proven experience in highly complex environments
- Strong technical documentation skills
- An ability to solve multifaceted technical issues in a fast-paced environment
- Self-motivated and accountable for your work
- Passionate about learning and continuous improvement
- Excellent written and verbal communication skills
- Ability to work overtime
About Card91
Card91 is simplifying business payments by providing a plug and play issuance infrastructure to businesses for domestic and cross-border payments. Our full stack platform enables businesses to gain control and visibility into their payment flows, controlling the entire payment lifecycle from onboarding, to issuance, to transaction and data reconciliation. The platform aims to provide holistic solutions around payment issuance and distribution management. Our deep focus in payments will help us in bringing new issuance formats as well as technologies to businesses.
The company has been founded by seasoned technology entrepreneurs who have founded successful companies like Myntra, Mastiff Tech earlier. Headquartered in Bangalore, with presence in Mumbai and NCR, Card91 aims to disrupt the payment infrastructure space in the issuer-processor segment.
About the role
Our core issuance and processing system runs on Java. This system is responsible for powering the card issuance and management user experience as well. We are using Spring Boot stack for building our services.
The issuance backend team will be a small team of 2-4 developers, with a meaty responsibility to bring the user experience to life. It will be a hands-on role where every member of the team enjoys writing high quality code, and thrives on each other's experience.
If the following broad attributes sound like you, we would love to talk to you
-
4-6 years experience in backend services in Java.
-
Strong understanding of relational databases.
-
Ability to develop clean data models for complex problem domains.
-
Pragmatic approach to architecture and design - knowing when it is ok to deviate from
said best practices in the interest of practicality.
-
Above average writing and communication skills in English. Enjoy writing crisp and understandable documentation.
Why you should join
-
You enjoy working in smaller teams. We are a startup, and we believe that smaller teams are a super-power. There is lesser management overhead, and more talk about the work that matters.
-
You care about end-user and developer experience - and how the backend impacts that. Working backwards from what the user experience demands, rather than giving up to the path of least resistance.
-
We pay well (above market average). We are sufficiently capitalised by some prestigious investors in the Fintech space and we are looking at the long game. It is a fun and exhilarating journey ahead and we look forward to having some great team mates!
Responsibilities
- Build and mentor the platform team at Checko.
- Own the design, development, testing, deployment, and craftsmanship of the team’s infrastructure and systems capable of handling massive amounts of requests with high reliability and scalability
- Leverage the deep and broad technical expertise to mentor engineers and provide leadership on resolving complex technology issues
- Entrepreneurial and out-of-box thinking essential for a technology startup
- Guide the team for unit-test code for robustness, including edge cases, usability, and general reliability
Requirements
- Must have design, development, testing, deployment of systems capable of handling massive amounts of requests with high reliability and scalability
- Must have strong command in writing production-level code in Java or Python including skills in debugging, performance analysis/optimization and memory usage optimization
- Must have worked with real-time web/mobile applications and event-driven architectures
- Must have experience working with relational and non-relational databases and understanding their data models and performance tradeoffs.
- Must have solid engineering principles and a clear understanding of data structures and algorithms
- Should have knowledge of service-oriented architecture, caching techniques, micro-services, and distributed systems
- Should have basic understanding of C++/reactJS/Angular/Node
Desired Skills and Experience
Algorithms, debugging, performance optimization on low-end processors, data structures, REST, service-oriented architecture.