Tuesday, January 5, 2010
Hiring Software Engineer/Product Development
By Chris Baggott CEO & President
Software Engineering / Product DevelopmentThis individual will be working with a small, cohesive team to develop a web-based software-as-a service
application that is hosted in a cloud computing environment.
The development cycle is fast paced, with SCRUM project management and weekly releases.
Team members wear many hats, with responsibilities including:
• research
• algorithm design
• API documentation
• coding
• debugging
• software testing
Most of this position's time will be devoted to development of server-side functionality, but there will also be times where this individual will need to write code for the client side as well. Server side functionality is exposed via a RESTful web services API. It is developed using an MVC framework on a LAMP (P = PHP 5) stack. Client side is HTML and JavaScript.
Required Knowledge
• object oriented programming concepts
• computer science fundamentals in algorithms and data structures
• thorough knowledge of technology underlying the web
Desired Skills:
• can come up to speed quickly on subjects with minimal hand-holding
• finds challenging problems to be exciting rather than intimidating
• asks the right questions to clarify ambiguity
• makes realistic time estimates for work items
• takes commitments to getting things done on time
seriously
• intellectually curious and committed to continuously expanding and refining one's
skill set
• unfazed by working from the command line
• communicates effectively both with technical and non-technical staff
Specific Experience Pluses:
• developing in a strongly typed language like (e.g. C++, Java, etc.)
• developing in an object oriented dynamic language (e.g. PHP 5, Python, or Ruby)
• working with unit testing tools (e.g. PHPUnit, JUnit, YUITest etc.)
• using an MVC framework to develop web applications (e.g. Agavi, Struts, etc.)
• comfortable with XML processing technologies (e.g. DOM manipulation and XSLT)
• MySQL query optimization and ORM tools
• experience with NoSQL forms of data storage
• cloud computing services (e.g. Amazon EC2, S3, SQS, SimpleDB etc.)
• technologies used in highly scalable websites (e.g. NGINX, Memcache, Solr/Lucene,
Hadoop, etc.)
• using JavaScript libraries for cross-browser compatibility (e.g. YUI library, EXT-JS)
• debugging with browser-based tools (e.g. Firebug, Web Developer Toolbar, MS
Script Debugger)