Justin Gehtland - Cognicast Episode 116

AUDIO

In this episode, we review 2016 with Justin Gehtland and look ahead to a new year.

Our Guest, Justin Gehtland

Datomic changes
clojure.spec
Russ Olsen on Distributed Teams
Appreciations
Clojure conference 2017 announcements coming soon
ClojureBridge

SUBSCRIBING TO THE COGNICAST

The show is available on iTunes! You can also subscribe to the podcast using our podcast feed.

You can send feedback about the show to podcast@cognitect.com, or leave a comment here on the blog. Thanks for listening!

CREDITS

EPISODE COVER ART

AUDIO PRODUCTION

PRODUCER

Our theme music for this episode is Thumbs Up (for Rock N' Roll) by killthenoise with Feed Me which was used under a Creative Commons License.

In this episode, we review 2016 with Justin Gehtland and look ahead to a new year.

TRANSCRIPT

RUSS: Hello, and welcome to Episode 116 of The Cognicast, a podcast by Cognitect, Inc. about software and the people who create it.

Well, this is our first episode in 2017, and we’re going to kick off the new year with a new host, Carin Meier. Along with being one of the senior developers here at Cognitect, Carin is also a great conference speaker. If you haven’t had a chance to see Carin fly a Clojure controlled drone over our conference stage, you have missed the real life experience. Carin is also the author of the O’Reilly book Living Clojure.

This week Carin will be talking to Cognitect CEO, the irrepressible Justin Gehtland. Goodness knows we’ve tried our best to repress him without success. Carin and Justin will be talking about the year just past and looking forward to 2017.

But before we get started, we do have a couple of events to mention. First, the Clojure Remote conference is going to happen on February 9th and 10th. Clojure Remote is a two-day online Clojure conference targeted at practicing Clojure developers. It features talks, interactive tutorials, workshops, and breakout sessions. Take a look at 2017.ClojureRemote.com for more information.

Second, the clojureD conference is happening in Berlin on February 25th. ClojureD is an independent, nonprofit conference by and for the Clojure community held in Berlin in Germany. Meet the German and European Clojure community and share a good time together. The conference will be held in English. Take a look at www.clojured.de for more information.

Finally, if you have a Clojure related event that you would like us to mention, please drop us a line at podcast@cognitect.com.

Well, that’s about it, so onto Carin and Justin in Episode 116 of The Cognicast.

[Music: "Thumbs Up (for Rock N' Roll)" by Kill the Noise and Feed Me]

CARIN: We’re in fact recording. Are you ready?

JUSTIN: I am ready.

CARIN: Okay. Welcome, everyone. Today is December 20th, and this is The Cognicast. I’m Carin Meier, and today it’s my great pleasure to welcome Justin Gehtland to the show. Thank you for being with us, Justin.

JUSTIN: Absolutely. Always my pleasure.

CARIN: Yeah, and this is kind of exciting for me because it’s my first time hosting the show, so I really appreciate you being here. This is great.

JUSTIN: Oh, wow! I’m your first guest. Sweet.

CARIN: Yeah, so the first question, as you traditionally know on the Cognicast, we like to start the show by asking you to relate some experience of art, whatever that means to you.

JUSTIN: Yeah, and I’ve had the pleasure of being able to answer that question twice before for the Cognicast: once on the first time it was asked to replace the old question, and then a second time for the 100th episode extravaganza, which was quite fun.

This time I’m just going to talk about something that I found really heartwarming earlier this year when my wife and I went to go see Adele. My wife and I are both huge Adele fans and, for my wife’s birthday, I got her some tickets to see her in Nashville, which happens to be a place we lived for 4 years about 15 years ago, so a little bit of an old home trip. We went to see the show and, if any of the listeners were paying attention to the Adele concert tour, she did something a little strange, which was that they announced all the tickets for all the shows went on sale simultaneously. They pretty much broke Ticketmaster, and the entire concert tour was sold out within about five minutes.

CARIN: Wow.

JUSTIN: Which was quite ridiculous, so I had to get the tickets off of StubHub, and we were in the Nashville arena downtown, the Bridgestone Arena, and we were in the very, very last row of the arena. In fact, we were in such the last row of the arena that there wasn’t even a way to get to the row we were in. You had to go to the row in front of it, walk halfway down it, and then climb over a chair, so we were pretty far away from the stage.

But during the show, Adele asked the audience how many people here got these tickets for Christmas, and how many people got these tickets for a birthday or something like that. While she was sort of doing her crowd work, somebody pointed out a woman who was holding up a big sign. The sign said, “My husband got me this ticket for our 40th anniversary, but he could only get one.”

CARIN: Ohhhh.

JUSTIN: Adele calls her up onto the stage, and so here comes this 60-something year old woman up on stage, and Adele is talking to her. She says, “So where is your husband?”
She said, “Well, he’s actually down the street in a bar watching the playoff baseball game.”
And she said, “Well, would he rather be there than here?”
And she goes, “No, he’d rather be here, but he could only get the one ticket?”
And so she says, “Okay. Do you have your cell phone with you?” And she said, “Sure.”

So she has the woman take a selfie of the two of them standing there. Adele puts her arm over her shoulders, and then she says, “Now call him and tell him that Jerry will be outside waiting for him,” and they sent a security guard. He walked down from the bar down the street and got escorted into the show and got to watch the rest of the show, which I thought was pretty awesome.

CARIN: That’s awesome. That is so awesome. That’s great. How was the rest of the show? Was it as good?

JUSTIN: The show was fantastic. I have to say that she’s a remarkable performer. If you listen to her albums, she’s got a very distinctive singing style and a very distinctive singing voice. I didn’t know what to expect being in a giant arena, but she carries an arena quite beautifully and is able to really project into the space, which was awesome.

The only downside is that I did not get to see the last six songs of the set because my daughter got sick and was watching my boy in Nashville, and so I had to take an Uber to get back to the apartment.

CARIN: Oh, no.

JUSTIN: But at least Lisa got to see the last six songs. I got to see the first 12. It was an 18-song set, which is pretty darn good.

CARIN: Oh, good.

JUSTIN: She was a remarkably talkative performer. A lot of performers just sort of stand up there and get through the material as fast as they can, but she really wanted to hang out, so it was a very fun show.

CARIN: Cool. Yeah, I’ve heard that she just gives great concerts. Yeah, well, let’s jump to the main interview here, and we wanted to talk about the year in review.

JUSTIN: Yeah.

CARIN: This has been a crazy, crazy year.

JUSTIN: Yeah, to say the very least.

CARIN: But let’s talk about what’s been happening at Cognitect over the past year.

JUSTIN: Probably better for all of our blood pressure. Sort of inward there a little bit.

Yeah, 2016 has been pretty good, and we’ve seen a lot of interesting, new releases out into the world. We’ve paid a lot of attention to the things that we can be doing as an organization to service our various communities. The community around Clojure, our customers for both our consulting and for our Datomic product, and I think we’ve had a good year as a result of that.

I would say that it’s hard to really say whether 2016 went the way we all envisioned it because, as you said, it’s been a crazy year. It’s one of those years where I’m having trouble remembering what the world was supposed to look like at the end of 2016 from the beginning of it. Some of that is internal, and some of it isn’t, but it’s been a rather discombobulating last few months, as you might expect.

A lot of times we’ll do these year in reviews and we’ll talk about what were the plans for the year and then how did the year turn out in relation to those plans. I have to say I really don’t have a good answer to that because I can’t remember what we said. The world is so radically different than what I expected it to be right now.

CARIN: We can just talk about some highlights from the past year. I know that there was a big announcement just top of mind recently at the Conj, around Conj timing with Datomic.

JUSTIN: Yep.

CARIN: Do you want to talk about that a little bit?

JUSTIN: Yeah, so to recap what the announcement entailed, we announced a couple of changes to both the licensing and feature set around Datomic. The first thing that came out was the new clients and the client API, which is coming. This is aimed at providing an alternative architectural usage pattern for Datomic. Obviously the peer libraries, as they’ve existed all along, are a heavier example of a way to use a database. The reason they’re called peers is because your application code then becomes a peer, a part of the database system, as opposed to here referencing this thing over there.

CARIN: Mm-hmm.

JUSTIN: Really the two, your application and the database together. But what you get is a quite heavy footprint not only in terms of dependencies for the library itself, but also in terms of since you’re caching so much data in memory into your application space. Over the course of the last several years watching people taking advantage of Datomic in various systems and various architectures, we saw that there was some need to have a lighter footprint on both of those sides of that statement, something that would bring less of a dependency footprint along with it, but also something that wouldn’t impact the memory space as much.

Of course, there are trade-offs when you do that because, if you’re going to not have as much memory taken up, that means you’re not caching data locally and things like that. But … and the new client API are a way to address that very thing. It gets at some architectural flexibility that we’re very excited about seeing people take advantage of, you know, people building more microservices style applications, wider deployment footprints, and that sort of thing.

Then the other part of the announcement was the changes to the licensing. What we wanted to do was simplify the adoption path and simplify the story around what you get and how much you pay for what you get and to try to make all of that easier to understand, easier to consume, and easier to progress through. There are now the three main editions of Datomic: Datomic Starter, Datomic Pro, and Datomic Enterprise. Each of those have currently identical features.

It used to be that Starter was a more limited deployment. You could only have a certain number of peers. You couldn’t use all of the storages. You did not get high availability. You couldn’t turn on Memcached, those sorts of things.

What we’ve done is taken all of those limits off everywhere, so all three versions of the product have the exact same feature set. You can use anything you could use in Pro or Enterprise at the Starter level, et cetera. The idea there is to allow people to really experiment with the full weight and power of the entire system to do and build whatever it is that they need to build and to experience the system in all of its glory so that they can make decisions about the commercial adoption and be able to do that with full information.

Then on the Pro side, we’ve been living in the world for the last three years with a … model. You start with five peers, and then you can buy more peers as you move up. Once again thinking in terms of allowing people to consume this with less friction and make better decisions about both their initial adoption and their future adoption … pricing was really getting in people’s way. In fact, in some cases even influencing people’s architectural decisions. Instead of building as many nodes, if you will, using as many peers as would be required for a wide distribution, they would build the architecture of their application to limit the total number of….

That sort of arbitrary pressure on technical decisions is never something that we intended the licensing model to interfere with. The new model, Datomic Pro has an unlimited peer count per transactor, and it’s $5,000 per year per transactor. That simple, non-changing price point allows people to really plan ahead and see what their investment will be going into the future.

Then obviously now Datomic Enterprise, which is listed out on the site, it’s for people for whom our standard EULA might not be acceptable within their corporate environment or for whom they need more or more specific or more customized support options or things like that. That simplification is completely in response to watching and working with our customer base and seeing what things were getting in the way of a smooth adoption path. We’re very excited to get that stuff out in the world and to see how it changes people’s adoption paths.

As always, we’d very much like to hear from everybody about how that’s going and what we can do to enable the adoption within your teams or your companies. To that end, the third part of the release announcement was that if you have come in and signed up for a Starter account or a Datomic Pro account, there’s now a place where you can come and participate in the discussion about things, features that you’d like to see, vote on the features that other people have requested, or talk to us about what would make it a more compelling use case for your team or organization. If you already have an account, or if you don’t have one yet, go and sign up for an account with Datomic Starter, and then you can participate over in that conversation, which has been a lot of fun to see that communication flowing in since we’ve made that announcement.

CARIN: Cool. What has been the initial feedback?

JUSTIN: It’s been remarkably positive. In fact, I have a bias where I very much don’t read a lot of things on Hacker News. Like a lot of people in the industry, sometimes I find it to be an overwhelming area. I actually found the thread there to be remarkably reasonable, well thought through, and a lot of good give and take.

CARIN: Wow.

JUSTIN: We’ve been very excited with the feedback, a lot of positive feedback. Some people had some questions, concerns, or confusion. Obviously not everybody is going to be identical in their response, but we’ve been very, very happy with the response and a lot of people have started to participate in the Receptive.io discussion area, which is fantastic as well. The more of that the better.

CARIN: Great. The other big thing that I’m thinking of in the Clojure world lately has been spec.

JUSTIN: Yeah, absolutely. spec is one of those great things where I have the – what’s the word I’m looking for? I don’t want to make his head too big, but I’ll go ahead and use the word anyway. I have the honor of being able to work directly with Rich Hickey–if you’re listening and didn’t know who I was talking about–on a daily basis and to be able to observe how his mind works and how things get from point A to point B. Another way to put that is a lot of people – things appear fully formed out of his head into the world, but I can sort of see where the hammock sits and get to watch things formulate there, watching the evolution of the ideas that became spec really take shape and get hammered into the library, as it’s been released.

To see people’s response to it has been really remarkable, and it’s the kind of addition to the language that really has an opportunity to cause developers to think differently about how they build systems and how they test systems and how to understand them. That’s one of those remarkable things. One of the things that drew myself and Stu and the company to Clojure back in the day was it was forcing us to change the way we thought about building the systems that we were building. spec does that again, and it was remarkable to me to think that something could be added to the language that would do that again.

It’s impossible for us to know exactly what the impact of that will be on the community at large, but I can definitely say that a good indicator of the kind of excitement that we’re seeing around it is that when we started planning for Conj, we always host some training sessions. This year we had Intro to Clojure like we always do. We had a Datomic class. And we introduced a spec class. We had set the sort of seating cap at 20 seats initially, and we had to bump that cap 3 times in the….

CARIN: Wow.

JUSTIN: And so we had 65 people in the room for the half-day spec class that Alex Miller so ably taught. That wildly exceeded what we thought the interest would be in in-person training on spec mere months after it was announced. We know that people are excited about it. We know that people are still coming to grips with what it does to their development process, to their mindset, to how they go about building code, but it’s definitely been good for us internally. We certainly use it all over the place inside of our work on Datomic, but for our customer projects as well. But we’re constantly seeing people using it out in the world in novel ways that we want to learn from as well, so we’re very excited about that.

CARIN: Very cool. Yeah, I went to EuroClojure, and there were quite a lot of talks of spec at EuroClojure. And I believe at Clojure/conj there were as well, right?

JUSTIN: Yes. That’s one of the huge things about being part of an open source community like this is that, with open source, you get this crazy feedback loop that you don’t get. I’ve been in the industry long enough to remember when open source wasn’t that big of a deal. People weren’t doing it very much. When you release things out into the world, it was seven to nine years later before people started to write books or talk about the technology.

CARIN: Yeah.

JUSTIN: Now it’s like spec comes out. In two weeks people that we’ve never met or heard of are giving public talks about it, which is awesome. It’s great to go to someplace like EuroClojure or Conj, sit in the audience, and then listen to people talk about, okay, that thing happened in the world. Now here’s how it’s impacting me, or here is how other people could then take it forward. It’s always fun to have that echoed back so fast.

I do also applaud the Clojure community. It’s a community built to people who are very, very willing and able to take something, digest it, talk about it, and expound on it, and then expand upon it. It’s always gratifying to see that happen and to see it happen quickly.

CARIN: Yeah. On the subject of community, the other thing that just happened recently is the survey went out, right?

JUSTIN: Yeah, we are currently in the midst of this survey for 2016. By the time people listen to this, we will have completed and closed the survey. I think it closes on December 23rd. I can’t imagine this is going out before then. Then we have the holidays, and we’ll be releasing the full data set and our traditional analysis in January.

I can definitely say that we’re excited that the uptake of the survey has been very positive and very strong this year. Continuing the trend over the last several years, growth of the respondents. Definitely some interesting trends in the data.

Spoiler alert: The number of people using Clojure at work in the responses has jumped significantly over last year, and last year it was already quite high. There’s a lot of indications in the data so far, early indications that commercial adoption and commercial use remain on a positive, strongly positive trend. And so when we really dig in and get to pull apart the numbers and do some real trend analysis, we’ll have more to say on that. But early indications are that that’s continuing to trend positively. I hope that that’s good news for everybody out there who is trying to build a job or a business or a team around the technology.

CARIN: Yeah, so those results, I was just wondering if the survey results help drive development in Clojure. How are those results used?

JUSTIN: Yeah. Obviously we have long-term planning that is always in place. I say we. I mean really I am not day-to-day involved in how Clojure itself is planned and scoped for the future, but those plans exist. There’s really two categories of utility from Cognitect in terms of the survey data, and then of course we love to get this data into the hands of everybody else. It’s great to see people like Colin at Cursive and other open source developers who can take this raw data, make their own decisions, and see their own trends. We want to really empower people with the data that way as well.

It’s not just about Cognitect by any stretch of the imagination. We didn’t even invent the survey, right? Chas Emerick did. Thank you, Chas, one more time. We’re really just stewards of the survey at this point. But, you know … the survey data feeds into the planning that goes into Clojure itself and the kinds of places where work is going to be valuable to the community. Certainly that data helps in those discussions.

But the other thing, obviously, is that Cognitect as a company, we have a commercial interest seeing the language in the community continue to grow. And so it’s very useful for us to see where and how the technologies are spreading out in the world. There have been a couple of small changes to the survey this year that’s going to allow us all to see more where the technology is really penetrating in terms of industries, in terms of types of companies, that sort of thing, which will help people who are job seeking, who are trying to hire, and it helps us try to figure out how to continue to support the community in taking advantage of these technologies.

Yes, these survey results are great for us. It’s great for Clojure. It’s great for the community, and I hope that everybody, once we have the survey closed and push the data out there, takes a look through it and really sort of pulls apart the trends that they see and makes some interesting discoveries of their own from within the data.

CARIN: Yeah. I’m really looking forward to see the results, so.

JUSTIN: Yeah.

CARIN: I can’t wait.

JUSTIN: Well, just after Friday.

CARIN: Yeah. Yeah, so we’ve talked a lot about Datomic and Clojure and the community, what happened over the past year. What about the consulting side of things? Are there any highlights that you can talk about?

JUSTIN: Yeah. On the consulting side of the house I think that one of the things that we’ve certainly learned in a couple of years is that I think there’s been some confusion about the scope or the nature of the kinds of things that we do with our professional services and consulting teams. We’ve tried very hard in 2016 to streamline that message a little bit so people can understand how we can help and the kinds of things that we do.

I think that one thing that had felt like maybe people were starting to forget about was that we don’t simply just do the sort of training and boot camp style engagements with Clojure, but obviously can help you actually build systems. With that renewed sort of emphasis on that messaging in 2016, we’ve really seen that come back into the fore and a lot of kinds of interesting projects where we’re in there really helping people not only build the thing, but specify it and really plan ahead for the whole deployment cycle from inception to deployment. And that’s been really fun.

Certainly we’ve seen a continued growth in some of our stronger markets. Financial services remains a really big driver for all of the parts of what Cognitect does, our consulting business, Clojure uptake, Datomic uptake. But science and healthcare have been a big place for us as well. I think you yourself have been working in the healthcare space of late.

CARIN: Mm-hmm.

JUSTIN: What I’m really excited about, any year where we can have and been working on–I can’t remember the tense of that–any year where we get to work on a project like some of the ones we’ve done this year where the potential reach is massive, working with Global 10 companies to build things that can get out to lots and lots and lots of people, those are always fun, but we’ve had a really good mix this year of working with fresh startups and early stage companies, midsize companies, huge organizations. It’s felt good from that perspective.

Certainly the market has taken a couple of punches this year in terms of uncertainty. We do a lot of work in and around the U.K. and in Europe, and the things that happened around Brexit certainly had an impact on what some people were willing to do or not do within this year. Obviously presidential election years in the U.S. always create market turmoil. There are positives and negatives of that. There are things that, opportunities that present themselves in times of turmoil that wouldn’t have presented themselves otherwise, and then there are things like they would be surefire successes that turn out to be more questionable in those sorts of situations.

We knew going into 2016 that there was a lot happening geopolitically that would be affecting the markets that we work in, so none of that was a shock. I think that we’ve come through pretty strong as a result of thinking ahead about those things and being ready for some of the impacts. Like I said, can’t predict everything. I’m in a pretty good position right now to look ahead to 2017, and I think that the other cool thing about our consulting work this year has been the sort of continuing exposure to the new people that we get to work with.

CARIN: Yeah.

JUSTIN: We’ve added some great new team members to the full-time staff this year and a slew of great people in the contract development pool. As always, one of the things that I look forward to most is meeting new people and getting to work with awesome, talented folks. That has felt like a good, strong part of me.

CARIN: Yeah, totally. I guess most of our listeners probably know that we are remote.

JUSTIN: Distributed.

CARIN: We’re distributed, distributed/remote, yeah.

JUSTIN: Distributed.

CARIN: Well, I want to know if you wanted to speak of challenges or advantages that the whole distributed setup that we have here had.

JUSTIN: Yeah. I think Craig and I chatted a little bit about that on a previous Cognicast, but I think some things that have happened in the meantime I think are worth chatting about. The first that I’d like to point out is that a few months ago Russ Olsen, who is our VP of consulting, wrote a great blog post that really delves into sort of the hows and whys of running the team the way we do, and specifically how it impacts the consulting organization in terms of organizing for projects and communication.

I’ve said in the past publicly that I think the important thing to remember in a distributed organization–and this is in my opinion, but I think it’s a fairly well based in fact–a distributed team is not as effective as an all co-located team. If you took the same people and put them in a shared space, those people would be more effective than taking those same people and distributing them all over the planet, or even all over the country. Being co-located allows for serendipity. It allows for stronger personal bonding. It just cuts down on communication overhead, and it allows a team to move quicker.

On the other hand, you simply can’t have a team made up of the people that we have a team made up of and have them be co-located. Cognitect would not exist in its current form if we were mandating that everybody be here in Durham, or everybody be in New York, or whatever. Rich Hickey lives in New York. He was not going to move to North Carolina as part of their organization.

You live in Cincinnati, right?

CARIN: Yep, in Cincinnati.

JUSTIN: Cincinnati. I keep wanting to say Columbus, but no, that’s a different city. You’re in Cincinnati. You weren’t going to move here to take the gig.

The same can be said of so many of the vital members of our team. So the balance you have to strike is, well, if I take this group of highly effective people and allow them to be distributed from each other, is that a better outcome than a different set of people forcing them to be co-located. The answers are going to be different for every organization. You can’t simply say one of those two paths is the better path. But you can absolutely say that there is a difference in overall communication effectiveness and, therefore, overall effectiveness of the team. But if you have special needs, which we do, and you want to work with talented people regardless of where they live, then you have to go down the road that we’ve chosen to go down.

That being said, some of the things that Russ said in the blog post and that I said previously remain firmly in the sort of axioms of how we operate. In order to be effective this way, you have to cross the threshold from we have 75% of the people in one space and a few remote people. You can’t think that way or people will always feel like remote people, which is why we talk about being a distributed company as opposed to a remote company.

If meetings are 80% of people sitting around a table and 20% of people sitting elsewhere, those 20% of people will always be at the short end of the communication stick. We used to go through this all the time. But now the company is much smaller in terms of the footprint here in Durham. We really have a local Durham footprint largely because I can’t work out of my house any more. It just drives me batty. So we have to have an office just so I can leave. Those of us who are here in Durham come in and take advantage of that space. But it’s not because it’s where the work happens. It’s far from it. You know what I mean?

CARIN: Well, that’s another highlight, that you’ve just changed actually physical offices, right?

JUSTIN: Oh, yeah. I’m sitting here right now in our beautiful new space and absolutely loving it. We’ve office hopped quite a bit in our 13 years. …started the company in Stu’s garage, which sounds a lot more exotic than it is. He’s got a very nice garage, but this will be our–let’s see, one, two, three, four, five–this is our sixth office.

CARIN: Wow.

JUSTIN: The last nine years. The new space is right in the heart of downtown Durham, which is a very growing, vibrant, small city. We have a nice third floor office on top of, you know, in one of these mixed use buildings with restaurants downstairs and a lawn across the street, and the city center just to our right. It’s a remarkable space, and I think the big change for us is that the previous office space, we signed that lease four years ago when we hadn’t made the commitment to being a distributed organization. Twenty-five of our employees were here in Durham and ten were remote.

In the meantime, we really embraced being distributed, and those numbers had switched almost exactly in the meantime. We had this huge, cavernous space, and only ten of us were in the office on any given day. Now we have a space that fits the local footprint. It’s brand new and custom built to suit what we do. Our new landlord is a great woman, and she’s a pleasure to work with, so we’re very, very excited to be in here. We’ve been here two weeks now.

CARIN: I can’t wait to see it too.

JUSTIN: It was a joy to come back from Conj, walk into a brand new space, and just start living here. By the way, while I’ve got this public platform, I just want to send a public shout out to the three people here who made the move happen, which were Diane Butler, Kim Foster, and Jenn Hudson. That crew did most of the heavy lifting around planning the space and organizing the movers to come and move us around. Without the work that they put in, we would not have pulled off the move in anything like the right amount of time. And we wouldn't have had a space that is as awesome and feels as good as it does, so thanks to those three for really, really going above and beyond the call of duty to make this awesome.

CARIN: Yeah. Being a distributed company, one of the nice things that happened in the past year, for me especially, was actually getting to come down and meet everybody in person during – I think we had, what, two Cognations.

JUSTIN: Yep.

CARIN: Get-togethers. Yeah. That was a lot of fun.

JUSTIN: We got one in the fall. One in the spring and then one in the fall. Yeah, I really enjoyed both of them this year. I think we branched out and held one in an offsite location in Durham the second time just to break the monotony of always being in the office.

Also, just going back to the theme of distributed, I can’t say that enough. You have to make a commitment to get everybody together at least once a year, if not more. We tried to ramp that up to multiple times a year this year, and I think that’s the right ratio. It can get expensive, but you have to do it. People have to be able to put names to faces and remind themselves that they’re all on the team, and that’s way easier said and done together than trying to do, you know. We have a weekly all hands meeting on Skype, which is great, but it’s just not the same.

CARIN: Yeah. One of the processes that me being semi new to the Cognations that I really appreciate is it’s actually the appreciations process at the end, which I think might be a good process for other people to pick up if you want to talk about it.

JUSTIN: Yeah. We learned this, gosh, back in the – you know, it was something we learned from our early agile development days was really to embrace what it meant to be an agile development team back in the early 2000s. As we looked at how to change development process, we picked up new habits like having a daily standup where you actually stand up and force everybody to speak quickly about their status and get any blockers resonated.

We also picked up the notion of having regular risk assessments. What’s standing in the way? What could be a risk to this project? How are we planning ahead for those risks?

The other part of our agile development process was having retrospectives. A retro would be a regularly scheduled meeting where the team sits around and talks about what went well or didn’t go well over the intervening time period–usually two weeks or a month–what could go better next time, how it will change the process, that sort of thing.

But somewhere in that process we added this idea of appreciations into the mix. The idea was there was an exercise you could do where you draw a quadrant up on the board. One of the quadrants you would put things that went well. In another quadrant you’d put things that went poorly. In a third quadrant you’d put ideas you have for how to improve things. In the fourth quadrant you’d put appreciation, something that somebody did that you wanted to call out and say thank you for doing.

Well, that became such a powerful part of the retrospectives that we made it its own thing. Instead of having those four quadrants, we would have the three quadrants–good, bad, and ideas–but then we would have a special time just for appreciation. Expanded that into our corporate meetings because I think that one of the things that goes largely missing in a lot of development environments, and in fact a lot of corporate environments, is that people get called out when they do something terrible, or they get called out when they screw up, but very rarely do you have an organized way to call somebody out for being excellent, nice, competent, or whatever.

But it does turn out that that’s such an incredibly powerful thing to publicly stand up in front of other people and say, “I want to thank you for doing X.” I, Justin the CEO, am right now thanking you, Carin, for being willing to jump in and take on part of the role of being a Cognicast host because I think The Cognicast is an awesome thing. And, with Craig’s departure, I didn’t want to see it disappear. Having you and other folks step up and be willing to join the fray is an awesome thing, so thank you.

CARIN: I am honored. Thank you.

JUSTIN: That is exactly the kind of thing that you want people to do in front of your whole team because it makes people remind themselves that it’s not just about not screwing up. It’s about actually going and doing the right thing, and it builds trust. It’s been awesome, and it’s been a tradition for us for the last, I would say, four years.

At every corporate meeting we end the meeting with usually about an hour of appreciations. That takes the form of everybody sitting in a giant circle. Usually we have some sort of talking stick that you can request. It’s almost always our stuffed, plushy Cthulhu.

CARIN: The last meeting, though, it was something rather larger.

JUSTIN: Yes, it was a giant, metal, Cognitect logo that I was afraid somebody was going to get decapitated with while people were carelessly handing it around. But, yes, I think that we’ll go back to stuffed, plushy Cthulhu next time. A lot less dangerous, and you can throw him.

CARIN: Well, cool. Are there any other highlights that I’ve missed over the last year? I’m trying to think.

JUSTIN: I think that’s a pretty good summation. Once again, we’ve done Clojure/west, EuroClojure, and Clojure/conj. Once again, each of those events featured more than half of the attendees were first time attendees to a Clojure event, which is an ongoing trend that continues to be exciting to see lots of new faces flowing into the community.

We’ve been very pleased to see the ongoing success of the ClojureBridge endeavor, which I’ll remind people is not a Cognitect endeavor. We’re happy to be sponsors and thrilled to see that continue to blossom and grow. If you haven’t either contributed to, sponsored, or sent somebody to a ClojureBridge, it’s definitely something that we encourage you to get involved in. It has created a great opportunity for lots of women and folks from under-represented groups to jump in and experience Clojure. It’s always fun to talk to people at the events or any time and hear the stories of what happened after a ClojureBridge in their career and people who are now working as Clojure programmers, some of them speaking at Conj’s or other events, and that’s really just a joy.

Also, I’d like to point out that the number of Clojure events, that are sponsored and held without anything to do with us, continues to grow. We’re seeing them worldwide, seeing them elsewhere in the U.S. I’ll just remind people you don’t have to be an employee at Cognitect to run a Clojure-based event. Feel free. It’s open technology. More of that is better. I think those are really cool things that continue to happen in 2016.

Obviously some sad things happened in 2016. As I said on Twitter, which is where a lot of my public statements happen, but it was a real shock to see the passing of Anthony Grimes not that long ago.

CARIN: Yes.

JUSTIN: A real shock to me personally and a shock to the community. I will never forget the first Conj and Chas’s work to help get him there, and being able to meet him at the next Conj. I think one of the joys of the second Conj for me was at Anthony’s talk when he was standing up at the podium getting ready to give his talk on security for Clojure. He registered that he was very thirsty, and so I went off and got some bottles of water, brought them to him, and the sort of shock on his face when he realized that it was the CEO of Cognitect, or of Relevance at the time, bringing him water at the stage was always hysterical to me because he was still new to the community and didn’t realize how little I rate. That was a lot of fun. I know that the community is going to miss him terribly.

CARIN: Yes. He was pretty amazing. I had the chance to meet him, too, at the second Conj. He was so young and vibrant and smart.

JUSTIN: Just whip smart.

CARIN: Yeah.

JUSTIN: I do want to thank everybody in the community. It’s not my place to thank everybody, so maybe congratulate is a better word for kicking in on the GoFundMe to help his family. That was great to see and certainly exactly what I expected out of the community of people who knew him. Good on everybody for being generous and kind in a time of need.

CARIN: Yeah. I’m very thankful for the Clojure community. I think there’s just a lot of great people out there, just nice, and I think everybody comes together.

JUSTIN: It’s absolutely true, and it’s one of the things that I remark upon every time we do one of these Clojure surveys is we ask all kinds of questions and try to figure out what gets in people’s way or what causes people to have frustrations. It’s truly, truly gratifying to see that having a welcoming community around the technology rates super high every year and that very few people bounce off the community in a negative way. It’s really important to me personally and to everybody here at Cognitect, to the whole Clojure team that that be true. It seems to be the case, and certainly this year, both in terms of the good stuff that’s happened, but even in times of tragedy, that it’s proved itself to be true all the more. Being involved in the community, it’s a great thing.

CARIN: Yes, definitely. Well, let’s take a minute to actually cast our thoughts forward to the future and a brand new year. Do you have anything on the horizon, something that you’re looking forward to or anything you want to talk about in the upcoming year?

JUSTIN: For sure. Absolutely. Obviously there are things that are in flight now that I’m very much looking forward to seeing become fully-fledged. Obviously spec is still in an alpha form. Seeing it roll out into full production mode is obviously onrushing. There’s still a lot of work to be done to get there, but I’m very much looking forward to seeing that.

Working with the community to continue to find out how spec changes things. We have ideas about what it does for us, but it is really a stab at doing something a little differently. It’s obviously standing on the shoulders of giants, but we want to see that technology empower people to do great things. And so, in order to do that, we’re going to have to really talk to people about what it is empowering them to do in learning. I’m very much looking forward to that.

Obviously we also just announced the clients for Datomic, which are still in alpha themselves and rolling out the final versions of those plus more of them, and enabling people to build on top of that is something I’m looking forward to in 2017 as well. I really want to see people be able to take Datomic and really build the kinds of applications they want to build out of it. That’s pretty cool to me.

We’ll be moving ahead with announcing the full spate of Clojure events that we sponsor early in the year.

CARIN: Oh, cool.

JUSTIN: So that everybody can really plan ahead in 2017 and understand when and where we’ll be hosting something, so they can make their decisions in that regard as early as possible. I want to give people as much heads up as possible this year, so definitely look for that early in the year.

CARIN: That’s great.

JUSTIN: It’s important. I think people, you know – it’s important for us to get the best options that we can, but it’s also important for attendees, sponsors, and everybody else who wants to be involved to be able to think about it early enough, so that’s going to be pretty cool.

Then obviously in 2017, we want to continue to build relationships to all of the places where we are building real reach. We’ve had a great year in 2016 getting over to Europe more. I want to see more of that happen. I think that’s trending very well, and we’re very excited to do that and to support the partners that we have over there. Obviously we worked this year with the VacuumLabs folks to bring EuroClojure into Bratislava, which was a lot of fun.

CARIN: That was.

JUSTIN: The VacuumLabs folks were a pleasure to work with. Really, really helpful to the team in terms of bringing that to bear. Obviously we continue to work with folks like JUXT over in London helping support them and the events that they put on and reach to their communities. Then obviously the customers we work with over there as well, and so that’s a lot of fun. It’s always a joy for me to be able to be able to hop on a plane and go over to Europe for a little bit. A little selfish looking forward to 2017 now, eh.

I can’t say I’m looking forward to it, but looking ahead into 2017 to find out how the world is going to be different. Certainly the world is going to be different next year. I don’t have the faintest idea what that’s going to look like yet.

CARIN: I don’t think anybody else does either.

JUSTIN: Nope, but I’m certainly buckling down to work hard to make it the best that I can help make it be. We’re going to see how it flows, but here at Cognitect, we really do have a strong desire to try to bring technologies that empower people to make a difference out into the world, and we really want to enable folks to be a force for change and a force for good in the world. We’re going to continue to focus on doing that and hopefully 2017 will be a banner year as a result.

CARIN: Yep. Fingers crossed.

JUSTIN: Knock on something.

CARIN: Knock on something. Yeah, so we’re coming to the close of the show. Traditionally, I’m going to ask you for a piece of advice.

JUSTIN: It’s a little bit more of a platitude than it is advice. But it’s also something I said probably on Twitter, maybe somewhere else not so long ago. It is important to remember that as much as we believe that the arch of history bends towards justice, it doesn’t bend on its own. You have to bend it. That’s an active thing. My platitude is don’t forget that. My advice is get to bending.

CARIN: All right. Well, thank you, and I think it’s time to wrap it up here. Thank you again, Justin, for taking the time to talk to us.

JUSTIN: Thank you, Carin, for being willing to talk to me.

CARIN: Thanks, everybody, for listening. This has been The Cognicast.

[Music: "Thumbs Up (for Rock N' Roll)" by Kill the Noise and Feed Me]

RUSS: You have been listening to The Cognicast. The Cognicast is a production of Cognitect, Inc. Cognitect are the makers of Datomic, and we provide consulting services around it, Clojure, and a host of other technologies to businesses ranging from the smallest startups to the Fortune 50. You can find us on the Web at cognitect.com and on Twitter at @Cognitect. You can subscribe to The Cognicast, listen to past episodes, and view cover art, show notes, and episode transcripts at our home on the Web, cognitect.com/cognicast. You can contact the show by tweeting @Cognicast or by emailing us at podcast@cognitect.com.

Our guest today was Cognitect’s CEO Justin Gehtland, on Twitter @JGehtland. Our host in her inaugural outing was Carin Meier, who is @GigaSquid–think many, many free swimming mollusks–on Twitter and GitHub. Episode cover art is by Michael Parenteau. Audio production is by Russ Olsen and Daemian Mack. The Cognicast is produced by Kim Foster. Our theme music is Thumbs Up (for Rock N' Roll) by Kill the Noise with Feed Me. I'm Russ Olsen. Thanks for listening.

Get In Touch