Important: Pathfinder is not just another boring, dowdy Midwestern software development firm. We develop cool new products andservices for startups and venture backed companies all over the U.S.and Canada. If you want a boring corporate software developmentexperience, this is not the gig for you.
Pathfinder Software Development Apprenticeship
Pathfinder Software’s apprenticeship program allows gifted junior developers to work in one of our agile teams on a client project. Our philosophy is that developers learn best by doing, not by handling grunt work. This 3 month paid apprenticeship will have you working along side our experienced developers and learning hands-on lessons about pair programming, test driven development, scrums, sprint planning, burndowns, code coverage, retrospectives, refactoring — in short, the day to day that makes agile development work.
How We Do It
Pathfinder Software works with iPhoneOS, Ruby on Rails, as well as several front-end technologies such as Flex and various flavors of Ajax framework. Our software design method is heavily OO focused, as that approach works extremely well with Agile development and refactoring. Our requirements gathering is based on an agile version of User Experience Design – termed User Driven Development or UDD – that gets our teams delivering valuable, releasable software as quickly as possible. We also develop desktop, hybrid and mobile applications in a variety of technologies, including Adobe Air, the iPhone and Android.
How to Apply
If you’re interested in this apprenticeship opportunity, here’s how to apply.
- Apply here, at the end of this page.
- Attach a zip file (noRAR, please) containing a cover letter, a resume and the coding problem below. Your resume should list any interesting coursework, job experience or projects you would like us to know about.
Coding Problem
Using the right technology, this project should take you no more than a day to complete. Write a web application that implements the following user stories:
- User can log in
- User can log out
- When the user is logged in…
- they can add a book to their favorites. Information about the book should include the title and the author.
- they can view a list of their favorite books.
- they can delete a book from their favorites.
- they can browse books that other users have added.
- when viewing a book that other users have added, they can add it to their own list of favorites.
Don’t worry as much about the visual look and feel of the application, focus more on whether it is correct and flows easily, i.e.accomplishes the above user stories in a way that is most useful to the book loving end user.
Depending on your specific skills, we suggest using a framework such as Rails (Ruby), Flex, .Net, Grails (Java/J2EE) or MonoRail (.NET). Most are freely available and have extensive tutorials online.
Finally, make sure to write unit and integration tests that do a good job of covering the application. Test Driven Development is central to everything we do, so we’ll be very interested in seeing these tests.
The Fine Print
Please note: This apprenticeship requires you to show up physically at our office in Chicago. It is not an externship or telecommuting position. Also, there is no room and board or relocation budget, just a straight $20/hr rate.
