Thursday, August 5, 2010

Massive Distributed (Social) Applications Development

SR Cloud SW Opportunity & SR white box SQA (also cloud) Engineering

This group of positions are really cool. Already in WIDESPREAD adoption, these guys are leading edge, they are mobile, they are desktop, they are antiestablishment, and they are really good at taking care of their employees. Not a bad combination.

Position: Senior Software Engineer (Cloud Computing Technology)

Synopsis:


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


Sunday, August 1, 2010

BI/DW & Microstrategy v9.x means More fun in the Payments Domain

More fun and hiring within the payment sector is in the cards for a Senior BI/DW (Business Intelligence & Data Warehousing) Reporting Engineer.

Senior Reporting Engineer

Requirements:
  1. Strong understanding of Datawarehousing and BI concepts
  2. Hands on Experience with design and development of Microstrategy reports using Microstrategy 9
  3. Experience in developing Dynamic dashboards, MDX Cubes, Microstrategy SDK
  4. Strong SQL Expertise
  5. Experience in working with DB2 as the datawarehouse database
  6. Payments Domain is a (BIG) plus
  7. Team player and strong analytical skills
  8. Excellent written and verbal communication skills
Ideally, this person will live in the SF (East Bay) area. OR, commuting to the 580/680 corridor is within reason for you. If you are familiar with the commute in the Bay Area, then you'll see that this is a great reverse commute!

Monday, July 19, 2010

New Software Engineering Positions (Regular, Full-Time)

Have you ever looked at all those gift cards in your local supermarket and thought just how much data must be 'behind the scenes' of this rather simple concept? Gone are the days of the gift certificate, we all love to get a gift card in the mail. Always the perfect size, always the right color and provided it is a retailer you like, a perfect gift to received. I know my kids love them!


So, what does that have to do with OffTheHookJobs? Well, we're working on THREE of these positions through a partnership. A bud of mine (I actually have coached a kid in his family) has these roles on his books, but I am working with him to fil the roles. Win-Win-Win! I love it!


Backgrouder: A market leader in card-based financial solutions and the largest provider of third-party gift cards develops unique products in easy-to-use formats and delivers them to consumers through an exclusive network of leading grocery, mass, drug, convenience, and specialty retailers globally. This proprietary network includes over 82,000 stores and reaches more than 165 million consumers each week. Headquartered in Pleasanton, California, other locations include offices in New Jersey, Chicago, Toronto, Sydney and the United Kingdom.


The branded display “Gift Card Mall” is designed as a compact in-store prepaid card destination that holds a wide range of card offerings (500+ in the US). This innovative program provides a turnkey solution for increasing customer traffic and basket size while delivering one of the store’s highest profits per square meter. The company also distributes prepaid telecom cards and open loop gift and debit cards while continuing to expand the gift card product categories and channels of distribution.



Front End Software Engineer


We are looking to hire an accomplished Staff Software Engineer to join the Technology Engineering Organization. The desired candidate would have an excellent understanding of how to design and implement highly available fault tolerant systems that can support high transaction volumes.


Key Responsibilities include, but are not limited to:

• Define, design and implement cutting-edge software and modify existing software to add features. Specify product internal/external interfaces. Contribute innovative ideas for components and system architecture.

• Responsible for coordinating tasks and deliverables amongst delivery team members including QA, Operations

• Work with Business Analysts to review business requirements, minimize ambiguity and incomplete requirements, identify opportunities for engaging business review throughout the solution development and provide technical leadership and advice as needed

• Ensure design and code reviews, cyclometric analysis of code components and code coverage of Unit test

• Initiate informal reviews of ideas and technical objectives within and across business units.

• Initiate requirements definition, hands-on lab debugging and interaction with version control and problem resolution

• Responsible for the adoption and implementation of software development methodology by adopting best practices from current methodologies like SCRUM, RUP, Extreme Programming, Test Driven Development and Agile Model Driven Development

• Responsible for the adoption of software architecture best practices like code reusability, pattern oriented architecture, coding standards, modularization of code, aspect oriented programming etc within the technology


Qualifications: The following are required unless specifically stated:

• Bachelor’s degree in Computer Science or Business Management or related discipline or equivalent work

• 5+ years of Web development experience with HTML/CSS/JavaScript/Ajax/Google GWT/JSP/Servlet

• Experience with model driven development concept and methodologies.

• Hands on knowledge of SOA and SOAP / REST Web Services implementation, design patterns and practices.

• Experience with Open Source technologies and frameworks like Struts, Hibernate and Spring

• Experience with Open Source testing frameworks like Junit.

• Experience with Agile/Scrum development methodology

• Excellent knowledge of relational database technologies with advanced capabilities in at least one industry grade relation database systems – DB2 UDB, SQL Server 2003

• Experience in the payments domain is preferred – knowledge of ISO 8583 is desirable.

• Ability to meet tight deadlines

• A team player – experience working with multiple teams

• Track record of managing multiple complex tasks

• Ability to be productive and effective within a matrix organization.

• Excellent communicator – verbal and written skills required


Staff Software Engineer


We are looking to hire an accomplished Staff Software Engineer to join our Technology Engineering Organization. The desired candidate would have an excellent understanding of how to design and implement highly available fault tolerant systems that can support high transaction volumes.


Key Responsibilities include, but are not limited to:

• Define, design and implement cutting-edge software and modify existing software to add features. Specify product internal/external interfaces. Contribute innovative ideas for components and system architecture

• Responsible for coordinating tasks and deliverables amongst delivery team members including QA, Operations and Infrastructure

• Work with Business Analysts to review business requirements, minimize ambiguity and incompleterequirements, identify opportunities for engaging business review throughout the solution development and provide technical leadership and advice as needed

• Ensure design and code reviews, cyclometric analysis of code components and code coverage of Unit test cases

• Initiate informal reviews of ideas and technical objectives within and across business units

• Initiate requirements definition, hands-on lab debugging and interaction with version control and problem tracking systems

• Responsible for the adoption and implementation of software development methodology by adopting best practices from current methodologies like SCRUM, RUP, Extreme Programming, Test Driven Development and Agile Model Driven Development

• Responsible for the adoption of software architecture best practices like code reusability, pattern oriented architecture, coding standards, modularization of code, aspect oriented programming etc within the technology team


Qualifications: The following are required unless specifically stated:

• Bachelor’s degree in Computer Science or Business Management or related discipline or equivalent work experience

• 8+ years of software development experience with core Java and J2EE

• Strong OO Design skills

• Experience with model driven development concept and methodologies

• Hands on knowledge of SOA and SOAP / REST Web Services implementation, design patterns and practices

• Demonstrated expertise in implementing solutions on J2EE application servers like JBOSS

• Excellent knowledge/experience with Open Source technologies and frameworks like Struts, Hibernate and Spring

• Experience with Open Source testing frameworks like Junit

• Experience with distributed caching technologies

• Experience with Agile/Scrum development methodology

• Hands on experience in performance tuning of systems

• Excellent knowledge of relational database technologies with advanced capabilities in at least one industry

grade relation database systems – DB2 UDB, SQL Server 2003

• Experience in the payments domain is preferred – knowledge of ISO 8583 is desirable.

• Ability to meet tight deadlines

• A team player – experience working with multiple teams

• Excellent strengths in time management and organization skills with an aptitude toward creative problem solving

• Proven self-starter

• Track record of managing multiple complex tasks

• Ability to be productive and effective within a matrix organization

• Excellent communicator – verbal and written skills required