
About Niki.ai
About
Connect with the team
Similar jobs
- Develop, enhance, and maintain Java-based applications using Spring Boot and related frameworks.
- Design, implement, and optimize Microservices with RESTful APIs.
- Build and manage Spring Batch jobs, including scheduling, chunk processing, partitioning, and error handling.
- Apply object-oriented design (OOD) and GoF design patterns (Factory, Singleton, Strategy, Observer, etc.).
- Write clean, maintainable, and scalable code following best coding standards.
- Integrate applications with databases (SQL/NoSQL) and messaging systems (Kafka/RabbitMQ).
- Participate in code reviews, technical discussions, and architectural decisions.
- Troubleshoot production issues and ensure application performance, scalability, and reliability.
- Work in an Agile/Scrum environment and collaborate with cross-functional teams.
Technical Skills Required
- ** Core Java 8+**, OOP, Collections, Multithreading
- ** Spring Boot**, Spring MVC, Spring Data JPA
- ** Spring Batch** (Job/Step configuration, Tasklets, Readers/Writers, partitioning)
- ** Microservices** (REST, API Gateway, service discovery, resilience patterns)
- ** Design Patterns** (Factory, Singleton, Adapter, Strategy, Builder, Observer, etc.)
- ** Databases:** MySQL/PostgreSQL/Oracle, MongoDB (optional)
- ** Messaging:** Kafka / RabbitMQ (preferred)
- ** Build tools:** Maven/Gradle
- ** CI/CD:** Jenkins, GitLab CI, or similar
- ** Cloud:** AWS / Azure / GCP (optional but preferred)
- ** Testing:** JUnit, Mockito
WHAT YOU’LL DO:
- Lead in the design and development of robust, scalable, and efficient software solutions, ensuring the highest standards in all aspects of software development.
- Design and implement high-quality, test-driven, scalable backend code for various client projects using TypeScript and Nest.js Develop and maintain APIs to support consuming teams.
- Work closely with frontend teams to optimize REST API integrations, ensuring efficient data fetching and caching strategies.
- Create and maintain documentation, implement and follow best practices for development workflow.
- Partner closely with Project Managers and other teams to ensure the successful delivery of significant software projects, coordinating resources and managing timelines for smooth project execution.
- Efficiently prioritizes and plans complex tasks, and influences a respectful, inclusive work environment, fostering continuous learning and growthContribute innovative ideas to ensure we deliver the best solutions for our clients.
- Act as a technical mentor to more junior engineers, fostering a culture of continuous learning and improvement.
WHAT WE’RE LOOKING FOR:
- Strong proficiency in English (written and verbal communication) is required.
- Experience working with remote teams in North America and Latin America, ensuring smooth collaboration across time zones.
- Deep expertise with Typescript and NestJs framework.
- Experience with authentication workflows and authorization mechanisms (OAuth, JWT)Experience with testing frameworks and best practices, including unit testing, integration testing, and e2e testing.
- Solid understanding of web technologies in general.
- Solid understanding of backend design patterns.
- Experience with designing applications that use and consume databases (SQL, ORM, etc).
- Extensive experience with building and maintaining versioned APIs Strong knowledge of GCP or other equivalent cloud platforms.
- Understanding of containerization technologies for development environments.
- Experience with messaging systems and patterns, ideally with tools like Google Pub/Sub or equivalentExperience with CI/CD pipelines for deployments (GitHub Actions preferred).
- Knowledge of security best practices, including CSP and OWASP Top 10, Ability to communicate effectively with technical and non-technical stakeholders.
- You should feel comfortable explaining technical concepts in simple terms.
- Experience working in fast-paced, Agile environments, balancing priorities across multiple projects.
- Experience mentoring junior engineers and leading development teams.
Nice to Haves:
- Experience with Algolia, Ninetailed, and Salsify
- Experience with front-end technologies like React and frameworks like NextJs
- Experience with Terraform and DevOps principles
- Certification in Cloud Development on any modern platform
Software Engineer – Tech Lead
- You are your own master. We don't preach you, we just allow you to Innovate, Iterate, Learn and Adapt
- Work with one of India's leading fintech unicorn company
- ESOPs in the company
Requirements
- 6+ yrs of exposure in the art of writing code and solving problems on large scale.
- Should be language agnostic, with extensive and expert programming experience in any one programming language (strong OO skills preferred).
- Deep experience in at least one general programming language. Preferred (Java,Scala, C++)
- A solid foundation in computer science, with strong competencies in data structures,
algorithms, and software design.
- Worked end to end on 2-3 complex projects
- Worked in startup like environment with high levels of ownership and commitment
- Experience in building highly scalable business applications, which involve implementing
large complex business flows and dealing with huge amount of data.
- Extensive experience on working with distributed technologies like Kafka, MongoDb,
Redis/Aerospike, MySQL, AWS etc
- Experience with multi-threading and concurrency programming
- Ability to switch between the technologies and learn new skills on the go.
Roles and responsibilities
Drive discussions to create/improve the product, process and technology
- Build abstractions and contracts with separation of concerns for a larger scope
- Rapid prototyping
- Robust and scalable web-based applications
- Do high-level design with guidance; Functional modelling, break-down of a module
- Thinking platforms & reuse, the open-source contribution will be a plus
- 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
This person MUST have:
- B.E Computer Science or equivalent
- 5 years experience with the Django framework
- Experience with building APIs (REST or GraphQL)
- Strong Troubleshooting and debugging skills
- React.js knowledge would be an added bonus
- Understanding on how to use a database like Postgres (prefered choice), SQLite, MongoDB, MySQL.
- Sound knowledge of object-oriented design and analysis.
- A strong passion for writing simple, clean and efficient code.
- Proficient understanding of code versioning tools Git.
- Strong communication skills.
Experience:
- Min 5 year experience
- Startup experience is a must.
Location:
- Remote developer
Timings:
- 40 hours a week but with 4 hours a day overlapping with client timezone. Typically clients are in California PST Timezone.
Position:
- Full time/Direct
- We have great benefits such as PF, medical insurance, 12 annual company holidays, 12 PTO leaves per year, annual increments, Diwali bonus, spot bonuses and other incentives etc.
- We dont believe in locking in people with large notice periods. You will stay here because you love the company. We have only a 15 days notice period.
We are looking to hire a Full-time, Remote (India) Backend engineer with a flair for writing full stack code to help create a SAAS product from the ground up in a niche industry.
This will be the v2.0 of an existing legacy platform with paying customers. This position is within the first few hires in the founding team of the revamped company.
We are on a mission to build a truly world class product and deliver at high speeds with high quality.
Read on and apply for the job if you are a doer, likes no BS, think you're competent enough to get things done, wants some quiet time every day, wants to make a difference, values work life balance and enjoy life outside work.
Experience -
At least 3 to 4 years building scalable SAAS applications in the cloud. It would be great to showcase anything progressive. Education from premier institutions, git contributions, tech blogs, volunteering, pet projects, etc.
Responsibilities -
- Architect, write, deploy and own the (SAAS) product from a technical standpoint working closely with other devs on the team
- Create and deliver the product end-to-end all the way to the user
- Write highly performant code and continuously measure performance and make the application better based on benchmarks
- Debug production issues and keep the application quality high always
- Assist with hiring more people when the team grows
- Pick up any appropriate work as in any early-stage company
General Skills Needed -
- Should be able to build and deploy multi-tenant SAAS applications end to end
- Need to have a technology-agnostic mindset. Should be able to easily pick up any new technology based on the use case.
- Should be an expert software craftsman/craftswoman. Must own the code and be proud of what you build.
- Write well thought out, well-tested code with extensive unit tests and integration tests so that the addition of future features is easy.
- Must know cloud deployment concepts and be comfortable creating and maintaining cost-effective cloud deployment strategies. AWS experience highly preferred.
- Must be able to design and architect simple, market-tested yet highly scalable solutions
- Must be able to quickly iterate and produce working software at a high speed. Must not be shy to scrap and rebuild when there is a need
- Must be appreciative of documentation and write well-documented code and technical documentation alongside
Technical Skills Needed -
- Expert level knowledge in Python and Django. We are a Python/Django/Javascript/ReactJs/AWS shop.
- Must have good knowledge/experience in creating cost-efficient and scalable cloud deployments (AWS preferred)
- Must have good knowledge of industry-standard design patterns and tools
- Must have a good understanding of various frameworks on authentication and authorization, billing and metrics
- Some experience in data analytics and reporting - creating reports based on the data collected and deliver to the frontend
- Expertise with Frameworks
- Django, or similar backend frameworks
- PostgreSQL, MySQL, any NoSQL or other database technology
Job Perks
Perks -
- Opportunity to build a SAAS product from the ground up. Lots of challenges to tackle on
- Work remotely from anywhere within India
- Emphasis on work-life balance and professional development
- Flexible work hours and a lot of autonomy
- Work with a very informal team collaborating over slack. No meaningless meetings. Focus on getting things done and not hours put in
- Opportunity to grow the team with the company
- Market salary and a yearly bonus outside the salary based on company + individual performance
- Generous PTO plan
Job description
We are looking for a passionate Software Development Engineer to develop, test, maintain and document program code in accordance with user requirements and system technical specifications. As a Software Development Engineer, you will work with other Developers and Product Managers throughout the software development life cycle.
Software Development Engineer responsibilities include analysing requirements, define system functionality and writing code in the companys current technology stack. The candidate is expected to be familiar with the software development life cycle (SDLC) process from preliminary system analysis to tests and deployment. Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with coding standards and technical design. Your goal will be to build efficient programs and systems that serve user needs.
To be qualified for this role, you should hold a minimum of Bachelor’s degree in a relevant field, like Computer Science, IT or Software Engineering. You should be a team player with a keen eye for detailed and problem-solving skills. If you also have experience in SDLC, Agile frameworks and popular coding languages (e.g., Java), strong computer science fundamentals we’d like to meet you.
Years of experience : 2 to 10 years.
Roles & Responsibilities
The overview of this position (based in Chennai, India) includes:
- Develops, enhances, debugs, supports, maintains and tests software applications that support business units or supporting functions. These application program solutions may involve diverse development platforms, software, hardware, technologies and tools.
- Participates in the design, development and implementation of complex applications, often using new technologies.
- Technology professional with experience in designing and managing the implementation of future looking, flexible and reusable, enterprise applications and components.
- Expert in translating business requirements into an application design that includes Data Model, Web Screens, Web Services, and batch processing.
- May provide technical direction and system architecture for individual initiatives.
- Serves as a fully seasoned/proficient technical resource.
- Deploy programs, gather and evaluate user feedback
- Recommend and execute improvements
- Create technical documentation for reference and reporting
- Develop software verification plans and quality assurance procedures
- Document and maintain software functionality
- Ensure software is updated with latest features
- Good interpersonal and technology understanding skills
- Evaluate open-source components and integrate into product pipeline
Skills and Qualifications
- Hands-on experience in analysis, design, coding, and implementation of complex, custom-built applications.
- Strong Java, development skills (JAVA, J2EE, STRUTS, SPRING, Web Services, Eclipse, UI screens, AngularJS, React.JS)
- Excellent debugging skills
- Strong knowledge on databases (MySQL, MSSQL Server and NoSQL databases)
- Understanding of various deployment servers (Apache Tomcat is a must)
- Understanding of OO skills, including strong design patterns knowledge is a must.
- Strong understanding in creating and maintaining web services.
- Understanding of the software development life cycle
- Experience with Implementation and release management activities
- Good understanding of unit/system and functional testing methodology
- Experience working in large transaction-based systems
- Knowledge of software best practices, like Test-Driven Development (TDD) and Continuous Integration (CI)
- Experience documenting technical functions
- Desire to contribute to the wider technical community through collaboration, coaching, and mentoring of other technologists.
- Experience in Linux based systems, development of shell-based scripts.
Job Training
- Training on the coding paradigms, guidelines, frameworks, usage of the applications would be provided by the engineers
- Periodic training sessions would be conducted by the technical architects in terms of technology and skills to be learnt
- Periodic, structured training would be provided on the applications Hours & Environment
- Typical 40 hours of work a week
- Depending on the requirements, work hours may have to be extended during the day, weekend
You will be responsible for designing, developing, testing, and debugging responsive mobile and web applications.
Qualifications Required -
· Bachelor's degree or equivalent in Computers
· Experience - 3-4 Years
· Some experience with Mobile App development will be plus
Skillsets:
- Experience in with Node.js, Express.js, REST API
- Experience with NoSQL database - MongoDB
- Experience with AWS services
Technologies
Must have Core JAVA, J2EE, Multithreading, OOPS, and Multiprocessing
Great to have RabbitMQ, Netty, XML, JSON, Messagepack
Huge Advantage: Good at mathematics, statistics, complex data structures, algorithms, and design patterns
Other skills
- Ability to understand most complex and challenging problems and solve them from users’ view point
- Ability to create and present software designs (as per the aligned solution) to the product owner
- Ability to build and create modules from scratch.
- Ability to write, understand and deal with large code base
- Experience in understanding and implementing design patterns
- Ability to provide technical leadership to a team of equally talented, efficient and motivated engineers
Roles and responsibilities
- Responsible for solving the most complex and seemingly impossible problems related to variety of dimensions of software engineering. Dealing with Big Data to Complex Data Structures, From Inter Process Communication to sub 100 MilliSec server responses, From Distributed Systems to 99.999 Availability.
- Responsible for providing technical leadership to a team of 3-4 Engineers
- Responsible to drive delivery of a project/module and report to Product Owner
- Responsible for functional/technical tracking of a project/module
Responsibility Split
- 80% Technology, 20% Team management
- With 80:20 split this is definitely a technology oriented role suitable for geeks.









