Articles
From React to Svelte - A Devshop's Journey
[00:00:00] Josh: Welcome to another episode of Dev Shop Stories. My name is Josh and we have Tanner with us. And today we're gonna share a story about employee development. I wanted to share a story about an employee of ours who has over time become a phenomenal senior developer, and his name is Alex.
And Alex originally started with us back in the days of vr, and so when we were doing virtual reality, we had a kind of a side business called Private Label VR, where we would actually go and take virtual reality setup in the sense of the computers, the headsets, the even the walls. The structure of that. And we would actually fly somebody out to a location, like maybe a family fun center or a bowling alley or a trampoline park, and we'd actually install it, set up the computers, and then even train the employees on how to use it.
And so Alex was one of those installers that we flew all over the country. And I think even, you know, Canada, he actually, Alex actually probably made some trips up there too. Alex. As he would sometimes come into our Utah office where we had a software dev shop going. Alex was actually pretty excited about, you know, show me some of the software stuff that you guys are doing and, and show me some of the, ways you guys are coding.
And it became really evident that he actually wanted to become a software developer. And Tanner, do you remember some of those kind of early introductions with Alex?
[00:01:26] Tanner: Yeah, yeah. It was awesome.
Alex. He's always been super hungry, super curious. You know, obviously with him training, these family fun centers and these clients on the software, he really understood it intimately from a user's perspective, but not from a, functional standpoint on the development side and being curious by nature, which is a, a phenomenal trait of a developer.
He wanted to know more. So he would always ask, particularly you and I, I think we were one of the only ones at the time working on it. he would continually ask us about, what these different pieces are, what technology it's written in, where he can start what he can begin on.
So we would throw in these almost trivial. Little things of like, Hey, well first you need to understand HTML so you can understand the structure. This is pre-react and all of that stuff. And, so it was, it's all written HTML, jQuery, CSS. but it's effective. Totally works
[00:02:25] Josh: Yeah, and I, I firmly believe. I'm going on a tangent here, but firmly believe that that's where developers should begin. If they're gonna be a web developers, they should know the roots, the the core concepts. You know, when you throw somebody into react right away and say, Hey, use these things called hooks and this state and everything like that, it's just overwhelming and they don't actually understand at a core level what's going on.
So being able to jump into HTML and just raw JavaScript with maybe a little bit of JQuery to kind of do some of those simple things is very helpful. Right?
[00:02:55] Tanner: Yeah. Yeah. 100%. It's, it's the foundation of whatever you're gonna build if, if it's web technology. And so that's where we had him start. It's like, okay, well you need to understand html.
Great. You have a general understanding of it. You can do a super simple boiler place static page. Now you need to understand JavaScript. Now you need to understand css. So we gave him these just super trivial projects, to help if they were on the projects, right? They were on, on our private label software.
. but they helped just progress things forward in, in a super simple way. Um, he would take these tasks. He was remote, so he was. You know, he would report in what was going on. we didn't have a timeline or anything like that for it. It's just like, here, do this, this will help you progress. So, Some of those are, you know, add, make this button, navigate to this page or something trivial. And he took those, he took several of 'em and he always just wanted more and more and more, which was great. And it helped him really grow and develop and understand from a, from a foundational standpoint, how those things work.
which was great. It made all of the additional progress even better.
[00:03:59] Josh: Yep. And Alex, I mean, just for his training, he just watched a lot of YouTube videos. I think he might have gotten a Udemy course or two and just kind of went through some of that. And the thing that he really shined on was he, he loved how he can.
Do CSS to modify the page and make it kinda look like this page. And he actually really took a shining to the kind of the front end engineering of that. And still today he's one of our strongest front end developers that we have. but like you said, he was living outta state at the time. I believe he was in Colorado and, and we're in Utah.
And he actually was able to, kind of go to the next step and convince his wife at the time to say, Hey, let's, let's move out to, to Utah so that I can be embedded with the team day to day and ask them all of my questions and, try to actually become a software developer for a career. I think he did that couple years, uh, 2019.
Maybe it was before Covid. I know that. and so then he was in the shop. He still did a lot of VR type stuff, but we, we started integrating him more. We were able to kind of mentor him more, spend quite a bit of time. We were small dev shop at that time, so we actually had, you know, he, he was able to interact directly with the senior developers at the Red Sky Engineering and be able.
Ask them questions and get instant feedback and get put on projects that were semi meaningful at the time. Right?
[00:05:21] Tanner: yeah, definitely. And that, that was kind of what, what we had told him. If he wants to progress with a development career, we need to have him there. Uh, Alex didn't, doesn't have any formal college training or a boot camp or anything like that.
He is self-taught still to this day, and phenomenal. it, it's really a lot of hard work. But he, he absolutely got there. But that was one of the pieces of criteria that we needed to have from him because we knew that it was gonna take a lot of time and a lot of mentoring and a lot of hands-on for virtual's.
Great. But again, this was pre Covid. It wasn't nearly as common. It is, it is nowadays, and we didn't have any process or. Any, any means to really teach him remotely. . So that was kind of the criteria. And you know, he committed to that.
[00:06:10] Josh: So as the dev shop grew, we hired on more and more people. So we started having more variety into different backgrounds.
So we had some people that had four year degrees and you know, CS background. We had some people that came on boot camps. And what we continue to find is that, Everybody has different holes in their knowledge and capabilities, and at Red Sky University, we try to fill in those holes as best we can. But as we grew as a team, the individual one-on-one mentoring just became more.
Difficult to, to achieve, those early days with Alex, it was all right cuz it was just a few of us. But as we grew and grew and added more, you know, we're into the 10 of the 15 different developers in there, it became more difficult and when we hired somebody on, we wanted them to quickly get up to speed And so we started thinking like, how best could we do this?
And such the idea for Red Sky University, was born.
[00:07:07] Tanner: Yeah, we, we found it, with several of the other developers who had come on that, yes, they knew these technologies, right? They come outta boot camps and they know react, but they don't know our way of utilizing it, right? , they understand what components are and how it renders.
How to implement something, but the ramp up time to get them to understand the way that we do it with our framework and our, you know, our methodologies associated with everything. Some of the, the processes that we've put in place, they didn't understand that portion and they didn't understand the technology at the more granular level like we want them to, where they can be most effective.
You know, if you understand what it's doing underneath the hood. Then you can make the best decision on what implementation path you need to take for that particular issue that you're working on. we noticed this across the board, like you had mentioned, regardless of background, you know, no background necessarily.
For your CS degrees to boot camps. Everyone had this same issue and it was something we had to address cuz our time didn't scale.
[00:08:17] Josh: Right. And I'm a firm believer in that. People should know. Stuff and software at a core root level. And what I mean by that is they should know how to run a Linux machine, how to use a terminal to be able to run command line arguments and all that kind of stuff.
So our Red Sky University actually started off with like, these are the core competencies you should absolutely know. You should know how to list the files in a directory, how to change a directory, how to create a folder, how to create files. through a command line, because so often we run all of our servers on Linux machines.
We need to be able to remote log into them, need to be able to fix a file on a, on the fly if production's down or anything like that. Be able to restart processes. And so those are some of our actual earliest videos that we had. but we needed a way to kind of, you know, show them and, and have them.
You know, track their progress and, and have the developers know, okay, I've already watched this video. What, what else do I have on there? And so we started actually looking for different software platforms that we could actually host our videos, do curriculums. And we actually landed on one called Teachables.
[00:09:28] Tanner: Yeah. So we started with the free plan on Teachables, just to host that core content. It was really nice cause we got a bunch of users that we could invite.
[00:09:36] Josh: And the funny thing is, we, didn't even, you know, we had no intention on making this public whatsoever. You know, and Teachables has, like you said, the free plan and we, we effectively abuse it in the sense that we didn't, we never really wanted to publish it.
but you, you have to, to be kind of part of Teachable. So I think I went in and I just made. The A class on it that was $9,999 that had zero description or anything like that. And all of our employees actually just invited them to be part of it for free. You know, like you can give handout free enrollment to people.
And that's how I kind of abuse teachables for a little bit until we hit their file limit. You know, they had, they had a max number of video files you can have uploaded and now we pay for it and we use and still we use it internally, But we actually use that.
[00:10:25] Tanner: Yeah. It was pretty funny cuz people would go to the, URL and it was just the boiler plate, you know, stock photos and all of that stuff.
On the course it was, it was pretty funny. But up to this point we have, you know, 25 plus, videos across a whole different set of disciplines. as you had said, we started with the, the very core competencies, How do you run a command line? What does this do? How do you look into the file system? And, we've scaled that out to so many other things.
It's part of our onboarding process. , you know, we have QA content, we have development content, we have design content. We have a myriad of stuff,
[00:11:00] Josh: Well we've also done is we made it so that when a person gets hired on their first week, they're not jumping into a team onto a core project or anything like that.
Their first week is actually watching a series of videos that it actually takes 'em through the Redsky way of using react, of using front end development and actually taking code, cloning it down and, and trying to solve a real work problem. Do you actually remember the, what the problem is?
[00:11:27] Tanner: Yeah. So it, it depends on which one you,
[00:11:29] Josh: the weather one.
[00:11:29] Tanner: Yeah. But yeah, we have a front end one that is a weather. Uh, where you have to build a React app that pulls data from a weather API and then renders out that content. I don't remember specifically, the different views that we have,
[00:11:42] Josh: but, but it uses the components that we've made. So we've made our own Redsky library, component library that we pull down. So it actually, we force 'em to say, Hey, you have to use this. This is how you're gonna make your buttons. You're gonna use our standard button, you're gonna use our standard labels and text and typography. Yeah. And, and create a theme and go through all that and try to match a design.
[00:12:03] Tanner: Exactly. And we assign a mentor as well. With that process, who's gonna be their sounding board To help answer and field those questions cuz they're jumping into a brand new framework. And need to understand some things
[00:12:14] Josh: And need to know who to go and ask this question Exactly. So, yep. The, I forgot about the mentor part of it.
and then after they finish their front end, they actually have the same kind of series they go through on the back end. So they watch a series of videos on Teachables and go through those videos and then actually solve a problem.
[00:12:30] Tanner: Yep. Yeah. They set up a, we have them set up a database. we have them initialize a full api.
from a template. We have them build from an API all the way down. We don't use an orm. So they're writing raw SQL queries into our system, into our framework. cause that's what we do. And so it, it really teaches them from a, from a foundational standpoint, not just, this is how you write a restful api, but this is how we write an restful api.
This is how we communicate through each one of our layers into our data layer and all of those pieces. So that's, and again, same mentor. To walk them through that process to really help understand that from a full stack, this is how our front end works, this is how our backend works, and we did want to keep them separate so the focus is isolated.
to that one specific piece of. of technology.
[00:13:19] Josh: Yep. In addition to Teachables, we have a couple other tools that we use. We use, Atlassian's Confluence, which is a almost like a media wiki or Wikipedia type of system where you can actually write up articles and how to guides and documents. And so we actually have quite a repository that has grown in Confluence.
That's our own personal private red sky confluence there. We also have tuesday trainings. So a one hour session every Tuesday where it's like a brown bag lunch, everybody kind of brings their own lunch. We just kind of talk through a topic. A lot of times we'll take those videos that might have just been freshly minted, right, and we'll play the videos back and, and have everybody at that time be able to kind of see them that are there.
We've also done. some udemy courses in those things. So, one in particular that was a phenomenal course on Udemy was clean coding and we will actually take that course and we'll watch those videos and then pause it at certain points and talk through clean coding principles that are, that are there. Right?
[00:14:22] Tanner: Yep. Absolutely. We've actually done clean coding a couple of times.
[00:14:25] Josh: Yeah. Cause we get new employees and we want them to see the, the clean coding part of it.
[00:14:29] Tanner: Absolutely. It provides a tremendous amount of value and it's, it's part of our development philosophy. We very much subscribe to that. And so it's important that everybody understands that.
So we, instead of creating, a brand new course on it, we found one that is, is curated very well and does a really good job. and we put everybody through that and we just kind of. Take a video or a series of videos during our Tuesday training and walk people through it and have a little bit of a q and a and dialogue on it, on the videos and the context.
And the really exciting thing is you see that in people's code. When you're doing those code reviews, you immediately see the change based on those educational pieces. It's like, oh, this is really cool. We just talked about. You know, from clean coding, well, we need to have these guards in place and people start using it.
It's awesome. It's like, great. That's exactly what we want to have happen. it, it bears fruit almost immediately.
[00:15:17] Josh: Yep. Yeah. I love the, that everybody starts having a certain vernacular and terminology that they're using when they're kind of doing these code reviews and, we'll, we'll talk about code reviews in a.
Future video, but they can actually speak kind of the same language and, and have the same understanding. We definitely want people, we want employees who are in the continually developed process. I, I firmly believe that for a developer to be satisfied, they need to be always, constantly improving. they should have the want and the capacity to actually take on new things and to learn new stuff. Otherwise, you're just, you know, turning the crank and doing the same thing over and over again. And those are not the employees that we're looking for.
[00:16:01] Tanner: Yeah. They won't be effective with us, unfortunately. And I think a lot of that comes with us knowing what.
We need and what the nature of what we do is. It requires people to be able to learn new skills constantly. It's not the same monolithic project or technology that you're working on. It's always something new. You know, it might be something that we've never done before, but we have full confidence that with the team and people that we have and the ideology and capacity, we can learn whatever it is and execute effectively against that.
Curating that mentality from the beginning with people and finding the right people who believe that same thing is important.
[00:16:37] Josh: One of the items that I love is that the different department heads now, so QA and design, they're actually using these videos to try to educate the developers. Like, Hey, as a QA person, this is how I'm gonna actually QA your software.
I'm gonna use Zeppelin is one of the tools we have, and I'm gonna. Pull up a pop up and I'm gonna lay it actually on top of your webpage, and I'm gonna scroll that opacity slider up and down and up and down and see are you pixel perfect with your alignment are your fonts the right size and this is how I'm gonna do it.
So you might as well learn to do it yourself so that I, I don't have to spend as much time going back on bug reports. Right?
[00:17:18] Tanner: Yeah. It's, it's the answer key to the test. the QA process is literally, that this is exactly how I will walk through your thing. So from a developer's perspective, it makes it really easy when you're going through, finalizing your commits for that acceptance criteria.
Well, I know this is exactly what QA is gonna do, so I'm gonna go and do that too. Just sanity check one last pass on everything. And they can do that from the building standpoint as well.
[00:17:43] Josh: So one of the last things that we'll, Just discuss or, or actually kind of leave a little teaser of is in the future videos, we are gonna kind of talk through how do we actually measure somebody's progress.
It's just one thing to obviously watch a video and check that little check box on Teachables that, Hey, I've watched this, but how can we actually really grade somebody? Did you actually. Understand this at a deep level, can you actually apply it to your software? And that's the developer roadmap that we've kind of hinted at previously, but it it is coming up in the future here, right?
[00:18:14] Tanner: Yeah. The developer roadmap. It, it's that same philosophy where we want to continue education with people. Yes, they know our way of doing stuff, but their career as a developer, as a qa, as whatever, isn't gonna end. With knowing our way to do it there, there needs to be some methodology and some process to help them grow or continue to grow in the future.
[00:18:36] Josh: All right. Well, thanks Tanner for coming on, and thank you for listening to our story. We'll be back next week with more stories, personal experiences, and advice on running a dev shop. Hey, thanks guys.
Josh and Kai explore more terrifying tales in this episode, both from their own personal experiences and those of online users.
In this episode of DevShop Stories, Josh and Kai discuss the role of a product owner and why it is crucial when working on a project.
In this episode of Dev Shop Stories, Josh and Kai discuss the capabilities and applications of AI technology, specifically ChatGPT. They share their first experiences with the software and discuss how it can be used to create summaries, ads, content, and even generate stories.