CMOS #14: Johnny Ray Austin - Mo - Django - VueJS
Interview with Johnny Ray Austin about how he changed his major from aerospace engineering to computer science and found the field he loves! He's now the Director of Technology at ISL (formerly called iStrategy Labs), which does a lot of social media AOR (agency of record), website design/development, applications, and content work. The ISL Mo project, available on their GitHub, includes skeletons for static, Django, and Node.js website deployments, to allow developers to get up and running in minutes, with a framework that complies with current best standards.
Johnny Ray Austin
Transcript
And it was completely random, it was towards the end of the second semester, and I knew I had to change my major, and I didn't know what.
And one of my roommate's friends was in there, and I was like, So, what are you majoring in?
And he was like, Oh, computer science.
And I was just like, Well, how do you like it?
And he was like, It's cool.
And so I changed my major to computer science, turns out I loved it. So yeah, I've been doing that ever since.
Wrote my first program at 19 years old, got my first job at Lockheed Martin here in D.C.
Did the contracting stuff for a little while, then I went to the start-up side of the house, EverFi here in D.C. and after I left there, came on here to ISL, and been doing that ever since.
So that's like the sort of thing we're famous for, but other than those type of things, we do traditional web application development, websites, we do a lot of social AOR (social media agency of record) work and things like that, content production.
So Mo-Django has all of that starter-code in there. But it's open source, anyone can clone the repo and start your own project, there's nothing, there's not much that's very specific to ISL.
There's very little code that would actually identify it as an ISL project, so the same goes for Mo-Static, which is a project that helps you build static sites really quickly and supports all of the latest and greatest fancy stuff, you know, ES6 modules and all of the syntax associated with that.
I'm using Browserify for bundling, I'm thinking about switching that to Webpack at some point in the future. And there's a flag on there to enable the use of Vue.js, that's our official front-end framework that we utilize here.
And also, finally there's Mo-Node, which we don't use as much these days, but from time to time we do utilize Node.js as a platform as well. And when we do, we'll go to Mo-Node to start those projects.
The idea is, if you're already a Django developer, even a fairly new Django developer, you can generate a Mo-Django project and just know where everything is. We don't deviate, really at all, from industry best practices. That was a really big thing as well, we didn't want to have all this custom directory structure stuff going on, we really tried to keep in middle-of-the-road so that anyone, who has done any Django development in the past, can come onboard and get started. And that was really important because of onboarding, typically our onboarding process would involve, when we did the Scale stuff, basically going through all of these Scale projects, and walking people through them, what was in there, and what wasn't, and how you configure them and all this other stuff, which just, essentially wasted a lot of people's time. People who are JavaScript developers and do front-end should be able to come into Mo-Static and just get started. People who are Django developers should be able to come into Mo-Django and just get started. So that's kind of what we kept in mind.
If you look on the ISL blog, I wrote a post about some of the reasons we switched over. But essentially, anyone who's ever done any AngularJS development, I personally like the framework, but there's a lot there. You know, it's an all or nothing sort of thing. Once you bring in AngularJS, then it's an AngularJS application, no matter what, there's no getting around the framework. And the more you fight it, the more difficult it becomes. There are a lot of concepts and a lot of baggage and a lot of learning, a big learning curve that has to be overcome, in order to become really productive in AngularJS outside the context of just the basics. All these things about services and factories and constants and then directives are themselves, you know, a bunch of concepts. And so particularly when we talk about bringing on junior developers, and getting them up to speed, it was quite a lift.
Vue.js, on the other hand, focuses on just the view layer of building user-interfaces, which is what we really needed.
And there are very few concepts, and new concepts, to actually learn.
It's dealing mainly with components and state data in your application.
And that's really it, everything else is just an outcry from that.
The documentation is really stellar, so it makes it really easy for fairly inexperienced people to come up to speed on how to use the framework and also we have people on our team who, their previous job, were designers.
So they haven't been developers for very long, so a lot of those concepts aren't as firm with them as they may be with some of the more seasoned developers.
So the fact that they're able to come onboard, go to the documentation, take about 30 minutes, and walk away and say, Hey, I think I have a really good handle on this stuff,
is really important for us as a company in terms of productivity.
Published on 2016-10-06