Software Development Engineer – SDE 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 India
About
Amazon is guided by four principles: customer obsession rather than competitor focus, passion for invention, commitment to operational excellence, and long-term thinking. We are driven by the excitement of building technologies, inventing products, and providing services that change lives. We embrace new ways of doing things, make decisions quickly, and are not afraid to fail. We have the scope and capabilities of a large company, and the spirit and heart of a small one.
Together, Amazonians research and develop new technologies from Amazon Web Services to Alexa on behalf of our customers: shoppers, sellers, content creators, and developers around the world.
Our mission is to be Earth's most customer-centric company. Our actions, goals, projects, programs, and inventions begin and end with the customer top of mind.
You'll also hear us say that at Amazon, it's always "Day 1." What do we mean? That our approach remains the same as it was on Amazon's very first day - to make smart, fast decisions, stay nimble, invent, and focus on delighting our customers.
Company video
Photos
Connect with the team
Company social profiles
Similar jobs
Mandatory Skills:
- C++/GPU
- Experience working on products hardware based/embedded.
Key Responsibilities:
- Develop new features using Modern C++, Object-oriented design practices
- Maintain and improve existing C++ codebase (1.5 million lines), running on Linux
- Take responsibility for code quality by providing well-designed unit tests
- Optimize code performance by measuring resource utilization
- Participate in merge-request reviews
- Develop system tests in Python
- Hands on debugging using third-party video and network equipment
- Be a team player who is willing to make mistakes, learn, improve, and accept feedback
Requirements:
- Bachelor’s degree in Computer Science, Electronics or related fields
- 3-5 years of experience with strong programming logic, code analysis/ debugging and problem-solving skills
- Proven software design experience for complex codebases systems
- Expertise in Modern C++ and Object-Oriented software development
- Comfortable developing design for new features, task breakdown and estimation skills
- Comfortable developing on Linux
- Comfortable following git-flow process
- Good written and verbal communication skills
Additional Skills:
- Experience in GPU programming - OpenCL, CUDA, Halide
- Embedded development and debugging experience
- Understanding of real-time processing constraints
- Understanding of continuous-integration principals and tools (such as Jenkins)
- Experience with Cmake
Responsibilities:
- Lead simultaneous development for multiple business verticals.
- Design & develop highly scalable, reliable, secure, and fault-tolerant systems.
- Ensure that exceptional standards are maintained in all aspects of engineering.
- Collaborate with other engineering teams to learn and share best practices.
- Take ownership of technical performance metrics and strive actively to improve them.
- Mentors junior members of the team and contributes to code reviews.
Requirements:
- A passion to solve tough engineering/data challenges.
- Be well versed with cloud computing platforms AWS/GCP
- Experience with SQL technologies (MySQL, PostgreSQL)
- Experience working with NoSQL technologies (MongoDB, ElasticSearch)
- Excellent Programming skills in Python/Java/GoLang
- Big Data streaming services (Kinesis, Kafka, RabbitMQ)
- Distributed cache systems(Redis, Memcache)
- Advanced data solutions(BigQuery, RedShift, DynamoDB, Cassandra)
- Automated testing frameworks and CI/CD pipelines Infrastructure orchestration(Docker/Kubernetes/Nginx)
- Cloud-native tech like Lambda, ASG, CDN, ELB, SNS/SQS, S3 Route53 SES
Exp-Min Year
Location Kolkata-On site & Remote
Sal-Nego
JD
Hands on design and in depth development experience in Microsoft NET
· technologies including C#, ASP NET MVC, Web API, Entity Framework and LINQ
· knowledge of MS SQL Server 2014 above
· Experience with version control systems GIT
· Experience creating and consuming web services including REST JSON
· Skills (Technical / Specialist Skills)
· Proficiency in .NET Development with .NET Framework 4.5 or later, Asp.net MVC,
· C#, Web API, LINQ, Entity Framework, SQL Server 2014 or above, jQuery.
• As a Python full-stack developer, your role would involve design development and deploy full-stack applications out of Artificial intelligence projects with a focus on low latency and scalability.
• You also need to optimize the application for better performance and a large number of concurrent users.
• A strong technologist we care about doing things the right way rather than just doing them and thrives in a complex and challenging environment.
Who are we looking for?
• Bachelors / Masters in Computer Science or equivalent with at least 3+ years of professional experience.
• Solid understanding of design patterns, data structures, and advanced programming techniques
• As an Engineer in our team, you will design, code, test, and debug quality software programs.
• Strong software design and architectural skills in object-oriented and functional programming styles.
• Python, Celery, RabbitMQ, Kafka, Multithreading, Async, Microservices, Docker, Kubernetes.
• Experience in working with Machine Learning Pipelines
• Experience in Reactjs.
• Experience in Celery, RabbitMQ/Kafka.
• Experience in Unit Testing Tools.
• Experience in working with SQL & NonSql databases such as MySQL, Mongo DB.
• Exposure to cloud technologies.
• Demonstrate the ability to work in a fast paced and hyper-growth environment where the requirements are constantly changing.
• Nice to have: Experience developing products containing machine learning use cases.
• Familiar with agile techniques like code reviews, pair programming, collective code ownership, clean code, TDD and refactoring.
Job Description
JD - Python Developer
Responsibilities
- Design and implement software features based on requirements
- Architect new features for products or tools
- Articulate and document designs as needed
- Prepare and present technical training
- Provide estimates and status for development tasks
- Work effectively in a highly collaborative and iterative development process
- Work effectively with the Product, QA, and DevOps team.
- Troubleshoot issues and correct defects when required
- Build unit and integration tests that assure correct behavior and increase the maintainability of the code base
- Apply dev-ops and automation as needed
- Commit to continuous learning and enhancement of skills and product knowledge
Required Qualifications
- Minimum of 5 years of relevant experience in development and design
- Proficiency in Python and extensive knowledge of the associated libraries Extensive experience with Python data science libraries: TensorFlow, NumPy, SciPy, Pandas, etc.
- Strong skills in producing visuals with algorithm results
- Strong SQL and working knowledge of Microsoft SQL Server and other data storage technologies
- Strong web development skills Advance knowledge with ORM and data access patterns
- Experienced working using Scrum and Agile methodologies
- Excellent debugging and troubleshooting skills
- Deep knowledge of DevOps practices and cloud services
- Strong collaboration and verbal and written communication skills
- Self-starter, detail-oriented, organized, and thorough
- Strong interpersonal skills and a team-oriented mindset
- Fast learner and creative capacity for developing innovative solutions to complex problems
Skills
PYTHON, SQL, TensorFlow, NumPy, SciPy, Pandas
Object oriented design patterns
Maven build process and how Maven works
Working knowledge and good proficiency in Git , Git repo , git bash and git commands
Programming logic and reasoning
Learnability
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)