From Planes to Programming: Justin Schroeder on Creativity in Software Development | Techstrong Unplugged EP27
Justin Schroeder, founder of FormKit, shares his unexpected journey from aeronautics to software engineering, discussing the parallels between coding and music, the evolution of web forms and the creative challenges of software development. He reveals how FormKit is tackling complex form-building issues and reflects on the joy of creating web tools that empower individual developers.
Transcript
Hey everybody and welcome back to Techstrong Unplugged. I'm your host, Atan Solomon, and this is episode 27 of our series. In this episode, we're taking you to AI Dev Summit 2024.
There our cos, Cassandra Chen met up with Justin Schrader, the founder of Form Kit, and they discussed creativity and software development. Daniel also highlights the parallels between coding and music and reveals how Form Kit is tackling complex form building issues. Without further ado, let's head it over to AI Dev Summit.
Welcome back to Text and Unplugged. My name is Cassandra Chin, and today we're here with Justin. Nice to see you, Cassandra.
Yeah. Can you introduce yourself? Sure.
So my name's Justin Schrader. Um, I am a founder of a company called Form Kit, and we do, uh, we basically try to take the pain out of building forms. Yeah, Can you talk a little bit about like how you got into tech or maybe even before that?
Sure. Yeah. So, um, I mean, my background is, I, I grew up in Europe.
I obviously don't sound like it because my parents were American. So I lived there until I was, uh, 18 or 19. I got some advice from someone when I was trying to decide what to do with my life, and it was basically along the lines of like, do whatever you want, you know, like, just follow your heart kind of stuff, which is actually terrible advice.
So I was like, well, I've always wanted to fly planes since I was a little kid. So I, uh, that's what I did. I went to, I moved to the States, um, for college to Texas and I went and I got a degree in aeronautical science and I went and flew planes for several years, um, which does sort of sound like fun and magical, uh, but it turns out it's actually an incredibly non-creative thing.
Like, creative pilots are dead. So, uh, at some point when I was on one of these projects I had, I had gotten married and I was gone. I'd get sent away for like a month or two at a time.
I had, we had just gotten back from a honeymoon. I'd been gone then for months I got back and they were about to send me away again to Chile for a couple months. And I was like, I think I'm gonna change my career now.
Um, and computers had always been a hobby and I had been programming, I mean, really since I was 12, I think, but not like professionally just for fun. You know, I'd, I'd create little websites or things like that. And so I decided, oh, you know, I'm gonna try to like, make this actually a career.
And that was, I was, uh, 13 years ago, something like that. Um, and so yeah, I ended up getting my first job in the space and it's been a real joy. I think one of the things people don't realize about being a software engineer is it is incredibly creative.
And so that is, that is something that's totally missed. Like when I go and I tell people, uh, you know, I write software, their eyes just kind of g glass over, like, you could not possibly say anything more boring than that. You know, say less, stop talking.
Um, but the reality is like, and, and, um, you know, for people watching who are maybe sort of getting into it, uh, once you actually start and you start the, the, the complexity of the syntax of programming whatever sort of melts away a little bit, you're left with almost like, uh, an expression of whatever is in your mind. I like, I like to think about it almost like playing the piano, where at some point when you're a good pianist, you stop thinking about like, which keys you're pressing and you start just making the music. Um, and that's a really beautiful place to get to and it doesn't take that long.
You know, like even a new developer can get to that place, you know, and, and probably just a matter of months. Um, so it's worth, worth pursuing. Yeah, That's a really good analogy to music.
Yeah. Do you play A little bit? I used to do a violin.
Okay. There's a, there's a huge overlap I I've noticed between software engineers and musicians. Um, I did when I was like a little kid, but I have this reoccurring dream where I'm, I'm like a virtuoso and I sit down at the piano and I'm just like enjoying it.
And the only thing in real life that's not a dream that makes me feel that way is programming. 'cause I can sit down and it's just like whatever's in my mind can start, sort of start to come out. That's, so that's sort of the romantic part of, of being a software engineer, I think is, is there is some joy and beauty and creativity to it that I, I don't think people realize when, when they're on the outside, you know.
Do you wanna talk more about the software engineering you do now? Sure. Um, yeah, so I am a founder in this company called Form Kit, which is, I mean, it's a company, but it's really just an open source project that we're trying to figure out how to sustain.
So that's the company part of it. Um, but essentially we've been writing program, you know, I've been writing programs for, you know, a couple decades now. And in the process at some point we started to realize all of our time is going to building the forms.
It doesn't even matter if it's a desktop application or it's a web application. At the end of the day, a form is how we present a user with a way to interact with the computer. Can you describe what exactly a form is?
Sure. So anything you type into the computer basically almost exclusively, um, you know, like a form for ordering some pad tai or a form for, you know, booking a ticket to come to a conference. All of those are web forms, um, or they could be iOS forms or something like that.
But essentially you're presented with some fields to fill out. You gotta fill them out. And it's amazing how unsolved the problem is.
'cause at first blush, it seems very simple. You, you know, if you were writing HTML, you'd do something like input type text, and now you have a form on the page, somebody can type into it. That's very simple, but there's this whole litany of other requirements that end up getting built on top of that.
For example, you need to provide like a label to say what that form input is. Hey, this is the first name field. Okay.
Turns out you can't just put some text there. They need to be semantically linked. So you need a way to say, this is the label for this field.
Right? That's a very basic example. But then maybe you want to add some help text, maybe you want to add some validation.
Maybe this form works in more than one country, so you need internationalization on top of that. So you can translate, uh, the validation messages or the labels or things like that. And it, and it, it just spirals outta control and complexity.
And then your boss comes to you and says, Hey, actually the, the conference registration form that you wrote, people really want to be able to like book multiple attendees. They want to be able to like, add a new person, add a new person, add a new person, and book a form, have a form where they book all of the people in their organization. And the, like, as soon as somebody says anything like that, the, the complexity 10 xs, it becomes unbelievably hard to actually write that for.
Um, and so everybody is solving this independently right now in almost, almost every arena. It doesn't matter if you're in the react space or the view space or the web space, or you're programming and rust. I mean, like, everybody is coming up with their own solutions for sort of how to try to integrate these things.
And um, sort of the idea behind form kit is, is it we need a standard architecture for how to deal with it. And so that's sort of what this, this Is providing. I can think of a lot of frustrating experiences with, with forms.
Yes. Right? Like, you, you, have you ever been on a form, you like click the button to buy something and it's like, no, you can't figure out why, you know, you can't submit the form.
It's, oh man, there are so many horrible experiences like that. Yeah, we, we were, uh, we were buying tickets to go to, um, Europe a couple months ago, and the, there was a date picker. You had to pick the date in your passport.
Well, when, when the airline wrote that form, they're using the browser's time to select the date. So I select a date, let's say it's May 11th, some something. I'm in the US When I do that, well, it turns out, depending on what time of day it is, that's gonna be a different day in Europe because of a time zone.
Even though I'm picking a date in 1987, it's still a different day. So we would fill the format, we click the submit button, and the the, the date would be different. It'd be different than what we picked.
So eventually, like we, we finally like realized this we're just consumers just trying to buy a ticket. We realized we had to like, put in the wrong date of our passports just to get it to accept the right date. And this kind of stuff happens all the time.
And it's because everybody has to recreate the wheel every single time. So we're trying to kind of solve that problem. That's, you know, that's what we're tackling.
Yeah. Hopefully you guys solve that problem. Hopefully we solve it.
Yeah, I think, I think we're getting pretty cl pretty close. Yeah. Yeah.
And you said like you've had a passion for websites, Uhhuh, do you wanna talk more about it? Sure, yeah. I'm, you know, when I was a kid, I think I, I think I wrote my first program when I was 12 or something like that.
And at the time, I, it was written in basic, um, which doesn't really exist anymore, but it's actually a great way to learn programming. You only, you're only allowed to like one operation per line and all the lines are numbered. Um, and at the end, you, you click it and it, it runs, you know, and for a kid it was, it was a great way to do it.
But what bothered me about it was there was no way for me to take that and then distribute it or like give it to somebody. Like, I couldn't show off to my friends, basically. I wanted to be like, well, I did, couldn't do it.
Um, and I don't exactly remember like who turned me onto this, but somebody said, oh, you should just, you could create a website. And I had no idea what that even meant. But, you know, back then I probably used Yahoo.
'cause I don't even think Google existed yet. And I went and found some way to, uh, basically open up like Notepad and type HTML and I would like made a website and, you know, back then to deploy a website, you would just drag a file into an FTP thing and it would upload it. And then you had a website.
I mean, it was, it was very simple. Technically it still works the same way today, although we've like, made it seem really complicated. Um, and that was so empowering to feel like I just typed some text in here and now like, I can go to school and tell my friends, like, go to this website.
I made that, I made that pretty cool. And then somebody like this was, so this would've been in like 1998. So JavaScript had just been introduced and, um, and I, I realized like I could actually write code and make it do stuff in the browser, and then it was sort of off to the races after that.
I just absolutely loved the experience. And I think that today, even today this, even though we've added a lot of complexity to the web, it is the only platform where you as a single person, as a tinkerer can actually build something that's valuable to other people. It's very hard to do that on, like with desktop programming, you know, like the number of times where I actually use an app on my phone or on, on, um, my desktop computer that was made by like one or two people is almost zero.
Most of those programs are like Adobe Photoshop or, you know, some, some complex software. There's only a few of 'em I can think of that are really teams of, of one or two people. And that, and that's not true on the web.
The web is a place where, um, individual people create value all the time and are able to sell that value, um, and get compensated for their time. And so there is something magical about that space that I think is worth, uh, people looking into. I see A lot of artists post their own work on their own website.
Yeah. And whenever I see it, I'm really amazed that like they can have their own site and yeah, they really customize it. They made that site somehow, you know, and I mean, it's getting easier and easier to make websites.
'cause there are some great tools out there where you don't even need to know, you know, code. You could just do Squarespace or something like that. And that's great too.
Um, but yeah, I know a lot of artists who create incredible artwork and then publish it on websites that they've designed themselves. And that is, that is really, really neat. And like, nobody's doing that for, for desktop class applications.
That's not, it's not really a thing. It, um, yeah. Do you have a preference for website frameworks?
Absolutely. I mean, I'm a big view diehard, so we're at Vof right now. Um, and, uh, yeah, I'm a, I'm a big, I'm a big fan of view in particular, the fact that it's sort of the, the last independent open source, um, big web framework.
So you just Said the last, like this is literally the only one at the last one. This is the only one independent. Yeah.
So like React is created by Facebook. Um, uh, spelt is created by a guy named Rich Harris, who's really great guy. Um, but him and his entire team have gotten hired by Versal.
Um, the, uh, let's see who, who is behind? I'm not, I'm, I'm not sure. I think Netlify is where Ryan Carta works, but I could be wrong about that, um, from solid.
Um, but yeah, basically like all of the major frameworks, angular is Google, obviously. Um, so all of the major frameworks are coming out of large corporations. And there's nothing wrong with that.
I mean, I'm grateful to the world that they exist, grateful to those companies. Um, but there is something unique about View, 'cause it's created by essentially glorified hobbyists who have done it for the love of the game. And, and, you know, some of them aren't even compensated for their work, really.
They're just doing this out of absolute passion. And it's interesting because right now in the, in the industry, we're starting to see most of the new innovative tools are coming out of this little ecosystem. So even if you're gonna be building an application in React or spelt or, uh, with, with Remix or all of these, you know, big web frameworks, they're gonna be, the underpinnings are from the View community.
They're gonna be used things like VT and Nitro, um, and, you know, Shey or two slash like a bunch of these different tools that are, that are coming out of the independent view ecosystem. And it's the last of, it's the last bastion. And like it's a really nice community then.
It is a really great community. Yeah, absolutely. I'm really grateful for all the friends that we've made here over the years.
Yeah. I think we've had a really good chat today. Yeah.
So thank you. Absolutely. Thank you.
