Amber Conville

Teach Yourself Programming in 10,000 Hours

Amber Conville

Amber is a software engineer from Southeast Michigan. Her journey has taken her from doing homework on her graphing calculator to automating the paperwork for a bar she managed to full-time coding

Amber works at Detroit Labs, organizes Ann Arbor’s Craftsman’s Guild, facilitates the Ann Arbor and Detroit Nerd Nites, and is curating the upcoming MobiDevDay Detroit.

Transcript

Zee Spencer: How long have you been programming, Amber?

Amber Conville: Professionally or…Actually I don’t remember how long I’ve been doing it, professionally. laughs for I think over five years, around there five.

Zee: That’s some time. Allegedly, it’s 10,000 hours until you’re a master person in anything or what not. That’s about half of 10,000 hours.

Amber: I would bet that.

Zee: So, you’re halfway to mastery. What got you into it? Why did you decide that you wanted to be a programmer?

Amber: Professionally? laughs

Zee: laughs Yes, professionally.

Amber: I always did programming for fun, not like anything advanced, obviously, or anything awesome. I always thought if I did that for my job, then it would get boring, and I wouldn’t want to do it anymore.

I would have jobs like, I worked at a grocery store, where I was the sign maker. It was a lot of template making, it was a little bit of like graphic design, creative stuff, but it was mostly just doing same thing over and over again. So I wrote applications to do that for me.

I managed a brewery once, I was upset with the amount of paper and the number of binders that they had, so I wrote a system of really rudimentary database applications to use instead. I decided I probably should just be a programmer.

Zee: laughs So you had these existing business problems, so you were like, “Ah man, all this paper. That’s so annoying,” and you were like, “Screw paper! I’m going to write my own system.” Then, you just did it?

Amber: Yeah.

Zee: How did you know how to do that? Was it like stuff that you’ve done since you were a child? What went on there?

Amber: In high school, I did the calculator programming stuff, then that turned into me taking programming classes in high school. I knew like the basics of programming, and that kind of stuff.

They happened to have FileMaker for some reason, like at that particular place, they had FileMaker, I was like all right, I’ll learn how to use this. Awesome, it’s like drag and drop programming. laughs I just did that.

Zee: You had some training when you were in school, then the right tools were in the right spot and the right problem presented itself. I’ll just do that. That’s the best way ever.

What were those school, were the classes, you said there was a calculator programming one, and was there other classes too that were more focused on computer programming? I guess computers are calculators…

Amber: The calculator, that wasn’t a class. It was just a thing to do. laughs Like math, if I didn’t want to remember calculations, I would just write applications, like TI89 or whatever, have apps that do it for me. I know they weren’t apps, functions, whatever, but to do it for me.

I have a little sister who’s about five years younger than I am, and I used to play Drug Wars on my calculator all the time, and my mom found my sister, playing them and she got really mad. I found it and I completely reprogrammed all the stuff in it, so that it was like Banana Wars, it was gorillas gangs and stuff.

Zee: That’s amazing.

Amber: The classes were all true Basic, C++, might have had a HTML one.

Zee: That’s really cool. The school system supported what you were doing and they actually provided you some classes. Your mom gave you a problem. “You can’t have this no more,” laid down the gauntlet. “Screw you mom, I’m going to like do this, you can’t stop me.”

That’s really cool. It’s a bummer, that I very rarely see a lot of schools these days that have like HTML or programming in Basic or anything.

Amber: I don’t know why they wouldn’t.

Zee: Something about not being accredited anymore. You can’t get credits for math or science by teaching programming for high schools.

Amber: When I went, I had like a ton of math credits, so my senior year I just took all the programming classes. laughs

Zee: So you got lucky.

Amber: Yeah.

Zee: Apparently, there’s a couple states that still allow you to get math and science credits for programming, but not a whole lot. So you’ve had this junior, like this young…You started out very early, and then you went, “OK, fine. I’m going to go pro” and now you’re actually like working professionally and have been for the past five years. Is there any people who really stood out as helping you make it I guess and do that?

Amber: Oh, yeah. There’s been a ton of people. I guess how I actually got to be a professional programmer, since I didn’t go to college for it or anything was Menlo Innovations. In Ann Arbor. They do like an extreme interviewing thing and they hire people based on kindergarten skills, and everybody’s a sub contractor, so it’s not like a crazy high paying thing, and you have to know all this stuff and it’s like client services, but it’s all in house.

They interview like 50 people at once and engineering skills and all kinds of stuff. I didn’t know what any of that was then. I didn’t know JAVA or anything but they hired me and taught me java because I was good at being a kindergartner.

There were people like David Phelps, who unfortunately is past now, but Rob Meyer, Rob Murdoc, basically all the people that work at Menlo or how I got to be any good at what I do now. You know, and later job sites Magnus Star of course, and James Hood, Adam Martin, Rich Dammkoehler, basically everyone.

Zee: That was like a list of 12 people throughout your life for like the past five-ish years.

Amber: I stopped at one point, I could keep going. Like Justin Smalls, and Mark Davidson, and who do I work with now, Tim Taylor, Nathan Hughes and everyone.

Zee: It seems like you’ve got this pattern of like finding people, learning from them, and just like absorbing whatever you can. Like if you’re in a situation, you’re just going to be like, “I will find at least one, possibly 17 people and learn all I can from them.”

Amber: Yes. That’s actually one of my passions right now, is community because being able to do that and having access to people who are good at what they do, everyone I’ve interacted with for the last 12 years, I would not be able to do any of the programming I do right now, or the community events that I do right now without those people. That’s like a huge deal with me, is being able to organize places where people can get together and mentor or learn from others.

Zee: Could you talk a little bit more about that? What are some of the things that you’re putting together?

Amber: Actually for the past couple of years, I’ve run a group called Craftsmen Guild, and it’s based loosely, and you can tell by the name, on software craftsmanship so it’s about clean code and learning testing and those sorts of things. We’ve moved it in to the learning new things place because when you learn testing, at some point you turn into inaudible. Craftsmen Guild happens monthly and last week we did a mini code retreat because it’s only two hours long, and we did three half an hour sessions with retros and a proper organizer and everything, next month we’re actually going to have somebody come in and talk about programming for robots.

They’re going to bring lego robots, and having the interface with hardware and the kinds of abstraction layers and test driving methods you can use to make that easier on your life. I also help with conference organizing, so I helped a little bit with 1DevDay this last one, and I’m helping organize Mobi Dev Day this next one, which is on May 4. Are you going to be around for that?

Zee: Probably not. I’m in San Francisco until the 22nd of April, or 24th of April.

Amber: May 4 though. That’s after that.

Zee: Let me think about it.

Amber: OK. laughs

Zee: It’s Mobi Dev Day Detroit?

Amber: Yeah. Mobi Dev Day Detroit and that’s the website, mobidevdaydetroit.com.

Zee: I can probably do that. I’ve got a place I can crash that night, or the day before, so I’ll see you at Mobi DevDay

Amber: That’ll be awesome, but then I also run two non programming community educational groups there called Nerd Night, which I was talking about before. Nerd Night Ann Arbor and Nerd Night Detroit , and that’s just getting together and learning a bunch of stuff.

Zee: Could you explain what Nerd Night is because unfortunately I did not record that part of the audio.

Amber: Sure, no problem. Nerd Night is usually three presenters. A nerd as we choose not define it. It’s not like one of those weird things where everybody says that you’re a fake nerd or a real nerd or whatever. It’s just like somebody who is super passionate and has done a lot of learning in a particular area.

For example, we had somebody come talk about nano particles. She has been studying nano particles for years. She loves them. She’s crazy about them. She is a nano particle nerd.

It’s basically three 18 to 21 minute presentations, and then there’s about 10 minutes for Q and A time. We do three of those, and we do it at a bar where there’s lots of good drinks, and that’s about it.

Zee: You organize two or three regular meet up groups, you help out with conferences, you work, I’m assuming, a regular eight hour day, you have 17 dogs, which you keep alive and take care of…

Amber: laughs My husband helps with that.

Zee: Do you sleep at all, or is that one of those things that you’ve given up on?

Amber: It’s actually, like this last week everything, it’s like the perfect time where all things…Usually the Venn diagram is enough apart that it’s not that stressful, but this past week it was all over lapping, and so it was one of those things, “I should not have slept a full eight hours. I have stuff to do.” laughs “Oh, crap. I slept in.” Or like I went out for a…Nathan Hughes had a comedy show. It was really good, and we went out afterwards and had a couple drinks, and in the morning I was like, “I don’t have time to do this stuff.” laughs “I need to automate so much more of what I’m doing right now so that I can do those things.”

Zee: It seems like you got a lot on your plate. I’m so glad you are taking the time to share your story and some of the things you’re doing.

Amber: I don’t mind at all.

Zee: What do you really love about being a programmer? Obviously, a part of it must be community, otherwise you wouldn’t be doing all the things you’re doing, but is there anything else you really like?

Amber: Yeah. I love problem solving. Actually, that’s the right way to say how I got into programming. I’ve always solved puzzles. it’s like that feeling you get when you figure out something that you’ve been working on for three hours, that might be really stupid, or it might be really cool and nobody else has thought of how to do it, and you’re just like, “Yes. That worked.” Or being able to bend the world to your world because everything’s electronic now. So like the first time I wrote a mobile app and something worked on it I was like, “Yeah. That’s awesome. I made that thing on a phone.” laughs

Zee: Yeah, it’s like you get this huge dopamine rush. Your brain gets flooded with all these great chemicals, and you’re like “Oh man, this is amazing,” and the four to five hours that you beat your head against the wall just becomes so worth it because you’ve got that hit.

Would you say you’re addicted to programming, on a chemical dependence on that drug?

Amber: Yes. If I have too many meetings , I turn into the hulk.

Zee: That would both be terrifying and amazing at the same time.

Amber: Yeah. Stuff happens. I start getting mad, I stop paying attention, I demand food, or I just start programming which is also not OK with the clients . laughs

Zee: Where do you want to go? You’re doing this awesome community stuff, you do this great consulting work as writing mobile and web apps and that kind of stuff. Where do you see yourself heading?

Amber: I have no Idea. I don’t have a plan.

Zee: “There is no plan. I’m just a programmer chasing apps. I have no idea what to do when I get one.”

Amber: I’ll tell you where I’m going to be in five years in about four and a half years. Maybe five years. I don’t know what I’m doing in six months.

Zee: That’s reasonable. Is there any where you want to go? Are you happy where you are? You’re like “I could do this forever,” or do you have some hidden ambition, or not hidden necessarily?

Amber: I’m at Detroit Labs right now, and what makes it the most fun besides working with a group of extremely talented and awesome people, actually also in a completely flat hierarchy which is amazing, like a lot of companies will call themselves flat but not actually be, Detroit Labs actually is and that’s so fun and awesome. One of the really fun things about it is that in mobile, not a lot of people are doing the things they’re doing. They don’t do refactoring, they don’t do testing, they think that, “I just wrote this app, and now I shipped it and I don’t need to look at it anymore.” Invariably, they’ll look at it again, or I have to look at it later because something is wrong with it.

One of the things that I really like being a part of right now is developing the same sorts of things that were going to be in the web app world, or the desktop world to make programming good and fun and easy and feel like a work of art again, I like applying that to mobile.

So finding testing tricking for objective C for example, and it can be as easy as a java web app or something like that, or helping out with mobile views, which actually I haven’t gotten a chance to be a huge part of but Detroit Labs has been making huge strides over the past few months and it’s It’s like really exciting to be a part of that. That’swhat I’m doing right now.

Zee: So that’s really cool. You’re taking your taking your background, which is in java and clean code and software craftsmanship and that kind of stuff, and you’re applying it to this new world of mobile that’s…We’ve been doing for three or four years now, but it’s still a baby industry. I suppose if you want to go all the way back to like mobile web apps. Is that what they’re called? X-Something? Anyway, there’s been like this html standard that was just for mobile, and that was back in the old days with Palm Pilots and stuff like that, but it’s still like a very infantile industry. Like people don’t know how to do the interaction design, they don’t know how to write the code very well. Like it’s very…

Amber: Isn’t that weird?

Zee: I know, right?

Amber: Because it’s not that different. laughs

Zee: I know. It’s like we forget everything as soon as we get into this new world. It’s so sad.

Amber: All the lessons go away. Honestly, I think it’s because it’s new and it’s fun you’re just burning through cool stuff really fast.

Zee: Yeah. I can understand that.

Amber: Eventually you’ll have to refactor.

Zee: They’re like, “Yeah, the old rules don’t apply any more man. I don’t need to extract methods. What do you mean 10,000 lines is too big for a file?”

Amber: That sounds perfect. One of my favorite things I’ve been doing lately as I join a project, being like, “You’ve got tremendously sized landscape of mountains. Inside this one method.” You know, like a lot of indentation and a lot of annotation and nested things all the way out. It’s like, if you can make ASCII art out of it, don’t do that. laughs Extract it.

Zee: I now want to start ASCII art programming where all of my stuff…Actually, have you seen Steve Klabnik’s Emoji language? It’s like brainfuck or white space, but it uses Emoji instead of white space characters or brackets and pipes.

Amber: Yeah? I’m going to look that up after this. laughs

Zee: Anyway, is there anything else you want to say? Any shout outs you want to make? Any, “Oh my goodness, I’m hiring please come work with me and the people at Detroit Labs” or anything like that?

Amber: I think Detroit Labs is always accepting applications. We don’t really do like the on demand thing, which is another thing I love about Detroit Labs. Too much work comes in, and we actually turn some of it away. It’s like, “Everyone is working on the weekend” or whatever. Or if somebody comes and wants to do step up, we’re like, “we don’t do that.” laughs I love that.

I think we’re always accepting. We don’t take resumes or anything. You just have to send us an email, and we actually have a different, nontraditional kind of interviewing process. Yeah, MobiDev on May 4th. That will be fun and awesome, and I’m organizing it. Everybody should come to it.

Zee: If you’re in the Midwest on May 4th, or even if you’re not, and you want to learn how to actually build mobile apps and not have them suck, I would strongly recommend going to MobiDevDay in Detroit. It sounds like it’s going to be awesome. I’ll drive the four hours or whatever it is from Cleveland and make sure that happens.

Thank you for your time, Amber. I hope you have a wonderful week.

Amber: Thanks, you too.