What a Plone Developer Needs
work environment, tools, process
OK, so you plan on hiring or you have already hired a Plone developer. What does he/she need to get going quickly?
Physical Work Environment
Your new dev needs to have a quiet place to work that includes wired ethernet and power. Often, especially at the beginning, a dev can work more effectively if he/she sits in the same room as other Plone devs, to make it easy to ask quick questions or show/be shown how to do a particular thing. In that case, your new dev is welcome to join us (Secret Laboratory Number One, or the Plone World Domination Team, aka WebHobo) in our meeting room in Dempsey 305, or share a cubicle in D305 (Kim's or Nathan's old cubicle).
You can view the meeting room bookings here. Normally, Monday mornings is when it is booked for others' regular meetings, but it is mostly unused.
Alternatively, you can go through TitanMail calendars : log in, click Calendar, in Current Calendar widget choose [Manage Calendars], subscribe to the one called "luftt:D305ConferenceRoom (D305 Conference Room)".
Computer Equipment
Your new dev needs the following equipment, in DESCENDING order of preference:
- Ideal: MacBook (or MacBook Pro), 13" screen is fine, base configuration is fine (standard amount of memory and disk is more than enough); AppleCare extended warranty; a matching video adapter to VGA in case he/she will be connecting the MB/MBP to a projector for group coding sessions
- Meh: A notebook/laptop running Linux
- Please don't: A notebook/laptop running Windows -- highly discouraged
Be aware that if you do not provide your dev with a laptop, you make it inherently impossible for him/her to work collaboratively with other Plone devs on campus, and in doing so, you can expect it to take much longer for him/her to get up to speed and much harder for him/her to be as effective as you'd like.
Why is a MacBook preferred? The MB/MBP line of machines has almost no setup required out of the box to begin coding with Plone. A Linux laptop will require fiddling to get the WIFI working (and sometimes it will never work). Any Windows machine is so non-standard in terms of development tools, you are effectively slowing down your new dev with a boat anchor.
Books to Purchase
You will provide your new dev with a copy of the following books:
- Professional Plone Development, by Martin Aspeli
- Programming Python and Python Cookbook (O'Reilly Books)
- Plone 3 Products Development Cookbook (Packt Publishing)
You may find it more effective (immediate online access) to pay for the Packt online library service called PacktLib, or to purchase the Packt books in eBook (PDF) format so your dev can begin reading immediately, rather than waiting for a book to be physically shipped here. O'Reilly has a similar online library service called Safari.
Work Process
Your new dev will do the following:
- join our mailing lists
- set up iChat to log into our campus Plone chat room and set it to auto-login and auto-join the Plone chat room
- bookmark plone.org, our Subversion code repository, Trac, the Plone Projects site, our LodgeIt, our Etherpad, our developer help checklist
- get a Plone tattoo
- begin reading about Plone, Python, Subversion
- download and install Plone on his/her laptop
- follow some examples in the Aspeli book, write a simple Plone product, and install it into his/her Plone site
- begin gathering requirements for the project you want implemented
- write a requirements document based on the information gathered
- analyze Plone features and techniques to identify ways of implementing the features required
- regularly consult and work with, ask a LOT of questions of other Plone devs on campus
- practice chanting "Om Mani Padme Hum"
- provide weekly status reports to you by email
Guidance
At the beginning, you need to have your dev meet and work with us regularly to ramp up quickly. Our expectation is that he/she come in person to work with us at least once a week. If your dev does not do so, expect your project to go much more slowly and quite possibly go off track. Only if your dev is with us can we guide him/her most effectively in terms of techniques and tools to use.
Hours
We recommend your new dev work at least 10 hours per week during school semesters, and 40 hours per week between semesters and during the summer. If your dev cannot work at least 10 hours a week on average, expect your project to go very slowly.
A note about summers: that is when new devs seem to really find their footing and when their productivity rises noticeably, thanks to the concentrated time during which they can focus on their work.
In Administrative Computing, we like to hire interns who will work with us for at least one year, because of the serious ramp up time required to get productive with Plone coding. It's a shame to train someone this intensely and have them leave only as they are getting good.











