I have an upcoming need for a software engineer in test for the Software Infrastructure group on the Web QA team at Netflix.
I also have an upcoming need for a build and release engineer.
Any help from anyone that happens to read this message in a bottle would be most welcome.
For all of them, I need someone who has a proven ability to:
• get the right things done when there's always too much to do
• solve problems in a proactive and elegant way
• communicate clearly and succinctly
First, a description of what I'm looking for in the Software Engineer in Test -- Customer Account
Netflix has a goal of 20 million members by 2012. Part of keeping those members happy is helping them manage their own data and efficiently sharing that data with other parts of Netflix. Your team provides services to members, internal Netflix teams and external partners. These services span authentication, account information management, and authoritative answers to questions about member data.
We are in the process of consolidating our business logic into services and SDKs from where it lives today: the presentation tier and stored procedures in the database. As we untangle and streamline our code, we need a safety net of automated tests. The tools and automated tests that you build will help insure that planned changes don't cause unintended consequences. What you build will help prevent defects by finding them in the test environment and detect defects that make it out to production.
At Netflix, you will work with a team of intelligent and capable software engineers who are committed to delivering high quality software through test driven development, test automation and a deep partnership with quality assurance.
• Expert in assessing software quality in an ecommerce environment using:
- Test driven development
- Java, Tomcat, JDBC and Apache
- jUnit test automation (or equivalent)
- Web services
• Tests as part of cross-functional teams and supports back-end application interfaces
• Understands relational databases and SQL deeply
• Develops and maintains production system and data monitoring tools
• Desires to work in a fast paced, evolving, growing, dynamic environment
Now, here's the description for Software Engineer in Test -- Software Infrastructure
The number of people getting their movie entertainment through the Internet is continuing to grow at a rapid pace. Between DVDs by mail and Instant Watching, Netflix wants most of those subscribers to be Netflix members. Part of keeping those current and future members happy is making sure our systems are built from components and services that will scale to handle the volume.
The Software Infrastructure team builds components that include:
• management of Queue and rental history data
• a Netflix server reference implementation
• security APIs and services
• session management APIs and services
• message bus services for logging and data transfer
• explorations into The Cloud for all of the above
You will be a key part of the core team that ensures our broader development teams are using an intuitive and robust set of services to build the website and operations applications. You will ensure that we capture and accurately deliver data, and that we do it in a timely fashion. You will ensure that our internal services meet the needs of the developers consuming them. At Netflix, you will work with a team of intelligent and capable software engineers who are committed to test driven development, test automation and a deep partnership with quality assurance.
Expert in understanding, assessing and providing feedback on the quality of high traffic, n-tier, web based environments including:
• Test driven development using Java, Tomcat, JDBC/Oracle, service buses and Apache with jUnit or TestNG test automation (or equivalent)
• Cross-functional testing of back-end system interfaces
Experienced with testing:
• Traditional and non-traditional e-commerce applications
• High traffic/high availability components
• Service oriented architectures
Deep understanding of:
• relational databases and SQL
• Linux or some other unix flavor
• a scripting language like Perl or Python
• testing under open source frameworks, such as Struts, Hibernate, Spring, etc.
Desire to work in a fast paced, evolving, growing, dynamic environment
Finally, I bring you a description for what I'd like to see in a Configuration and Release Engineer:
Web Engineering at Netflix provides our public face to our customers, so it's very important that we deliver an easy to use and engaging web experience. As part of the Web QA team, you'll be responsible for the team's test servers and their environment. Other duties include herding the changes to the code base from development, through testing and out to production. You will coordinate the change process across all of the teams involved, so you need not only technical chops, but also excellent communication skills. This position is part Linux admin, part software engineer and part project manager. The ideal candidate should be equally comfortable owning bash scripts, java code and ant configuration files, and will have an insatiable craving for making the deployment process more and more push-button and more and more secure.
• Excellent communication and inter-personal skills
• Working experience in web based environments utilizing:
- Java, Tomcat, Apache and other web applications
- Perforce and other source control applications
- Ant and the 'x'Unit family of test automation applications
• Skilled in Unix shell and SQL
• Desire to work in a fast paced, evolving, growing, dynamic environment
• Perl hacking
• Bugzilla maintenance and modification
• Configure and use Kintana (Mercury IT Governance Center) deployment application
• Build and manage automated build/test/deployment environments