Developer Migration

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Riaan Burger's picture

We're standing at 8 pure developers here now at Burtronix with no dedicated management staff or offices yet; A pretty odd state of affairs from what I understand and it comes with its unique challenges and insights.

This post is a long read and to a degree, stream of conciousness about hard core (or just a subset of) developers' nature. Where that touches on Drupal, I've noted a few things...

The Johannesburg community inspired us to become active Drupal community members. This didn't happen over night but took a year or two of, at first, occasionally joining a meet-up and later attending more of them as well as all the camps. Over the last year demands on our time have increased and the benefit from meet-ups just didn't match up, so we made it to fewer meet-ups. In general, attendance is falling, as is Drupal adoption (sites running Drupal) in South Africa.

When I talk to other Drupal users in the country, I find truth in Charlie's mention (talk at DrupalCamp) that we're working more for the growing international Drupal market; But also that we're all working with Drupal as just one tool in the toolbox and use many others now too, some times without Drupal even being in the solution recipe at all. For some of us, the majority of the work we do can no longer be served by a CMS on a relational database.

To start off I want to state very clearly, Drupal 8 is the future for what Drupal does, but the old idea of just doing Drupal (mostly when it was considered a Joomla! or Wordpress competitor) is over. If you can't build front end applications together with Drupal you're working your way out of the industry and a future and if your tool chain is not FLOSS based, you are building an enormous amount of technical debt that will simply not compete with developers that embrace what they sell, we are open source (and by that I mean the FOSS policy open source our government has and specifically FLOSS that gave us the GPL and Drupal) developers.

The developers I talk about here are not the ones who got the impression from a guidance counsellor that it is a job like any other for their casual interest or talent. It is that one person, alone in a company of one, or the one person in a company doing all the magic solutions when it comes to development. They don't work nine-to-five, no matter what their employment contract says. No, they work 24/7/365. When at the office by day, they just admin their way through things, the real work happens after hours.

By all statistical and anthropomorphical indication, these people are most productive for a few hours before dawn, but mostly and most frequently over night. The state of productivity is known as flow - https://en.wikipedia.org/wiki/Flow_%28psychology%29 - and for myself, I can work a week and not make much headway on a tough problem just to solve and complete it in an entirety in three or four hours one night. Day-time, with its distractions just don't work. It's not even like one can isolate oneself completely, just the awareness that you could be doing shopping right now, phone a client or a family member to check in distracts one. Yes, we may have a hobby or two, but when we're on our surf board, jumping out of a plane, spanking someone in a fetish nightclub or relaxing over a beer, we think of code. When we code, we don't think of our hobbies. When we don't have work or a job, we still code. At night. Usually on something we consider "good for humanity". It gives us the GPL-made software we use every day and that sits at the core of most computing devices used by humans on Earth today.

Drupal 8 is very different and much better than Drupal 7. The developer we speak about won't adopt it super fast and Drupal 8 will dilute the Drupal developer community because:

  • Such developers, unless they are dedicated to Drupal development alone, like a Drupal core developer, tend to have a huge technology stack to keep abreast of other than Drupal and there's a massive modernisation of all related tools coming to a slow-down now after a few years of incredible change that all still need to be adopted completely. Virtualisation alone went through many fits to end in LXD (pretty much where it should have been anyway to start with) with early adopters likely having wasted much time on learning less future proof technology stacks.
  • Drupal 8 may be off-the-island, but it also allows one to build more stuff using related technology that you're learning anyway for Drupal 8 but without using Drupal 8. I like working bottom-up, so Symfony familiarity came way, way before installing a copy of Drupal 8. That also means that most of our server helper scripts and various parsers can now be build with Symfony Console - no Drupal 8, but definitely related. And that means a Symfony conference or perhaps Chaos Computer Club conference will be more useful to us to attend than a Drupal one. You may say a DrupalCon is not about the sessions (which you can get on YouTube) but about the community; I counter there's a wider world of community out there for the hard core developer. One which has more technical merit for a FLOSS developer, especially as the DrupalCons go soft with tech mostly being Drupalisms and the rest being business models and work-flows related to non dev work in Drupal agencies and heavy on brand which is anathema to many such developers. It's also not like one needs to attend a DrupalCon for work, there's too much work as it is.
  • The community will feel like it is smaller. Heck in some ways if you just look at the Drupal community in isolation, it will definitely and tangibly be smaller. The Drupal Association itself has to scale down to accommodate the unforeseen plateau (and even dip), reducing DA staff from 25 to 17. I have my own thoughts about some of that and think that paying people to develop on core will result in quick early gains and a long term loss of interest by FLOSS contributors. Same as any notions of moving away from FLOSS tool chains and back-ends. Developers like these are not a vocal bunch, they barely give it a thought when they decide to spend a night solving a problem with Python or Node.js in stead of writing a Drupal module. But that is a vote they cast by their very night of coding spent. Many such small matters will see developer hours migrate from Drupal to something else and if things ever do go really bad, that will leave a bunch of great management and brand companies with an oversize product they pay to have developed and all talent to do so organically somewhere else on the FLOSS map. This isn't a problem yet for Drupal, we have great FLOSS leadership, but things like incompatible videos distributed by the DA, tracking codes in their e-mail mailshots and the like add tiny bits of motivation not to participate in Drupal and we are very lucky to still have a sensible majority of great developers on Drupal.org that ensure we didn't adopt closed source Slack or GitHub. If that went South, it would have certainly closed the door for many developers and for me, it would have been just a bit more of a reason not to engage on Drupal, but rather engage elsewhere.

So, practically, here for our Johannesburg meet-ups, it means we're not likely to attend as many as before (from Burtronix, that is). But we are also a distributed company and while we're used to using markdown and repo-based documentation to keep all of us up to speed with practical matters and a unified policy, it does help to meet in person once in a while. We're considering monthly meetings and if it meets with the approval of DASA, can make them open to all for Bryanston meet-ups. They won't be all Drupal and often will be completely not Drupal, just covering supporting FLOSS technology and they will be highly technical, no entry-level stuff. From presentation, TeX and markdown on the soft skills side to mobile apps and IoT on the side-plate and LUKS, gpg and pass for security all on a base Linux infrastructure throughout. Let's see how that turns out.

To get back to the nature of a Developer. I've found no way to box them, they are a diverse bunch, so for every thing you can say about them there are exceptions. But there are trends. If you force your developer to work office hours, it is really, really annoying when someone in management remarks that they arrived late or left early. Manager, they work twice as hard and long as you do and you can be replaced several times over for the same work it will take to find another developer. Also, if you see the developer with headphones, chances are that even though they are deeply into code and not really even hearing the lyrics of the song, it is quote possibly "Stripped, raped and strangled" by Cannibal Corpse. There is a very good chance your developer's music collection includes a lot of Black Metal, or at least the kind of Rock music that won't make it onto the radio. Interrupt at your own risk! Put your developer in a dark room far away from management for best results, probably twice the productivity. Let them work from home for several fold the productivity. Communicate only by text and issue queues for even better results. This is not a normal job. On occasion, they will enjoy your company at an agency social - this does not mean they want more of that, it is an exceptional state for a developer.

On the flip side, basic Drupal development that you see in cookbooks can be done in office hours with the lights on and while wearing pants and likely not by the kind of developer we talk about here. I've just never seen someone in that situation solve a tough problem before.

Finally, tech-up your project managers, or even better, advance good developers with an interest in the soft human skills for project management to project management. None of these developers I talk about will ever consider direction from a project manager or general manager that does not have a tech background with actual code experience anything other than personnel filler. ActionScript, C# and VisualBasic does not count. They should at the very least know how to sign an occasional valuable commit.

Well, about time to get back to work for me, sun is setting ;-)

Cheers,
Riaan