Do you enjoy working on distributed systems and solving problems of consistency, durability, and availability? Are you interested in building a large-scale distributed system that runs on several thousands of nodes and can be resilient in different situations like infrastructure failures, network partitions, etc. to provide a seamless customer experience?
If so then come join Amazon Simple Workflow team (SWF). Amazon SWF is an orchestration service for building scalable distributed applications. Often an application consists of several different tasks to be performed in particular sequence driven by a set of dynamic conditions. Amazon SWF makes it very easy for developers to architect and implement these tasks, run them in the cloud or on premise and coordinate their flow.
We're looking for engineers who bring fresh ideas from all areas, including distributed computing, large-scale system design, networking and data storage, security; the list goes on and is growing every day. As a software engineer, you'll be expected to develop best practices, refine operational procedures and constantly innovate proactively. You'll continuously identify areas of growth within the existing frameworks, tools and processes to develop further technical mechanisms to reduce waste and continuously improve. You'll collaborate with engineers throughout the company who are building the next big thing in cloud computing. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
- Bachelors or Master's Degree in Computer Science or equivalent
- 4+ years of solid experience developing objected-oriented software, with thorough experience in one or more relevant language (Java, C#, C++, Ruby, Python)
- 2+ years of experience building distributed systems
- Strong problem solving, debugging and troubleshooting skills
- Understanding of performance, memory, I/O, and threading in Java or C#
- Understanding of asynchronous and distributed systems problems
- Understanding of issues around fault tolerance and scale-out
- Experience with a high-volume, highly-available, distributed services in a hosted environment
- Outstanding adherence to project deadlines and understands the balance between doing it right and getting the job done
- Works well in a team environment and be able to effectively drive cross-team solutions that have complex dependencies and requirements
- Prior Experience with AWS technologies