As a member of the Cloud Technology Team, you will help build an infrastructure capable of supporting hundreds of millions of users. Our growing San Francisco-area development group will leverage open standards to deliver communication services--including voice, video, chat and presence--to the web and enable radically new applications. The technology used by the team will include distributed databases and frameworks (e.g., Dynamo-styled storage and Map/Reduce), RESTful APIs, scalable message passing (e.g., Thrift, protocol buffers, ActiveMQ), fault tolerance and functional languages. The development process is rapid, iterative and based on Scrum. We are seeking a motivated and dynamic engineer to be part of a cross-functional team including Product Owners, Quality Engineers, Architects and other Developers.
Key Responsibilities
• Work within an agile development environment, with other developers and Product Owners, to scope, develop and deliver world-class software solutions to support business requirements.
• Collaborate with and assist the Product Owners to release planning.
• Build efficient and reusable services that can scale to support large numbers of users building on top of scalable infrastructure.
• Play an active role in the design, development and testing of production software.
• Work as part of the senior team to help set technical direction.
• Help to continuously improve the development process.
• Mentor junior members of the team.
• Write code! (YES, EVERYONE writes code in this shop. Eng, Dir, VP and even the Pres writes code) So, if you are not a code slinger, if you don't LOVE sitting down and writing code, this is not the place for you. Likewise, if you love the idea that this is a smaller team (~20) where everyone still makes a huge impact on the evolution of the product -- well then this might be the place for you!
Ideal Candidate Profile
Expertise/Experience
• Proven track record of building and deploying large-scale distributed systems
• Extensive programming experience in an Object Oriented programming language. e.g. C++, Java, etc.
• Moderate experience with multiple scripting languages such as Python, Perl, Bash
• Working knowledge of Erlang or some modern functional language desirable
• Good working and applied knowledge of networking protocols including TCP and UDP
• Extensive experience programming multithreaded systems
• Experience working with Cloud storage technologies such as Cassandra, Riak, Voldemort is desired
• Applied working knowledge of Service-oriented architecture (SOA)
• Worked with messaging technologies such as Protocol Buffers, Thrift and/or Message Queues
• Experience developing software in Linux/UNIX environments
• Extensive experience using and/or designing RESTful APIs
• A working knowledge of Agile Development or an enthusiasm and passion to learn
Behaviors
Problem Solving Skills/Analytics:
• Strong quantitative and qualitative analytical skills, with extensive technical troubleshooting and the ability to use all aspects of testing, including functional, regression, load and system testing
Leadership
• The candidate should have demonstrated skills and experience in working within / contributing to high performing teams, while mentoring junior team members
Interpersonal Skills
• Confident and articulate in expressing their ideas to a mixed audience with varying views and challenges
• Cultural sensitivity and a proven ability to work with teams and partners across multiple geographies
• A sense of personal ownership is required, together with the ability to deliver to tight deadlines while managing internal stakeholder expectations
Motivation and Passion
• The candidate should be creative and passionate about generating new ideas with a drive to explore areas where others haven’t gone
• Have the stamina and tenacity to deliver great software solutions, with a passion for working with other developers of all personality types
Qualifications:
• BS or MS degree in Computer Science or Engineering OR equivalent years of work experience
• Min of 4-6 years experience of applicable work experience (5 - 10 is great, 8 - 15 is also great!) The expertise in massive (social, millions of users, etc.,) types of applications is most important
Quality Engineer
We are seeking a motivated Quality Engineer with an innate curiosity about how things work and the drive to improve them. You will be an integral part of a cross-functional team including Product Owners, Developers and Architects. This is not a manual testing job. You will be defining and programming automated tests across a wide range of module, system, load and stress tests.
Key Responsibilities
- Create and implement test acceptance criteria
- Build and utilize test frameworks for functional and non-functional tests
- Fully automate all tests
- Develop, execute and evaluate performance and load tests
- Monitor and track problem identification throughout the development cycle, ensuring resolution and verification is consistently and effectively delivered
- Record and report on testing metrics as well as track and report defects using appropriate tools, working collaboratively with the Software Engineers, Architects and Product Owners
- Work in two week sprints writing tests and integrating alongside the developers
Candidate Profile
Pre-requisite Knowledge, Skills and Experience
Expertise/Experience
- Extensive experience with multiple scripting languages such as Python, Perl, Bash
- Proven track record of designing and executing performance and/or load tests
- Experience with object-oriented programming
- Good working and applied knowledge of networking protocols including TCP and UDP
- Excellent problem solving, analytical, and technical troubleshooting skills
- Experience testing highly scalable distributed systems is desirable
- A working knowledge of Agile Development or an enthusiasm to learn
- Experience testing complex network and telecommunications applications and protocols are desirable
Behaviours
Problem Solving Skills/Analytics
- Strong quantitative and qualitative analytical skills, with extensive technical troubleshooting and the ability to use all aspects of testing, including functional, regression, load and system testing.
Leadership
- The candidate will strive for excellence, highly driven in writing cutting edge software
- They will be resilience and have unwavering optimism in the face of challenge and continual change
Interpersonal Skills
- The candidate should have demonstrated skills and experience in working within / contributing to high performing teams
- Confident and articulate in expressing their ideas to a mixed audience with varying views and challenges
- Cultural sensitivity and a proven ability to work with teams and partners across multiple geographies.
- A sense of personal ownership is required, together with the ability to deliver to tight deadlines whilst managing internal stakeholder expectations.
- Motivation and Passion
- The candidate should be creative and passionate about generating new ideas with a drive to explore areas where others haven’t gone. Integrating what they learn in to their role and their experience
- Have the stamina and tenacity to deliver great software solutions, with a passion for working with other developers of all personality types
Qualifications:
- BS or MS degree in Computer Science or Engineering or equivalent years of experience