Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.


17: Robbie's Origin Story: Learning to Code, Learning to Hire, and Taking the Entrepreneurial Leap

Show Notes

If you’ve ever wondered where Ship Shape got its shape and how Robbie became Ember’s number one fan, this episode is for you.

Robbie and Chuck revisit the early chapters of Robbie’s career, including the gigs he loved and the corporate structures he hated. They talk about lessons learned, taking the entrepreneurial leap, and what’s on the horizon. While Robbie’s career has hardly been a linear path, the most exciting and fulfilling journeys rarely are.

Key Takeaways

  • [00:44] - Whiskey review and a brief overview of Pinhook.
  • [06:23] - Robbie’s introduction to the digital world.
  • [13:15] - College and his bridge to JavaScript.
  • [16:06] - The first startup Robbie worked at.
  • [18:30] - The start of Robbie’s post-grad gigs.
  • [21:20] - A proud whiteboard-ing moment.
  • [24:23] - What Robbie learned at Red Hat.
  • [30:28] - Where Robbie fell in love with Ember.
  • [34:56] - The next step in Robbie’s Ember career.
  • [36:55] - Where Robbie had the stereotypical startup experience.
  • [37:22] - Robbie’s return to Ember.
  • [45:25] - The start of Ship Shape and the value of networking.
  • [49:52] - Robbie’s thoughts on React.


[23:39] - “I think all of computer science boils down to understanding the Big O notation of the thing you’re doing. That’s it. If you know what’s most efficient, you can look up how to do it.” ~ @RobbieTheWagner

[25:14] - “It comes back to my approach to hiring anyone. You hire good people who want to learn things and will do well, and they’ll do well at any technology.” ~ @RobbieTheWagner

[45:39] - “Honestly, there were a lot of times, and you’ve been around for some of them, where I’ve been like, ‘alright, let’s just stop and go back and get real jobs because we don’t have enough money and we’ll just stop doing this.’ But it always works out. And we continue to grow and you just have to trust that it’s going to work out.” ~ @RobbieTheWagner


Connect with our hosts

Subscribe and stay in touch

Top-Tier, Full-Stack Software Consultants

This show is brought to you by Ship Shape. Ship Shape’s software consultants solve complex software and app development problems with top-tier coding expertise, superior service, and speed. In a sea of choices, our senior-level development crew rises above the rest by delivering the best solutions for fintech, cybersecurity, and other fast-growing industries. Check us out at shipshape.io.

--- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message


Robbie Wagner: [00:09] Hey, everybody. Welcome to another Whiskey Web and Whatnot that we are finally getting to record after AWS really stopped working for everyone everywhere, which was really fun.

Charles Carpenter: [00:21] Somebody unplugged it. Unplugged the cloud for that.

Robbie Wagner: [00:24] I don't know what happened, but I'm guessing a lot of stock is going down in every company that runs on AWS today. But anyway.

Charles Carpenter: [00:32] Oops.

Robbie Wagner:[00:33] As always. I am Robbie Wagner. And this Charles William Carpenter III. And we work at Ship Shape, and we make podcasts for fun. Today we have this thing that Chuck has probably already drank most of his.

Charles Carpenter: [00:50] I don't know what you're trying to say. Only about a third, maybe. I don't know. I leave it here at the office. I don't drink at the office too often.

Robbie Wagner: [00:57] I only do for this. Although you can kind of see I don't know how my video looks. You see the cabinet over there? That's my new bar. So I can put all of our hundreds of whiskey in there as we accumulate them.

Charles Carpenter: [01:10] Once we accumulate all the hundreds.

Robbie Wagner: [01:13] Yeah. I was thinking for people to listen to this podcast if anyone is nearby and wants to just come have some whiskey, like, we have a bunch I need to get rid of.

Charles Carpenter: [01:23] There you go. So, yes, today we have the Pinhook straight rye whiskey. This particular it's a four year and selected by Total Wine, Arizona. So it's actually a barrel pick, which is kind of cool. Tiz Rye Time is the one that we have, which is a 95% rye. And what is it? 5% malted barley.

Robbie Wagner: [01:48] Is this a real horse name? Tiz Rye Time.

Charles Carpenter: [01:51] I don't think so. I have no idea. I can't say I know that much about this particular. I've seen these bottles a lot of times. They have a nice wax top, which seems fancy, and I've wanted to try them but haven't, so I don't know a lot about it. I know that it is a sourced one, so I think I believe it comes out of Indiana. MGP. For any previous listeners who have heard me lament forgetting to bring a proper glass and using a coffee cup, I have rectified that now and have the Norlan again so that I can properly taste.

Robbie Wagner: [02:27] Immediately breaks it.

Charles Carpenter: [02:28] Yes, that's probably going to happen. Exactly. And dropped.

Robbie Wagner: [02:34] Interesting.

Charles Carpenter: [02:35] Yeah, I want to say a little bit of like apple pie. Kind of like apple crumble really more.

Robbie Wagner: [02:42] I would say like a soury apple. Like a Granny Smith apple.

Charles Carpenter: [02:47] Yeah.

Robbie Wagner: [02:48] There's a lot of sour notes.

Charles Carpenter: [02:50] Yeah, it's got a little sour and a little bit of like a cinnamony thing. So it makes me think of apple crumble. It has been a while since I tried this one independently, so I feel more objective now.

Robbie Wagner: [03:02] Yeah, I don't get the spicy rye notes until, like way at the end. So it's like this kind of bright sour appley. 10 seconds later, you get the classic rye spice.

Charles Carpenter: [03:16] Yeah, right at the finish. Yeah, this is different. It's enjoyable.

Robbie Wagner: [03:21] Yeah. I would say this is kind of similar to the fact where we had the Boss Hogg, and we thought it wasn't something you could drink a ton of because it's very interesting but not like the most drinkable thing. I'd say this is in a similar category. Like I enjoy it, it's interesting. I wouldn't want to drink the whole bottle at once.

Charles Carpenter: [03:42] Yeah, I can see where it would pile up on you after a little bit. One or two, and then you're kind of okay, this is fine. I guess in the vein of like an apple crumble kind of dessert. I can't eat a ton of desserts, either. I get my little fill. I'm good.

Robbie Wagner: [04:00] Yeah, it is pretty good, though. I would give it a six, I think. Six tentacles.

Charles Carpenter: [04:06] Yeah, I'm feeling six as well. Yeah, it's good. I'd have it again. I wouldn't rave about it forever or anything of that nature. So now, a neat little thing I noticed on the back. So it says vintage one of nine in the true single barrel vertical series, which follows a group of barrels as they age from four to twelve years old. It has a QR code on there and says that this label is interactive. Get the Pinhook AR app. Let's try this out real-time.

Robbie Wagner: [04:37] All right. What could go wrong?

Charles Carpenter: [04:40] I don't know. I guess this isn't dependent on AWS services, so it should be fine.

Robbie Wagner: [04:45] Well, if it is, then it's not going to work.

Charles Carpenter: [04:49] It's not going to go well. Every year Pinhook releases a new bourbon and rye, each connected to some other words that they got rid of. So here I am. AR. Please hold in front of the label. OK. You found a bottle of Tiz Rye Time, and that is correct.

Robbie Wagner: [05:07] You mean a QR code worked?

Charles Carpenter: [05:09] Yeah. And then it tells me the proof, which I know that so the Noli Novak did the illustration. Famous for creating Wall Street Journal drawings. Horse name. Yeah. Thoroughbred horses are often named for their sire or mare. Other owners' name around a theme, such as movies, songs, or cities. The name of every Pinhook horse includes the word bourbon or rye. So yeah, I think they kind of invented this whole horse and name setup. I don't believe it's.

Robbie Wagner: [05:41] So some rich horse guys who are like, hey, should we just also make some whiskey? Or did it go the other way around?

Charles Carpenter: [05:50] I think it went the other way around.

Robbie Wagner: [05:52] They made whiskey first.

Charles Carpenter: [05:53] Yeah.

Robbie Wagner: [05:55] Well, either way, not some bad guys to be associated with.

Charles Carpenter: [06:00] Right. And the app works. If anybody goes into this, you can do a little AR with the app. All right. That's my info on that. Interactivity. Yeah, not bad. Nice bottle. Interesting experience. Tasty after-dinner drink.

Robbie Wagner: [06:18] Yeah, definitely. So yeah, today, for our web and whatnot, general things, we decided to do some origin story episodes. So today is going to be about me, and next time will be about Chuck. And we're just going to go through a history of how I got into web development jobs. I've had that kind of stuff. So you don't really know how it's going to go. I have like a couple of notes.

Charles Carpenter: [06:46] But well, feel free to skip ahead to the next episode if it happens to be published. I'm not making any promises on this one.

Robbie Wagner: [06:56] So, yeah, I guess my first real digital work, in general, I was doing some Photoshop stuff. I was in several bands and stuff in high school and having a need for merch and logos and whatnot. It's like, hey, I should check out some Photoshop. And it was kind of the hot, cool thing to play with at the time as well. So I played with that some. And then I think some guy that I knew was just like, hey, have you ever tried div overlays on MySpace? And I was like, what are these words you're saying to me? I don't know what you're talking about. And he told me all about how you can make a Photoshop image, slice it into slices, and basically just replace your entire MySpace with that and then move the stuff around to fit in the boxes, which is just crazy. You could never do anything like that. Oh, I want a Facebook that looks the way I want and let me just move the comments and stuff around. Like, that's not going to work, right? So yeah, it was pretty crazy times but did all of that, and then inevitably, all of the slices would not fit perfectly together, which I think you did some photoshop, too, right, Chuck?

Charles Carpenter: [08:17] Yeah, I did, but I actually.

Robbie Wagner: [08:19] We won't go too far into your origin story.

Charles Carpenter: [08:21] Yeah, we got to leave some secrets there. But I took a lot of photo courses. So in the transition from regular film to digital, I picked up some photoshop.

Robbie Wagner: [08:33] So as you were designing things, did you notice the same thing, that if you tried to make a big thing of slices, they would be off by like a couple of pixels between the slices sometimes?

Charles Carpenter: [08:43] Yeah, it's the bane of all early web development existence because it was all layouts and tables and then nested tables within cells of other tables and basically turning these slices into bits in those tables.

Robbie Wagner: [09:04] I had lots of trouble getting it all to fit. And I guess also, at that time, no one was really thinking about responsive design. So you would design it for your typical viewport, and then if it were bigger or smaller, it would just be like, no, horrible. Yeah, so that was fun. And yeah, I continue to do designs and stuff. Like did some of those Myspaces for some other bands, did a lot of apparel stuff actually, and had a clothing company of my own which I actually didn't make the designs for, ironically, but I made the designs for everyone else, and then hired a professional to do the apparel designs. Yeah. It was called God Wears Gucci. Like a play on The Devil Wears Prada.

Charles Carpenter: [09:47] Okay. Yeah. Is there any of that to be picked up these days? I mean, where does that live?

Robbie Wagner: [09:53] I may have a couple of extra shirts or something, but honestly, pretty much all of them that I've made. My dad just takes the extras of, like, he doesn't wear any clothes that, like, he bought anywhere. He only wears stuff that I've made for, like, bands and companies.

Charles Carpenter: [10:10] Interesting.

Robbie Wagner: [10:11] Yeah. So maybe I'll get some pictures of him and you can see what the shirts look like.

Charles Carpenter: [10:16] Yeah, I think that's a must. You got to post that on Twitter.

Robbie Wagner: [10:20] Yeah. I just did all that for a while and then, I guess, went to college at Virginia Tech and stopped doing any web stuff at all, unfortunately, because I'm hoping it has gotten better these days. But the computer science program was just. Like, no, computer science is Java and C and computing heavy languages. The web is not important. It's just for looking up stuff on Wikipedia.

Charles Carpenter: [10:50] They were preparing you for a good bank job.

Robbie Wagner: [10:52] Yeah, we learned a lot of stuff that I really never have used. It was kind of fun to learn. Like we had to build our own shell and did a bunch of GDB stuff like GNU Debugger or whatever, where you stepped through C code, and there was like this project where you had to not make a bomb go off, and you had ten tries, and if you didn't put enough debuggers in, they would just loop through ten times, and you would get, like, a zero on the project. So it was really about making sure you did all that right and did some assembly and a bunch of crap that no one knows how to do because even JavaScript just compiles to WebAssembly now. No one knows how to write assembly itself.

Charles Carpenter: [11:41] Yeah, that's pretty much true, I guess.

Robbie Wagner: [11:43] I had one web class. Like, we had a capstone class that talked a little bit about web stuff, and we made this thing where what did it even do? I think it was like a database for searching documents in Arabic or something.

Charles Carpenter: [12:03] Okay.

Robbie Wagner: [12:04] Because it was hard because it wasn't like ABCD, because we were doing something with a Middle Eastern country. They had, like, a server there, and we had a server at school and did some kind of stuff back and forth. I really forget a lot of the details because we never finished the project because somebody hacked the server and deleted everything.

Charles Carpenter: [12:24] Oh, man.

Robbie Wagner: [12:25] Yeah, it was nuts. I think people being at a college that does, like, computing research stuff, I don't know, they were just trying to find anything that was vulnerable. And being college students who were given a machine, we didn't know how to lock stuff down. It was like, yeah, whatever. And yeah, it got hacked, and everything got deleted, so that was fun.

Charles Carpenter: [12:46] And you still passed that class?

Robbie Wagner: [12:48] Well, I mean most classes, like those classes where you had to build a shell and stuff, you would get like a 34 on an exam, and you would have like an A plus. Everyone did really badly.

Charles Carpenter: [13:01] And they're like move on, move it on. Still fine.

Robbie Wagner: [13:04] Yeah, I think we all learned what we needed to learn. It was just like stuff was excessively hard, and they knew that, but yeah, passed everything. Towards the end of school, I ended up working with a group of students who entered the VT Knowledgeworks competition and made an app called Ufolio and it was like a portfolio of stuff you had done, basically like as the name implies. So it's like kind of like LinkedIn where you could connect with people and show what you had worked on, that kind of stuff. But I just worked on that for maybe a year, off and on. It was in Angular. I can't remember if this came first or if my actually getting paid for web work came first. So I think they may have overlapped some because I think we started doing like PHP with Ufolio, and that's what I had done. Oh, I even forgot. This might not even be on my LinkedIn, or maybe it is, but I also worked for, I'm just remembering now. I worked for Software Technologies Lab, which was a place on campus or kind of like there's a kind of on campus, like big research park that it was in. And it was just like a bunch of students that got hired by this group of people that coded so they could get work done for cheap, basically. Right.

Charles Carpenter: [14:30] Of course. Brilliant model to a degree. But I'm wondering. You are doing a bunch of Java projects. So was PHP essentially your bridge to JavaScript?

Robbie Wagner: [14:44] Yeah, so I totally forgot about, we'll abbreviate. Software Technologies lab is STL. I forgot about STL until just now. Like going through my brain. But yeah, so we did PHP there, and after doing some PHP for a while, somebody threw in Prototype JS. Like the opposite of the competitor to jQuery, I guess.

Charles Carpenter: [15:10] Yeah, Prototype, MooTools, and jQuery were the big.

Robbie Wagner: [15:14] Yeah, so we were using Prototype, and of course, because everyone used jQuery, you would look up stuff to do and be like, oh, this is awesome. I can do this thing. And then it's like, no, you can't because we're using Prototype. So yeah, it got into that, and that was like the first time I remember learning about asynchronous code because everything in Java and C is like you have some recursion and stuff that messes with your brain but nothing that's like call this thing and wait for a while and then call this other thing. I think we were still in like everything was callbacks. It was just like, you know, you would nest 16 callbacks. And it was really gross. And I really never understood what Ajax was or, like, how any of it worked. I was like, you just have to nest a bunch of callbacks, and it does things.

Charles Carpenter: [16:02] Eventually, what you want comes out in the end.

Charles Carpenter: [16:05] Yeah. So I worked there for maybe like a year, actually. And then, I worked at a startup called Mail Pilot, which was pretty cool. They were my first introduction to Ember. I remember at the time, I was like, not that into Ember. I was like. Angular is clearly the better framework. Look at the really sexy Angular docs on the Google site. Like, this is so cool. But it was usable. So the Mail Pilot was like all of the email apps we have these days, that's like a to-do list where you check stuff off or snooze it or whatever. It was like the first one of those. I think there may have been others, like, in the works, but they did, like, a Kickstarter, and we're like, hey, email sucks. We want to make it work like this. And they got a bunch of money to build an app. That's what I worked on for probably, like, six months. I don't know. I don't know how long I was there. It was pretty cool, and learned a lot of Ember. The app itself looked really bad because I kind of remember what it looks like now. Comparing it to websites today, it looked terrible, but at the time, it was cutting edge. It looked awesome. So I was super excited getting to work on a startup and being one of two developers that were working on it, basically.

Charles Carpenter: [17:23] How did that opportunity arise, and what was the interview process like?

Robbie Wagner: [17:29] Yeah, I think they emailed the CS department listserv and were like, hey, anybody want to work on something? And I was like, okay. And so it was super informal. They didn't have an office at the time, I guess. So they were like, hey, meet us at Starbucks. And we, like, went to Starbucks and sat outside and, like, I think they asked me a few basic questions, like, nothing web specific because I think they were kind of looking for, like, anyone that was willing to learn not like, you know this already. So they were more like generic programming questions or, like, stuff about me, I guess. I forget the exact questioning, but I remember afterwards being like, I did not do well at that. I'm not going to get this right. And then I did. So either they interviewed no one else, or I did better than I thought.

Charles Carpenter: [18:25] That's funny. Sometimes that's the happenstance of it all, I guess.

Robbie Wagner: [18:29] Then after that, after I graduated well, I guess before graduating, I'm giving lots of info, so feel free to stop me at any point and make it more interesting. But they had on-campus interviews for lots of companies, one of which was Red Hat Consulting, which is where I ended up working. But I interviewed several places. Like, everyone interviewed for Microsoft and Amazon and all these different things. I forget, I think it was Amazon was like, here's this giant block of, like, I don't know, 500 characters. Like, no spacing, just lines of characters. And they're like, how would you write a function to find the longest string that's most commonly occurring? Or something? Like, if there's Abcdefg and that occurs, like, ten times, how do you find that versus, like, ABCD or whatever? And my brain was like, hey, this is whiteboarding. It's stupid. No, I can't do this. So I never got any of those. If anyone was like, oh, write a sorting algorithm, I'm just like, Look, I'll try it. But no, there's no way I'm getting this right on the whiteboard. So for anyone interviewing right now, if anyone asks you to whiteboard, don't feel bad. Just being like, no, I'll gladly code you anything you want, but I'm not going to whiteboard.

Charles Carpenter: [19:59] Right. And I think it's an interesting point in terms of probably the majority of real-life circumstances. I mean, day trading applications or something crazy like that might require some deeper learning in that way of mathematics or sorting breakdowns and all that, but most regular interfaces don't really require it, that kind of logic. Yeah, the business logic is straightforward and it's pretty easy.

Robbie Wagner: [20:28] I have used zero algorithms, zero calculus, zero combinatorics, zero linear algebra, zero differential equations. Like, all this stuff I had to learn because it was like an engineering degree, and they want you to do they don't get as complicated as, like, implement differential equations. But yeah, most of it you don't need.

Charles Carpenter: [20:53] I used combinatorics once. One time. One time in 18 years.

Robbie Wagner: [20:57] I remember.

Charles Carpenter: [20:58] Yeah.

Robbie Wagner: [20:59] You were like, hey, what do you know about combinatorics? And I was like, Wait, really?

Charles Carpenter: [21:04] I was like, yeah. Anyway, we got there.

Robbie Wagner: [21:08] I think my proudest moment whiteboarding was like, I went to, I forget what this place was. It was a government contractor. But I was interviewing there ,and I implemented Dijkstra's algorithm on a whiteboard, like, for finding the shortest path to a thing. And I was just like, that could not have gone better. I should just never whiteboard again.

Charles Carpenter: [21:32] End my career here.

Robbie Wagner: [21:34] Yeah, but yeah, ever since then, I have not done well with any of that.

Charles Carpenter: [21:39] Yeah, I think that I remember there used to be a website like Whiteboardingisbad.com or something like that, and it would list companies who whiteboard and those who do not, and then saying, like, interview on real-world skills.

Robbie Wagner: [21:55] I think either Lauren Tan wrote that GitHub repo or was, like, promoting it, and I forget.

Charles Carpenter: [22:02] Yeah, I don't know if she created it or just helped maintain it, but yeah, I know she was associated.

Robbie Wagner: [22:09] We should have her on the podcast and ask about it.

Charles Carpenter: [22:11] Yes, that would be interesting. I just want to hear just about that and what are your feelings now?

Robbie Wagner: [22:18] Yeah. How do you feel about this? All right, see you.

Charles Carpenter: [22:20] When you set up your story, when you said, the best I've ever done at whiteboarding, I really was hoping that it would be apex of that story was going to be you just walked up to the whiteboard and wrote nope, set down the marker and walk out.

Robbie Wagner: [22:37] No. I was never so bold, but when there were things that I couldn't do, I would straight up tell people like, hey, this is unreasonable, I'm willing to try it, but I'm not going to get it. So you can see how I work through the problem, but there's no way I'm going to write a sorting algorithm up here real quick. Those exist and are performant already. I don't need to know how to do that.

Charles Carpenter: [23:02] Right, so you have a real problem with sorting?

Robbie Wagner: [23:06] Yeah. No, just remembering algorithms. You're like, all right, sort this, and then it's like, okay, what's the most performant? I know bubble sort is not the most performant, but that's the one I kind of remember how to do. So like, let me do that one. And it's just such a the question should be like, I want you to sort this, but use Google to find what the most efficient one is and how to implement it and then show us. Because I could do that.

Charles Carpenter: [23:30] Yeah. You know how to find the answer, you understand the explanation of the answer. And I think that those are qualities as well.

Robbie Wagner: [23:37] Yeah, I think all of computer science boils down to understanding the big O notation of the thing you're doing. That's it. If you know what's most efficient, you can look up how to do it, that's fine.

Charles Carpenter: [23:51] Unless you want to invent the next big thing. Right. If you had invented blockchain or you had invented something like that, then it's a different level. Yeah. There's the factory worker, and there's the person who creates the mechanics of the factory. Yeah.

Robbie Wagner: [24:11] I have never been one to be visionary and know like the next thing to make. So I've worked at lots and lots of places. So at Red Hat, I was doing Java again, and it was interesting because a lot of people knew of Red Hat from Linux and Fedora and their Enterprise Linux stuff and all that. So people had heard of it and were confused about what I was doing because people don't really know. They have a consulting division which specializes in nothing, by the way. If they're like, I need you to build me, I don't know, like a cat.js app. They're like, oh, we have 25 experts in that. Here you go. These guys are like the best cat JS experts. And then they sell a multimillion-dollar contract and go, okay, you 20 guys, learn cat JS in the next two weeks. I guess I shouldn't put them that much on blast. There are a lot of people that know what they're doing, and it comes back to my approach to hiring anyone. You hire good people who want to learn things and will do well, and they'll do well at any technology. So it's not like they were actually throwing crappy developers at something. It was just that they were marketing it aggressively, like that they were all experts when they weren't experts just yet, but maybe we're at least mid-level by the time they started the project.

Charles Carpenter: [25:40] Right. Proficient at that point.

Robbie Wagner: [25:43] Yeah, but we did a lot of work in .NET with Geico, which was a soul-sucking job, because it's one of the only places, maybe the only place that I've ever worked where you had to swipe in and out of the building. They're tracking. Oh, my God. You stayed outside for ten minutes longer than you were supposed to. You got to stay at work longer. And I was like, really? Is it that bad that you need to like, you guys have nice, fun commercials, and you have this terrible of a corporate environment? So, yeah, that's where consultants went to die. They would all be like, I hate this, and quit working there, which is what happened with me.

Charles Carpenter: [26:28] You followed the crowd in that?

Robbie Wagner: [26:30] Yeah. I was like, okay, I did all this fun stuff, like, at a couple of startups in school, and I know there's more fun stuff out there, so I don't need to stay here. And they were like, oh, oops, can we give you more money to stay? And I was like, Absolutely not. Like, I'm leaving to do anything else. So then I went to a startup called Netuitive, which I guess still exists ish. So, like, Netuitive became Metrically, which I think got bought by someone. So maybe there's still something I wrote somewhere out there. But when I worked there, it was Netuitive, and it was your classic startup that didn't exactly know what they were doing. They had some really proprietary code that was really performant for some kind of back endy thing, and I forget exactly what it was, but the gist of the app was like, I think you could it was for banks, and it was for checking if everything was running correct or if you were getting attacked or something. I think I forget.

Charles Carpenter: [27:36] Okay.

Robbie Wagner: [27:37] Not really important. I used Ember there.

Charles Carpenter: [27:40] Did you pick it?

Robbie Wagner: [27:41] No, it was already there. So the main developer, I guess, was a guy named Josh, and he and another guy named Roger, who I still talk to a good bit today. He was our manager, and he was basically like, learn whatever you want, and that's, like, fun, and you think, we'll give you a good job later. He's like, My job is not to make Netuitive money. It's to make sure you guys are prepared in case you need another job. What if your next job needs CoffeeScript, and you don't know it? I would hate for that to be the case. So learn things you're interested in and apply those to our code base, and everyone will get better, basically. So it was a really great environment. And after a few months, I forget how they or if they even announced anything. I was just working. Oh yeah, they sent an email. I think it was like a Wednesday. They sent an email out, and they were like, hey, we've had some funding issues. There's going to be some layoffs or something like that. And I was like, well, I don't want to sit here and dwell on whether I'm getting laid off or not. I'm just going to do some work. So I started coding some stuff and tried to log in to Jira or something. And it was like, you can't log in. And I was like, well, I'm getting laid off then. And it was fun because we had a big group of people that were starting to amass that were like, okay, who's getting laid off, who's not? I was like. I figured it out. Try to log into these services. And everyone was locked out except for Josh, like the main developer. He was able to log in.

Charles Carpenter: [29:25] Wow.

Robbie Wagner: [29:28] They laid off, like VP of Engineering. I think basically anyone that wasn't C-level was gone. And Josh got to stay, and Roger got to stay. And they were like the development team and everyone else. They laid off like 75% of the company.

Charles Carpenter: [29:44] Wow.

Robbie Wagner: [29:45] It was bad. So that was fun. I remember I left for work, and I got back home at like 11:00 a.m. And, like, Caitlin was there, and she was like, what? Like, you're home at 11:00 a.m.? And I was like, yeah, about that. Yeah, I got laid off. But they gave me two weeks of pay, which is not a lot, but better than zero. And within that two weeks, I got another job. So it all worked out.

Charles Carpenter: [30:13] It's like a paid vacation ish.

Robbie Wagner: [30:15] Yeah, it was not bad. I mean, it was stressful for a few days and then it wasn't that bad anymore.

Charles Carpenter: [30:21] So then, what was the next job?

Robbie Wagner: [30:24] Yeah, I had to write them all down because I forgot. So the next one was Berico or Berico Technologies. They were a government contractor we built like a map app thing. It was like a search engine where you could visualize where documents were or not documents. It was for like correlating, like, okay, here's this area on the map, and here's this document that talks about terror activity or something. And how do I map these together and find the overlaps of these points are probably like points of interest for terrorism or different stuff? Yeah, and it was all in Ember, and we had to do which was interesting because it's government contracting, and you wouldn't expect they would want Ember. And they had to physically, every time we made changes to the app, they had to burn it to a CD and take it to the sock and put it in and download it. So, like, if there was a bug or something, they do all that, and they log in, and it's like JavaScript error or whatever, then you have to, so it was a really tough environment to like. The feedback loop was tough because as us being not users of the app and developing it all in Chrome and, like, not having access to the environment they were in, we're like, it all works. And then they use it on IE 6, and it's like, it doesn't work anymore. So we had like six laptops set up for like every version of IE and like, Firefox and Chrome and like, all the different stuff. And we had to do all that and.

Charles Carpenter: [32:06] You had your own test lab?

Robbie Wagner: [32:08] Yeah, I think most of what we did was Leaflet and Esri mapping stuff, which I have no idea how to use anymore.

Charles Carpenter: [32:18] I'm sure you're happy to forget.

Robbie Wagner: [32:21] Yeah, but that was actually where I started falling in love with Ember. Really? Because they paid for us to go to my first EmberConf. And that was just super fun. Like getting to see all these people that are contributing to Ember, that they're real people and are there. They just seem so important and fancy, and you would never talk to them when you see them online. But that was my first open-source stuff too. I think that's where I wrote Ember Shepherd because we had a tour that went through our app there, so it was showing you how to use stuff. And that was my first big PR into a project because I did a PR into Shepherd that was writing the before-show promise stuff, and they accepted it and merged it in, and it had like six or seven thousand stars at the time. So I was like, wow, my code is in a real thing.

Charles Carpenter: [33:19] The ogs of Shepherd. HubSpot.

Robbie Wagner: [33:23] Yeah, HubSpot comes up a lot, and I feel bad for not using their products because they graciously gave us Shepherd and Tether. But I was looking up stuff to make a newsletter, and they have, like, a platform for doing a newsletter, but I was like, I don't know. Their stuff is expensive and not as sexy as some of the other ones.

Charles Carpenter: [33:47] The expense is definitely one big part of it, and the other part is that we're still on the ground doing client work and we can't dedicate ourselves to sales and marketing efforts, necessarily. So if you're, like piecemealing some stuff together and paying a giant bill, it feels like, oh, I can't effectively use your tool. Nothing wrong with your tool. I can't really effectively use it. And then new players on the block are willing to make deals and make it like the barrier to entry on that as just a partial user. A lot easier. Nothing wrong with you, Hubspot, but if we ever make it big, maybe we'll come back.

Robbie Wagner: [34:26] Yeah.

Charles Carpenter: [34:27] Conversely, about, like, your just your time in your career then. So, like, you went to your first EmberConf, got blown away by you had a rock star experience in a way, right? These people that are working on this tool that was so effective for you, and then you were like, oh, so did you not cross any of those? Did you not introduce yourself to anyone there? Were you just kind of an observer at that EmberConf? What was the next step in your Ember career?

Robbie Wagner: [34:55] I don't think I talked to anyone big or big at the time. I think I talked to some of the people from Addepar, which is where Chris Garrett, Pzuraq was working. Well, yeah, he was on the podcast before you've met him, so I talked to him, I think, before he started being like the one that basically wrote all of Glimmer. But I talked to lower-level players, like people that wrote some add-ons or whatever. But mostly, I was hanging out with the Berico guys and doing team buildingy stuff like going to dinners and whatnot. So, yeah, I didn't do a ton then, but I just remember seeing people, like, locks on Slack being basically a slack bot of Ember knowledge and how helpful they were and all the stuff they were working on, and I was like, I really want that. So when I got back, I think I had written that Ember Shepherd add-on. I wrote a few more, I think, like Ember X Editable, which basically doesn't work with modern Ember, but it's still there. Yeah. I don't know. I just kind of got addicted to it. I've always been the kind of person that can. The kind of games I like are really grindy games like Diablo or Destiny, where it's like you play for 10 hours trying to get one piece of loot, so it's like a job to play. So, like, checking the boxes of, like, I did it right, and I got the thing instant feedback loop. Like, that's the kind of stuff I like. So open source is similar. It's like you find something that's broken, you fix it, you open up PR, you get a merge, like same kind of feedback loop. So I've gotten kind of addicted to that and seeing my GitHub stats go up. So, yeah, it just spiraled out of control at that point.

Charles Carpenter: [36:47] Right.

Robbie Wagner: [36:48] I think it actually took a dive. Again, I don't know. I have to look through my history. So when I left Berico, I went to Jibe, which was a startup in DC, because I just wanted something really fun, like drink beer at meetings, have ping pong battles, that kind of stuff.

Charles Carpenter: [37:08] Stereotypical startup.

Robbie Wagner: [37:10] Yeah.

Charles Carpenter: [37:10] At that time, at least.

Robbie Wagner: [37:12] Yeah. And they had a second office in New York, so we would get to do trips to New York and stay up there for free and do a bunch of fun stuff. So, like, super fun time. But they were, unfortunately, using Angular. So I would do, like, free time Ember, add on maintenance, but not too much dedicated Ember time, because I was in the Angular world, and at that point, I loved Ember enough, but I was just like, I don't know. I guess I wasn't 100% sold on it being, like, vastly superior to everything else. I was kind of just like, all these frameworks are pretty good. Angular is very similar. It has a couple of different syntax things. But at the end of the day, everything, I think, at this point was still, like, two-way binding. No one had really thought about making everything one way, and I don't know, just changing the way it worked. It was all just, like, update this. Everything updates. Like, we're updating everywhere. Inject as many services as you want, do whatever. So with that in mind, they were fairly similar ideologically. And I wasn't really feeling the hurt until I tried, until I encountered issues and found that the Angular communities were just so terrible because there are, like, hundreds of thousands of people on Slack, most of them being like, grumpy, not caring about other people developers who just want stuff to work and hate their jobs and are like, hey, I have this problem in Angular. Can you help me? And they're like, oh, just make it work. You suck. You're not a good developer. Whereas in the Ember community, everyone would stop what they were doing to really help you through the problem and make you understand it, and help you be part of the community. So it was just, like, hands down better. And as I started to realize that, I was like, I don't want to do Angular anymore. So I started looking for Ember jobs and ended up at RSA, where things just continued to grow. Like, we started doing the Ember meetups then and went to some more EmberConfs. I don't know at what point I actually started working with the Ember Learning Team, but sometime around then. And so, yeah, I started working with them for I worked with them for, like, a year before I was officially on the team. So I was, like, doing lots of stuff with Chris Manson, who we had on two episodes ago. We were doing a lot.

Charles Carpenter: [39:49] Not related to Charles, by the way. Not related.

Robbie Wagner: [39:54] We did a lot of, like, Prember stuff, like pre-rendering and, like, static sites and fast food and all that. We were, like, working on all of that for a long time. And then one of the Learning Team people was like, hey, we need someone to work on Ember Inspector. Do you want to do that? And I was like, sure. I know nothing about it, but I'll work on it. So I kind of got pulled into that, and I've been working on that for a long time. It's currently broken, which is fun. I keep getting the same bug report, and I just keep closing it as a duplicate, but there's not enough people that understand it to fix it. And I'm getting this error that you can't reproduce locally, so I have no idea what to do. And I keep asking for help, and there's just not enough people for all the problems we have right now. Running the meet-up and all that was pretty fun. You helped with that for the first I don't know how many months until you moved.

Charles Carpenter: [40:56] Yeah, we basically kickstarted it back. So Steven and I were like, oh, there's this thing, but it's kind of died off, so let's kick start it. So we started hosting it and getting people involved. And you got involved in the event, and we hosted it out at the RSA. Well, the first time for me. I know you did a few more times afterwards after I moved, but yeah, just anyone using Ember within DC, we're trying to encourage other places to get involved.

Robbie Wagner: [41:29] Yeah, I should probably start that again, but I just don't know when the right time is. Obviously, COVID is endemic now, and we're not getting any better or worse, really, so I guess we could start them again, but I just don't want to be the guy that's like, I hosted an event, and everyone got sick, you know.

Charles Carpenter: [41:47] Yeah, you don't want to be like the I don't know. I don't know what virtual events look like these days. But anyway, that's probably a tangent to another.

Robbie Wagner: [41:56] Yeah, I guess at RSA we use some weird stuff. Weird is maybe not the right word. Some people liked it, but it was like Ember Redux stuff, like getting rid of Ember data and basically embracing a lot of react things, but using Ember as your main framework, which to me just feels like, why not just pick React? I don't know. It was kind of weird because we would spend a lot of time trying to both teach other developers Ember, but then be like, okay, but all the stuff you learned doesn't really apply because we're doing this all differently. So they were very confused on both ends of the spectrum.

Charles Carpenter: [42:44] Yeah, I mean, that's an interesting thing because it's like, oh, your state management is just a reducer. Instead of having, like, an in-browser ORM, which I feel like Ember data is a little more like, yeah, it's an interesting, like oh, shift paradigms completely in order to embrace this one part of the pattern versus something else altogether. That brings about one side question there in terms of Orbit dealing with Ember. Orbit. So Orbit is a standalone library but also works in the Ember world. And Orbit is a whole different paradigm in managing the data layer on your browser. So is that the same?

Robbie Wagner: [43:24] It's becoming a lot more like that. Yeah. So the real difference was Orbit started by embracing Ember Data and how it worked. So you had Ember Orbit that gave you a lot of the same, like, okay, you're using Orbit behind the scenes, but you just do model dot save and model dot whatever, and it's very much the same as Ember Data. But I think what's happened is Orbit itself has become so complex that those layers of abstraction are just getting in the way of actually using things. So now you have to write a lot of code and be very explicit about what you're doing. So it's like instead of just, okay, I changed this stuff, save my model, you got to be like, here's all these transactions that change all these things on this model. That way, I make sure that if I want to undo any of them, I can and that everything is nice and synced up. So it's different, but it is cumbersome the same way that Ember Redux was just because people that are used to the Ember paradigms can't immediately pick it up.

Charles Carpenter: [44:34] But at least the benefits seem a little bit different, either. Like, okay, you have a simplified state model versus data Ember data, while Orbit gives you the benefits of history.

Robbie Wagner: [44:44] Yeah, I mean, I didn't see any benefits to Redux myself, but maybe that's just me.

Charles Carpenter: [44:51] I mean, in the Ember world, I don't really see the benefits of it. I understood what it brought to the React world, but I mean, obviously, in that sense, react doesn't know anything about state and memory and data and that stuff. It just knows render thing and then you bring something else to it. So having like a happy player in my application globally has a state that I can look into at different times. That's fine. That seems like a win.

Robbie Wagner: [45:21] I guess that brings us to like 2017 or 18. Whenever I quit to do Ship Shape full-time.

Charles Carpenter: [45:32] I don't think that's gonna work out.

Robbie Wagner: [45:35] Yeah, I mean, honestly, there were a lot of times, and you've been around for some of them, where I've just been like, all right, let's just stop and go back and get real jobs because we don't have enough money and we'll just stop doing this. But it always works out, and we continue to grow, and you just have to trust that it's going to work out and save a little bit of extra money for the couple of months where you might not be getting paid.

Charles Carpenter: [46:00] Right, exactly. Yeah. The world of a consultant is definitely one of potential high risk, high reward, but you're a master of your own domain there and then a little bit of luck along the way for sure.

Robbie Wagner: [46:12] And knowing people.

Charles Carpenter: [46:14] Yeah. Network matters. I think, like, coming straight out of college and trying to become a consultancy is a pretty difficult road to go down, and doing it later in your career is highly beneficial. Yeah. What you set out, you started Ship Shape as an Ember consultancy, hasn't completely worked out that way. I mean, it still is that, but the demands of the industry and our business and what's happening in the world has changed things.

Robbie Wagner: [46:48] Yeah, definitely. I just decided to make the jump because I think I was reading. Backing up a bit, I was doing side work as Ship Shape for a while, and I was, like, reading things about consulting and freelancing and whatever, and someone had said if you don't have any kids yet and if you can afford to fail, just go for it. And I was like, okay, I definitely can afford to fail right now. So if I need to run back to RSA, they would probably take me back. So I just feel like, all right, I'm going to try it. And I guess I can't even remember now. I guess Mariana was my first full-time client. How did I even get? Did you hook me up with that? How did I get in there?

Charles Carpenter: [47:37] Yeah, I think it was kind of on the heels of me leaving and then just needing more dev work, and you were talking about doing that, and so we had connections there, so we just kind of put that together.

Robbie Wagner: [47:50] Yeah. And I mean, that was great because it gave me what I needed to jump off and have other clients and stuff, and yeah. I ended up working for the guy I mentioned earlier, Roger from Netuitive. He works at Expel. I worked there for like a year and a half. Just knowing people from the Ember community that work at places, you'd be surprised by how often that is all you need to get your foot in the door.

Charles Carpenter: [48:14] Yeah, absolutely. I think network plays a big part in all kinds of things and even with clients that we don't have a past with. But knowing that we work with people that we have worked with before and had successes and all of that, that's sort of like our big thing with our agency is we don't fill it up with 30 sometimes arbitrary engineers. We pretty much know and have worked with everyone that we work with.

Robbie Wagner: [48:43] Yeah, definitely. Yeah. It makes a big difference. And like I mentioned the types of people earlier like, that if you find people that kind of want to succeed and work hard, you're set. That's kind of all you need, and they'll learn anything, and that's great.

Charles Carpenter: [49:00] Even Robbie is going to learn React.

Robbie Wagner: [49:02] Well. So, I mean, we won't discuss publicly, but we do need to figure out if we want to use well if we work with this guy on this app we've been talking about.

Charles Carpenter: [49:13] Yeah.

Robbie Wagner: [49:14] We do need to pick if it's like React if it is if it's Next or Redwood, or if we want to do like a SvelteKit or really anything. Honestly, Embers is the only thing that doesn't work well because it won't work easily with GraphQL, although there are add-ons for it. So we could try it, but I just feel like it's a good time to try something like Redwood or SvelteKit.

Charles Carpenter: [49:38] Yeah. I think that's the only part of your career we've not really touched on is, like, times that maybe you've had to reach for or were involved in a React-based project, how that affected your opinions on it.

Robbie Wagner: [49:52] I have stayed away with a 40-foot pole touching any React code. Not because it's bad or because I disagree with some of the things it does, but because I feel like there's not a lot of people that understand why it's good. Right. You keep hearing about it being the hotness, and Facebook made it, and you got to use it, and it's like, okay, well, one, it doesn't do anything. It's just the view layer. So I need to bolt on a bunch of stuff. And that's what really got me upset because I'm like, I can just install Ember, and I'm ready to go. Whereas now, with things like Next or Redwood, you can do the same thing with React. So that kind of squashes my complaints. But yeah, the only real React, or it wasn't even React, I wrote Preact in Shepherd, so we rewrote Shepherd and Preact because it was smaller than React. We want to be really small, but then ultimately rewrote that in Svelte because it was even smaller.

Charles Carpenter: [50:55] Best tool for the job, right?

Robbie Wagner: [50:57] Yeah. And I guess that about puts us at time. I have rambled for a long time to where my throat is hoarse, and I need to get off of here.

Charles Carpenter: [51:09] Perfect. The whatnot is don't talk for too long. It'll hurt your throat.

Robbie Wagner: [51:14] Yeah.

Charles Carpenter: [51:14] You'll have to have an additional whiskey to make you feel better.

Robbie Wagner: [51:18] I'll be doing Chuck's origin story next week, probably, and or talking about NFTs, which you will hear us talk about many times because we keep buying them. And we'll tell you more about it later, but it's not going away.

Charles Carpenter: [51:33] It's not going away. It doesn't make any sense, either.

Robbie Wagner: [51:36] No. All right, thanks, everybody, for listening. I think we have some things that tell you to subscribe now, but if you're listening, subscribe please in your Apple or Spotify or whatever and catch you later.

Charles Carpenter: [51:52] Thanks for listening to Whiskey Web and Whatnot. This podcast is brought to you Ship Shape, and produced by Podcast Royale. If you like this episode, consider sharing it with a friend or two and leave us a rating, maybe a review, as long as it's good.

Robbie Wagner: [52:07] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and this show, check out our website at shipshape.io.