
- Write a significant amount of code for new and existing databases and related systems
- Scale and own these backend systems and databases
- Ship high-quality code and architecture
- Mentor engineers on the team, developing their skills and helping advance their careers
- Work with the founders to flesh out the future of the product
- Help shape the future of our engineering organization
Requirements
- A passion for working on deeply technical projects and wanting to work on distributed systems, concurrency & parallelism, replication protocols, file systems & correctness
- You have been building applications for 5+ years with C/C++ or Rust and have significant backend, database, or systems-level programming experience
- You have a BS/MS/Ph.D. in a scientific field or equivalent experience
- You want to work in a fast-paced, high-growth startup environment that respects its engineers and customers
- You are comfortable working with a 100% distributed engineering team, collaborating on GitHub, Slack, Zoom, etc. in the open and as a self-starter
Bonus points:
- Experience working on databases or other storage systems internals
- Experience with Apache Arrow, Apache Parquet
- Know how columnar databases work
- Know how to convert an algorithm to use SIMD instructions
- Good knowledge of Linux internals
- You’ve contributed to open-source libraries and actively participate in the development community (blogging, giving talks, meetups, tweeting, etc.)

Similar jobs
Position Title : Senior Rust Developer
Location : Gurugram
Employment Type : Full-time (6 days/week)
Experience :
- Minimum 5 years of professional software development experience.
- At least 3 years of dedicated experience working with Rust.
Technical Skills :
- Strong proficiency in Rust.
- Solid understanding of object-oriented programming concepts.
- Familiarity with Rust development tools, libraries, and frameworks.
We are looking for a Rust Developer to join our cutting-edge development team as it grows. The candidate must be comfortable working in an agile environment and can take the lead when necessary.
Responsibilities:
- Responsible for developing the product as per the product specification defined by the product managers
- Responsible for performing research on the best methods of implementing the requirements
- Author and curate technical documentation to support delivery, maintenance, and adoption
- Work with programmers, engineers, and management heads to identify process improvement opportunities, propose system modifications, and devise governance strategies to optimise the overall performance
- Design and develop automated deployment and maintenance mechanisms
- Solving development challenges and making architectural decisions by understanding the larger picture of the project goals
- Expanding your existing skill set, and picking up on various rust-dependent frameworks
- Confidently communicating and collaborating with your fellow developers in an office set-up.
Requirements:
- Must have experience in Rust programming language
- Have excellent knowledge of different data structures and algorithms
- Working knowledge of any other programming language Python, Java, or JavaScript is good to have
- Experience with, or understanding of, Kafka or Redis, Cloud infrastructure services, and Docker is an added advantage
- Experience with SQL or NoSQL databases, MySQL, MongoDB, Elasticsearch, etc.
- Experience in Backend and APIs development
- Experience in analysing and optimising the platform's performance
Experience 2- 6 years within SW development
Excellent C/C++ and object-oriented programming skills
Excellent design analysis skills, including experience with software modeling,
Excellent on Linux for CLI or SNMP management related layer for L2 or L3 switches
Experience in telecom is a plus
Flexible, innovative, and driven
Structured and thorough with analytical and troubleshooting skills
Highly motivated team player
Agile way of working
.
Job description
Responsibilities:
Designing and developing user interfaces using C++.
Adapting interface for modern internet/web applications using the latest C/C++.
Having experinced in Linux.
Making complex technical and design decisions for C/C++ projects.
Development using C/C++ latest versions & Linux.
Participate in development from concept to execution to launch and ensure the application fully serves the needs of the end-user
Work with the team to gain an initial understanding of the desired solution, and iteratively
Develop documentation, provide technical assistance and support as required
Technical Key Skills:
A strong fundamental knowledge of C/C++ development
Extensive knowledge in Linux.
Thorough orientation towards Code reviews, Coding standards, Design Standards, and Code Documentation
Knowledge in design patterns
Should have worked on enterprise-class applications
Excellent team player and strong interpersonal communication skills.
- Working with Databases and Linux platform
- Understanding algorithms, databases and their space and time complexities
- Writing unit and integration tests with reasonable coverage of code and interfaces
- Solving complex and interesting problems
- Taking up a high level of ownership and commitment towards the business and product vision
What you need to have:
- Minimum 1-year experience
- Strong problem-solving skills
- Good understanding of data structures & algorithms and their space & time complexities
- Strong hands-on and practical working experience with at least one programming language: C/Java/C++/C#
- Excellent coding skills – should be able to convert the design into code fluently
- Strong technical aptitude and a good knowledge of CS fundamentals
- Hands-on experience working with Databases and Linux platform is a plus
- B-Tech in Computer Science or equivalent from a reputed college
- Good experience in at least one general programming language (Java, Ruby, Clojure, Scala, C/C++, Python and SQL)
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.
- Have a penchant for solving complex and interesting problems, Worked in startup like environment with high levels of ownership and commitment
- Excellent coding skills – should be able to convert design into code fluently
- Good skills to write unit & integration tests with reasonable coverage of code & interfaces
- TDD is a plus
Role- Software Development Engineer-2
As a Software Development Engineer at Amazon, you have industry-leading technical abilities and demonstrate breadth and depth of knowledge. You build software to deliver business impact, making smart technology choices. You work in a team and drive things forward.
Top Skills
- You write high quality, maintainable, and robust code, often in Java or C++ or C#
- You recognize and adopt best practices in software engineering: design, testing, version control, documentation, build, deployment, and operations.
- You have experience building scalable software systems that are high-performance, highly-available, highly transactional, low latency and massively distributed.
- Roles & Responsibilities
- You solve problems at their root, stepping back to understand the broader context.
- You develop pragmatic solutions and build flexible systems that balance engineering complexity and timely delivery, creating business impact.
- You understand a broad range of data structures and algorithms and apply them to deliver high-performing applications.
- You recognize and use design patterns to solve business problems.
- You understand how operating systems work, perform and scale.
- You continually align your work with Amazon’s business objectives and seek to deliver business value.
- You collaborate to ensure that decisions are based on the merit of the proposal, not the proposer.
- You proactively support knowledge-sharing and build good working relationships within the team and with others in Amazon.
- You communicate clearly with your team and with other groups and listen effectively.
Skills & Experience
- Bachelors or Masters in Computer Science or relevant technical field.
- Experience in software development and full product life-cycle.
- Excellent programming skills in any object-oriented programming languages - preferably Java, C/C++/C#, Perl, Python, or Ruby.
- Strong knowledge of data structures, algorithms, and designing for performance, scalability, and availability.
- Proficiency in SQL and data modeling.
About Amazon.com
“Many of the problems we face have no textbook solution, and so we-happily-invent new ones.” – Jeff Bezos
Amazon.com – a place where builders can build. We hire the world's brightest minds and offer them an environment in which they can invent and innovate to improve the experience for our customers. A Fortune 100 company based in Seattle, Washington, Amazon is the global leader in e-commerce. Amazon offers everything from books and electronics to apparel and diamond jewelry. We operate sites in Australia, Brazil, Canada, China, France, Germany, India, Italy, Japan, Mexico, Netherlands, Spain, United Kingdom and United States, and maintain dozens of fulfillment centers around the world which encompass more than 26 million square feet.
Technological innovation drives the growth of Amazon, offering our customers more selection, convenient shopping, and low prices. Amazon Web Services provides developers and small to large businesses access to the horizontally scalable state of the art cloud infrastructure like S3, EC2, AMI, CloudFront and SimpleDB, that powers Amazon.com. Developers can build any type of business on Amazon Web Services and scale their application with growing business needs.
We want you to help share and shape our mission to be Earth's most customer-centric company. Amazon's evolution from Web site to e-commerce partner to development platform is driven by the spirit of invention that is part of our DNA. We do this every day by inventing elegant and simple solutions to complex technical and business problems. We're making history and the good news is that we've only just begun.
The role of software engineer here is, to develop the application software that is being used on compactors and to do thorough software testing methodically. Expertise is needed on both embedded & application development.
- Expertise on Object oriented programming.
- Highly proficient in C# & C++. Expertise on .NET Framework, ASP.NET, JavaScript, HTML & CSS.
- Proficient in windows frameworks like WPF, WCF, etc for developing desktop applications.
- Knowledge on Microsoft Azure / other cloud technologies.
- Good knowledge on C programming and some exposure to embedded software development.
- Good at unit testing and testing frameworks like gmock, gtest, etc.
- Good at developing solutions in efficient way. Good at solving problems, quick grasper & solid analysis skills.
- Automating manual activities, drive the test automation strategy by architecting new solutions.
- Analyse test results and debug test failures in fast & efficient manner.
- Strong interpersonal & communication skills – written, verbal and presentation.
Your Impact
This team is accountable for platform architecture evolution to meet the evolving needs of different business lines globally with rapid software deployment. As stewards of critical components in order execution and post-trade, the team is accountable for a high degree of software quality. The team consists of self-guided pragmatic individuals who are motivated to change the status quo in calculated ways.
As a member of the team, you will play an integral role on the trading floor. This is a dynamic, entrepreneurial team with a passion for technology and the markets, with individuals who thrive in a fast-paced changing environment. The team takes a data driven approach to decision making and you should be willing to participate in the full product lifecycle from requirements gathering, design, implementation, testing, support, and monitoring trading performance for systems and strategies used by our clients.
RESPONSIBILITIES AND QUALIFICATIONS
Responsibilities
+ Design, build and maintain low latency, high-performance electronic trading platform components, with a focus on market data, exchange and client connectivity and risk controls.
+ Deliver continuous optimization for latency, scale and resiliency improvements.
+ Participate in system builds for various markets globally, have curiosity and interest in understanding market microstructure details, work closely with engineering, sales and product teams globally for successful delivery of projects.
+ Basic Qualifications
+ Bachelors or Masters degree in computer science or engineering or equivalent experience
+ 3+ years of professional experience developing deterministic high performance, low latency systems in C++ (counted in single digit microseconds)
+ Prior experience with FIX and binary exchange connectivity and market data protocols preferred
+ Strong knowledge of object oriented programming, data structures, algorithms and design patterns
+ Critical path analysis, performance optimization and hardware acceleration.
+ Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack
+ Experience developing distributed architecture systems and messaging protocols
+ Strong analytical and problem solving skills
+ Comfortable in a fast-paced environment, self-motivated, results driven and commercially focused
Preferred Qualifications
+ Software development in C++ in the context of high performance (low-latency, high-throughput) real-time computing.
+ Familiarity with STL and C++11/14 language extensions, Boost
+ Network programming (sockets, TCP/UDP/Multicast protocols)
+ Multi-threading, concurrent programming
+ Intimate knowledge of compilers, flow of data at hardware level (memory/caches, buses) + Some experience with FPGA or other hardware acceleration technologies
+ Experience processing large static datasets as well as high volume ticking data sources + Over 3 years' experience in Financial industry(Good to have)










