Sometimes the moments in life catch us up when we least expect it. Life gets busy. One moment, we think we have the everything figured out. We make plans for our future only to later see those plans take a fresh path and a new life of their own. Like a wave, those paths in life ebb, flow, tumble, and roll … but sometimes they blossom and grow in unexpected ways that we never would have expected. That’s what happened with our next guest, Ross Trottier.
Ross, AKA, Ross the Music Teacher, began his career certain that he wanted to play classical guitar. So, he went to college, but something soon changed. He then dropped out of college and started his own business teaching music and guitar lessons, but Ross didn’t stop there. He also wrote a book on music theory, which went on to nab some sweet sales on Amazon, and then Ross grew his business further by launching his own YouTube channel and Patreon site to reach even more music students. There was only one, little problem. Some of the students struggled learning the concepts of music theory. What could Ross do to enhance his students learning experience and make the outcome more enjoyable and successful for them? If you said, coding, you’re absolutely right!
Ross decided to try a creative, new way to help his students learn the fundamentals and he wanted to do it in the virtual world. His idea would allow his students a fun, new way to learn music theory concepts on the go. That’s right, music man Ross decided to create a mobile music app, but to do that, he first needed to learn how to code. Listen in to episode 71 and hear Ross’ tale … from music to coding and back again.
Be sure to say hello to Ross on YouTube!
Ross Trottier attended CU Boulder as a Classical Guitar Performance Major under the virtuoso Jonathan Leathewood, where he received the highest marks for theoretical studies. He currently resides in Colorado Springs, where he teaches and performs full time. Additionally, when he isn’t teaching and working with his music students, Ross is coding a game-based music theory app to better engage his students and boost their overall learning experience in a fun, creative way.
Episode Highlights and Show Notes:
Arsalan: Hi, Everyone, and welcome to another episode of Mentoring Developers. Today, my guest is Ross Trottier. Ross is a college dropout, but then, he turned around and became a [music] teacher and wrote a book that’s become a bestseller on Amazon. Ross, how are you?
Ross: How are you doing? Thanks for having me.
Arsalan: I’m so glad that I could have you on the show. I’ve been following you on YouTube and I want everybody to know your story. It’s fascinating. So, tell us a little about what happened in college and then what happened after that.
Ross: So, in college, I was going to school for classical guitar performance. There were a number of things that I was unhappy with concerning the institution and [it was] not what I considered to be the best career path … monetarily speaking. At the end of the day, I didn’t want to become a professor at a school that I wouldn’t be happy at. So, I took my music credits and dropped out and then spent the next few years working at jobs, practicing my music, and continuing my studies with a couple of the teachers that I had back at the college.
Ross: My time took me out to Oregon where I played cello on the sidewalk and I worked at Intel as a procurement agent. I then returned to the East coast, where my folks live, for a few months. Then, I went ‘full circle’ and ended up back in Colorado where I had started. What I wanted to do was teach guitar. So, I was driving from one house to the next teaching people and living out of my car and sometimes on my friend’s living room floor.
Ross: One day my car broke down and I had to turn it into a semi-permanent dwelling. I took whatever money that I had left and rented an office. In Colorado, it is very cold at night. So, I spent lots of time in that office and I decided to use that time to make music websites, which started me on the path that I’m on right now — learning to code apps that systematically teach you music in an arcade game format.
Arsalan: Fascinating story. So, you had a situation where you were going to college and, obviously, when you started you wanted to finish, right?
Arsalan: At some point, you realized that it wasn’t worth it because you realized that you were going to spend all this time and money getting all these credits only to get a job to do for you what you wanted it to do. So, when you’re starting out as a freshman and going through the classes and learning, what changed? I’m assuming that your perception of college changed along the way?
Ross: It started out as [a feeling]. A lot of it seemed practical at first: writing papers and trying to figure out what you wanted to do. I didn’t start out as a music major. I went through a few majors and did a lot of science credits on the side. I did a lot of math as well. Eventually, I landed on music because I fell in love with the classical guitar, which is a bad reason to choose a major and probably why I dropped out.
Ross: Over time, as I saw how the classical music world worked and how people interacted with each other, it gave me a sour taste. I didn’t like it and I’m not really a big fan of going out to concerts and things. I realized that I really didn’t want to play concerts. I was just in love with being in the practice room, which is something that I do every day religiously.
Ross: I was also looking at all of these music majors and counting all the possible jobs out there for them and the math didn’t add up to me. It also seemed to me that all of these professors were more or less kind of operating a bit of a pyramid scheme, where they promise everyone that they’re going to become professors, but there are 30 students to a professor.
Arsalan: Right. So, that’d never work.
Ross: So, it just seemed … yeah, the idea in classical music is that you go until you get your doctorate and then you try to become a professor or you play concerts every night of your life. Neither of those choices appealed to me.
Arsalan: Okay, so you thought that you were going to get what you needed out of this degree. “I’m here. Let me take all of the classes that I’m interested in. Then, when I’m done, I’ll figure it out.”
Ross: Yeah, and there were a couple of other things that happened that pushed me down that path. I ended up with a bit of tendonitis in my hand because I worked as a grocery stocker while practicing a lot at the same time. So, I overused my hand because I was typing quite a bit. That added more pressure and stress to move out and find my way around.
Ross: When I left, I was completely clueless for a number of years. I worked at Whole Foods for a little bit and at random teaching jobs — freelance, or down at the music studio at the corner.
Arsalan: Yeah, we’ve all been there. We’ve all had periods when we don’t know what we’re doing. For some people, it happens when they’re younger and in their teens or early twenties, they don’t know what to do. For some people like me, it happens later in life.
Arsalan: When I was a kid, I was so focused. All I wanted to do was to become a programmer. That’s all I wanted and all I ever did and nothing else really mattered that much. I was sure about what I was going to do. Yet, after I had done that and had gotten my degrees and worked for a little bit, then I was in a difficult place because I contemplated whether this was all that I really wanted to do. Or, whether there was more to life than this. So, we all go through this. You were in a phase where you were trying to figure yourself out and you didn’t have a plan.
Arsalan: So, the lesson to be learned here is that even if you don’t have a plan, maybe life has a plan for you. You were trying to figure things out and you knew one thing that you were good at and you persisted at it. Those are the two qualities that I think all of us can learn from. If anyone is listening to this podcast right now and thinking “I am really good at this one thing, but I’m not really good at anything else,” then you should double-down on what you’re really good at. Make sure that you’re better at it than most people around you. If you become an expert, a lot of things will fall into place.
Ross: Totally, and it’s something that you kind of treat as a savings account. It’s a long game and when I was kicking it around, I probably wasn’t ready to do all the things that I’m doing now. I wasn’t ready to write a music theory book. I wasn’t ready to do that until after a lot of cello improvisation on the sidewalk for change in Portland, Oregon for about three or four months. I did it for a number of hours a day. I wasn’t ready to do what I was supposed to do. I was just practicing, which is the thing that I’ve been obsessed with for many years.
Arsalan: Right. Practicing in music. I know, and you know now, that I’ve been trying to learn to play the guitar for a couple of years. I dabbled for a few years before that. I know how hard the struggle is to find the time and the will to practice, but practice equally applies to programming as, Ross, you would’ve noticed when you started out. I was listening to somebody and they said that in order for you to learn something new, you need to master it so that it becomes automatic.
Arsalan: So, you should be able to break it down into small enough size chunks that you can do three sessions of 45 minutes each to master it. If it’s not possible for you to master that skill or that thing that you want to learn within three sessions of 45 minutes, then you have picked a chunk that is too big for you. Break it down until you find that and then you can become a master and just do it without thinking. I see a lot of guitar players and other musicians who play somewhat complicated music and they’re talking and doing other things and it’s just happening. It seems impossible for somebody like me, but for them, it’s normal.
Arsalan: Programming works just like this. There are a few things like practice runs that we do called katas. We do these simple things repeatedly again and again so that they become mindless. Instead of looking at it as “these are the ten lines of code that I have to do to achieve something,” That thing turns into a single blurb. Now you’re like “That’s one thing.”
Arsalan: So, that becomes one thing just like when you’re in music and, correct me if I’m wrong here, instead of thinking that you have to play these seven notes and this scale, you just play that scale. It becomes one thing for you.
Ross: You’re 100% correct. I have a lot of students who … one of the most common questions and I think one of the most frustrating questions for me that I get from students is “Should I learn music theory?” My answer to it is exactly the answer that you just gave. At a certain point when you are able to look at a group of notes and know what chord it is, you’re now speaking the language and things start to flow much easier … but, if you know that you’re dealing with an E flat major and you know the key signature and you know you’re an A flat … there are just a lot of things that need to be very quick.
Ross: I also designed some strategies that deal with repetition, measuring that repetition, and spreading it out over months. In music, I would take the idea that you put and go even further. In terms of breaking things down for music, I actually have people break down to 1-measure and half-measure segments that they write down in a grid and then they do that twenty-five times a day for the next three months as a part of their warm-up so that they don’t have to get the half-measure of the piece that is preventing them from learning how to play. So, setting things up in a systematic way … that’s a thing that I’m fairly obsessed with.
Arsalan: Yeah, I think that’s exactly right. You need to practice and you need to become a master. Part of the problem that we have in our industry, if you want to become a software developer, is that most companies and developers and etc. don’t really care about mastering. We’re not looking to become really good at something. We just want to get by. “Can you get this thing out for me? Can you make it look like it at least works? Then, we’ll move on and hopefully, nobody will ever use it or, if they do use it, we’ll fix it if we see a problem.” That happens a lot and I think there is a place for that. I’m not saying that it should never happen, but sometimes I’ve seen it happen in mission-critical applications or regulatory –financial –this or that applications where numbers matter and mistakes are not a good idea.
Arsalan: If you learn the art and the discipline, because art comes with some kind of discipline, then you will know when you see something going out of bounds. As a musician, you can hear it. “This note sounds wrong.” It’s similar to programming. In many programming environments, we call them code smells. You’re like “This smells bad,” but I think we overuse that term a lot. So, I don’t like to use the term code smell. The basic idea is that something is out of place – not right. You’d be able to do that with practice. So, that’s something that’s common in any skill. For me, because I do a little bit of music and a lot of programming, I think I’m beginning to see that and it’s fascinating.
Arsalan: Alright. My hard drive is making a lot of sounds right now. I think it’s going crazy.
Ross: It’s all good. I get it.
Arsalan: [Laughing] Yeah, I’m not cutting this stuff out. What I’m saying is that this stuff happens to me because now I have this very nice microphone that is very sensitive and …
Ross: Yeah. [Laughing]
Arsalan: I have this external hard drive that I don’t need, really, but it keeps my big projects.
Ross: I’m totally familiar with the problem that you’re spelling out.
Arsalan: … and it’s just loud right now. I can hear it.
Arsalan: So, what I need to do is eject and that’s something that I haven’t done in the past … was to eject and my computer goes completely mad at me. It’s like “How dare you unplug something.” I didn’t eject it yet. So, hopefully, I did that and then I can unplug it while we’re live … as long as I don’t do the wrong one. I’m just going to turn the power off. Okay, hopefully, that makes it better. Alright, everyone, this is something that happens when you’re dealing with audio.
Arsalan: So, I’m trying my best to give people good audio. It doesn’t always work. In the past, I’ve spent hours and hours working on editing and trying to take all the noise out and the spaces and awkward silences, but then I end up spending 20 hours in a day on it.
Ross: Is that right? Yeah, there’s only so many hours in the day. I’m very familiar with it.
Arsalan: [Laughing] So, then what happened? What’s fascinating for me is that your story is fantastic. So far, you’re starting out. You want to be somebody but you don’t know what you’re doing. You’re going through some medical issues as well and you do a little bit of this and a little bit of that. Then, you didn’t have a place to live. That’s got to be stressful. Then, you decide to start a blog or make a website. At some point later, I suppose you started making videos.
Ross: Yeah, I started doing that right about the same time that I started making the site. I was just kind of shooting in the dark. I didn’t really have too much of a purpose with it yet. At a certain point, I decided to write Music Theory in One Lesson, which is my music theory book. Actually, now that I’ve been looking through API documents, I find it interesting that the Music Theory in One Lesson feels like an API document to me. It doesn’t show you art. It shows you the functionality. That’s something that I realized about 45 minutes ago.
Ross: So, I decided to write this book because as a teacher, I was getting frustrated with students not being interested in learning music theory, or if they were, I gave them a lecture that I had canned. They didn’t have anything real to look at and it was a lot to take in – in one session. You can’t learn all of it in one session. So, I decided to write a book.
Ross: Then, someone told me that I could publish the book myself. So, I checked Amazon to find a book on that. … a book on self-publishing. I read the book, wrote [my] book, followed the steps, put it out, and people seemed to like it. It almost took off by itself, although, I did do a little bit of Facebook stuff for it. That was pretty cool for a little while. Then, I realized that this was a book and people were doing videos. So, I decided to do a video for it.
Ross: I did an animated version of the book that is [now] free on YouTube. It wasn’t always free. I used to charge $100 for it and I did a whole sales funnel for it. Then, I realize that you just end up breaking even with that anyway. So, I put it on YouTube.
Arsalan: I think that was a very smart move. That thing that you did … by making this free, that’s why you’re on this podcast because that’s the very first video that I watched of you. Had you not done that, I never would have known about you.
Ross: It was one of the best decisions ever. It was fun learning how to make a website into the sales funnel, but at the end of the day, this is information that I’ve put together and I’ve decided to put it out for free. I’ll put a little advertisement for the book in there and that way it’s worth everybody’s while. At this point, I’ve received over a million views on it. I’ve got people from all over the world sending me emails about it. It’s one of the coolest things.
Arsalan: Yes, it is. So, what I’ve learned from that and what I really appreciate is … I’ve watched a lot of videos that explain music theory because I have no background in it. To be honest, I have no business thinking that I could be a guitarist or learning how to play. If you’re cynical, you might say “what business do you have?” I don’t know anybody who has done anything musical ever – nobody in my friends or family [circles]. I have no business. Somebody like you or somebody in the audience might be thinking that they have no business being a programmer and thinking “I don’t know anything about technology. How can I be a programmer?”
Arsalan: This is how I felt about music. I felt very vulnerable. I didn’t know anything. People kept giving me these little bits of information that I couldn’t understand. It seemed too hard. Obviously, they all want to make money because they’re all trying to sell something. If I don’t know that I’m any good at it, then how would I know whether I should buy a book? So, I’m just testing the waters.
Arsalan: So, I came across your video. It came across as clear. What you did brilliantly, though, was that you made the tempo very slow. By tempo, I mean that you spoke slowly. Then, there was a delay and I could see the notes. You animated it, as you said. So, I could see things moving and transforming. So, I thought “Oh, okay. This makes sense.” And, you kept saying that it was easy. You kept saying that music theory was easy. It’s not hard. So, I started to believe that maybe I could do it too.
Arsalan: Something similar to this happens in programming. A lot of us like to say that programming is hard. I know some people who have degrees. I have degrees in computer science. Yet, I know people who have good careers and resent the people who don’t have that background, but came in and became their equal suddenly because “What business do they have? They haven’t spent six years in college doing this.”
Arsalan: Growing up, our professors used to make fun of these people who just picked up HTML. The derogatory term that people used to throw around is script kitties. That’s what they used to call these people. They were not considered real programmers. Real programmers do this … That’s how it worked.
Ross: Totally. That exists in the music world completely. A hundred percent guaranteed that a classically trained music professor is going to scoff at anybody who doesn’t know their style. I am completely guilty of this too.
Arsalan: Yeah. We all fall into this trap. It’s hard not to do this. Imagine, Ross, that you’ve spent who knows how many thousands of hours of practice. If I came along and started a YouTube channel teaching music and I got the same number of viewers as you do, I wouldn’t be a bit surprised if you were a little bit miffed at that.
Ross: I think I’m good about that. One thing that I try to when I’m approaching anything is … jealousy is really easily replaced with gratitude. YouTube didn’t exist a number of years ago. Having an ‘x’ number of thousands of people following me is great. There are actually a lot of people out there who I would consider to be undertrained for their YouTube following. I’ll give you a good example. This guy actually makes good YouTube videos, so I’m not talking smack. His name is Party Marty and he teaches strumming lessons. That’s what he does and people watch his videos. So why not? You’ve got to let people like what they like.
Ross: There’s a lot of classical music out there that’s awful because musicians aren’t allowing people to like what they like. So, these classical musicians will gauge the viability of the music and how fast the scale runs are and how technical it is and a flat two or, God forbid there’s atonal music, which is difficult and they just sat down some random noise. You can’t get people to listen to it if they don’t know what it is. So, there’s a lot of that in the music world. Yet, at the end of the day, we’re just really lucky to be able to be in front of 500 people. It used to take a whole arena to do that.
Arsalan: Yeah. Gratitude is a good way of approaching life in general. So, we need to be thankful for what we have and that’s a very positive emotion. I’m very competitive and I’ll admit that. There’s nothing wrong with being competitive. Yet, at the same time, I think that you have to compete with yourself, but at the end of the day you sit back and appreciate what you have. That’s just a better way of being. Okay, so let’s get back to your story.
Arsalan: You started the YouTube channel. Then you wrote the book. Now, you’re still making a living because I’m assuming that YouTube still Gives you some income through ads?
Ross: Yes, and I have plenty of students.
Arsalan: Okay. So, you’ve got students and are they in person or online students?
Ross: They are a mix of both.
Arsalan: Okay. So, you have a few streams of income coming in. Things are looking alright, but obviously, you want to grow. You want to do something else. Then, something happened and you started programming. What happened there?
Ross: So, that’s something [that happened] fairly recently and there are a few things that happened along the way there. One was the realization of what I’m good at and what I’m interested in and what I should be pursuing. My brain probably should have been introduced to this a while ago.
Ross: It just so happens that I’m a musician but I’m a very system-oriented person. I realized that I can make money online doing websites and stuff. I built a website for an army surplus company that I did business with and am now a partial owner of. I still maintain the website and run it. So just being inside the world of technology and learning how to do marketing and promotions and things have put me into a daily routine where I am always looking for opportunities.
Ross: Something that I’ve always struggled with over the last 3 years has been having the ability to systematize learning new things and the music, or being able to systematize my daily routine to be able to keep track of things. I’ve tried so many apps. It’s obscene — the number of apps that I’ve tried for learning music notes and doing all this other stuff. What I’ve realized is that it’s a lot of software developers that play music who have developed these things. I highly doubt that any truly trained musicians are doing that. I found a lot of ‘halfway there’ apps or a lot of apps that are so good and so polished that you’ve got to connect your guitar into the thing. It doesn’t seem effective because you’ve already got your guitar in the practice room. What you need is an app that helps you practice while you’re away. So, I’ve noticed all of these things. I’ve noticed that there’s an opportunity there.
Ross: I made a half-witted attempt to do it on my old website. I’m actually just finishing up with revamping that website and getting it set back up from the garbage that I came up with 2 years ago where I had systematized a few games that taught you how to do this. I was really just kind of doing this GitHub style where I was downloading peoples code and filling in my assets before uploading it again. it turned out crappy.
Ross: So, I had a recent visit with a friend from out of town who develops VR. He’s got a really cool VR app … where you ride around on this train and stuff. He showed it to me and I just thought it was really cool. He then encouraged me to pick it up and try it out. So, I took a C# class on YouTube. It was like five hours long. I thought “Oh. This makes sense. Let’s do another one.” So, I’m probably about 150 hours of classes in. I’m just finishing up my first game app that mixes learning notes and tank warfare.
Arsalan: Wow. That is quite incredible. The first thing that I am impressed with, and a little concerned about, is 150 hours of C#. [Laughs]. That can mess you up.
Ross: Well, it’s a C#/Unity course.
Ross: So, probably half of it is just in the Unity engine and the other half is scripting. I’ve definitely done classes where I thought that my eyeballs were going to fall out.
Arsalan: That is some dedication. I’m impressed because I couldn’t sit through two hours of C# classes and I have been doing C# for many years. It’s hard to sit through programming. I mean, it’s hard to sit through any class, especially if you’re not doing it.
Ross: I can’t sit through a music class anymore.
Arsalan: Okay. [Laughs]. Yeah, because, you now kind of already …
Ross: Yeah, you already know it.
Arsalan: Yeah, you already know it. So, that’s interesting. Now, I’m going to ask you the obvious question. It may not be obvious to you, but to a lot of our listeners, they may be thinking C#? who does C#? It’s 2019 now. We do Ruby. We do python. Who’s doing C# and why? Why would someone who doesn’t work for a big corporation pick up C#, a Microsoft language?
Ross: First, I’m kind of banking on being good at Unity. So, that’s the scripting language that gets put into there. I’ve considered getting into Python, but one of the differences between my path and that of many aspiring developers is if Google offered me a job, I would not take it. If anybody offered me a job, I would not take it. I don’t want a job.
Ross: What I’m doing is creating things. If C# is what I need to learn to create this thing, then that is what I’ll do. That’s just how I am. I am eternally running away from being employed by anybody. I just want to make my own money. I want to do it in a way that I can approach it and, if I need to freelance with Unity, then I can do that. If I know how to script in Unity, then that’s a freelance job that I can post.
Arsalan: That’s interesting because I have personally been interested in entrepreneurship and I’ve been doing consulting for a while and I’ve also worked as an employee. So, I understand that and I encourage people to think about self-employment, freelancing, or starting your own company and making products for yourselves or for others. That’s a very legitimate career path for a lot of people. It’s not for everybody, but it is for a lot of people who may be in a place where there aren’t a lot of good jobs, or maybe they feel like they have the ability to take a bit of risk. Then, they should do that. There is a risk, but there’s also a rewarding side of it and there’s no cap on income potential. I understand all that.
Arsalan: So, you want to have a skill … that you can use to not only build your own product but then you can [also] sell that skill to somebody else. As you improve, you can charge more for that skill. It goes up. It goes higher from there.
Arsalan: Or, you could offer complete products to someone. You could say … I could hire you, for instance, to give me a couple of your hours and help me with a problem. Or, I could say “Could you build this complete thing for me?” Or, you could do it yourself. The good thing about it is the more you do it, the better you get.
Arsalan: We spoke earlier about how discrete steps turn into this one little blob and so, you’re thinking in big-picture terms. You’re thinking in boxes, not in pieces of code anymore. The more you do it, the more things become automatic. So, that’s all wonderful.
Arsalan: I was playing the devil’s advocate when I asked you about C#. C# is a wonderful tool.
Ross: Oh, that’s okay.
Arsalan: I’m doing it for the benefit of the people.
Ross: The funny thing is I don’t know which languages are better than others.
Arsalan: [Laughing]. C# is one of the best languages for newcomers to learn …
Arsalan: … and let me just say why I think that because it’s a little controversial – what I just said. Most young developers don’t learn C# because they are told that they should stay away from anything Microsoft. I think that it’s fair to stay away from anything that’s Microsoft, but C# is more than just Microsoft. The best reason to learn C# is not so that you can get a corporate job. It’s because it’s easy to learn and it’s a very straight forward language that makes sense. You don’t have to know some very intricate internal workings and some new paradigm to learn C#. It’s object-oriented and I think that it’s more natural.
Arsalan: Secondly, the free tools that you can use to build .NET apps, whether you’re making a web app, a native app, or Unity or something, or Xamarin with mobile apps – anything that you’re doing with C# — you can use Visual Studio or Visual Studio Code.
Arsalan: You can use different tools that will make it easier for you to not only write the code, but it’ll also suggest what you could type or what’s possible. That’s something that you can’t take for granted because Visual Studio does it the best. Yet, it also gives you incredible and amazing debugging tools that you can use to set a breakpoint and do a whole bunch of stuff when you start working with the Cloud. I’ve done a lot of salesforce development recently, and you don’t get that. You don’t get a lot of these features if you are not running with those toolchains.
Arsalan: If you’re running in Ruby or Python … let’s say, if you have that kind of app, you have to have different kinds of debugging tricks up your sleeve. You can still set breakpoints and you can still inspect them, but you have to … it’s not easy for beginners. Let’s just say that, but it’s easy. I just wanted to say it so that if somebody is out there listening right now who doesn’t know which language to use, C# is a good start. At least start there, spend six months learning the basics of programming. Then, go somewhere else.
Arsalan: Alright. So, you did that. What you’re going to end up doing is building this app using a game engine because Unity is really meant to make games. So, a lot of things that serve game mechanics or that come – I’m assuming that they come built-in, right?
Arsalan: So, it’s sort of something like maybe you could start with a template that gives you something. Okay, so let me ask you this. You’re not making what I would consider a traditional game. You’re not making a platform or a 3D shooter … you’re making … describe to me what you’re trying to do.
Ross: So, it’s a mix between note flashcards and tank warfare. It’s actually done and I have a copy of it on my computer … at least the first version, it seeks to tie together how quickly you recognize a note and as you recognize notes, you shoot these tanks that are coming along the staff. There are different power-ups and things like that.
Arsalan: So …
Ross: Arcade style.
Arsalan: Is it targeted at a specific instrument?
Arsalan: So, you listen to it and say this is a note?
Ross: No. It trains the clefs.
Ross: It has three modes: treble, alto, and bass clefs. So … whichever clef you need to learn. Typically, the tanks will show up where a note is and they’re coming along it and you have to shoot them in time. So, it just helps people to learn the note names in every clef, which is one of those things that you were talking about earlier. You need it to become a glob.
Ross: So, many people sit down to start their guitar lessons and they are so discouraged because they have to slowly figure out what the note name is of each note that they’re reading on the staff. When that becomes fast, things become easier.
Ross: This is a game where you can play it out your pocket if you’re on the subway, a bus, or on a plane. You’re not in the practice room. This is something that you can do while you’re away from the practice room and then when you return to the practice room, you’re magically better at something and that’s going to make your time easier.
Arsalan: Okay. So, how long has it taken you from the moment you’ve opened your development environment to finishing version one or version 0.9 or whatever it is right now?
Ross: So, I built no templates or anything. The only that I have right now are the Sprite assets, the P&G tank files because I am not a visual artist. Yet, all in all, it took me about four days.
Arsalan: Wait. Four days to build a whole app in a language that you never knew before?
Ross: Right around there.
Arsalan: You’ve done a little bit of programming, but you haven’t done any object-oriented programming before.
Ross: Before I attempted it, I went through four or five ‘follow along’ projects for Unity and C#. So, I kind of had an idea of how to go about it already. It wasn’t like a totally “Oh, I’ve never done it” and jumped in. I’ve pretty much never done it, but I’ve followed along, you know, an ‘x’ number of hours of tutorials.
Ross: … and just kind of applied the concepts that I’d learned through those.
Arsalan: Wow. So, obviously, you’re doing this mainly to make some money. Right?
Ross: Yeah. I want to be able to fund my education in coding. I don’t want to do this and not make any money. One of my great dreams in life is to be the student who gets forever paid. So, the way that I’m doing this … this is going to be a free app, but if you watch one of the ads all the way through before you begin playing, you get a shield power-up right at the beginning. So, that’s kind of the idea behind how I’m going to monetize this.
Arsalan: That’s smart. So, did you figure out how much money you could make through these ads? Okay, so do you have any revenue goals? Let’s start from there.
Ross: “I’m not sure” is my game. So, as I said, rugged.
Arsalan: It’s fine. Big buttons. I can click it.
Ross: [music playing] … and then there’s your ad that pops up.
Arsalan: So, the ads are served by Unity? That’s interesting.
Ross: Yes, they have it completely, natively in there. It’s like a plug-in that you start with. Now, the artist really … here’s the bass clef. As you can see, the tanks are coming across the top there.
Arsalan: That’s nice. That’s pretty good.
Ross: … and then …
Arsalan: It’s pretty good. It looks good. They’re going and so you can fire from … oh, so these are the note names? I can’t really read what’s …
Ross: Yeah. The buttons down there have the note names and as you hit the note name, it fires a laser along that trajectory that’s tied to the note name.
Arsalan: Okay. So, are there different levels or is there just one level?
Ross: The waves get a bit more difficult. So, as tanks start to spawn, there are different variables that hold their spawn time and their speed. There are also different kinds of tanks that will come out. So, there’s one that stops and shoots and moves and there’s one that explodes and turns into more tanks and then there are barrels that you can shoot that make different explosions.
Arsalan: Wow. Well, I am really impressed because you definitely gave it a lot of thought and then you upped the difficulty level. You don’t need to be perfect. My recommendation is to let people finish the game.
Arsalan: Some people make their games so hard and then never let somebody finish their game and you never give them the satisfaction of conquering something. So, that’s good. I think this is great. So, it took you four days to make and yet, … you paid somebody to make the artwork? Or is it just free creative commons?
Ross: It’s just a creative common zip file of little tanks and army men.
Arsalan: Okay. Well, that’s great. So, you got that and you had to set it up. I’m assuming there’s some kind of user interface where you can draw things or say that this is your scene.
Arsalan: So, walk us through the process. Say, I want to build a game like this. What are the, say, five things I’d have to do? So, we know we’re going to get the assets and we’re going to create a scene where we’re going to place these things. So, then what? Do we have to say “Define an action on a Sprite or something?” How does it work?
Ross: Well, so, this is how it worked for me. This is run one for me. Disclaimer to everybody: I am not giving this as advice.
Arsalan: Of course.
Ross: The first thing that I wanted to do was to make sure that A, I knew the one thing that I wanted to do well. I didn’t want this to be a huge project where there were like a thousand things to do. I wanted to say “What do I want people to get out of this?” Without that, I didn’t feel like I had anywhere to start.
Ross: So, I thought “Okay, well, I want people to learn the notes of the staff. How am I going to do that?” Well, I looked at some other arcade games and just said “Okay, this looks like the one that I learned how to make in Unity that had a shooter where they came across and jumped over things.”
Ross: So, I was like “Okay, I kind of have an idea on how that works.” I sat down and all that I wanted to do first was put the staff down on the thing and get a tank to move across it. I created the tank and did a very simple script that moved it at a certain speed. Then, I had to figure out how to get it to explode. Well, I needed to shoot something at it. I created a laser and set them both up and they clashed when I started the program. Then I needed to learn how to get the lasers to spawn and the tanks as well. So, I made an array of locations on the screen on either side that was lined up.
Ross: Then, I learned how to set up a random spawn system for the tanks and then I made a bunch of buttons along the bottom that was tied to a fire method inside of a very simple laser script that I had. I got that to work and next I needed a points system. So, I just kind of wrote down the next things that this thing needed and figured it out. I know it’s probably a pretty rookie way to go about it, but I wasn’t sure how the process was going to work.
Ross: As I went along, I thought of a few solutions to some problems that I hadn’t seen in classes like getting the tanks to stop between random points by using a random variable where you have to compare where the random variable is when they spawn compared to their position on the page. I just worked through one problem at a time.
Ross: The game isn’t really set up to be completed. You just go until your score is as high as you can get it and it gets really hard as you go. It starts off really easy. So, yeah, that’s how I went about it. I don’t know if that’s the most specific answer that I can give, but …
Arsalan: No, that’s very good. So, what you’re describing is how most software is built. This is how we do it in big corporations and small companies. The only thing that you could’ve done to get a big picture of what you’re doing and have a little more process would be to create these cards with your tasks. We call them user stories. “I want the user to be able to do this.” So, then you say, “In order to create this story, I’m going to now create these tasks for myself or for somebody.”
Arsalan: We need to do these five things in order to achieve this big thing for the user because what’s really important is the user experience. So, you want the user to be able to fire a laser and destroy a tank. Then, in order to do that, you need to do these five different things and this one thing depends on that other thing. So, you have the idea of dependency.
Arsalan: So, then you know that the thing that is the most independent is what you work on first. So, you can have … we call them swim lanes. So, basically, you have lanes. You can set up three lanes. The first one could be the backlog for all the things that you need to do. Then, the second one would be the things that you are working on right now and the third one could be for the things that are done. So, you get an idea of what’s left and what’s going on. That’s the only thing that I can think of that you could’ve done if you wanted to be more organized.
Ross: That’s a good idea.
Arsalan: If you get more professional or you get more serious, then you could have a couple more of … a backlog would just be like a bucket of things. If you have an idea, you create it, you type it into the program, and then you throw it into this bucket. You don’t look at it. You just keep making it and keep throwing it. Then, in the first swim lane, you put the tasks that you think you should be doing next week or over the next two weeks. Or, you could use post-it notes, for instance. … Then, that’s what you have to work on and you have a good picture of what’s already done.
Arsalan: If you’re stuck somewhere and you don’t really know whether you should be doing this, you could have another lane for things that are on hold or something like that. So, this is called a combine system. This came out of the company, Toyota, that makes cars. You can also call it Just in time development.
Arsalan: So, you have this system and you can do it on a whiteboard. You could do it on a whiteboard with sticky notes. That’s fine, but there are lots of tools now. There are lots of websites that let you do that for free. There’s a website called Trello, for instance. That’s free, and there are several others. In any case, with good organization, you’ve got a good picture of what you’re doing. That’s the only thing. Otherwise, you did it perfectly.
Ross: Well, I appreciate that. The only thing that would lack on that much planning upfront is the fact that I don’t know what that kind of planning looks like.
Arsalan: Believe it or not, this is the least planned software system. Software development used to be super planned. You had to make a hundred-page document and then you had to follow it. That’s how a lot of development happened. That’s how a lot of us learned how to do programming in the corporate world.
Arsalan: What this is called is Agile development, where you’re not actually planning too much, but you just want to get a handle on where you are. The idea for doing this is not so that you can manage your work or …. so that you do this many features or eight hours of work. That’s not the goal.
Arsalan: The goal is making sure that you’re working on the right thing. You’re not working on fluff. You’re not doing busy work because you’ll see it in front of you. You’re working on this thing. On the left, you’ll have all the things that you need to get done this week. You wrote it yourself and that’s more important than this little thing that you’ve been working on over the last two days that doesn’t actually provide any value. So, that’s what that is for … just to see how you prioritize and stuff.
Arsalan: That’s what I like about this, and unfortunately, in the corporate world, we don’t follow that a lot. What needs to happen is that the person writing the code needs to be making those post-it notes. Ross, if you’re the one doing the work, then you should be the one writing the tasks. It’s not me, if I’m your manager telling you that you need to do these three things by next week. That is not Agile. Moving on.
Arsalan: I think that this has been really fascinating and we’ve gone on for almost 54 minutes. So, I think we should give our listeners a break and our viewers. This will hopefully be on YouTube at some point. … I want to thank you for letting us know about yourself, your story, and telling us a little about your app. What I would like to do is have you come back and talk about your app – maybe show us a little about the code and how it is done to inspire others. Maybe somebody would take inspiration from you and build something of their own. Or, maybe they collaborate with you. All of these things are possible in our world with social media and in our world where things are out in the open. We like to share. That’s wonderful. I’d also like to learn a little more about your musical journey and your music theory. I think that’s a fascinating subject especially for me. So, we’d like to have you back as long as you have the availability.
Arsalan: So, how can people get in touch with you?
Ross: The best place to find me is on YouTube. I post pretty regularly there. Also, my website today looks like a mess. I probably haven’t looked at it in a year because I’ve been building other people’s [websites], but it’s www.musicandguitarlessons.com.
Arsalan: That’s because you didn’t have the combine board. See, you forgot.
Ross: No, I do have one of those for SEO work, but this has been the creature in the closet that’s been poking its head out. So, within a day or so … I’m actually just wrapping up the new version and that’ll be up and looking a lot better – musicandguitarlessons.com and they can also check me out at Patreon/RossTheMusicTeacher.
Arsalan: Okay. So, what can they get out of Patreon? Do you give them something if they join?
Ross: Yeah, totally. I go in there and answer people’s questions and a lot of the questions in there end up as videos. I’ve got a couple of tiers that are limited in slots where you can get a half hour session a month with me or an hour session a month with me, depending on which tier you’re on. Patreon is a newer thing for me.
Ross: I’m still fleshing it out.
Arsalan: How is it working out?
Ross: I like it. I think it’s a good way to stay in touch with my audience. The mobile app helps me stay in touch.
Arsalan: Okay. All of the links that we talked about — to his websites as well as Patreon and all that, they will be in the show notes for this episode. You know how I was talking to my audience about the format – for the show notes, it’s always the same – it is mentoringdevelopers.com/episode, and then the number of the episode. … If you go there, you’ll see a transcript of this podcast, what we talked about, and it’ll have the show notes and anything else that Ross likes to share. … and his book. He’s written a book and it’s doing really well on Amazon.
Ross: Yeah, it’s one of the bigger sellers. It was on the bestseller list a few times. So, if you guys check out Music Theory in One Lesson, you can get the book, and also just Google music theory and my video will pop up.
Arsalan: Yes. It’s an excellent video. I recommend it. I think, Ross, that you’ve offered to send me the book so that I can go over it and share it with my audience and I can share my experience. I would absolutely love to learn from it.
Ross: Well, thanks for having me on. I look forward to the next time.
Arsalan: Alright. Thanks, Ross. Thanks, Everybody. See you later.
- Music and Guitar Lessons
- Ross the Music Teacher – YouTube
- Ross the Music Teacher – Patreon
- Music Theory in One Lesson
- Trello (Project Management)
Thanks for Listening!
If you found this episode useful, please go ahead and share it with your friends and family. You can also listen directly and give your feedback on the website.