Days 2 and 3 at the Java Posse Roundup

Some people ask me why I go back to the Java Posse Roundup each year. After 3 days of Open Spaces sessions at the Java Posse Roundup (and a day of hacking), I have to say it only gets better and better each year. A few years ago, we added an additional session at Rumors, a coffeeshop/bookstore (yes, those do still exist) in Crested Butte. The intent was to give people an additional place to go as the conference grew, and the first year, we tried to record those sessions too. The traffic and espresso machine at a coffeeshop, however, don’t make for a good recording so we changed the location to target “off the record” talks. This has been an amazing addition to the conference, giving people the opportunity to speak freely without concern that their coworkers, bosses, customers, or friends might later hear what they said.

I’ve attended several sessions there, including one on Mindfulness in Programming. This particular session was held at the off-the-record location not because it was private or wouldn’t have made a good podcast, but rather because all of the other rooms were in use.

Mindfulness is “a state of active, open attention on the present”, according to Psychology Today. I was first introduced to mindfulness when I took a meditation class, and I was interested to hear what people would think about mindfulness as it applies to programming. I interpret that to deep focus on the technical task, avoiding the temptation to be distracted by other things that compete for your attention, without a longing for a speedier conclusion to the activity or annoyance that you’re doing it at all. We talked a lot about how to achieve that, as well as many related topics, such as meditation, distraction, and techniques for becoming more aware of the present task.

After the mindfulness discussion was one that was a continuation of a work/life balance discussion that had been held the day before, but it didn’t really go in that direction at all, and instead was more of a continuation of the mindfulness topic.  This made me happy, and was fine with the convener of the session. Women business owners get embroiled in these discussions often, and I would have used the Law of Two Feet if it had been the same old tired discussion.

Other discussions that I attended on Days 2 and 3 were decidedly less “fluffy”. I attended the discussion Modern Web Apps, which had us talking a lot about the amped up user experience requirements for modern web apps. People expect that these apps will seamlessly manage flaky internet connections and offline mode. They want consistent, client-agnostic capabilities across a variety of devices, yet also expect that the unique features of a particular device will offer richness unique to that device. We also discussed the movement of web apps toward Javascript and complexities involved with that. Ember got a lot of attention, and a hacking session was scheduled for the afternoon.

The Play2 asset compiler got some love, as it runs Javascript through a compiler for validation. GWT is still appreciated with its capabilities to develop in Java and generate javascript. Dart, which makes Javascript static, was discussed as an emerging solution to the problem, but drew groans from many in the group. IntelliJ tools were cited as hugely beneficial to Javascript developers, and enforcing “strict” mode was strongly encouraged. The book “JavaScript: the Good Parts” was recommended by several people.

Much different than the Day 1 session on Productivity Tools for Programmers was a discussion on Tools for Running a Business so that you can Write More Code. Yes, I convened that session. I’m always intrigued by what others do toward this. The key message that came out of the discussion was that, much like choosing a “stack” for software, when you choose business tools, you’re often choosing a stack for that as well. For example, QuickBooks Online integrates with Harvest (for time tracking) and Expensify (for expenses). Kashoo and Freshbooks were used by one attendee who wrote some software to integrate other tools, such as eFax. I didn’t realize that you could invoice through Zoho, but apparently you can, and it’s particularly good at invoicing in blocks of time and keeping track of when those blocks are exhausted. The Ruby Freelancers podcast was noted as a good resource for learning about business tools for small businesses. Streak, as an add-on to gmail and google apps, was noted as decent Customer Relationship Management (CRM) solution. Desk.com is a help desk solution that some folks use. It integrates with Salesforce, but it sounds like you can use it without Salesforce as well.

As always, I learned a lot from several of the longtime attendees of the Roundup. Many of them have run successful companies for a long time, and it’s great to hear their perspective. Some attendees noted that this year we had a lot of sessions around effectively starting or running a business. This marks an interesting change in the nature of the Java Posse Roundup. A variety of technical sessions were convened and nearly everyone participated in the hacking session, which tells me that the crowd was decidedly technical, yet the number of non-technical sessions indicates that many of the attendees have aspirations toward running their own businesses as well.

The third session of the 3rd day was on Building Effective Teams. We decided that effective teams:

  • set expectations of success
  • self-organize
  • encourage participation
  • interact and communicate

Many techniques were described. They varied from general, such as engaging the team members cross functionally and how to deal with asocial scientists, to very specific, such as how to integrate the Quality Assurance team with the Software Developers. Discussion also included how important it is to have quick success, for both customers and for developers. Some people might be surprised to learn this, but there was universal agreement that software developers are most happy when they deliver software to real customers and it makes its way into the field. Distributed teams face challenges; some of those can be overcome by effective communication, but nothing is better than an in-person get together a few times a year. One interesting discussion was around competition in teams. Some participants described how it can be used effectively in an organization, but only when it’s a non-threatening competition between teams rather than internally in one team.

On the afternoons, we continued to break into small groups who worked on projects. I was hoping to work on getting the Scala Koans online in the same way that the Ruby Koans are. This would remove some of the barriers to trying Scala, in that people wouldn’t have to install Scala, and build and test frameworks in order to get started. A small group formed at one of the houses, and we worked with Play and a library from Twitter to get things started. We still have a lot of work to do, but it was a great collaborative start!

On Wednesday evening, we got together for more lightning talks. They never disappoint. It’s amazing to see the wide variety of interests. The highlight of the evening was Eirik’s talk, projected onto a red washcloth, where he was able to do a presentation within a presentation, and change slides by flinging the washcloth. This is a do-not-miss lightning talk!

We started a tradition on Thursday nights a few years ago.  Before getting together for a live podcast, we hold a progressive dinner, traveling from one house to another for a “course”. This year, 9 groups of people in houses hosted a “stop” on the progressive dinner, and the final location was at the conference location, where we had dessert supplied by those who hadn’t hosted earlier … and then recorded a live version of the Java Posse podcast.

The progressive dinner is an interesting addition to the Java Posse Roundup. The first year was super fun, but only included a handful of houses. The second year, we feared that we had too many people, and tried to over-engineer it in an attempt to reduce traffic all at the same time (see progressive dinner on Wikipedia for overplanning). We quickly realized that the progression from one house to the next was part of the experience. Last year, we went back to the mass movement from one house to another. We publish a schedule, including a start time, and this year, we had about 20 minutes at each house. Those hosting often skip a house or two before theirs to make sure that their house was ready for 50-60 people to show up. It’s fun and crazy and the walk between houses is a walking geek-fest with non-stop talking. It’s become one of my favorite social events at the Roundup.

Stay tuned for Day 4 … and the wrapup of Java Posse Roundup 2012.