It’s been one week since we returned from Portland for DrupalCon 2013, and I feel like I’m almost caught back up. The time in Portland was fantastic (as DrupalCon usually is). For CHROMATIC, we basically had two trips: most of us went and spent the weekend up on Mt. Hood and then came back for the ‘second’ trip which was the week in Portland for DrupalCon.
While the first trip (or weekend) wasn’t directly related to Drupal, we did the spend the time with some of our best friends in the Drupal community. And just as we did in Denver last year, and we had an amazing time. We were literally able to ‘come down the mountain’ after a day of hiking around lower Mt. Hood.
Chris and I are all about the time lapse craze that is currently happening, so the drive from the mountain to Portland was captured on our GoPros, one safely mounted within the car and the other mounted to the roof (thankfully, both cameras made it!).
Back to work...
I was able to attend the Drupal CXO event on Monday before the conference officially started. It was a great experience to get to meet and talk with a lot of the other company owners, partners, and managers. It was one more place where I was really able to see the Drupal community coming together and sharing in a very open way. I feel like I was able to take away a few valuable lessons from the day:
- [Almost] All small Drupal companies are dealing with the same issues: resourcing, cash flow, growth (too much and too little), dealing with bad clients, partnerships, product development, dedicating time to the company v. time for clients, and the list goes on. The takeaway here was to not get too hung up on any single issue and to remember that if there is something that we as a company are struggling with, there are probably others struggling with it, too. And in that same vein, that it is ok to share struggles and solutions with the community.
- Tracking all time related to both internal and external work is the only way to really understand profitability, but it can be really tough either way.
- There are a tremendous number of talented people working in this industry and I feel very lucky to be a part of it!
- To really fit in with the Drupal CXO crowd you need to wear a company t-shirt and a sport coat or blazer...
There were a lot of additional connections made during the rest of week and some sessions that I really enjoyed. Here are my top five (in no particular order) and some of the points that I took away from them:
- To be honest, I kept up with the first half of the session and then it got a little over my head, but overall I feel like it was very thought provoking.
- Measuring code complexity is tough, but we need to care about it
- Cyclomatic complexity is more or less the number of ‘decisions points’ in a routine, an N-path complexity is the number of ‘unique paths’ and these are not always equal (watch the presentation with the slide to really understand this one)
- Using tools like PHPLOC can really help to determine how complex your code is, but this doesn’t really provide answers to what to do about it.
- Reducing the complexity of your code will increase the long term ability to maintain the system that you have built.
- Mistakes Agencies Make by Seth Brown
- ‘The blood of a unicorn will keep you alive, even if you are an
inch from death, but at a terrible price.’ - J.K. Rowling
- Seth used a lot of quotes to communicate some great points. He warned agencies not to drink the blood of unicorns, meaning at a basic level don’t work your company to death just to make a profit.
- ‘How sad it is! I shall grow old and horrible and dreadful. But
this picture will remain young. If it were only the other
way.’ - Oscar Wilde, The Picture of Dorian Grey
- Growth is really tough! Knowing when and how much to grow (or not) is really hard to understand. The recommendation was to try to keep and maintain at least 10% of your annual revenue in the bank for considering growth. In addition, you need to have a planned strategy for growth.
- ‘We can’t solve problems by using the same kind of thinking we
used when we created them’ - Albert Einstein
- Diversifying your clients, partnerships, and work is critical to success.
- Taking on risk isn’t a terrible thing (if it’s managed properly).
- ‘Allow for healthy dissent’
- Just because you are running a company or are the project manager doesn’t mean you always know what’s best; sometimes the best innovations come from the bottom up, and not the top down.
- Remote and virtual are not interchangeable words. The Drupal project is run by a ‘virtual’ team. However, we are not a ‘virtual’ company, we are a real company with remote employees. It is a subtle but important distinction.
- Remote is everywhere! Teams that are on different floors in the same office can be just as remote as teams that are in different locations all around the world.
- The Five Commandments for Team Members was a great take away:
- Thou wilt spend much time on the phone!
- Thou must be visible and accessible in virtual channels.
- Thou must not disappear without explanation.
- Thou must over-communicate.
- Thou must know thy virtual tools.
- Having common tools and team intranet can be very beneficial to both productivity and team building/camaraderie.
- Time tracking is really, really important!
- In addition to the aforementioned points, there were many more great takeaways for managing teams, both in person and remotely. Moreover, she provided a number of valuable insights and ideas to consider when working with your clients remotely. Watch the session and check out the slides!
- Reponsive Discovery: The Underpants of a Great Web Project by Steve Fisher
- “Collaboration is far better than competition.”
- Design should focus on the human element and not just the technology.
- It is really important to work together to try to solve issues face-to-face. Most people don’t work in the same place as their clients and in a lot of cases not even the team works together. The concept of working together as a team adds a lot of strength to a project.
- Getting out and actually talking to your end users can really help define the user experience that you are creating.
- First and foremost, Robin Hood is awesome! Check them out at http://www.robinhood.org/.
- Using Bean (https://drupal.org/project/bean) and Embeddables (https://drupal.org/project/embeddable) is a great approach to providing content editors a very dynamic way to create pages and manage content. Using this on Robin Hood, they were able to really empower the content editors.
- Drupal (with the right hardware...and Steven Merrill) can scale to handle some CRAZY traffic!
These are just a few of the key points and things that I feel like I learned while at DrupalCon. On a personal level, I had a great time! I really enjoyed getting to spend time with friends, making some new ones, and bonding with the CHROMATIC team. Planning for Austin has already started - hope to see you there!
PS - If you like food and are headed to Portland, then I have two recommendations for you. The first, which is probably in my top 20 (maybe 10) meals, was at OX. The clam chowder was the most unique I’ve ever had (and I LOVE clam chowder). The second recommendation is Little Bird. Not only did they have a really awesome aesthetic, the food and service was fantastic!