The Stack Overflow Podcast

A good software tutorial explains the How. A great one explains the Why.

Episode Summary

This week we chat with Karl Hughes, who held positions as head of engineering and CTO before starting his own company focused on technical content. He now leads a group of more than 50 writers focused on crafting detailed articles that will appeal to developers.

Episode Notes

Karl is interested in the use of low code tools to extend development work beyond the engineering department. He also believes this approach, when done properly, allows teams to release new iterations more rapidly.

Check out his company, draft.dev.

Follow him on Twitter or LinkedIn.

This week's lifefboat badge goes to Günter Zöchbauer, who explained: How to use 2 mixins in State in Flutter? 

Episode Transcription


 

Karl Hughes The way I always like to think of is like a good tutorial or like a great tutorial, goes beyond the how and into the why. So that's where like that line—and unfortunately, when you're getting a pitch, it can be hard to tell if the author actually knows that or is like capable of that.

Ben Popper Couchbase is a modern, multi-cloud to edge, SQL friendly JSON document database, for building applications with agility, performance, and scale. If you're new to Couchbase, and would like to learn more, the Couchbase Developer Portal is the best place to start. It's loaded with tutorials, videos, and documentation, as well as best practice tips, quickstart guides and community resources, including the Couchbase Developer Community Forum. Ready to get started developing on Couchbase? Visit couchbase.com/newtocouchbase. 

BP Hello everybody! Welcome to the Stack Overflow Podcast, a place to talk about all things software and technology. I am Ben Popper, the Director of Content here at Stack Overflow. And I am joined today by my colleague, Ryan Donovan, who heads up our blog and our newsletter. Hey Ryan!

RD Hey, Ben, how you doing?

BP I'm doing pretty well. So Ryan, we are always getting pitched for people wanting to write stuff, it's led to many great things. Sometimes we take stuff out of the comments or the questions, then turn them into blog posts, we get pitched a lot from, you know, agencies and sort of like, large, you know, like Upwork type places where they'll create content for you content marketing, "Hey, you need some help with that technical stuff." And you know, plus is good. And sometimes it's really, really bad. I mean, you and I have talked about six ways to be a great leader number one, lead with vision. Number two, be a really great leader. 

RD Number three, use your experience. 

BP The most important thing is you have to not just have experience, but learn from it.

RD Ah, I wish I'd thought of that. 

BP I know. So a lot of valuable nuggets in there. But we have a guest coming on today who is a former startup CTO, now doing a new sort of company that's focused around technical writing. Obviously, you you come from a technical writing background at CMU. So we are happy to welcome Carl Hughes to the show today. Hi, Carl. 

KH Hey, guys, good to be here. 

BP Glad to have you! So tell us a little bit. Yeah, about your background. What was the place? You're working as a CTO? And how did that lead you to this new adventure at a content creation company?

KH Yeah. So the last eight years or so I've been working with venture funded startups in the Chicago area. And the last company I was with was called The Graide Network. We were grading papers for K through 12 teachers, which was pretty interesting. We used up a pool of college students who graded those papers, really cool idea, had some tough times around when COVID hit because schools sort of all went like we don't know what we're going to do. And so we kind of started to slow things down. And they ended up selling the company last year. But in the meantime, I started thinking about what I wanted to do next, because it's kind of one of those moments in working for startups where you're like, okay, well, that one's rolling out, what do we do next. And so I always liked writing, I figured I would just start writing on the side. And then within a few months, I had enough clients, I could hire some other writers. And now I run a team of about 50 writers around the world who cover all sorts of technical topics. It's mostly technical blog posts for different companies that want to reach software engineers, but with authentic and interesting content, I think you guys said this at the beginning, like the there's so many of those crummy listicles of like, you know, top 10 Jenkins deployment tools that are just like copy and pasting from sales pages, you know, and like, we I use that example. Because like we try not to make that kind of stuff like this is these are actual software developers writing about things they've actually done in the real world. So it's just a totally different piece. But anyway, so that's what we do. I love it. It's been fun to like move from all dev to kind of this weird hybrid of Dev and writing. And so I was really happy to be able to write a post for the Stack Overflow Blog, because obviously, I've been a reader and listener for a while. So it's a kind of an honor.

BP Yeah, we're glad to have you. It's interesting, you know, you mentioned that that's actually Ryan and I have sort of gone through the process of building up, you know, what is content marketing, and what is editorial StackOverflow over the last two years? And we did you know, have to decide a certain point, like, we can't, we really can't do tutorials, you know, like, we do them with Codecademy, which is a great company. I guess we're now part of the same internet conglomerate. I don't know what. [Ben laughs] There's gonna be a lot of weirdness in the podcast, when we figure out what's exactly going on with our acquisition. But obviously, Prosus seems like an interesting tech investor and their investor in like Codecademy and Udemy and stuff like that. So we did it with Codecademy and it worked because they've like put a lot of thought into it. We're kind of just the distribution channel for them. They have great videos, but we get sooo many pitches that are like 'how to do x with y' and it's literally a copy paste from you know, you can find it on six other sites if you just Google the pitch.

RD I get a lot that are like 'how to set up a deno server' and it's like this is starts with installing and it's like that's so boring.Like, don't tell me the things I can find in documentation. 

KH The way I always like to think of is like a good tutorial or like a great tutorial. It goes beyond the how and into the why. So that's where like that line—and unfortunately when you're getting a pitch, it can be hard to tell if the author actually knows that or is like capable of that. Anyway, my aside to that, I do think there are some good tutorials out there. But obviously there's a lot of the same. 

RD For sure.

BP Yeah, no, I think you're right. It's like, Why? Why are you doing this? Now? Why is this technology interesting? Why is it trending? You know, why are we not using this old thing? Or as you're going along? You know, here's how you do it. And here's like, what that teaches you about something bigger, you know, like, only to get into these three things. But when you're done with this, you're gonna have a better understanding of API's, or, you know, something along those lines.

RD Yeah, I mean, that's the constantly the feedback I give to people is like, tell me the why, why is this interesting? Why does this work? Why is this good? 

BP But I think it kind of shows, yeah, the appetite for technical content of any kind, that those people I think often do find a home for that stuff, you know, that you can, you can get paid to do this stuff. But also, as you said, you've been able to grow your business. And we here at Stack Overflow, you know, don't do this stuff, and in part to serve our community, in part to generate more, you know, sort of inbound interest and in part, because people you know, will pay us to run sponsored blog posts, for example. So what do you think it is? Yeah, what is that sweet spot between technical content and great writing between being, you know, fluent in software, but also able to talk about it? That's so valuable in this day and age?

KH Yeah, you know, interesting, like, kind of tailwind that I didn't necessarily expect, but because of the timing, it just so happened to be I actually ran a site or run a site called CFPLand, which is for tech conference speakers. And at the beginning of 2020, I was thinking I was gonna go all in on conferences and events. Well, like, really bad timing, you know, for that business. So I started as soon as COVID happened, I pivoted away from that. And what happened was a lot of these companies that were spending a lot of money on event marketing, and they're trying to reach developers started to pivot into content marketing last year. And I think that trend is just continued further and further. And, you know, there's a lot of SAS businesses out there getting a lot of funding right now, and just broadly in the market. And then you've got these developer tools companies that are kind of like a special brand of SAS company that have a really hard time getting good content, because they either go to their internal engineering team, and they're busy building the actual product. So that's a hard sell. They go out to freelancers who are used to maybe writing like the How To tutorials, but that's not maybe the most valuable content for a company. And then you can find like people like myself, and there's, there's a handful of others that we're not, you know, alone in this, but there's not a ton of big players in this space yet. And I think that's what's kind of allowed the business to sort of get going relatively, like quickly compared to a lot of things.

RD If you can get technical content that is interesting to read, that appeals to a lot of developers. That's that's the sweet spot, right? Like, those little tutorials appeal to, you know, some people a lot. But it's a very niche market. 

KH Yeah. And we actually have some clients that want us to do tutorials using their product just to show different combinations and things that make sense for them, you know, it's useful for them to turn people on to, but obviously that, you know, that's not probably not the widely shared stuff that you think about when you would hit the the front page of Hacker News or what have you.

BP Right. I mean, I think, you know, one thing that you mentioned, was having to make that hard pivot, which happened to some of the folks at O'Reilly, for example, you know, is kind of like a legendary name in the tech conference business. And I got on a call with them, I can't remember, but one of the things they had pivoted into that is similar, but not the same was, you know, being able to quickly spin up interactive learning. So I want to teach people about something, let me go through sort of like a, you know, reactive web page where I can learn, you know, click a few buttons get moved through something, that's another way people are approaching this. But I think overall, it speaks to two things, which is that people were stuck at home or really wanted to learn that there's a huge, you know, gap in demand for the number of people who have these kinds of skills, and you know, the number of vacant jobs. And also, I think people have fundamentally in a lot of ways, rethought what kind of job is acceptable to me, like, right now we're seeing in the economy, that people are not going to go go back to, you know, a really difficult minimum wage job where they face you know, adverse risks to their health in some way or another, you know, can't balance that with childcare, those people can now you know, get a Google Cloud certificate in six weeks, and you know, like, find a gig because there are a lot of gigs available. And so I think, like, maybe the pandemic has, has opened a lot of people's eyes to the not, you know, not to say that it's accessible for everyone. It's obviously there's still some barriers and gateways, but that, you know, there's a lot more on ramps for this kind of career now than they used to.

KH And I'll just kind of pivot into what we're talking about here and say like, and part of the reason it's gotten easier, I think, is that the the higher level tooling for building things has gotten so much better in the last five years. I just remember, like, when I was learning to code 10, 11 years ago, like you had to have your own server still for things like this so much. Like in the intro, there's pros to that approach. And like, it's great to know all that lower level stuff. But I remember like struggling just to get my first WordPress site actually on the internet, you know, and the thing about it now, it's like, so like, laughably easy to get something up there.

BP No code, low code, server lists, forget the database. I mean, you don't need you don't need anything! We're talking lean, lean.

RD Yeah, we were talking about this with Max Horseman the other day and it's like, everything's hitting these higher and higher levels of abstraction might be you may not need to code you may not need a server. It's just letting you focus on what you're good at, like the business logic of it. I remember a while back talking to the guy who is a HopSpot Was that it? He basically had the idea to do the New York subways and outsource all of it, you know, all the programming. It just—

BP Oh yeah! I know what you're talking about. They were sold to Apple, right? That was a long time ago. He built it in like Excel spreadsheets. And then like, he was like, he like did the Excel spreadsheet, and he like sent it to, you know, like a fiver. And he was like, "can you build this for me?" and someone was like, "Yeah, I can build that for you" someone in like Ukraine.

KH So I mean, so much of software development is crud apps, right. It's just back and forth, in and out and of data and a little bit of sanitation. And I don't want to demean our profession at all here. But like, there's like a good chunk. I remember talking to somebody, they were like, how do you hire a junior developer at a startup? And I was like, well, there's a whole lot of pages on this app that are just input/output. But I really don't want to build those. They're not that interesting when you've got 10 years of experience. So I think there's a case to be made that like that stuff's always got to get built. The is question of how can we build a faster and more correctly and easier to edit and easier to iterate on all that.

BP So yeah, tell us a little bit more about the piece you build. And you know, some of the hot takes in there, the sizzling takes that are going to get people fired up to rate this, rate and review this podcast, but also, yeah, with some of the you know, the tools or techniques are that you discuss in there?

KH Yeah. So I have been kind of preaching to developers and non developers alike about like the benefits of low code and low codes a branding thing. So first of all, just like first heartache is like low codes been around in one form or another since at least like Dreamweaver, at least, that's the first time I started using it. I mean, I know there's people probably building things way before that, that were using, quote, unquote, "low code", all it is, is a new level of higher level abstractions, where we're saying, like, we can build stuff, software, usable software with less and less code from, you know, raw developer code, operating systems did that already, you know, like, it's, we've been doing that constantly, every few years. So, whatever. But the interesting thing to me about it is now it's getting to a point where literally, like non development team members can build up their own little internal dashboards or their own little prototype. And then, like you said, put it in a spreadsheet and give it to a developer and say, Hey, could you guys build a real version of this later. So there's a few cases where low code and no code tools come into play. And this kind of applies to any size or kind of company? prototyping is one. Yeah, I talked to several people for this article, because I wanted to get a bunch of different perspectives that were not just my, my view. And, you know, one of them's from Draft Bit, which is like a low code, app builder platform, and so kinda like webflow. But for mobile apps, what they kind of got into is that a lot of the big agencies and enterprise are using this to like get buy in from stakeholders about an app that they are going to then go send to developers. So they'll go use Draft Bit to build a pretty like robust platform, or like, Look, working look and feel, basically, and then they'll send it off. And so that cuts out a ton of back and forth. It's like, it's kind of taking what some of these like design tools, like even people do some Photoshop and things like taking that a step further and being like, oh, you can actually click a little bit until it's just gets a different feel.

BP Yeah, we were just discussing that, yeah, with our colleague, Max Horseman, who built, you know, this little thing with Kubernetes. And now you can spin up these little isolated PR environments, and you can share with him and the team, they don't have to know Git, they can poke around. But he was also saying, now, you can demo for a client, you know, like, hey, look, you know, this was a practical event, but also skinned, you know, with your brand. And like, maybe we throw in, you know, a few examples of how you know, you would use it with your data. And suddenly, it seems really robust. I mean, you know, it's basically, you know, just a staging demo, but you kind of give people a lot more of the flavor before you commit to doing a lot of the work.

KH And the other thing I see a lot of this use for is like internal tooling. So this is when the the, like, the front end, maybe doesn't matter quite as much like it does, the UI doesn't have to be perfect, but you know, you need to connect to your database, you need to, you know, get data and put it in a presentable way, that is also like somewhat more secure than if you just like, gave everyone SQL access. So I ran into this with the last startup I worked for we, we were kind of in this phase where we were big enough that we needed to start giving people views into our database. But we were small enough that we couldn't justify a full on BI platform, we like it didn't make sense to build a data warehouse at our size. So we just like built a read only replica of our Postgres database, and then connected metabase to it, which is just like a, you can build like any UI on top of SQL queries, basically. So super simple. And, you know, things would occasionally break in there. But it took like two seconds for an engineer to fix. And it was very rare. Whereas if we had just given people, you know, permissions to the database, like, we teach people SQL, that's just such a like, that's not really realistic, you know?

RD Yeah, I mean, like, like you said, it's, it's just crud apps, right? You're just giving somebody this layer on top of a database.

KH It's like how much time is an engineer do you really want to spend building that kind of thing? Like, yeah, there's times when it's mission critical, but a lot of times it's not. And I think, to me, the big thing, especially for smaller companies and startups is, if you're building something you have to ask is this like the core of what our products should do, like, is this the thing customers really pay us for? Or is this a side benefit thing we have to have is like a just a minimum barrier like to get in things like this, why you see things like authentication providers being so popular right now, you know, fusion off, aka things like that. And it's like, because we can just hook into them. And now most of you know, not all, but most of my basic security for authentication is taken care of, which is a big weight off, because that's just a lot of boilerplate stuff.

RD Yeah, I think you see this at large scale companies where, you know, they have to scale and other companies have already done that. And they've kind of open sourced or productize a lot of these things. Some of them, you know, there they are innovating that. Like Netflix, creating the chaos monkey program, to kind of do the chaos engineering, like everybody uses that.

BP I mean, I do think it's interesting to think about, right? What do you want to build yourself? What do you want to buy? And, you know, yeah, when is there going to be vendor lock in or some other disadvantage to it, I was talking to some folks from the MIT civic gov lab earlier today. And they we're basically saying, we now advise most people, you know, if you're at a fairly small scale, or even a large scale, but you know, tech, it is not strong within your government, to just take all these off the shelf tools and start gluing them together. Like don't try to reinvent the wheel. Yeah, don't waste time on auth, you know, when you can just grab that, and somebody else will do it way better for you, especially because, you know, it's hard to keep up, there's technical debt, there's also the velocity of change. And then, you know, sometimes, depending on your like, in a government, there's a change in administrations and a change in priorities, and now they're not funding, you know, that work that needs to get done. So to the degree that it makes sense, if what you really want to do is, it's all about enabling, you know, utility for the user, the end user not building value, let's say for yourself and a company, why not take what's out there and kind of play with those, those blocks, building blocks.

RD The old build versus buy.

KH I think there are some, some tricky parts too, though. And technical debt is a good one to bring up. I mean, you don't get this stuff for free. Really, like you get it for a you're paying like a monthly service fee on most of these tools, is there some open source ones that that's not true, but if you're you know, you're they're paying monthly service fee or some developer time to keep it running. And then the other thing is, you might be building yourself a hole to dig out of later. So if you build yourself like we, we've taken our nice little metabase, you know, back end tool we're using internally, and then all of a sudden, we start switching to a real data warehouse, we would have had to rebuild and rework that whole thing it wouldn't have lasted forever. And that that's almost always the case, in low code tools, you hit a point where the you've either got to build your own or shift platforms, and it's pretty expensive and painful.

RD Although I think, at the high level, when you're working on the cloud platforms, there's still some amount of vendor lock. 

KH Oh, absolutely. 

RD Like, that's a great business model.

KH And, you know, vendor lock is one of those things. It's kind of funny people, I remember people talking about Rails and being like, Oh, well, if you use Ruby on Rails, you've got lock in, you know, you're stuck. And I'm like, yeah, but like, that's the whole trade off. I knew that going into this, right. Like, I'm also locked into Ruby as a programming language. I can't rewrite the whole thing, you know, there's no way to extract something.

BP I had a podcast episode recently with a startup. And yeah, he was sort of saying, Yeah, they're gonna make it through one of their sort of foundational moments was agreeing with the core team of engineers who came up, "you guys love Ruby, alright, like, we're building the whole thing that way." And now they want to scale they can't hire 10, great Ruby developers, 20, great Ruby developers, you know, like, they're essentially locked in having I haven't architected it that way. And the trends among people who are learning has gone in such a different direction, they just can't find the workforce. But yeah, why don't you tell us, you know, maybe like one or two pieces that folks from your team have done over the last year that you really enjoyed that you would recommend? And we'll throw some links in the show notes for people to check them out? 

KH Oh, yeah, let's see, we did a really interesting, like, deep dive into how to build a data model for e-commerce with a company called Fabric is really fun. Because, you know, like, as engineers, I feel like we rarely get the chance to like, pretend build out a whole system, right? Like, it's like kind of one of my dreams is to get to do that. Like, that's why I feel like early stage startups in a way, but then you just don't ever do that, because you're always coming into existing software. So we kind of did that for a client. That was fun. Another one, after thinking, if there's a couple others, we've been doing a big series as well on our blog about some of the best different technical blogs in different categories. So actually, Stack Overflow is on there for the our engineering blogs, I'm pretty sure. Yeah, I have to I'll send you the link to that. It's a you know, mutual love. But basically what we did is we took some of our best writers and ask them, hey, could you rank some of the best blogs out there based on like, the technical depth that they go into, the writing quality, the consistency, how long they've been around, in your area of expertise, we have people who do it in GO, C sharp, PHP, Python, whatever. And then we just put those on our site and like, yeah, it's a great way to kind of showcase some of the companies that are out there. And most of these are not actually businesses. They're like just individual blogs that are that are out there. Yeah, really cool, because like, man, blogging is a thankless art for most developers, you know, you don't get much for it.

[music]

BP Alright, well, it is that time of the episode, I am going to read out the winner of a lifeboat badge as somebody who came on the Stack Overflow network found a question with a score of negative three or less, gave it an answer and got it up to a score of 20 or more. Awarded May 18 to Günter Zöchbauer: "How to use 2 mixins in State in Flutter?" Alright, if you ever want to know about mixins in State and Flutter, if you want to double up on it, we've got an answer for you in the show notes. I am Ben Popper, Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper, you can always email us podcast@stackoverflow.com If you liked the show, please do leave a rating and review, really helps. And I will popcorn it over to Ryan.

RD You can find me at @RThorDonovan on Twitter. Or if you have a hot take, a sizzling hot take for the blog, you can email me at pitches@StackOverflow.com.

BP Karl, who are you? What's your company called? And where can you and the company be found on the internet? 

KH Yeah, so I'm Karl Hughes, and it's Karl with a K. So you'll probably spell that wrong. You can find my company is called draft Draft.Dev. We're always looking for writers. I don't want to compete with Stack Overflow's blog and writers but if maybe some of your writers are looking for additional stuff, they can find us there. And you know, always happy to talk about content and other things with people.

[outro music]