My name is Joe Cardella and I’m a Software Developer at Portland Webworks in Portland, Maine (http://portlandwebworks.com). Here’s a little insight into how we develop our projects, which include custom mobile and enterprise web applications for clients ranging from local businesses to state governments and multi-national corporations.
For a typical week, the project managers allocate my time to various projects. I usually have just one major project at a time, but when my actual productive time on a project is low, say due to the project winding down or being in some kind of transition state, I may pick up a secondary project. If I’m between projects I’ll pick up various maintenance tasks, or provide estimates for projects our business development team is trying to win. We use a Scrum-based agile methodology that allows for transparent and reasonable project management.
When I start a project, I will work with the others on the team and break the project down into features and tasks, divide the tasks among the team, and organize the tasks according to what features are most valuable to the client and what tasks are technically necessary to make the project work. We then estimate the time and effort needed to complete each task, and usually plan at least a few weeks into the future. Once that is done, we’ll take about two-weeks worth of work from the task list and get started. We’ll meet daily in the morning to discuss the previous day’s progress and what is planned for the current day, and then we just get to it. As for my particular role, I have a strong front-end skill set, so I tend to take on projects (or aspects of a project) with significant front-end needs. For example, my current projects are a re-skin of an AngularJS e-commerce web app and a Cordova/AngularJS mobile application. The web app is pretty much limited to HTML/CSS development, but with the mobile application I’m responsible for development of the UI, the Angular application, and the Java-based RESTful web services on the back end.
The company keeps an eye on the number of hours people are working to avoid developer burnout and to catch project problems early, so that reasonable hours and client expectations are maintained. Our agile project management process goes a long way toward making all of this collaboration, skill development, and project work possible and manageable. I definitely recommend looking for companies that have invested in agile processes when searching for jobs. Links: Portland Webworks: http://portlandwebworks.com PWW Twitter: @portlandwebwork Personal Twitter: @joebot0101