Sunday, September 5, 2010

Senior Software Engineer- Brisbane, CA

Senior Software Engineer

Brisbane, CA (moving to Palo Alto, CA within 8-12 months)

The Brief

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 Business Specific brief
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!
Candidate Profile
Pre-requisite Knowledge, Skills and Experience
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.
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 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


Interested parties are invited to email resumes to Darren Lawson at dlawson@aptitudestaffing.com All replies will be held in confidence.