Charles: Hey everybody and welcome to episode 118 of the Adventures in Angular show, this week on our panel we have Joe Eames.
Charles: I’m Charles Max Wood from Devchat.tv, this week we’re just gonna be flying by the seat of our pants. Joe, I was thinking that maybe we could just talk about kind of our journey into Angular or into programming for that matter and just see where we wind up. I’m really kinda curious, how did you wind up getting into Angular?
Joe: That was an interesting journey for me for sure. I was one of those people that just loved to move jobs. I had a few jobs for quite a few years, like three or four year jobs, a few of those but I had a lot of jobs very much sort of messing the 19 years before I went full time kind of on my own self employed. I think I had 19 jobs in those 19 years.
We built a test for the HTML5 video player and it was fine but then it just wasn’t really great so we kinda threw it away and we knew that needed to use a framework. At that time, the popular framework were like Backbone and Knockout. We’re kinda looking around it and it’s like, “Well, we could use Backbone, we could use Knockout but let’s look and see what other things were out there.” Amber had started to show up. I heard Amber before.
This is early on an Amber’s history. We looked at it and nobody was talking about testing Amber. Not a single person was talking about how to do unit testing with Amber. We played around with it for a little bit but just couldn’t figure out ourselves, maybe we just weren’t smart enough, I don’t know.
He, the guy I was pairing with, his name is Jim Cooper, he stumble upon this reference to a framework called Angular. He’s like, “Hey let’s check this one out.” I’d never heard of it so I said sure. We’re like clicking at the documentation, one of the things he says like support unit testing out of the box like it’s a fundamental piece that we built into it with unit testing. We were all excited and had plenty of documentation and we started playing around with it and we’re like, “Oh my gosh, this is so cool. Everything is testing.”
We ended up building this HTML5 video player once in Angular and then we took all the code that we’d written and we threw it away and we did it again. That time, we test drove all of the code. I said there were 100% testing or actually a 100% tester in development. We actually had to build that once just to kinda really figure out the lay of the land then we built it again using tester in the development and we literally threw all the code away that we’d written before. It just felt like we can have building a demo prototype of it and then we threw it all away and wrote it again using tester in the development. It’s my first in the Angular.
I went over the Domo, even though they have a big Backbone app, they quickly migrated it over to Angular. I was kind of how I got into it, in the Angular, was sort of journey of wanting to do engineering practices in the front end world where there was lots of space. What about you?
I could pull in jQuery plug ins and blah, blah, blah and it would just build nice apps and everything worked. But you and Merrick and Aaron and few other folks started pushing along saying you wanted to do an Angular show. I have kinda looked in Angular, I was using Backbone to kind of organize my code, you guys just kept pushing so eventually we started the Adventures in Angular.
I went and I kind of fiddled with it for a little bit and I’ve figured out, “Oh, this is pretty nice. It had a lot of the things that I liked about Rails in it, not necessarily that it works like Rails but just that it has the code organization and kind of a way and a place for you to put things and a way to build things. I really liked having things like the directives which are sort of how I think about components now.
I got a little bit more interested in it but it was funny because for the first year of the show I was still not like super into Angular. I could follow the conversation because I understood enough about Angular to hold my own and I’d been programming for a while so I could chime in where I needed to. But it’s funny because I never really got that deep in Angular 1.0 and then when they announced Angular 2.0 and started making those kinds of innovations, that’s when I started really kind of playing with Angular. I don’t know that I’ve actually called that out on the show but I’m really not an Angular 1.0 developer. I’m coming into a much more from the area of Angular 2.0.
Joe: Yeah, everyone think that’s really been like hidden by any means you’ve frequently talked about it like, “Alright, with one end you’re learning this sort of stuff.” You have that sort of just barely play around what this type of thing.
Charles: Yeah, I’m really getting into it now, I’m starting to build apps with it with the Rails back end it’s just really kind of interesting and exciting. The kinds of things that you can do with it and the options that are there. I think what really pulled me around to Angular 2.0 more than anything else was just when things started to come together for it as far as having all of the views and templates and everything else that’s kinda tied in to Angular 2.0 that sort of not clearly delineated how you do that in Angular 1.0, that’s kind of what got me excited was that it was like, okay, essentially now my Rails server is my PI server and I can manage all of these stuff in the same place in one app and I can drive it the way I need to drive it. I’m getting excited about Angular 2.0 and ways that I really didn’t get excited about Angular 1.0. But yeah, it’s mostly due to the show and just seeing, oh, I can do what I wanna do with it and it’s sort straightforward how I get there.
Charles: Yeah, it was some like that and we had you come on about testing if I remember.
Joe: Oh, really?
Charles: Would you let them move to Mountain View?
Joe: Yeah, I would’ve had to move to Mountain View. In the long run it actually ended up being good for me not getting at that. The only way they get on the Angular team was to get on as a software engineer with Google and that’s a really hard, intensive full day interview about data structures and algorithms. But at that degree, it was really difficult for me. I ended up not getting a job there but I actually interviewed with them twice, trying to pick up a job on the Angular team and I was gonna switch and leave where I was at and go train in Angular team.
Charles: I’m curious, at what point did you get so excited about Angular that you thought, “Okay, well, let’s do a conference.” Or things like that.
Joe: It was so funny like I was working at Domo, we had trouble hiring front end devs, we’re having a lot of trouble for hiring front end devs and the CEO at Domo was Josh James and the man is like, he’s personality is like a force of nature. There’s only options when standing in the face of him is get out of the way or move with them. He’s just that kind of a person, that kind of personality and he heard that we we’re having trouble hiring front end devs and it was really critical to the product that we got brought on more front end developers.
He’s told a couple of the engineers to get their friends, their best front end developer friends that they knew off and schedule lunches with him and them. Through that, they hired on Dave Geddes and Aaron Frost. Those two came on board and those two were both doing Angular, their previous job. They were instrumental and converting all Domo’s application over the Angular from backbone.
When at some point, Kip Lawrence who had been running the UtahJS Conference for like a couple of years, he came over to, I think it was Aaron and they’re just chatting there like, “You know, we should do an Angular Conference, and Angular specific conference.” It was starting to get pretty popular, a lot of people were talking about it, they obviously really liked it. They talked to Dave Geddes and they talked to me about it. I’ve been helping out Kip with the conference a bunch the year before so they came and talked to us and said, “Let’s do an Angular conference.”
It was actually my idea that I said, “Look, four is a bad number, we should have five so we have a tie break in case we have any decisions, we included Merrick Christensen as well and talked to Merrick. He became our fifth organizer. But at that time, we just had no idea what we’re doing. We never run a big conference, the UtahJS was ran out of a library where they don’t even, I think they charge like $500 to rent the place out. We decided we want this to be a big thing and we talked to the Angular team, we had a lot of contacts that I’ve been trying to hire on with them. Between the four of us, a lot of us are new members in the Angular team and they were all for us doing this.
We checked out a bunch of different hotels and ultimately ended up with this contract for like $160,000 that would sign their names. We gone from doing a $500 commitment conference to $150,000 commitment conference and of course we just exploded since then. That was a crazy huge risk and I think all of us just believed that Angular is a big enough topic and that people were doing it that a conference had make sense.
Of course there was always doubts like we got into this, we signed these contracts and then we’d tickets out for I think early birds tickets were 600 bucks, on regular tickets were gonna be 700 bucks. The internet loves to complain about anything that it can complain about. People were tweeting about how ridiculous it was that it was $600. I’ve gone to this other conference that was only 150 bucks, whatever it was. We were selling tickets to UtahJS Conference for $50 basically. Even though they were listed at a hundred most of the time, there were discounts. Met the people who are buying tickets, most tickets were sold for 50 bucks.
We had these $600 tickets which we had to because it’s like $400 just for the food for each person. That’s part of that contract is you have to buy all these food for all these people. Just for a couple of days, it’s 400 bucks for food. People were complaining and last minute, a couple got really scared, they’re like, “Oh my gosh, we’re never going to sold tickets, nobody’s gonna buy tickets for $600. We gotta drop the price.” They wanted to re-dig on the contract with Little America and go do it at this barn at the State Fair Grounds that would’ve been like you know $2500 bucks or something to rent out for couple of days. I’m like, “We can’t get out of the contract. We signed, we’re bound and into it.” This is 20 minutes before tickets are gonna go on sale and finally our fifth deciding vote said, it was Merrick Christensen said, “Guys, it’s too late to do anything, we just gotta sit and just wait.”
We sat and wait and then noon came along and the tickets went on sale and when I must hit refresh, we have this little panel at the ticketing site to see how many tickets are sold, they hit refreshed then the time it takes us to refresh which were like ten seconds, they were all gone. We put 150 tickets on sale, they were all gone in that ten seconds. Four weeks later, we sold the rest of the tickets again in like ten seconds. When the tickets sold in 10 seconds, everybody was staring at each other like, “What were we just talking about?”
We had no idea that Angular was gonna be as huge as it was. We had this ideas like, “There are gonna be enough people I care about it.” We had no idea that it was already as huge as it was and that it was just going crazy. The conference and the podcasts and all this sort of stuff have really showed that Angular has become this massive thing in the industry. I don’t know if we’re lucky to be standing in the right place at the right time and make the decision to go and do something crazy like sign a $150,000 contract with the hotel. But it’s certainly always seemed to work out.
Charles: It’s pretty kinda mind boggling just how it’s gone. I’m sure the attendees just showed up and were like, “Oh, conference.” The food is always great and the experience is always fun. I think you guys have gone overboard more and more every year with some of the fun stuff. It’s just you don’t think about that first year and the kind of chance that you took on that.
Joe: Yeah, definitely. I’m sure people now look and think, “Oh, Angular is a sure fire thing.” But at the time, it was a much bigger risk than we realized it was. Now, after having tried to start up other conferences and seeing how difficult it is to start up other conference and had conferences that there’s money. I realized what a huge risk it was for us to take on the Angular conference and luckily it turned out to be a very successful thing and something that I’m grateful and proud to be part of. It was a very interesting, that’s really interesting times in my life. One of the NG Conf., it was just before that that I started up as a full time developer. It’s basically made me switch my career.
Then getting into Angular, you’ve done Rails for a long time, is that where you started your careers in Rails?
Charles: I guess we have time for a long story. I have a degree in Computer Engineering from BYU which is at Brigham Young University in Provo.
Joe: Is that that degree that’s like half electrical engineering, half computer science?
Charles: Yup, that one. I have that one. I had worked in IT at BYU for like six years while I was getting my four year degree, don’t ask. I just goofed around then I got married and then I got serious. It’s the way that went. It thought, “Oh, well, IT is fun, I’ll just do that for the rest of my life.” What went up happening was I went up getting a job at Mozy which is a company here in Utah. When they hired me, there were like ten employees in the entire company. They hired me to help with their technical support because I could troubleshoot Windows over the phone in head because I’ve been doing IT for so long.
That quickly grew into other things. For example, I got tired of troubleshooting the same problem over and over and over again over email and the phone and so I started up QA. I actually started QA at Mozy on my own. I pulled together kind of tests sequence that I would go through and I did it all by hand. I wound up holding the release for like a month and when you’re trying to move fast in the startup, that’s not okay. Eventually, the CEO went and kicked somebody out of their chair and deployed the code anyway. I’m kind of proud of that.
At the same time, we also were featured in the Wall Street Journal. It turns out that if you’re trying to answer that many emails with somebody else answering emails out of the same inbox and you’re doing it all with Thunderbird, that really sucks and you’re sending the same response to everybody over and over and over again. We put our heads together and we built this really simple app in Rails. What it did was it would pull all of the emails into a database and then it would display it and then we could just type and answer and hit enter and it would set up new texts on the email so that if I loaded the email, then the other guy that I was working with wouldn’t get it and then it would release the mutex after certain amount of time if they haven’t been answered.
Then we built in custom canned responses and we built in a little bit of a database. They decided to offer phone support so we hired people and at the same time the other guy built in some stuff because we’re using asterisk for our phone system and it runs on MySQL so Rails could connect to that and talk to it. What wound up happening was he went up moving over to the sales team to kinda be their technical resource. That left me in charge with the support team. I was running the support team and I was splitting my time but half the time I was running the team and answering questions and fielding that most advanced of those calls and the other half of the time, I was working on this Rails app. Incidentally but the name of the app was Frat Boy.
Charles: Seriously. It was an inside joke related to our CEO who, couple of interesting things about him. This was the second company he’d started, he went to school at UC, Berkeley, I think and I think he was in a fraternity. We called them a Frat Boy. I also found out, after about a week of working there that he and I are second cousins.
Joe: That’s funny to find out.
Charles: Yeah, that was pretty funny. His grandmother and my grandmother are sisters. I worked there for a while and I finally decided the company got acquired and there were some political things that went on and I just got tired of fighting those political fights. I went to my boss and I said, “Boss.” My boss was an idiot by the way, I said, “Boss, I don’t want to run the support department anymore, I actually want to be your programmer.”
EMC Corporation who had purchased the company, had purchased Mozy, they basically put you on tracks for your career. I was on the management track and so I had to get off that train and onto the technical track. I got on the technical track and they moved me over to QA and while I was in QA, one of my co-workers bought an iPod back when iPods were in new and interesting and exciting technology.
He started listening to podcast, got me listening to podcast and that’s kinda how this whole thing got started. I did QA for six months and then I applied around four jobs because my co-worker had looked at me and basically said, “I don’t what they’re paying you but you can get more if you get a competing offer and then come back and have match.” I got a competing offer and my boss, who I didn’t get along with didn’t match it so I left. That was my first development job there.
I worked for a company called Solution Stream, it’s over here in Lehi which is actually the city I live in. They were in American Fork at that time which is the next town over, if you’re not from Utah. I worked for them for a year and then they run out of Ruby on Rails work because they were primarily a .net Java and Flash Shop, Flex. They laid me off like they just called me and said the contract is over and laid me off. I went and work for another company, incidentally I got a job that same day. It was my third wedding anniversary when I got laid off from that job. I went home and my wife is like, “What are you doing home?” Well, I lost my job. I spent a couple hours on monster.com, got a phone call, went to the interview and on the way back home they offered me a job so I just went to work for them the next day.
Joe: What kind of life is a developer.
Charles: It actually worked out that way mostly because of the podcasts because by then we use podcasting and screencasting. It’s kinda funny how that worked out so I went up working there, I was a team lead there. I liked it there for the first couple of months and then I had issues again that my boss was just, he would tell us to work on one thing and then he would bait and switch and tell us to work on something else. We eventually didn’t make headway on the product but not after building it three times before he had what he wanted because he would change horses mid ride. I got tired of that and started applying around again and got another job at crimereports.com. I really liked it there.
I was there for about six months and what went up happening there was they hired VP of marketing and he took the company in the direction that everybody thought was a great idea. Well, it turned out that the way that they made money was a Law Enforcement Agencies paid them to provide tools based on the information they sent which was crime data. We would given hint maps over their town and things like that and so they can actually see where certain types of crimes were likely to occur or what time of day and stuff like that. They really liked the tools but he took in the direction we were actually building up basically a portal for neighborhood watch.
The Law Enforcement Agencies didn’t really want that. They wanted us to update the tools that they had because they had been written in PHP and we had reworked half of the system to work and run Ruby on Rails. They started pulling out. When the customers started pulling out and eventually, the company went from cash positive to cash loan not positive. The board came in and old the CEO, they gave him notice, they let the COO and the CIO go and laid off about half of the company and I was part of that half of the company. We had just done a major push, I had a bonus, I got severance. I looked at my wife and I said, “Wife, I wanna go freelance.” And my freaked out. All of these is over the course of, I think I’ve been doing professional development for three years at that point.
Joe: Three years?
Joe: That’s a crazy journey in there.
Charles: Yeah, yeah. I’m curious what projects are working on now?
Joe: Primarily, I do courses and then conferences. That’s the major thing that I do. Occasionally, I do some teaching and stuff but it’s just courses and conferences that occupy my time. Right now I’m in the middle of building that big Angular 2.0 Fundamentals course with Pluralsight. I’m working on fixing conference that I had going on in Florida that was gonna be right during hurricane Matthew that we had to cancel. Rescheduling that thing, it’s a wordpress conference. Rescheduling it and doing it when we can, where we can. Of course, NG Conf. is in the middle of its ramp of face so get tickets. Today is, as the recording went the 25th of october, we got tickets, we’re going on and selling on the 8th November, it’s the lottery tickets. The actual will sell, most for our tickets do the lottery and then we have a few left over that we’ll just, once we get the certain point, we’ll just sell the last remaining few maybe, I don’t know, 100 left, just to public and I can’t remember what date that is on. But NG Conf. is right at the middle of its ramp of face on doing lots of work there.
Charles: Do you do the other conferences with the same guys from NG Conf.?
Charles: Right, that makes sense.
Joe: For me it’s a much more natural shit since I’m self-employed, I can spend time doing it and do it working on during the day and have a boss that’s gonna fire me if I take a phone call or something. Just fyi, either remaining public tickets go on sale December 6th, I’m sure it’ll be noon at Mountain time. That’s when the final, we’ll sell lottery tickets until December 6th and then the last few tickets will go on sale on the public on December 6th then we’ll be sold out. Those are the projects that I’m work on at the same time at the current moment, how about you?
Charles: It’s kinda funny because you mentioned that you’re putting on wordpress conference. If I’ve been doing any programming lately, it’s primarily WordPress. The reason is, is that, I’ve been trying to pull things together for devchat.tv and for the Remote Conferences that I’ve been putting on and things like that. I’ve just needed to customize things a little bit to get it to do what I want it to do. I’ve been doing quite a bit development on WordPress in particular. That’s all centred around those particular things.
I have JS Remote Conf. that’s coming in January, I’ve got React Remote Conf. that’s actually this week as we record this again, so 25th of October. If you missed it, you can buy access to the videos for few months before I actually just release them. I have Freelance Remote Conf. and Ruby Remote Conf. and Rails Remote Conf. and Angular Remote Conf. that I do throughout the year. I’ve just been focused on getting that stuff together.
I’ve got a book on how to find that job that I’ve been working on and it turns out that writing a book is a whole lot more work than I thought it was. I’m still working on that. I talked to somebody recently because I wanted to release the book and a video course at the same time. I think what I’m gonna do is I’m just gonna release the sections of the book that correspond with specific parts of the book and then release those parts of the book at the same time. The first one’s gonna be a job search that actually works and so we’ll talk about how to find and target companies that you wanna work for, figure out if you’re a good fit for them, figure out if they’re good fit for you and then basically how to approach them so that you will actually get an interview instead of just mailing them your resume and hoping for the best.
I’ll go to other strategies for getting noticed by people and those companies like going to the user’s groups or participating in mailing list or contributing to open source code and things like that. I’ve got a whole bunch of ideas and I figured that that way, I can just release a course at the time on that. If people wanna buy the entire package and get a them as they come out, then they can. But that way I get to a target that I can actually reach in a few weeks and then I can reach the next target in a few weeks and I can get things done that way. Those are kind of the big things. I’m working on reviving the forms for the shows and I’m trying to hire somebody to help me with a lot this stuffs.
I hired somebody before but she just didn’t work out. That’s kind of where I’m at. Just getting a handler around one thing at a time and right now it’s the conferences and then it’ll be book. I’m always looking for guests and sponsors and things like that so that we can keep the shows going.
Joe: It’s so interesting hearing about your journey in the programming because it still seems like there is not a very typical way that people get in the programming. I guess if you get a degree in Computer Science often times, you get hired with the company but so many people that I know got in the programming in funny ways.
Charles: Yeah, when I worked at BYU, they had several development teams and when I worked there I was the system’s administrator. For most of the time I was there. One of the teams that I worked with pretty frequently worked on a lot of their web projects and fully half of the people on the team had degrees. By degrees I mean law degrees.
Charles: Yes. It’s really funny to me. Just how diverse the backgrounds are of people that get in. This was 10, 12 years ago. It’s not been that terribly long where I think, as you go back a little bit further, it’s much more common for people in programming to have that Computer Science degree. I think it’s no longer the norm.
Joe: Yeah, it’s funny. Is that our show today?
Charles: I think so. We can go ahead and do some picks and then we’ll wrap it up.
Joe: I’ve been watching a TV show, I don’t care if I picked this already. If this is a duplicate pick, I apologize. Been watching this TV show called Designated Survivor that just started up the season with Kiefer Sutherland. Disappointingly, he doesn’t kill a lot of people like in 24.
Charles: And it’s not real time.
Joe: Right, it’s not real time but it’s based on the concept that whenever they have union address just because so much the government is there, they always have one designated cabinet member that has to not attend the location so that in case there’s some attack, there’s a continuity of government. Kiefer Sutherland, he’s like the guy that’s in charge of the housing development all of a sudden becomes the President of the United States in the middle of, essentially, not necessarily a war but like an attack as big and scale as 9/11 was. If not even more devastating and has to deal with navigating the political waters because this is not much of a politician while also dealing with all of the actual military things and stuff like that. It’s been a great show. I highly recommend it and watching that Designated Survivor. That’s my pick for today.
Charles: Nice. Yesterday, I took my family to see Finding Dory. We saw it before and it was fun.
Joe: It looked bad, is it good?
Charles: It’s pretty good. I have to say that I love going to the dollar theater. In fact, that’s my pick, is the dollar theater. Wherever you have a dollar theater, the nice thing is this like, we took the 11 month old with us and I just stood in the back and bounced her and got her to go to sleep. But she fussed or whatever a couple of times or she’d scream or she’d just jabber during the movie and it’s like it’s the dollar theater so nobody gets mad at you for bringing your kid which was really nice. That’s definitely one pick, is just the dollar theater. We took all the kids and bought a whole bunch of goodies.
The example she gave was, for example, if you make a really good lasagna, the kind of lasagna that people just rave about, this is the best lasagna I’ve ever had then you could do on that and the people who wanna know how to do it will do it. It turns out that when I make lasagna, that’s what I hear, that’s exactly what I hear from people and it’s really funny. It’s like, the only thing I cook that people rave about. But I was like, “Yeah, that’s kinda fun.” And then somebody said, “You could even put together a newsletter about lasagna and call it The Daily Lasagna.” I was like, “That’s my show name.” It’s either this week or next week, I will be putting the show together and it’ll be funny because within the first few weeks, you’re gonna be getting shows from Nashville and from New York City because I’m travelling this next month.
It’ll be The Daily Lasagna and that’s gonna be my show about just the stuff that I’m working on and the challenges that I’m running into and the stuff that I’m succeeding at and all of that kind of stuff. Some of them were gonna be, well, here are my thoughts about this particular issue or topic and some of them are gonna be kind of experience reports. Anyway, I’m hoping it’ll be a fun show. I’m working on pulling together like an intro and outro and stuff. If you go to thedailylasagna.com or dailylasagna.com that’ll take you there and hopefully I’ll have that up within the next week or so.
Joe: That’s awesome.
Charles: That was fun.
Joe: Yeah, that was some interesting show. I think I gave all the NG Conf. updates in the middle of the show.
Charles: I think you did.
Joe: December 6th, final date tickets are on sale. Keep that in mind.
Charles: Sounds good.
Joe: If you don’t get a lottery ticket. Not for you, Chuck. You don’t get to go.
Charles: I know. I’ve been disinvited permanently. We’ll wrap it up and we’ll catch you all next week.
Joe: Okay. Bye.