Have you ever wanted to work on a system that is used to explore other planets? How about a system that is the foundation for processing huge amounts of genomic data in our pursuit to better understand diseases, aging, and many other fundamental questions about who we are? These are just a couple of the many exciting ways that customers are using the Amazon Simple Workflow Service, or SWF for short, to build complex distributed systems that solve really hard problems. SWF was built to provide AWS customers with an application infrastructure that takes the muck out of the myriad of difficult tasks that are required for building scalable and resilient applications. If you are passionate about the challenges of big scale, building cutting edge technologies, and making developing distributed applications easy and reliable then SWF has a place for you on the team.
How do you know if you are a good fit for SWF? You will look at really hard problems as an exciting challenge, not a daunting task. We have built SWF using some of the latest technologies and techniques in distributed systems, so you will need to be able to discover novel ways to solve really hard problems. You will think about all the ways something could go wrong in solving these problems and write code that continuously raises the bar. Since the SWF team shares your passion for building cool stuff, you will want to collaborate with your teammates closely and share the interesting perspective you bring to all the problems we face. When our customers ask for the next big feature, you will get jazzed because you know this means you'll be able to truly dig into the solution and get it done right. You will also love owning significant chunks of the project from top to bottom, delivering not only in the implementation but in all phases from the kernel of an idea to quickly getting that battle-tested code into production.
SWF is looking for an experienced Software Development Engineer to come tackle some really fun and exciting projects to take the core service to the next level. As an SDE on the team, you'll write code and see it running in production in record time. You'll be challenged with some deeply technical distributed systems problems and be expected to develop new and groundbreaking ways to solve those problems. You'll collaborate with engineers throughout the company who are building the next big thing in cloud computing. You will also have a place to grow your skills and excel in your career.
•BS in Computer Science or equivalent
•4+ years of 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
•Experience solving infrastructure software architectural and design issues
•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 NoSQL datastores such as Cassandra, HBase, or DynamoDB
•Experience with a component dependency-injection frameworks such as Spring
•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