Tag Archives: developer

DataStax Developer Days

Over the last week I had the privilege and adventure of coming out to Chicago and Dallas to teach about operations and security capabilities of DataStax Enterprise. More about that later in this post, first I’ll elaborate on and answer the following:

  • What is DataStax Developer Day? Why would you want to attend?
  • Where are the current DataStax Developer Day events that have been held, and were future events are going to be held?
  • Possibilities for future events near a city you live in.

What is DataStax Developer Day?

The way we’ve organized this developer day event at DataStax, is focused around the DataStax Enterprise built on Apache Cassandra product, however I have to add the very important note that this isn’t merely just a product pitch type of thing, you can and will learn about distributed databases and systems in a general sense too. We talk about a number of the core principles behind distributed systems such as the pivotally important consistent hash ring, datacenter and racks, gossip, replication, snitches, and more. We feel it’s important that there’s enough theory that comes along with the configuration and features covered to understand who, what, where, why, and how behind the configuration and features too.

The starting point of the day’s course material is based on the idea that one has not worked with or played with a Apache Cassandra or DataStax Enterprise. However we have a number of courses throughout the day that delve into more specific details and advanced topics. There are three specific tracks:

  1. Cassandra Track – this track consists of three workshops: Core Cassandra, Cassandra Data Modeling, and Cassandra Application Development. [more details]
  2. DSE Track – this track consists of three workshops: DataStax Enterprise Search, DataStax Enterprise Analytics, and DataStax Enterprise Graph. [more details]
  3. Bonus Content – This track has two workshops: DataStax Enterprise Overview and DataStax Enterprise Operations and Security.  [more details]

Why would you want to attend?

  • One huge rad awesome reason is that the developer day events are FREE. But really, nothing is ever free right? You’d want to take a day away from the office to join us, so there’s that.
  • You also might want to even stay a little later after the event as we always have a solidly enjoyable happy hour so we can all extend conversations into the evening and talk shop. After all, working with distributed databases, managing data, and all that jazz is honestly pretty enjoyable when you’ve got awesome systems like this to work with, so an extended conversation into the evening is more than worth it!
  • You’ll get a firm basis of knowledge and skillset around the use, management, and more than a few ideas about how Apache Cassandra and DataStax Enterprise can extend your system’s systemic capabilities.
  • You’ll get a chance to go beyond merely the distributed database system of Apache Cassandra itself and delve into graph, what it is and how it works, analytics, and search too. All workshops take a look at the architecture, uses, and what these capabilities will provide your systems.
  • You’ll also have one on one time with DataStax engineers, and other technical members of the team to ask questions, talk about architecture and solutions that you may be working on, or generally discuss any number of graph, analytics, search, or distributed systems related questions.

Where are the current DataStax Developer Day events that have been held, and were future events are going to be held? So far we’ve held events in New York City, Washington DC, Chicago, and Dallas. We’ve got two more events scheduled with one in London, England and one in Paris, France.

Future events? With a number of events completed and a few on the calendar, we’re interested in hearing about future possible locations for events. Where are you located and where might an event of this sort be useful for the community? I can think of a number of cities, but organizing them into order to know where to get something scheduled next is difficult, which is why the team is looking for input. So ping me via @Adron, email, or just send me a quick message from here.

DevRel Data: Presentation & Deductions

Before diving into conclusions, let’s take a look at some answers to questions asked. This is a slice of answers, with totals for the charts and such. After a few months of answers I’ll have another follow up to see how things may or may not change.

Do you like video material?

chart

What specifically do you, or would you like to watch in video? Screencasts, short videos, conversational, or some other type of videos?

  • Screencasts/tutorials
  • I love both screencasts going through big topics and short videos that cover smaller tips and gotchas.
  • Videos with a specific outcome as the goal, whether achieved or not. Showing the process of something.. like hey, here’s how you building out a Postgres cluster using streaming replication and repmgr and pgpool… Kind of thing.
  • Bite sized content, maybe 2 minutes, to teach me one thing.
  • Editing. No jokes, no “hey what’s up guys” with 60 second intros. Discuss the problem, then solve it.
  • Demos, learning a new way of doing something
  • Doesn’t matter short or long, but has to be deeply technical with code examples that I can actually apply
  • I watch videos mostly for fun.
  • Screencast
  • Short videos of say 5-10 minutes each covering different concept of the subject matter
  • (videos work best in a classroom setting where time/attention is precommitted, or as part of a tutorial)
  • conversational
  • Short videos.
  • If it’s too long, it ends up on my todo list forever (not good). So shorter is better. And something that benefits from visuals, rather than something that could just be written.
  • I also watch LinkedIn Learning when just starting a new tech. to get a general overview and pick up a tip or tow, then I read books and the Internet from there.
  • short videos

What kind of written material do you like?

chart2

Do you like other material mixed in that details the reason for the tech, the story, or such?

chart3

Is there anything that comes to mind, that you’d like to have me or the team I’m working with (@ DataStax) put together that you’d find useful, entertaining, or related.

  • Place priorities on designing materials for more depth (i.e., more linked material) as well as less attention-nuisance. That’s no criticism of your work, merely the gestalt of where we work — so less noise is a better way to stand out and make materials useful.
  • Maybe focus more on written material – code & architecture material (books, articles) rather than videos and twitch. It is much easier to consume and is easily googlable. Also I’d suggest making blog posts target a specific common issue or question – sometimes I see posts that I don’t really care about or the problem is so narrow that I don’t want to read about it. I’d read about building resilient and highly available architectures in various configurations.
  • Database reliability, scalability, migrations and such stuff is interesting.
  • Anything to do with machine learning.
  • Data model examples, starting up a Cassandra node, configuring YAML, etc

Deductions

I’m going to go backwards through the questions and discuss what I’ve deducted, and in some ways what has surprised me among the answers!

First there’s the “Is there anything that comes to mind, that you’d like to have me or the team I’m working with (@ DataStax) put together that you’d find useful, entertaining, or related.” request and questions.

The answers here didn’t surprise me much at all. Within DevRel from Microsoft to DataStax to Google to many other organizations we have this ongoing battle between “write a whole book on it” or “make it 2 minutes short”. It’s wildly difficult to determine what format, what timing, and what structure material needs to be in for it to be most useful to people. So when I saw the answer that reads, “Place priorities on designing materials for more depth (i.e., more linked material) as well as less attention-nuisance.” I immediately thought, “yeah, for real, but ugh…” it’s difficult. However, I’m working on more thorough material, some of it will be paywalled via LinkedIn Learning or Pluralsight and other material may be available by book in the coming months. But there will be other material that will indeed be long form how to material on how to really put things together – from scratch and from the basis of “we have X thing and need to hack it so we can add a feature”.

The next answer I got in this section that I completely agree with is increasing the focus on written material. I’m making tons of video, and I’ve got that down to the point where it’s actually easier and faster to do most of it then it is to write things down. However I realized, especially from my own point of view, that written material actually ends up being vastly more useful than video material. That’s also why, even with the video material, when I’m covering specifics I aim to provide a linkable timeline and a blog entry with the code and other changes shown in the video. Thanks for reinforcing these efforts and giving me that indirect encouragement to make this process and the results even better. More written material is on its way!

As for the database reliability, scalability, migrations, machine learning, data modeling, Cassandra node starting, and all that it’s in the queue and I’m getting to it as fast as I possibly can.

Next question I asked is, “Do you like other material mixed in that details the reason for the tech, the story, or such?

It appears, albeit not a huge contingent of people, some people are curious about biking, train coding, and making good grub! Hey, that’s groovy cuz I’ve got a show coming out which is basically the behind the scenes videos about all those topics that make the coding and technology hacking possible!

The one outlier in this set however is clearly the request for “Ways to simplify life to dig through those algorithms faster, easier, better?” which I didn’t suspect would be any different then the other answers for this questions. Which left me surprised and ill-prepared on what to do about fulfilling what is clearly a demand. I’ll have to up level my blog posts around algorithms. I did do a couple a long while ago now in “Algorithms 101: Big Sums” which I completed in Go and another I wrote up “Algorithms 101: Roads & Town Centers” which I have 90% of the answer complete but I’ve never finished the blog entry! I guess it’s time to get the algorithm train coupled up and ready to depart!

Then the question, “What kind of written material do you like?

Two options lead by a healthy margin for this question: Demos w/ Write Up and Blog Articles. With this coupled up to the first question it’s clear that written material via blog and demoes via blog should and ought to be top priority. They are, however they’re a whole helluva lot of work, so I only get them produced but so fast. Got some gems coming on Go, Bash, Cassandra, and a few other demo, tech, and historical information.

Next up was single page cheat sheets and documentation, followed closely by books. I kind of expected documentation and books, but wow that single page cheat sheets option is higher rated than I would have suspected and by proxy I’ve immediately added that to my produce this type of material list! I put it in as a very secondary thought but it’s going to get into that increased focus queue.

The last one with some semblance of demand is pamphlet size short form. This one almost seems like a fluke, but I’ll ponder putting together some of these. I know O’Reilly has their short novelette size books which cover a particular topic. They hand these out for free at conferences and seem pretty solid. Maybe I’ll work one of those into the queue? Maybe.

The other three options scraped by with 1%, so somebody was choosing them. So the vi mug isn’t a priority nor the short explainer videos. Which seems in contention with video content demands around shorter content. I guess, explainer videos just doesn’t sound useful!

The next question I just put together a top three of the results, “What specifically do you, or would you like to watch in video? Screencasts, short videos, conversational, or some other type of videos?

  1. Make screen casts.
  2. Make screen casts generally short.
  3. Make screen cases that are short and on a specific and deep dive into a topic.

This seems kind of in conflict with itself, but I’m going to aim for it and try to hone the skill further. So that I can produce screen casts, screen casts that are generally short, and make sure that these screen casts that are short are on a specific and deep dive into a topic. Whew, got it.

Finally, “do you like video material?

chart

At this time, 53.8% of you have said yes. I had guessed it would be around 50%.

I had guessed no would be about 25%, and at 23.1% I wasn’t to far off.

The other respective mishmash of answers made for interesting depth to the questions that followed this question.

Article Summary & TLDR

Produce more topic specific, detailed material around screen casts and blog entries!

End of story.

For more on this information, why I asked, and what I do check out my article titled “Evangelism, Advocacy, and Activism in The Technology Industry” and for some of the big victories for big corporations check out “The Developer Advocates – Observations on Microsoft’s New Competence“.

I’ve Officially Sent This Email Over 100 Times to Recruiters Looking for .NET Developers

Job Description

Here’s the letter, it’s kind of LOLz! I know it’s tough to find .NET Developers (or replace .NET with Java Developers or X Enterprise Language), so CIOs, CTOs and others take note. Here’s what I experience and what I see all the time, embodied in a letter. I will put effort into hooking people up with good jobs, that fit the person, and persons that fit the job, but lately I’ve seen companies that do .NET work in the Portland, Seattle and especially San Francisco areas become exceedingly desperate for .NET Developers. This is what my general response looks like.

“Hello Recruiter Looking for .NET Developer(s), thanks for reaching out to me, however I regret to inform you that I don’t know a single .NET Developer in Portland Oregon looking for work. It seems all the .NET Developers have either A: gone to work for Microsoft on Node.js Technologies, B: switched from being a .NET Developer to a Software Developer or otherwise C: left the field and don’t want to see any software ever again (which always makes me sad when people burn out, but alas, hopefully they find something they love). It’s a funny world we live in.

Even though I’m fairly well connected in Portland, Seattle, Vancouver (BC) and even San Francisco it is rare for me to meet someone who wants to do pure .NET Development. If there is I’ll connect them with you. However if you know a company that is porting away from .NET, building greenfield applications in Node.js, Ruby on Rails or other open source stacks I have a few software developers that might be interested.

Cheers”

Even though this letter is geared toward recruiters looking for coders, there is another letter that I’d like to write to a lot of other companies, that goes something like this,

“Dear Sir or Madam At X Corp Enterprise,

Please realize that lumping a person into the position you’re requesting (.NET Developer) is a career limiting maneuver for many in the occupation of software developers. We software developers are people who solve problems, it happens that we do this with code written on computers. The computers execute that code for us thus resolving the problems that you face. This helps X Corp Enterprise do business better! It’s a great relationship in many ways, but please don’t limit our future careers by mislabeling us.

Also, we’re not resources. That’s just a scummy thing for a human to call another human. Thanks for reading this letter, have a great day at X Corp Enterprise!”

I’d be happy to refer .NETters (or Javaers or COBOLers or RPGers or whatever), but seriously, it seems to be a lost cause out there, even more so for mid-level or beginning developers. Barely a soul is looking for a job as a .NET Developer, but I know a few that look for jobs as software developers every couple of weeks.

Speaking of which, if you are looking for work and you want a filtered list of the cool companies and related information of who to work for in Seattle, Portland or elsewhere in Cascadia reach out to me and let me know who you are. I’m more than happy to help you filter through the mine field of companies and job listings. Cheers!

Addendum:

Computer Repair Shit Storm

9 Ways To Survive The Shit Storm of Developer Evangelism

I started to write a blog entry a few months ago about my time doing developer evangelism. First in practice, along with product management and team leadership and then as a full time developer evangelist with Basho. Then I felt many different things, nothing which translated into a very useful blog entry. Well past any motivation to write up where and what I was doing at the time and why I decided it wasn’t something I wanted to keep pursuing, I ran into this blog entry titled “Developer Evangelism The Whole Story“. At that point I thought, “alright, I’m going to add my two cents after all”.

For one of the same reasons Keith Casey wrote his entry. People have asked me numerous times about becoming an evangelist or advocate. Be sure to read Casey’s write up, and here’s mine to throw more into that fire.

Positives:

  • You’ll be able to go to all sorts of cities and meet a whole bunch of different people.
  • You’ll be on display and actually able to do something to improve the industry. Not just technologically but to help resolve sexism, discrimination and other issues and treat people well.
  • Do right by people as an evangelist and you’re set for a plethora of possibilities when you finally get burned out.
  • You get to play with all sorts of tech.
  • You get to travel a lot, which makes you really start to respect your home base, wherever that may be.

Negatives:

  • You’re barely ever home, usually you’re on the road with familiarity often becoming the stink of a plane or the confused expression as the TSA security circus actually recognizes you and just starts ignoring you.
  • Even though you can help improve the industry, you’re ability to make a home, make a difference where you live is dramatically reduced to basically nothing. For most people, considering civic involvement in the United States, this probably doesn’t even matter. For some, it’s destructively depressing.
  • If you get mis-portrayed, say something dumb out of jest, or the media mis-quotes you it can be anywhere from annoying to career limiting or ending. If you make the mistake of pissing of someone that has a lot of pull then it could also be super destructive – even if that person is a total jack ass and everyone routinely knows it and admits to it.
  • You get to play with all sorts of tech, but you lose a lot of credibility because you don’t actually build anything real anymore. This is a huge problem, and I’d even suggest most evangelists go work on an actual dev team every other year or so. It doesn’t matter who you are, you will start to be perceived as a shill of some sort by a reasonable amount of people, even though they could be extremely wrong in that perception.
  • Your home base, you often don’t get to have a real home base. You are a vagabond. For a musical definition, listen to Metallica’s “Wherever I May Roam”.

Now if you still think this is a great gig for you. Thicken up that skin, get some callouses and get ready for a bad ass trip that’ll teach you about all sorts of human interactions and more. But be prepared and keep a solid look out for burn out, the degradation of any of the situations mentioned above and you’ll likely do well. If you’re still interested, here’s a few things to get your kick start in developer evangelism:

  1. Get a social media presence, get it fast, and get a nick that you can use in almost all contexts. Don’t even pretend you can skip this step. The most successful evangelists have a huge social media presence and manage it. They manage it hard core, work it into a system, and learn efficient and positive ways to interact with that social media presence. Shut up, don’t even try to skip it, just go out there and manage it.
  2. Make sure to spend at least an hour a day doing something technical. Hacking on Docker, writing some scripts or heaven forbid writing some actual code. This is massively important because you’ll find yourself losing direction all the time from the task switching and not getting to do these little technical things that will help you keep your edge.
  3. Learn to speak. I don’t mean read a little book and think you know how to speak in front of a crowd. Likely, you really suck at it. I’m talking about practicing in the mirror, talk to yourself, record yourself and watch it and do all of these things without becoming nihilistic or pompous. Most of us tech speakers are so bad we’re lucky that the people in the industry are actually focused on the tech and not our stuttering horror of speaking abilities.
  4. Drop all fear to speak with people in positions of power. Remember, everybody is human, don’t get intimidated and don’t intimidate.
  5. Not that anybody in the software industry or tech industry or any industry needs told this but I’ll say it. Don’t overdo the drink. We’re all dangerously close all the time to being worthless drunkards. Some of us stay pretty functional on a drink or two, but that only lasts for a short time before you do indeed go downhill. Don’t deny yourself, you are NOT part of the one percent that can stay sharp and rot your brain. So keep the drink in check.
  6. Find a way, anyway, to stay physically healthy. If you don’t the travel can very likely kill you. I don’t mean like “I’m tired and want to go to bed” killed but more like “hmmm, Tory Joe McQuerty here sure did see like they were fine, too bad we’re putting them six feet under” killed. Oh, the “I’m tired and want to go to bed” will happen all the time too, just make sure you keep that as the only killed you get.
  7. Attain a huge amount of apathy for the extra overdose of everyone’s opinions about how everything sucks in the world. Many programmers are notoriously negative, especially if they work in the enterprise. It’s part of the daily war story if you get sucked in. Remember to stay focused on what’s important, your health and your loved ones, the job comes second. Anybody that tells you different, put them in that apathy category.
  8. Never feel like you have to explain yourself when you need to take some family time or personal time. Just say you need to and do it. Even if you’re pretty close to people on your team, they need to respect that and let you get some time in. This is extremely important.
  9. Don’t give to many fucks. Learn that at some point you gotta call it a day and turn in. Just drop it all and get a good night of sleep.

Summary: Think really hard about what you want when signing up for a dev evangelist or advocacy gig. It will wreck hell on your life, but it could be immensely rewarding too. But please, if you go into evangelism, practice at it and be prepared. I hate the idea of seeing more people burn themselves right out of the industry.

If you have anymore survival suggestions, please do comment!

Write the Docs, Proper Portland Brew, Hack n’ Bike and Polyglot Conference 2013

Blog Entry Index:

I just wrapped up a long weekend of staycation. Monday kicked off Write the Docs this week and today, Tuesday, I’m getting back into the saddle.

Write the Docs

The Write the Docs Conference this week, a two day affair, has kicked off an expanding community around document creation. This conference is about what documentation is, how we create documentation as technical writers, writers, coders and others in the field.

Not only is it about those things it is about how people interact and why documentation is needed in projects. This is one of the things I find interesting, as it seems obvious, but is entirely not obvious because of the battle between good documentation, bad documentation or a complete lack of documentation. The later being the worse situation.

The Bloody War of Documentation!

At this conference it has been identified that the ideal documentation scenario is that building it starts before any software is even built. I do and don’t agree with this, because I know we must avoid BDUF (Big Design Up Front). But we must take this idea, of documentation first, in the appropriate context of how we’re speaking about documentation at the conference. Just as tests & behaviors identified up front, before the creation of the actual implementation is vital to solid, reliable, consistent, testable & high quality production software, good documentation is absolutely necessary.

There are some situations, the exceptions, such as with agencies that create software, in which the software is throwaway. I’m not and don’t think much of the conference is about those types of systems. What we’ve been speaking about at the conference is the systems, or ecosystems, in which software is built, maintained and used for many years. We’re talking about the APIs that are built and then used by dozens, hundreds or thousands of people. Think of Facebook, Github and Twitter. All of these have APIs that thousands upon thousands use everyday. They’re successful in large part, extremely so, because of stellar documentation. In the case of Facebook, there’s some love and hate to go around because they’ve gone between good documentation and bad documentation. However whenever it has been reliable, developers move forward with these APIs and have built billion dollar empires that employ hundreds of people and benefit thousands of people beyond that.

As developers that have been speaking at the conference, and developers in the audience, and this developer too all tend to agree, build that README file before you build a single other thing within the project. Keep that README updated, keep it marked up and easy to read, and make sure people know what your intent is as best you can. Simply put, document!

You might also have snarkily asked, does Write the Docs have docs,why yes, it does:

http://docs.writethedocs.org/ <- Give em’ a read, they’re solid docs.

Portland Proper Brew

Today while using my iPhone, catching up on news & events over the time I had my staycation I took a photo. On that photo I used Stitch to put together some arrows. Kind of a Portland Proper Brew (PPB) with documentation. (see what I did there!) It exemplifies a great way to start the day.

Everyday I bike (or ride the train or bus) in to downtown Porltand anywhere from 5-9 kilometers and swing into Barista on 3rd. Barista is one of the finest coffee shops, in Portland & the world. If you don’t believe me, drag your butt up here and check it out. Absolutely stellar baristas, the best coffee (Coava, Ritual, Sightglass, Stumptown & others), and pretty sweet digs to get going in the morning.

I’ll have more information on a new project I’ve kicked off. Right now it’s called Bike n’ Hack, which will be a scavenger style code hacking & bicycle riding urban awesome game. If you’re interested in hearing more about this, the project, the game & how everything will work be sure to contact me via twitter @adron or jump into the bike n’ hack github organization and the team will be adding more information about who, what, where, when and why this project is going to be a blast!

Polyglot Conference & the Zombie Apocalypse

I’ll be teaching a tutorial, “Introduction to Distributed Databases” at Polyglot Conference in Vancouver in May!  So it has begun & I’m here for you! Come and check out how to get a Riak deployment running in your survival bunker’s data center. Zombies or just your pointy hair boss scenarios of apocalypse we’ll discuss how consistent hashing, hinted handoff and gossipping can help your systems survive infestations! Here’s a basic outline of what I’ll cover…

Introducing Riak, a database designed to survive the Zombie Plague. Riak Architecture & 5 Minute History of Riak & Zombies.

Architecture deep dive:

  • Consistent Hashing, managing to track changes when your kill zone is littered with Zombies.
  • Intelligent Replication, managing your data against each of your bunkers.
  • Data Re-distribution, sometimes they overtake a bunker, how your data is re-distributed.
  • Short Erlang Introduction, a language fit for managing post-civil society.
  • Getting Erlang

Installing Riak on…

  • Ubuntu, RHEL & the Linux Variety.
  • OS-X, the only user centered computers to survive the apocolypse.
  • From source, maintained and modernized for humanities survival.
  • Upgrading Riak, when a bunker is retaken from the zomibes, it’s time to update your Riak.
  • Setting up

Devrel – A developer’s machine w/ Riak – how to manage without zombie bunkers.

  • 5 nodes, a basic cluster
  • Operating Riak
  • Starting, stopping, and restarting
  • Scaling up & out
  • Managing uptime & data integrity
  • Accessing & writing data

Polyglot client libraries

  • JavaScript/Node.js & Erlang for the zombie curing mad scientists.
  • C#/.NET & Java for the zombie creating corporations.
  • Others, for those trying to just survive the zombie apocolypse.

If you haven’t registered for the Polyglot Conference yet, get registered ASAP as it could sell out!

Some of the other tutorials that are happening, that I wish I could clone myself for…

That’s it for updates right now, more code & news later. Cheers!

Lists of Lists of Lists: Conferences

RICON 2012

RICON 2012

This is the first in a series (AKA a list) of lists that I’m researching and putting together. I’ve had many questions in the last few weeks for “cool conferences”, “awesome hackathons”, “meetups” and “conferences that are worth the time” and related. So here’s the conferences list so far, I’ll be adding more on my conferences page over time. If you’re looking for the most updated list, check out that page. Here’s what others & I have collected so far. Thanks to everyone on twitter, facebook and those other places we’ve discussed conferences:

Github: @adron

Github: @adron

Developer Conferences

  • OSCON
  • Qcon London
  • Qcon San Francisco
  • HTML 5 Developers Conference
  • Web 2.0
  • Velocity Conf Beijing
  • Velocity Conf Santa Clara
  • Strata Conf Santa Clara
  • Strata Conf London
  • Strata Conf Boston
  • Strata + Hadoop World (NYC)

    OSCON (Red Hat table)

    OSCON (Red Hat table)

  • Fluent Conf (San Francisco, CA)
  • Portland Code Camp
  • Seattle Code Camp
  • San Francisco Code Camp
  • Node Conf
  • Node Summit
  • Node PDX
  • Ruby on Rails Conf
  • Cascadia Ruby Conf
  • Strangeloop
  • Defrag / Glue
  • Mobile Web Development Conference
  • Mozilla Festival

    Checking out awesome new tech with Dave McCrory at VMworld

    Checking out awesome new tech with Dave McCrory at VMworld

  • RubyWorld Conference
  • Software Craftsmanship
  • Øredev
  • Monktoberfest
  • RICON
  • Symposium on OS Design and Implementation (OSDI)
  • USENIX Conference on File and Storage Technologies (FAST)
  • High Performance Transaction Systems (HPTS)
  • ACM Symposium on OS Principles (SOSP)
  • BUILD 2012
  • Railsberry
  • Mix12 – Microsoft
  • RealtimeConf
  • Azure Conf
  • DeployCon
  • AWS re: Invent
  • Cloudbeat
  • Structure
  • CloudConnect
  • TacoConf

To add to this list, check out the Google Docs Worksheet I’ve setup or check out the conferences page. The later I will update regularly whenever there are updates to the Google Docs Spreadsheet.

I don’t often ask for RT, tumblr, reddit or other links, but would love to see how big the list can become, so if you have a second please link it, retweet it, like it on facebook or Google+ and get it out there. Thanks!

Updated on Wednesday the 7th of November, 1:37pm 2012
Last Updated 4:41pm on Wednesday the 7th, November of 2012. For the most up to date list check out the conferences page.

3 Things Companies Do Wrong by Developers, The New King Makers

I’m sitting on the train heading from Seattle to Portland today. I live in Portland, but spend a significant amount of time in the beautiful Emerald City. The time on the train is immensely useful to think about concepts, thoughts, introspect, code and generally be uninterrupted in focus. All the while it makes the 3 plus hour trip productive for me. I don’t waste a single minute fidgeting about uselessly in a car. It’s win, win, win and win on all accounts. But enough about the trip and these pleasantries, I’ve got some ranting to do! I want to tell you what is being doen wrong in business, in software and in general in the community around software developers.

1. Stop Listening to PR (Public Relations) when speaking to Developer Communities

PR can serve an important purpose for certain things, but if you’re speaking through PR to the software developers’ community you’ve screwed up. You’ve screwed up big time. I’ll step into dangerous waters and say it is often a good idea to either get advocates (or evangelists) or marketers to speak to developers but the second PR is involved – you’re going to be dead in the water.

In the case of marketing & advocates, they need to know where and how to interact well with the developer community. Developers can smell crappy marketing lines a thousand miles away, so when delivering messaging to the community, it needs to be on point, informative, without the buzz word bingo. Take for instance this gem I heard recently:

Vertically integrated incentivized synergies.

A simple response to that is, “WTF, unfollow, unsubscribe, get outta here.

Conversations have to be real and honest, if there isn’t any experience, skills or knowledge in the marketing or advocacy team, it’s best to own up to that ASAP and ask the community what information they’d like to receive from X company.

Let’s take a few great examples – and yes, I’m going to outline real companies doing things right. I’m not going to harp on companies doing things wrong, because the developer community knows painfully well who these companies are. Those companies can consider this a PSA.

New Relic

Full disclosure, I provide consulting, development how-to & blog entries as a consultant.

New Relic takes several avenues in messages to developers. They’re really good at this and it shows in their honesty, integrity and reputation among the community itself.

Blogging:  New Relic has a blog (yes, I write there also) that is informative on many levels. Not just a blog that churns out marketing things about their own products, but instead a blog full of useful information about events, products, other company’s that partner with New Relic, community coding and hackathon events and all sorts of additional articles. The key here, is the New Relic Blog is actually useful to the developer community. Two great example here are the “Nerd Economy” which was just a fun entry, and the “Rails Rumble” involvement New Relic had.  This is what makes it an extremely valuable asset to the community, to New Relic itself, and to individual programmers & operations people as well!

New Relic's Blog - click to go there and have a read.

New Relic’s Blog – click to go there and have a read.

Basho

Full disclosure, I’m friends with a number of people here now thanks to RICON and because of their excellent interactions in the developer community, see here and here for more on RICON.

Blogging: Basho is another company that is doing this well. They’re focused primarily on partners, events related to OSS and Basho (such as Riak) and has a fair breadth of topics overall. This keeps people coming back, and makes the articles useful to the community. A great example is their activity around the Rails Rumble and the Basho Docs Update. Again, that recurring theme, the articles must be useful. No one should ever just stick marketing spiel into a blog entry and post it.

2. Do NOT waste our time (or yours), we’re overbooked already!

Try to connect events together with other companies and provide them as such. Give multiple reasons to come to conferences, meet ups or otherwise get out the door. If there isn’t reasonable reason to physically be somewhere, make it an online event, chat or some other type of communication. Better yet, in many cases, write up some documentation and let us developers RTFM! But whatever marketing departments  advocates and evangelists are doing, please coordinate a bit more so us developers (especially those that are writing a ton of app code) don’t spin our wheels getting value out of events.

From my personal perspective, I make it a point to help as many community members that organize meet ups and all to bring additional value – and if there isn’t enough value to merge with other groups. Bringing diverse backgrounds and polyglot ideals to a group isn’t a bad idea. Stay mono-lingual is a sure way when language priorities shift you won’t lose your community base. Now I’m going to harp on some groups that destroyed themselves, but eventually transformed by merging into other groups.

In Seattle & the Redmond area there used to be 3 (and I even have heard rumors of 4) .NET User Groups. With the advent of the extremely high value and dominance of the polyglot programmer (not that they were ever under-valued or anything). They all have since disappeared, but in very different ways. One lost because of a lack of content, then decreasing number of speakers, and eventually it died – completely. Another one actually ceased to exist because it merged into a group fo people that got involved in a number of other meetups that bridged development with a lot of other interests the attendees had. The last group actually polymorphed (eh, see what I did there with that programming term!) into a completely new group that is more open, more polyglot and fairly interesting. This is a perfect case of dropping a single tie to a single thing and branching out – or fading into nothing.

3. Don’t tell us not to communicate with our community!

Oh dear there is no better way to stifle innovation and favorable reputation of your software and products than to disallow your own company’s developers to publicly talk about it. It is absurd to kill this. The only company that I know, in the history of software, that has done this successfully is Amazon. But even Amazon only does it strategically. The companies that have done this completely are either dead or on their way to dying. To some degree Apple does this a little, but even in a tight lipped ship like Apple have developers talk about how or why they build things the way they do. They’re very proud of what they’ve built and they want to tell people.

The developers in a company are the absolutely best advocates for the products out of everybody. They may not be able to get out in the public, or even go out in public, but when they do and when they communicate if you’re running a good ship, that has proud developers, the community will know. Don’t forget either, there’s a few million us, that’s a force to be reckoned with in the market.

3.14159265359 Developers are indeed the king makers, don’t treat us like pawns!

RedMonk pointed out a while ago that “Meet the New King Makers: Same as the Old Kingmakers“. They’re on message, on target and very accurate as usual. If you want advice, information and a better understanding of the developer community, RedMonk is the analyst firm to check out for software development, you can forget the others.

I know there are dev shops out there that are amazing. There are dev shops out there that are atrocious. However those bad shops often suffer from heavy turnover, bad recruitment practices and even outright lying sometimes. It’s a bad situation, but just know if you hone your skills, communication skills and related abilities you as a developer won’t have to deal with those companies once you’ve cut your teeth in the industry.

To those dev shops that are meat grinders. You pay a heavy price, heavier than you might realize. Here’s why.

  • Turnover is ridiculously expensive. Many estimates range from 0.25x as much to 60x more expensive than maintain a solid team, good environment and positive conditions. Use google, read about it, turnover is a bad thing in many, many ways. (the rule of moderation does apply here)
  • A company with bad practices will NEVER, forget what you THINK you get, but the company will never achieve any type of competitive speed, quality or velocity of development compared to a dev shop that treats their developers well.
  • You will continuously create poorly designed interfaces, user experience and generally create a negative environment in which to operate, the company will never acheive its true potential. Developers are notorious for telling it like it is, if you make them unhappy, trust me when I say your entier company and the company’s reputation will be known very quickly among the developer community. Not only will you have to hire from outside of the area, you likely won’t be able to get A Game coders ever. They simply will not exist for a meat grinder shop.

There are ways for this to be remedied, but it is a very hard road to travel, far harder than any technical challenge to face. This challenge also takes, at minimum, years to truly fix once it has happened. So fix it, stop hiring warm bodies and work at being a good place for human beings to work.