2014-05-27 12:31:40 GMT permalink
2014-05-12 09:10:43 GMT permalink
In Evan Davis’ provocative documentary Mind The Gap, he argues that a key attribute that makes London such a successful city is the way that a huge mass of people with diverse talents are able to combine to produce ever more effective and powerful alliances. This effect, known as agglomeration, is a key reasons for the success of start-up communities such as silicon roundabout.
Digital agencies increasingly require the effects of agglomeration to innovate on behalf of clients. Brands are looking to ‘innovate to differentiate’, working with agency partners on ever more complex campaigns, co-creating connected products or pushing the web through responsive builds and smarter mobile development.
These kinds of briefs require an agency to line up diverse teams, with previously ‘non-standard’ skill sets. This isn’t just a production problem. The ‘mad men era’ copywriter+visual creative team isn’t an atomic unit in the world of prototyping, hardware hacking and auto-scaling cloud based solutions. Small project teams need to be comprised of specialists from a wide range of disciplines who quickly need to form productive teams. These teams need to live in the medium. Presenting ‘mobile first’ creative in a PSD is clear warning sign for agencies and clients.
So how do agencies find a way to crunch together multi-discipline teams at short notice. The 3 martini lunch era is a distant relic, and ever more efficient agency businesses are loath to run ‘a large bench’ of specialists. Conversely keeping control of freelance costs exerts financial pressure in the opposite direction. Staffing an effective and innovative team in 2014 is a challenge.
One strategy is to develop a t-shaped skills culture, where people continue to have a strong specialism (and craft) but also have a wide exposure to complementary skills. An agency of designers who code and hardware hacking project managers.
Agency frogger is seen as a threat to business continuity for agencies, but recruiting talent who have been exposed to a wider variety of projects and environments is a potential shortcut to a more diverse and flexible team. Encouraging staff to share, talk and present at events inside and outside of the industry is another way of exposing teams to external influences.
This isn’t an easy problem, but it is one that agencies need to solve to avoid producing out of date, commoditized work that is no longer effective. In many ways the type of skills required are the same, but the tools and landscape have changed. A digital agency that continues to show copy in Word and present ideas using PDFs is already suffering from having the wrong teams in place. The future is already here, it is just unevenly distributed.
2014-04-03 11:07:00 GMT permalink
What does work sound like.
What should work sound like.
If you walked the floors of a successful, creative digital agency with your eyes closed could you tell if ‘things’ were getting done.
I noticed that @crashposition had a couple of playlists called “Music for coding and thinking” - which got me thinking about the way developers use music.
One of the 12 items on the Joel Test is a quiet working environment, without distractions. For many developers, what this means in practice is a quiet environment where they can put on some oversized headphones to filter out interruptions and side conversations - and create their own carefully controlled musical accompaniment to coding.
In most cases developers are trying to create or maintain ’flow’. Flow is for many coders the thing that gives them most satisfaction - the point where almost effortlessly working code seems to shoot from the brain through the keyboard and onto the screen without interruption. Coding downhill, with your feet off the pedals.
For many developers a day with good flow is a ‘good day at the office’.
Flow can be deceptive - extended periods of head down development without collaboration or an alternative viewpoint can result in a spaghetti code pile up of insane proportions. I’ve worked on plenty of projects where someone sat up all night writing code poetry - 'fixing everything’ - because they were in the zone - only to leave the team saddled with the Object Oriented equivalent of doggrel.
Collaboration is a key attribute of a good developer, something that is especially true within an agency environment, but also true for anyone who isn’t just a 'lone wolf’ developer. Which means how effective is 'headphones on, head down coding’? Finding the right channel and balance of communication is important - traditionally IRC has provided the right level of persistence and real time for most developer discussion, but increasingly new tools such as HipChat and Campfire are finding ground. This seems to be especially true with more distributed remote teams.
So what to listen whilst coding, or rephrased, is there a musical shortcut to achieving ‘flow’. If it was that simple then I’d have one playlist or a couple of tunes to listen to on loop that would instantly transport me to the land of easy coding. If only it was that simple.
2014-01-20 15:39:27 GMT permalink
I’m sure you didn’t mean to create this problem. It probably seemed to make a lot of sense at the time. The client was a pain, you were under pressure to deliver - producer over your shoulder, asking “is it done yet”. As for that Tech Lead, he couldn’t code review his way out of a paper bag.
A project that nobody cared about. Ship it. Move on.
And it shows. Because 2 years later we are staring at the code. Trying to fix up some problem or other. It’s hard to know where to start because, well, there’s not many comments, the commit messages are garbage and the little documentation that there is makes no sense.
I understand that you didn’t think anyone would download that app, but people have. And the client, despite what you thought, thinks this is quite a good product and would like to promote it, if only it wasn’t so buggy. So now it’s over to us.
It’s OK for you, and the rest of the team. You left. A contractor. Got fired. Who knows, but you’re not here now as a couple of us go toe-to-toe with your lack of error handling and crazy re-invention of the most common design patterns.
And you know what, I know that we could all write better code, that I don’t have the context of those meetings and planning session when it all made sense. I wasn’t there.
But next time just write a few bloody comments and maybe some documentation that doesn’t assume you know the app inside out already. And think about those of us who have to up pick your pieces…
2013-10-15 11:18:03 GMT permalink