Software Development Engineer - Data Engineering
Headquarters: Seattle, WA
Are you interested in shaping the future of computer vision? Do you want to define the next generation Artificial Intelligence that will understand what is in a picture or a video? Do you want to build customer-facing solutions using deep learning and other ML technologies?
The Amazon Web Services (AWS) team is seeking an innovative and results-oriented Software Development Engineer in our Rekognition team. Amazon Rekognition ( https://aws.amazon.com/rekognition/ ) provides deep learning-based image and video recognition. It is a service that makes it easy to add image and video analysis to applications. Rekognition APIs enables you to quickly add sophisticated visual search, image classification, face recognition and much more to your applications.
We are looking for a strong SDE to lead the data engineering team in Amazon Rekognition. Data is the key for any good deep-learning system and even so more important in computer vision for analyzing images and videos. Improving the quality and quantity of data provided to train the models, improves the quality of recognition, probably more than any other equivalent effort. Gather quality data at scale is only the beginning. We are building a world-class data system with not only the basics of data acquisition, annotation, ground-truthing and curation, but also using ML technologies for automated annotations and active learning and building big-data systems to acquire and process data at scale. This individual will have a unique opportunity of defining the product strategy and architecture of such a system and potentially make this into a service offering for internal and external customers.
We are seeking a Software Engineer that is a technology leader and demonstrates exemplary practice in design and implementation of new scalable services. He/she will lead technology areas that drive solutions for a super solid, scalable, efficient, and extremely fault tolerant service. The individual should also be a thought leader in influencing our overall strategy by helping define the product features, driving system architecture, and spearheading the best practices that enable a quality product. The ideal candidate will be passionate about solving some of the hardest engineering challenges in distributed systems at massive scale on an ongoing basis and have a demonstrable track record for delivering successful products. Prior experience with computer vision or video processing systems will be a significant plus.
This hands-on position requires broad engineering competence and in-depth technical knowledge of service engineering, as well as demonstrated experience successfully planning, organizing, and conducting software development projects in a dynamic environment. The Software Engineer will -
Develop and deploy cloud software framework for computer vision processing
Design and develop innovative REST APIs and SDKs to deliver computer vision and machine learning capabilities
Integrate computer vision capabilities with other cloud services
Provide technical leadership and contribute to the definition, development, integration, test, documentation, and support of Java and C++ software
Be responsible for the architecture of software solutions, determining current limitations and compatibility between subsystems, the selection of new concepts and methodology, and the development of major routines and utilities.
Create new feature and performance improvements
Prepare technical requirements and software design specifications.
Instill best practices for software development and documentation, making sure designs meet requirements, and delivering high quality software on tight schedules. If you are a talented, detail-oriented and enthusiastic software professional who is passionate about new technologies including big data, computer vision, and machine learning, then this is the right team for you.
Bachelor’s degree in Computer Science or related field
3+ years of software engineering with full development life cycle
Strong hands-on experience in OOP, Java, C++
Master’s degree in Computer Science or related field
Experience in building large-scale data processing systems
Domain knowledge of Computer Vision and/or Machine Learning
2+ years working in a software as a service environment (e-commerce or other high scale services)
Experience with working on AWS services (S3, DynamoDB, EC2)
Experience creating new successful REST APIs and SDKs delivered in multiple languages
Create reliable/maintainable code, and find creative and scalable solutions to difficult problem.