• iTunes
  • Stitcher
  • facebook
  • twitter
  • Home
  • About
Mentoring Developers

Mentoring Developers

Helping software developers thrive

Episode 73 – These kid coders are cool!

November 28, 2019 By arsalan Leave a Comment

Timothy Amadi with his brothers Eugene and Daniel
https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode73-Emadi_Family.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | RSS

For parents of younger children, we understand how fleeting dreams and aspirations can be with our children. One minute they want to learn karate and then next minute they’re interested in basketball. One minute they want to be a teacher and the next a princess. One minute they want to be a policeman and the next a movie star.  

Dreams often change with children. We know this. It’s all part of their development and trying to figure themselves out. Yet, what if your young child approached you with persistence about wanting to learn to code? As interesting as that might sound, it would also be reasonable for you to have some initial reservations. After all, we’re talking about learning technology – complex technology, but what if that dream and plea continued to persist and through discovery, you learned that your young child had somehow developed a strong urge to code an app or a game or a website or a piece of software or … fill in the blank?  

What if your young child aspired to code? That’s exactly what happened with our next, young guest. Meet Timothy Amadi and his brothers, Eugene and Daniel. They are the coding trio of the Amadi family. Timothy started his journey at the young age of 9. He even went to a local coding boot camp to learn Ruby on Rails, JavaScript, and iOS … and Timothy codes without scaffolding! When he caught on with coding, he brought his brothers in and the trio collaborates together between project management, coding, and QR. Listen in today to episode 72 to hear the rest of the Amadi family’s coding adventures. Don’t miss this incredible episode! 

Timothy’s Bio:

Timothy Amadi is 10 years old and loves coding. He has built his own apps from the ground up including an eCommerce application, a blog application and even his very own version of Twitter. He also has an app that he is introducing to schools to help kids learn how to spell in a fun way using the computer, and he also participates in speaking engagements about coding, especially when it comes to inspiring other kids to learn to code as well.
 

Additionally, Timothy brought his older brothers into the fold of coding as well. Now, the trio collaborates on various coding projects and events and share in the excitement of their tech journey. The three boys have also authored nine books about coding that encourage other kids to try it out as well. Their mission is simple: “Everyone can code, including kids.” 

Episode Highlights and Show Notes:

Arsalan: Hi, Everyone. Welcome again to Mentoring Developers. I have a very special set of guests today. They are young kids who started programming when they were very little. Now, they are publishing multiple books on programming.  So, they have a consulting practice or some kind of business. Let’s talk to them about what this is all about. It’s super exciting. If you have little kids and you’re a parent or you’re a little kid yourself and in school and wondering how to get started with programming, or whether it’s something that kids can even do, then today’s episode is for you. 

Arsalan: Hi guys. How are you? Okay, so let’s get everyone’s name. I’m talking to Timothy right now. Timothy how old are you? 

Timothy: Eleven. 

Arsalan: Eleven. Okay. Can you guys get a little closer to the computer so that I can hear you better? 

Timothy: [inaudible]  

Arsalan: We’ll try to make do with what we can make do with. I couldn’t hear you very loudly, but that’s okay. So, that’s Timothy and who else do we have? 

Daniel: I’m Daniel. 

Arsalan: Hi, Daniel. How are you? 

Daniel: I’m 13 years old. 

Arsalan: You’re 13. Okay, and we have one more. 

Eugene: I’m Eugene Amadi and I’m 12. 

Arsalan: Eugene Amadi and you’re 12 years old. Wow. So, we have 11, 12, and 13. Is that right? 

Timothy: Yes. 

Arsalan: Wow. Okay. So, if you guys could speak a little louder so that we can hear you, that’d be better. Okay? If you can … if you can’t, then we’ll just look at your faces because that’s pretty awesome too. 

Arsalan: So, you guys were little kids when you decided one day to get into programming. How did you come to programming and then think about writing a book? Tell us a little about why you started and how you got here. 

Timothy: I began coding so that I could help my mom pay her bills. I tried making apps so that I could accomplish this task, but I didn’t know that I had to code to create an app. So, we went to school. There was this one time when we met with the student board and they told me that if you want to create an app, then you have to learn how to code. So, I told Mom that I wanted to code, but she didn’t believe me. So, she started buying books, but it still wasn’t enough. I looked all over the place for schools, but none of them had kids. Then we found one called Tech Talent South. It was our first code camp and lasted eight weeks. 

Timothy: So, on Day one, everyone was looking at us. We did ice breakers where we all introduced each other. 

Arsalan: How old were you at that time? 

Timothy: I was nine when that happened. 

Arsalan: Nine years old. Okay, and everybody else was probably in their twenties. 

Timothy: Yes, they were older. 

Arsalan: So, you were like “Oh, everybody is older” and they were like “What is this kid doing here?” How did you feel about that? Was that hard for you? 

Timothy: No. 

Arsalan: OK. So, tell me how your first day went in that code academy, that code school where you were the only kid and everybody else was a grown–up. On your first day, what did you do? 

Timothy: I answered a bunch of questions that they had. Mom sat with me during every class. The code camp was held one day per week. So, every day for eight weeks mom would sit with me during class. 

Arsalan: So, you started that and did that for eight weeks. What did you learn during those eight weeks? 

Timothy: I learned a lot. I coded many apps, they were mostly on the Ruby on Rails application. I built one without using scaffolds by using it on the Command line and trying to make a kind of class for Ruby. It was a quick way to make things easier when you started up the Rails app. I made an app complete without using it. 

Arsalan: Wow. That’s amazing, and you made it without using scaffolding? Scaffolding, for people who don’t know, is a way to quickly create code by starting a skeleton off of a program without having to start from scratch. It’s like having an empty canvas and then you have to fill in all the other pieces. So, a lot of people use scaffolding, but you said that you didn’t use scaffolding and you just basically wrote from scratch by using an empty document. You start by defining this class and defining this and defining that. Then, everything else you were able to do in Ruby on Rails, which is a web framework using a model view controller design principle. That is pretty advanced because there are lots of things that you would never have heard about, but you were able to do it. Did you find it hard to do Ruby on Rails in eight weeks? 

Timothy: Yes, when I started out. When I was making my own version of Twitter, I didn’t have time to lead the whole project, but then I re-did it and that’s why it’s successful on the Bug Zero website. 

Arsalan: Alright. So, you made your own version of Twitter. Twitter, for people who don’t know, is a website or an application that you can use to send small messages. You can use it to send it to the world or people can subscribe to it and certain people can listen to it. There’s a published subscriber model that can be pretty complicated. So, it’s not an easy project, but it’s a very interesting project. So, you were able to do that. Did you have to get a lot of help from people? How did you get across issues where you didn’t know how to do something or you were stuck or maybe had a bug? A bug is just a mistake, a defect, or something that didn’t work. How did you get around that? 

Timothy: I began by trying to figure out where it was going wrong. Then, I tried to debug it. If that didn’t work, then I would call on someone to help.  

Arsalan: Okay. Well, how did you know how to debug? 

Timothy: First off, sometimes we made a capitalization mistake or [it was a] syntax thing. Or, sometimes, it was just easy to figure out and I just fixed it. 

Arsalan: Did you read any books to better understand how to do advanced things in Ruby on Rails while you were the class for eight weeks. Did you have books to read or were you just going there, listening to lectures, and doing your projects? 

Timothy: The projects were all part of the courses in the boot camp and I did the projects. 

Arsalan: Okay. That’s wonderful. You were able to do certain projects on Ruby on Rails and now you’re learning about it. I have a kid who’s eight and she’s a little interested in programming, but not that interested. I know a lot of people because I teach kids programming as well sometimes in after-school programs and such, and very few kids have an actual interest in learning how to program, in my experience. Yet, maybe there are exceptional cases like you. So, what happens in a class is that they are bored – even if the class is meant for kids and we try to keep it interesting. We try to make it fun with games and interactive things. So, it’s not too boring because there are graphics and games and this and that. Yet, it is still hard for younger kids.  

Arsalan: You are nine years old and you are sitting in with adults who are not really interested in games and stuff. They’re basically trying to get a job. That’s why they are learning it. They’re not learning it just to have a skill. They want to get a job. So, they’re very serious. I’m assuming that the classes were probably not much fun. Yet, you really stuck with it. You didn’t give up. You weren’t bored. You weren’t like “I don’t want to do this. This is boring.” Why was it not boring for you? 

Timothy: It was exciting to see the end product and each time I achieved something, I felt accomplished. 

Arsalan: Yes, it feels great to do something. That’s wonderful that you’re able to do it. Are you a good student in general? 

Timothy: Yes. 

Arsalan: Are you a straight-A student? 

Timothy: Yes, often – pretty much. 

Arsalan: Okay. So, you get pretty good grades. So, you’re used to studying. Do you study … and do homework by yourself or do you need to have someone sit and make you do your homework? 

Timothy: No. 

Arsalan: Okay. So, you’re pretty independent. What I’m trying to understand is why you were able to do it when so many other kids are not able to do it. You’re independent. You like doing things yourself and you love to accomplish things. When you do homework, it feels great, right? You’ve finished it and when you go to school the next day you can show your teacher and the teacher is going to appreciate what you did. So, it feels good, right? 

Timothy: Yes. 

Arsalan: It feels good to be able to do it. It’s similar to programming. It’s dry and it’s not really that interesting sometimes. Sometimes it is and sometimes it’s not. Yet, when you do it, you feel great because when you have a problem, you solve it yourself. Sometimes you have help and that’s okay. Everybody needs help sometimes. 

Arsalan: So, now, eight weeks later did you feel like you were now a programmer or were you still feeling unsure of whether you could still do this? 

Timothy: I was still trying to find more with the program. So after … we went on to JavaScript class and after that, we had an iOS class, which on the last day Mom had a headache and we couldn’t go.  

Arsalan: Oh. Well, that happens. Mom had a headache and you couldn’t go, but you were still able to go through another eight weeks of JavaScript. That was eight weeks of JavaScript, was it?  

Timothy: Yes, that was JavaScript. 

Arsalan: That’s amazing. 

Timothy: It came before iOS. 

Arsalan: Then, after that, you did iOS and you took all of them except for the last class and that was because your mom was sick. That’s amazing. Wasn’t it hard for you? That is a lot. Most grownups don’t know those things. 

Timothy: It was very difficult though.  

Arsalan: Then why did you do it if it was so hard? You already knew Ruby on Rails. You already knew JavaScript. Why did you want to do iOS? 

Timothy: I just wanted to be able to show them that I could make a difference … that I had the potential to do great stuff. 

Arsalan: Okay, and you wanted to show this to whom? Your mother? Someone else? 

Timothy: Yes, mostly to my mom. 

Arsalan: That’s good. You wanted to show your mom “I can do this.” Your mom didn’t believe you in the beginning. Right? She didn’t think that you were serious about programming. What happened when you first told your mom that you wanted to do programming? 

Timothy: When I told my mom that I wanted to do programming? 

Arsalan: When you told her, you wanted to go to a program. In the pre-interview with my producer, you said that your mom didn’t actually take you very seriously at first. She didn’t know that you really wanted to do it. Then, something happened. You got some books. There was someone who helped you and you persisted and kept asking, and she finally found a place where you could go. You went to different places and they wouldn’t let you in, but then this particular program took you in. So, how was her reaction when you first talked to her about this? 

Timothy: I didn’t give up … I kept trying. If I wanted to make an app, I had to believe that I could do it. That’s when I first asked Mom. She slowly started seeing that I was serious about it. So, she bought me some books. I eventually made a game that 50 people across the world could play. 

Arsalan: You made a game that 50 people could play … together? At the same time? Is that what you mean?  

Timothy: Yes. 

Arsalan: How did you make that game? This was before you went to that code school, right? Was it before or after? 

Timothy: Before. 

Arsalan: You already made a game? Which programming language did you use to make that game with? 

Timothy: Lua 

Arsalan: Lua? Hmm. How did you learn Lua? 

Timothy: It was really simple. I just began a code to show what each thing did … function. 

Arsalan: Wow. How old were you at that time? Nine? When you did the Lua program? 

Timothy: Yes, I was nine. 

Arsalan: Wow. That is impressive and you’re like “I can do this, Mom, and look, I just made this program.” So, 50 people across the world can play this game simultaneously. It doesn’t matter what it was. The point is that you proved yourself and you really wanted to do it and that’s really amazing. A lot of kids can learn from this and say “If Timothy can do it, then maybe I can do it. It’s fun!” So, tell me what is so amazing about programming? Why do you like it so much? 

Timothy: I want to be able to make a difference in the world and show that kids are capable of doing it. 

Arsalan: Okay. You want to make a difference in the world. You want to prove that kids are capable of doing great things. So, do you think that you can make a difference by doing programming, that you can solve some problems using programming? 

Timothy: Yes. 

Arsalan: Okay. Yes, because when there’s a problem, software is often a way to go. Software is everywhere. You were trying to help your mother with something and that was why you wanted to do programming. Were you able to do that? Were you able to make that app that you wanted to make for your mom? 

Timothy: Yes. 

Arsalan: You did? Can you tell us a little about that app? 

Timothy: What app? 

Arsalan: You said that you wanted to do programming because you wanted to make something for your mother. That’s how you started. Do you remember that? 

Timothy: Yes. 

Arsalan: Were you able to make it finally? Sometimes that doesn’t work. You started with “Oh, I’m going to make an app for my mom to help her, but then, you know, you forgot. That’s okay. 

Timothy: I’m still trying to achieve that goal. 

Arsalan: Okay. So, that’s still a goal. That’s wonderful. We have to achieve our goals one little thing at a time. Let me tell you a little about myself. When I wanted to be a programmer, I was a kid as well. When I wanted to do programming, I just wanted to make games – video games that I could play. That’s what I wanted to do, but I never got to do it. I never got to actually realize that original dream because I discovered other things that I really wanted to do. So, it’s totally okay if you make a little goal and then later in life if you realize that maybe there’s something even better. You can change your goals and pursue that. It gives you direction. You know where you can go. You’re good at programming. You’re good at software and computers and technology and you’ll discover great things as you go. Companies and other people will value that. 

Arsalan: So, fast-forward. You were doing programming. You were learning iOS development, JavaScript, and Ruby on Rails. You’ve already done Lua. What happened after that? 

Timothy: I wanted to create a company for the apps so I could bring the profits to my mom and I could help her. 

Arsalan: Okay. So, you figured that now you know how to make apps. Maybe you could make them for other people who need these apps and they’ll pay you money and you can then help your mom. It’s great that you were thinking of bringing in money. That’s wonderful. So, you just decided to start a company. So, how did you start a company? Did you just register a website? You made a pretty good website. I went to your website. It looks very nice – BugZero.codes. So, you said “Now, I’m open for business” and anybody who wants to make an iOS app, they can ask you. Is that right? 

Timothy: Actually, it got renamed. It was originally just BugZero, but Mom decided to add ‘.codes’ to it because that was our URL. So, it became BugZero.codes.  

Arsalan: Okay. So, how did you find a customer? It’s hard for people. I can tell you from myself [my perspective] because I do consulting. So, how do I get someone to pay me? It’s hard because you have to find the right people and then you have to convince them that you are the right person. So, you were able to find somebody to pay you to do some work for them. Is that right? 

Timothy: No. 

Arsalan: Oh. You’re still working on that? 

Timothy: No. 

Arsalan: That’s what you want to do, right? You want to … so, if I wanted to hire somebody to do an app for me, an iOS, could I hire you? Are you available for that? 

Daniel: Actually – I’m Daniely, by the way… 

Arsalan: Hi. 

Daniel: BugZero is actually a non-profit. 

Arsalan: Okay. So, what does it do? What does BugZero do? 

Daniel:  We’re pretty much a platform and we want to spread around coding and teaching kids how to code. 

Arsalan: Ah. Okay. So, you’re not making apps for other people. What you’re doing is … you want to inspire other children to learn programming because programming is a good skill. It’s not necessarily to make money because children are not really working at jobs and making money. What we’re saying is that programming is a fundamental skill just like math. People do math and they can also do programming. It’s one other thing and it’s very useful. So, can you tell me why you think kids should learn programming? 

Eugene: We believe in teaching kids programming because coding is the future and everything around us has coding pretty much in it. We believe that every profession could use some form of coding or technology. If kids learn how to code and use technology, they’ll really influence and change jobs and maybe change the future. 

Arsalan: Okay, so programming is a very important skill and will give you the tools so that you can get jobs. That’s good. Also, programming has the other benefit that it expands your mind. It makes you smarter because it makes you think in different ways. Your brain has these neurons and it makes certain connections and you actually become smarter by learning a programming language.  

Arsalan: Yet, you also become smarter by learning anything new like a new language. If you wanted to learn French or Arabic or Chinese or any kind of a different language from your native language. You then build those connections in your brain and you become smarter. That’s just what it is. So, if you ask a kid who knows several languages, you will be able to exercise more of your brain. Similarly, if you know programming, that will make you smarter and will allow your brain to expand a little bit. So, I agree with that. I think this is pretty useful. 

Arsalan: Now, what happened after that? At some point in time, Timothy got you guys involved. Timothy, you got your brothers involved in this programming thing. How did that happen? 

Timothy: We first started to work together on apps. Eugene, here, is the quality assurance person. Daniel does the project management, and I’m the one who makes the apps. Eugene makes sure there are no errors or bugs in the apps and if there are, then I am responsible for fixing them. 

Arsalan: Okay, so you have divided the labor. You do the programming. Eugene does the QA or testing to make sure it works and Daniel is the one who manages the projects as the project manager to make sure that everything is done properly. Is that how you divide it? 

Timothy: Yes. 

Arsalan: Okay. So, why did they decide that they wanted to do those jobs and why did they not do programming? They’re not programming. They’re part of your software development enterprise. In software development, there’s not just programming. It’s not just coding. There are lots of different roles. There’s a role for somebody to make sure that what your building is going to be what the customer or the world needs. There’s somebody who is going to make sure that what is being built is proper. So, there’s a tester role and there’s a coding role. Many times, a programmer wears all these hats in small organizations and they do all of it. So, why did you decide to divide the work into these different hats where one person is doing one thing and the other person is doing the other thing. Why did you do that? 

Timothy: I knew that it’d be too much of a task for one person doing all the work like thinking up the project and making sure the project has no bugs. It’s all too much for one person. So, my brothers took some of the lead on projects with each brother being responsible for one aspect of one program. They are to think up the projects. I am to actually code the projects and Eugene’s last task is to make sure that they always work right. 

Arsalan: Okay. So, tell me a little about your company, BugZero. Is that a registered company? Did you register it as a company? 

Timothy: We’re still working on that. 

Arsalan: Okay. That’s totally fine. You can get an LLC, but obviously, you need a grownup to do that. I don’t know that as a child you could do it. A limited liability company is very easy to do. You just fill out a form and you’ll have a company if you really wanted to, but you don’t have to. You can just be yourself. You can be a proprietor as well – a sole proprietor and just have a website and that’s totally fine, too. It matters if you are going to collect money. If you’re doing projects to collect money and you’re doing projects for other people who are going to use it, then it’s a good idea to create a company. We can talk about that. If you want to know how to do that, I can talk to you about this. 

Arsalan: This has only been going on for about two years. In the meantime, you’ve learned all these different languages and then you and … all of the kids are in the process of publishing nine different books about programming. Is that right? 

Timothy: Yes. 

Arsalan: Nine different books. Okay, so that is incredible because writing a book is not a small feat. You need to have authority. You need to know what you are saying. You need to be able to say it. You need someone to publish it. So, there are lots of things involved. So, do you think that’s what you want to do? You just want to write a lot of books and that’s kind of your business model? When you sell the books, then you can bring in some revenue, like you said, to help your mom and so on and just make some money for the company. Is that kind of what you’re thinking? 

Timothy: No.  

Arsalan: Okay. So, tell me a little about these books. What is the first book that you decided to write? 

Timothy: A picture book about how everyone can code, including kids. 

Arsalan: Say that again. What’s the name of that book? 

Timothy: “Everyone Can Code, Including Kids” 

Arsalan: Ah, “Everyone Can Code, Including Kids.” That would be the picture book and how old would the kids be who should read this book? 

Timothy: Ages seven to 11. 

Arsalan: Ages seven to 11. Okay. It’s a picture book for kids ages seven to 11 and just letting people know that anybody can code. Why did you think about writing that book? 

Timothy: We wanted to show that everyone, no matter their ages, can code. 

Arsalan: Okay. So, tell me a little about this. What’s in that book? 

Timothy: It shows examples of JavaScript and different people coding … a police officer, a firefighter, a teacher, a chef … 

Arsalan: Okay. Did you do your own artwork or did you have someone else do it? 

Timothy: No. Someone else did it. 

Arsalan: So, did you hire someone to do the artwork or was it a friend? 

Timothy: It was the person who helped set up the Bug Zero page. 

Arsalan: Ah, okay. So, there is someone who designed the Bug Zero page, which is a website that you made using WordPress and that designer also helped with the artwork for your book. That’s wonderful. So, that’s a book that you’re still writing? Or, did you already write it? 

Timothy: We already wrote it. 

Arsalan: Okay. So, it’s already finished. It’s not published yet, though, is that right? 

Timothy: Oh, no. It is published. Wait, no it’s not. 

Arsalan: Oh, it’s not published yet. 

Timothy: No, not yet. 

Arsalan: So, if I wanted to buy that book, what do I have to do? 

Daniel: Excuse me. What did you say? 

Arsalan: If I wanted to get that book or anyone who is listening to this podcast right now, how would they get this book? Will they have to wait until you’re published? 

Eugene: Uh, yeah. …. 

Arsalan: Are you self-publishing it? Are you publishing it yourself or do you have a publisher? 

Eugene: We have a publisher. 

Arsalan: You have a publisher and it’s in the process of publishing. Okay, and my producer who did the pre-interview, she said that you have some kind of agreement in different countries. So, tell me where this would be published. Which countries? 

Eugene: Well, we want this book to be published in places like Haiti and … Well, first, we want it to be published here in America. Then, we want to spread it out to other places like Haiti, Ghana, and libraries in mostly third-world countries because we want to improve people’s lives there. 

Timothy: …and Liberia. 

Eugene: …and Liberia. Places like those. 

Arsalan: Okay, so, countries in Africa and certain other countries that are third-world countries where there’s a lot of poverty and people are struggling and you think that if the kids over there learn programming, then it would give them the tools to maybe get some jobs or make some money by making apps or websites for other people. I think that’s the social thing that you want to do. You want to help those people to have the means to support themselves. 

Daniel: Yep. 

Arsalan: And you also want to publish it in America. Well, that’s a big task and I wish you good luck. When it is published, you’ll have to come back on this show and tell us about it so that we can learn a little more about the book and our audience can, perhaps, go and pick up a copy. So, that’s wonderful. We’ll talk about this when you publish. 

Arsalan: So, then you decided to write other books. So, what was the second book? 

Daniel: So, the second book was my book and It’s called “Learn the Terms” and it’s a teen edition. It [helps] teenagers to learn the different terms in coding. So, when they begin coding, they aren’t saying things like “I don’t understand this. What is that? What does that mean?” They will already have a guide. 

Arsalan: Wow. I never would’ve thought about a book like that. I think that a book like that could be really useful, especially for people who may be feeling a little shy or maybe they don’t know and don’t want to ask a dumb question. 

Daniel: Right. 

Arsalan: So, you want to help those people and I think that adults could probably use that book too. So, that’s pretty useful because whoever is starting out, if they don’t have any background, how would they know? So, give some examples of the terms that you are explaining in that book. 

Daniel: We define what a bug is – a defect or a problem that stops the program from doing what it’s supposed to do. We define what functions are – like how your code uses functions and what they do. We also define scaffolding, like you said, which is like a skeleton or a preset to code something. It’s things like that and terminal and different things like that. 

Arsalan: Okay. So, you didn’t go to code school or any kind of code academy, did you? 

Daniel: I had a website resource list … 

Arsalan: Okay. How did you learn all these terms? Did Timothy tell you? 

Daniel: Yes. Some of them he told me. He has a coding mentor who comes to our house and they teach and work on coding. So, I’m there and I listen in to what they’re doing and I learn some of the things that they’re doing. 

Arsalan: Okay. So, let’s talk about this mentor. So, Timothy, you have a mentor that comes to your house every week, once a week? 

Timothy: Once on Saturdays. 

Arsalan: Once on Saturdays – and spends maybe one hour with you? 

Timothy: Yes. 

Arsalan: Okay. So, why did you want to have a mentor? 

Timothy: To help me improve my knowledge of coding. 

Arsalan: Okay and was it your idea or was it your mom’s idea? 

Timothy: It was my mom’s idea. 

Arsalan: So, your mom said: “You need someone to help you.” This is perfect because Mom had some background in programming, too, because she did computer science back in Nigeria. That was Nigeria, right? Did I get that right? 

Eugenia (Mom): Yes, you’ve got that right. 

Arsalan: Okay and you already did your computer science and math. So, you already know a little about programming and you were able to guide him. That’s perfect, but even if you didn’t, you know about having a mentor – this podcast is about mentorship, mainly. We need mentors. We need people to help. We can help each other, especially people who have been doing this for a while. We can make it easy for new people. So, that’s wonderful. You said that if he had a mentor, that would be good and he could ask questions. What does the mentor do? Do you have a curriculum that you follow or do you just ask any question? 

Eugenia: They meet on Saturdays and get to do fun projects. They do different exercises and he’s been able to get his brothers up to speed on the coding adventure. 

Arsalan: Okay and is there any particular programming language or a thing that they do like making websites or just whatever the kids want to do? 

Eugenia: Right now, BugZero.codes is bringing kids to tech. That’s what they say they are doing – bringing kids into technology. So, they work on the curriculum that they use for their workshop. They have a workshop once a month, where they teach kids how to code. So, the boys prepare for that and he kind of looks at what they are doing and [says] “Do we do this” or “I think we should go this way. What do you think we should do?” They get to talk about it. 

Arsalan: Okay. How did you find that mentor? That’s the hardest thing because if I wanted to find a mentor for my child, I think that I would have a very hard time. So, how did you find one? 

Eugenia: He actually taught Timothy in his technology school. Recently, a man named Mr. Roys reached out to Timothy, too, on LinkedIn. He wants to teach him AI. So, they actually started on that today – learning AI. 

Arsalan: Hmm. So, you have two mentors. 

Eugenia: Yes. 

Arsalan: Are you paying them or is that pro bono? 

Eugenia: One is pro bono and the other is a little tip. It’s nothing much. The whole idea is that they want to teach him. They want him to learn. They always say it is exciting, you know, to get him up to speed. They can’t believe that he is able to do the things that he does. 

Arsalan: [Laughter] Yes, I can’t believe it either. It’s quite incredible because most children – they want to do other things. They want to watch T.V. or maybe play with their toys, but your child wants to create things. You must be a very proud mother. 

Eugenia: Am I proud? No, but I am thankful. [Laughter]. He reads a lot of books. 

Arsalan: Okay. 

Eugenia: In a week, he could read as much as 20 books – in a week, I’m telling you – seven days. He sleeps with books under his pillow. He wakes up in the morning and the first thing he does is grab a book. 

Arsalan: Well that’s wonderful. What kind of books do you like to read, Timothy? 

Timothy: Mostly chapter books and sci-fi fiction. 

Arsalan: Okay. Not programming books. These are fun books. 

Timothy: We do have programming books, but I’ve already read them all. 

Eugene: He’s read them all. 

Arsalan: [Laughing]. You’ve read all the programming books. 

Timothy: Yes. 

Eugenia: …he’s read them all. 

Arsalan: Okay and what do you do? Do you just read them like a novel like you’re turning pages and reading code? Or do you say “Let me type it in and see if it works,” but that takes a long time. What do you do? 

Timothy: So, usually, I just do the pages – flip the pages and look at examples. Then, they often have results. I looked up what the code results in. 

Arsalan: Well, I think that you are a very special child and we need to explore a little more about all of the wonderful things that you know and are doing. We need to learn a little more about BugZero.codes, your projects, your website, what’s going on there, and your mentorship. This episode has been wonderful. It’s late where you are and where I am and I know that you have school tomorrow. So, I don’t want to keep you today for very long. Would you like to come back and talk a little more about all of the things that you guys are doing? 

Timothy: Yes. 

Arsalan: Okay. We would love to have you and thank you, Mom, for letting us talk to your kids. To your mom, I just want to ask if she has any messages for parents who have children and who would like their kids to maybe learn a little bit of programming or at least try a dabble in it. Is there any advice that you could give them? 

Eugenia: Every kid can code if we give them the chance. Sometimes we just don’t believe that they can do it. I didn’t believe that Timothy could do it. I didn’t even believe that his brothers could coincide, but they are. They are doing it. If we would just give them a chance, I think they would code. 

Arsalan: Wow. I think that’s a good message.  

Eugenia: Everyone, not anybody. It’s collectively everyone can code, including kids. 

Arsalan: Including kids – and adults, if they wanted to. 

Eugenia: Yes, if they want to. The whole idea … we need to take this fear that is attached to coding and programming … people don’t even wait until they get into it before they say “No, I can’t do this” or “No, I know my child can’t do this.” Some people think that the kids who do it are special. No. That’s why they are taking their messages to schools, libraries, and the community – to say that everyone can code. Every child can. 

Arsalan: That’s wonderful. You’re taking your message and basically talking to as many kids as possible and going to libraries. He’s getting ready for his first speaking engagement, is that right? 

Eugenia: Oh, no. He’s already done several in the last year. This year is just beginning. So, we’re going to be signing up some. 

Arsalan: Wow. What kind of speaking engagements has he done so far? 

Eugenia: He’s gone to different schools within the community. He’s gone to coding clubs within the community and he’s gone the libraries in the community. 

Arsalan: Okay. 

Eugenia: And, he’s gone to Meetup events to talk to adults and how they can increase the tech community because we need more people in technology. We need to bring more people on board. 

Arsalan: Yeah, absolutely. 

Eugenia: Every profession is waiting for the tech community. So, we need to grow the tech community. So, he reaches out to them, too, to tell them that you can get somebody on board. You can mentor somebody. You can pull somebody. You can encourage somebody. You can inspire curiosity in other people. Let’s not just keep our knowledge and our skills to ourselves. We need to pass it on. Pass it on the next person. Pass it on to your child. Pass it on to your neighbor. Pass it on to a friend’s friend. If only we could just make a little time. 

Arsalan: That’s a wonderful message. Yeah, let’s not hoard our knowledge. Let’s spread it, especially when it comes to something that is so exciting and amazing that even children are excited. Children are able to do amazing things with it. They feel accomplished. They feel great and they become smarter. Then, when they grow up, this is a good career for them, if they wanted to. You don’t have to become a professional software developer, but you could. That’s wonderful. 

Eugenia: Yeah. I was actually surprised. I was at a speaking engagement that he went for. There were about 300 developers and when he asked the question “Is there anyone here who is teaching a kid how to code,” there were none. I said “Whoa, really? None.” … Then, he came up with the acronym Mr. Ted – Mentor A Kid. So, replicate your problem-solving skill. T – Teach a kid how to code. E – Encourage a kid. D – Do it with all of your heart. If we do that, we will grow the tech community. 

Arsalan: Yeah, I think that’s a wonderful message. So, Timothy, is there anything else that you would like to say before we say goodnight for now? 

Timothy: No. Not necessarily. 

Arsalan: Okay. Your mom said it for both of you. You are very articulate. I am very glad to have finally met you guys and I think we would love to have you back. We’d love to learn a little more about all of your kids and all the things that you like to do. Let’s hope that we can keep this conversation going and let’s hope that anybody who is listening to this right now is encouraged and they get excited and maybe they follow in your footsteps. Then, maybe they can pick up one of your books to get that inspiration. When you publish it, you’ll have to come back so we can share it with the world. 

Eugene: Absolutely. 

Arsalan: Alright, kids. Everybody, I’m saying goodbye for right now, but we’ll see you later. Bye. 

Important Links

  • Tech Talent South 
  • Bug Zero Codes 

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

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.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode73-Emadi_Family.mp3

Episode 71 – Ross The Music Teacher Is Now A Coder?

February 19, 2019 By arsalan Leave a Comment

Ross the Music Guy
https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode71-Ross_The_Music_Teacher.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | RSS

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’ Bio:

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?  

Ross: Yes. 

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. 

Ross: Totally. 

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.” 

Ross: Totally. 

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. 

Ross: Totally. 

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. 

Ross: Yep. 

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. 

Ross: [Laughing] 

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.”  

Ross: Right. 

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. 

Arsalan: Okay. 

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. 

Ross: Bingo. 

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. 

Ross: Yeah. 

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 … 

Ross: Cool. 

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. 

Ross: Totally. 

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? 

Ross: Yes. 

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?  

Ross: No. 

Arsalan: So, you listen to it and say this is a note? 

Ross: No. It trains the clefs. 

Arsalan: Ah. 

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. 

Arsalan: Interesting. 

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. 

Ross: Totally. 

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. 

Ross: Yes. 

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. 

Arsalan: Okay. 

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. 

Important Links

  • 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!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

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.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode71-Ross_The_Music_Teacher.mp3

Episode 70 – How to start when you are clueless about technologies?

February 5, 2019 By arsalan Leave a Comment

Richard Kronick with Arsalan Ahmed and Mentoring Developers
https://media.blubrry.com/mentoringdevelopers/p/content.blubrry.com/mentoringdevelopers/MD-episode70-Coaching_For_Richard_Kronick.mp3

Podcast: Play in new window | Download

Subscribe: Apple Podcasts | RSS

Special guest, Richard Kronick, the guy who learned that sometimes you’ve got to get a little lost to learn something new – around China, anyway, is back again. This time, our interview will focus on a job counseling session as Richard dives deeper into his newbie coding journey. Show host, Arsalan Ahmed offers up some valuable advice on the importance of setting career goals and realistic milestones to achieve those goals to help Richard on his journey. 

Listen in to this valuable session to hear more about Richard’s journey, challenges, and the advice that Arsalan dishes out. 

Don’t forget to say hello to Richard on Twitter!

Richard’s Bio:

Richard is the co-founder and CEO of Kronick Enterprises, a passive income website development company. 70% of all the websites the company has produced currently receive thousands of daily visitors via organic search results. He has experience with HTML, CSS, JavaScript, and WordPress. 

In August of 2018, Richard decided to become a software engineer and is working towards this goal. He is enrolled in a .NET class where he has been learning C#, ASP.NET MVC, Entity Framework, SQL Server and Object-Oriented Programming concepts. 

Previously, Richard spent 13 years as both an English and Chinese instructor, having learned Chinese while living in China. He has taught at both the high school and university level. He is also a life-long learner and student. 

Richard believes in a life of service – that the great goal of life is to be useful and that achievement without fulfillment is empty – and a life of continuous growth. He hopes to join an organization where he can be a part of a team that contributes to the organization’s success and serves its clients and customers. 

Episode Highlights and Show Notes:

Arsalan: Hi, Richard, how are you?

Richard: Just fine. How are you, Arsalan?

Arsalan: Pretty good. Alright, everybody. This is another episode of Mentoring Developers. I’m talking to Richard about his career choices. We’re doing a little bit of counseling here. He really wants to do well in his fledgling software development career. He’s really passionate, but he has so many questions as I’m sure that people who are listening and watching right now will have questions as well. I love to help and I’d love to help you. Richard reached out to me and I’m here to see what we can do to help him.

Arsalan: So, how are you feeling this week?

Richard: I’m alright. I have no complaints. As time goes by, things become clearer and clearer, which is always a nice feeling.

Arsalan: So, what were your impressions when we had the first session last time when you had to force yourself to think about this in a different way. A couple of weeks have passed since then. So, what happened in the meantime?

Richard: Over the last few weeks, the biggest result of our chat was that it directed my attention more to thinking about deciding when I wanted certain things to be done. When you spoke to me about what interests I had and what area of web development might be most suitable to me, it really helped focus my thoughts in a direction, which resulted in a written plan of attack, really. I know that we planned this meeting to lay that all out, but it feels like it’s all sort of falling into place just from being forced to really take a serious look at it.

Arsalan: So, it’s always a good idea to take a step back if you’re in the middle of something. If you’re in the middle of a forest, you can’t really see the big picture. You don’t know where, in the scheme of things, you are. It’s the same for everybody. It happens to me a lot. When I’m in the middle of something, I forget why I’m here and where I’m going.

Arsalan: It’s always important to know where you’re going. It’s like a lighthouse back in the day … I think they still have lighthouses … so, if you on a ship and don’t know which way to go, you have this lighthouse and if you follow that, you’re going to get there, but along the way, you’re going to have challenges. You’re going to have minor goals and milestones. It’s common sense, but only seems to be common sense to you once someone points it out and then you’re like “Oh yeah, of course. Of course, I should have goals … and mile markers … and milestones.”

Arsalan: It makes sense, but it’s hard to do that when you’re in the middle of it because you’re stressed out. You have life issues. Some people have health issues. Some people have technical problems. It happens to me all the time.

Arsalan: When I have a big plan, about how to, for instance, build my own software product. So, I think about all the technologies that I could use and I pick the technologies that are up-and-coming or the ones that I think are most appropriate or I think I should know. Most of the time, this is the first time I have encountered that. I have read about that, but I have not really done it.

Arsalan: So, I go all in and say “Let’s do it.” I’m thinking that maybe I’ll spend a couple of hours and get some features or something and then I install it and then I’m getting stuck because something doesn’t work. Something fundamental doesn’t work. It can’t do Hello World because maybe the server isn’t configured properly or maybe there’s a library that’s missing.

Arsalan: So, you go on these forums and you go on Google and try to figure out how to set it up and you spend hours and hours doing that only to forget why you’re doing it in the first place and that leads to frustration. So, a good friend will tell you to take a step back, get up from where you are if you’re sitting, take a nap, lie down, go for a walk. Do whatever you need to do to take a step back and get out of that situation. Then, visualize where you want to be.

Arsalan: You can close your eyes and meditate. That’s fine. I like to have a piece of paper or a whiteboard where I’m just drawing random things I’m thinking about. I start with bubbles and boxes and where I want to go. It clarifies things so much. So, then, you could compartmentalize what you need to do at that particular moment. Sometimes, maybe what you’re trying to do is not really that important.

Arsalan: In my case, if I want to build a product, if my goal is to build a product, technology is not that critical – the choice of technology. I could use framework A, framework B, framework C. Framework C is the up-and-coming – the hotshot. It’s what’s going to be the dazzling stuff. I can show it around and say “Look what I can do with this new technology that everybody is crazy about,” but I’m not good at it. So, now I have two challenges: I have to be good at it and I have to do a product.

Arsalan: So, I’ve created a very large problem for myself. Yet, if I took a step back and said “My goal is not with this exercise was not to learn this new technology. That was a fringe benefit, but it was not the goal. The goal was to build a product. So, if I give myself two hours, what is the best way to do it?” Maybe framework A might be the best technology because I’ve been working with it for several years and I know how to set it up and am not going to get bogged down in just the plumbing. I’m not going to get bogged down because I know it; I do it all the time. That’s something that a friend or a mentor will tell you.

Arsalan: I will tell you again. If you’re in this situation, listen to this podcast again and hear me say that. Take a step back. Find your goal. Once you have the goal, then remove all the fluff and then I think things will be easier. Alright. So, enough of all of that. So, what we need to do is to find a path for you. Before you go to the path, a lot of times what I see is people trying to figure out what they need to do today. They wonder what kind of college they should go to or they wonder what kind of books they should read and they go into that ‘what kind of framework or technology I should invest my time in.’ They go into that, but they don’t have a goal yet. So, don’t do that. Let’s make a goal.

Arsalan: I think we settled on web development for you, right? That’s what you’re passionate about. That’s what you want to do and it’s important to be passionate about programming. In programming, it’s important to be very passionate about your choice of technologies, or … Let’s take a step back. I shouldn’t use the word ‘technologies’ here. You’re passionate about your goal. If you want to be a doctor, if you want to be a general physician, then you need to know that you want to be a physician who works in your own private practice and so on. You need to know exactly which place you want to get to. Then, walk back and consider for that type of job you should go to this type of medical school and so on and then you go from there.

Arsalan: In your case, I should not have used the word ‘technology’. I get into that trap myself. I shouldn’t have said that. What you need to do is to figure out “Okay, I want to be a web developer who can build modern web apps that are responsive.” Responsive apps are simply apps that look differently based on the type of screen that you run them on because that has a certain application. If you’re on a tablet or a phone or if you’re on a desktop computer, it will just scale and resize itself and shift things around to make them look nice. That’s a certain ethos. I think that’s important to know that this is where you want to go.

Arsalan: If you wanted to do that and to build a modern app that is a single page app that is an idea … I mean, you don’t have to say that you’re only going to do single page apps, but I think you should focus when you’re making goals. Then, you can deviate a little from it here and there, but you should focus. I think that if you wanted to do that, then that is one approach.

Arsalan: That is almost a different type of goal than to say a developer, who builds web applications for large companies, for enterprises, for business needs – critical business needs. In a lot of cases, when you have a large business, or when you have an important business …

Arsalan: Maybe you have a factory. It’s not a large business, but it’s critical that what you do works and only the people who are working inside the factory will see it. That’s a different goal, in my opinion. Not only the product that you’re going to build for them will be different – fundamentally different than what you would build for something like a Facebook. It would be a completely different animal. Not only will it be different, but the process to make it will also be different. The process to change it will be different. Your daily activities, what you do on a day-to-day basis when you get into work, will be different. What you do on the weekends will be different. Everything will change based on your goal.

Arsalan: There are other types of applications. There are different extremes. There are very public web technologies, web services, or websites that are in the public domain. Everybody knows it. So, there’s that type of work. Then, there’s enterprise type of work or more closed type of work, which is essentially internal applications that are critical for business, but they’re only going to be used by that business. Then, there’s also something in the middle, which is a little of this and a little of that and a lot of times governments — state governments, county governments, federal governments — have that. They may have certain needs or certain websites or certain software that other people can interact with a little bit, but a little bit of it is internal. It’s important, but it goes at a different pace.

Arsalan: So, if you can imagine yourself working five years at a company that is making public-facing websites and that’s what you’re primarily doing, and then someone is working for the state of Nebraska in their IT department, or someone is working for Berkshire Hathaway or whatever … I know, I’m dropping names … I know, these are all Omaha companies. So, these are some of the places where maybe they are making some investments and creating and pulling reports for all the different kinds of stock activity and whatever else they do. Those are not public. Those are internal, but they’re critical. Your lifestyle in each of these positions will be different and that’s why I harp on about goals.

Arsalan: What you need to know as a family man because you have a family, you have to decide on what kind of outcome you want for yourself. Right? That’s a hard question because obviously, you don’t know since you haven’t experienced it, but I can tell you from my experience.

Arsalan: If you wanted a 9 a.m. to 5 p.m. job, that is steady and less about programming and more about the structure and environment and you just go there, do whatever needs to be done – you may or may not be coding all the time, you may be doing something you like or something you don’t because that’s not your focus – your focus is to get a good job that has good health benefits and good vacation time and that you’re not going to get easily fired from.

Arsalan: It’s something that you can count on, depend on. That’s a very attractive option for some people. That would be something within the government or maybe at a university. Those are the types of jobs that you could get. I’m not going to knock off that. That’s great. The problem with that is that they’re not going to pay so much, but for some people, that’s not an issue. So, that’s one.

Arsalan: The other is you could work on proprietary technologies or these internal applications. I’ve seen companies … for instance, there was a factory. It was a very small company – maybe a few dozen people. They have a computer that runs the factory floor. They need to build something that can keep track of what’s coming and what’s going and it’s critical because if it breaks, they’re going to lose money because a factory needs to keep going 24/7 and breakage in the production line costs them a lot of money. So, because it is a critical piece, they’re willing to pay a lot of money. So, it would be a lot more than a government or university job, but the technologies are going to be very, very different. You probably would not be very happy with the technologies, but that’s been my experience.

Arsalan: Every time I’ve been to a place and I’m new to a city and I’m thinking about what kinds of jobs I could get. I’ve had those interviews where I’d go in and I know this is what’s happening, but they need me to build a Windows client application – essentially, a native Windows application, which is something that I could do, but then I would not be doing web development because they don’t need web developers.

Arsalan: They don’t want it. They want a … system where an application that you install on a computer does not need to connect to the internet. There is no server. There are no client servers. It’s a self-contained unit. It doesn’t need to contact others outside of its little world. So, that’s very good. The pay is decent. The work hours … and again you have these two issues … it will be like a 9 a.m. to 5 p.m. job.

Arsalan: I shouldn’t really call it 9 to 5 because in factory situations or unlike other types of work environments, they may have unorthodox work hours. It’s possible that they work different, weird hours, but the hours will be fixed for sure unless they make you do overtime, which can happen anywhere. Normally, though, you would just be working fixed hours – whatever those hours are. Those types of jobs are very important. They’re critical, which means that if something goes wrong, and it could be the middle of the night, you are on the hook for that. That’s a pretty common thing, by the way.

Arsalan: If you’re listening … I’m thinking about the listeners who want to be developers … keep this in mind. If you’re working on an application, a piece of software that is in production, which means that people are actively using it, and it’s a very important piece of software where peoples’ lives depend on it or money is being lost while something is wrong, then you’re probably going to have to support it by being on-call a lot. Sometimes that means getting a call in the middle of the night and then getting on the computer and trying to fix it. In extreme cases, it could mean driving to work in the middle of the night to try to fix it. Sometimes, you can’t avoid it. So, you have to think about this.

Arsalan: The third type of job is a different kind of company that is maybe a startup company or maybe a different type of company that is doing work that they’re trying to sell to consumers or maybe to other businesses, but essentially to the general public. There are two problems here. For instance, you may get a job at Yahoo and say “Well, Yahoo is a public-facing website.” You’ll find that a vast majority of programming jobs there are not public-facing. Very few people actually work on the Yahoo or the Facebook website because it’s not just a website. It seems simpler to an outsider.

Arsalan: If I came from the Amazon jungle and I knew some programming and somebody showed me the Google homepage, I’d be like “Well, that’s easy. That’s just one text box and one button and you click a button and it does a search. I can do that in a weekend. It seems easy.” The reality is that Google website is a behemoth. It’s a monster. It probably takes hundreds of developers to build just that website because most of the work is behind the scenes.

Arsalan: We don’t see that. So that’s what you end up doing. I know people who work for these companies and they don’t ever touch the public-facing part of the system. They’re over there. They’re maybe one of the thousands of developers who are working on this one, little piece and maybe there’s no actual web page. Maybe they’re writing reports or building this very small feature in the overall billing system. It’s a very small feature. It’s important, but when you’re in the middle of it you might as well be working for a different company, right?

Arsalan: So, we have to understand where we want to go. What I’d like, Richard, for you to do is instead of saying “I’m only going to work on web technologies that are of this nature,” or “I’m going to work on native technologies that I don’t have to worry about state management and the web world like this,” or “I want to build this type of software.” That’s not a bad way of looking at it, but there’s a problem with it. First, that changes from one era to another. In ten years from now, the world may change so much that these choices will make no sense.

Arsalan: The second thing is that the companies themselves evolve and they pick up different technologies. What I want you to do is to look at the three different segments that I just highlighted for you and say where you see yourself working. Which of these sets of companies or industries or sub-industries do you feel excited about? You are the only one who can answer that.

Richard: So, none of the three that you mentioned repulsed me, which is good. I think I mentioned last time that I’ve been running a WordPress website development company. There are no 9 a.m. to 5 p.m [shifts] when you’re doing that. I haven’t done a 9 a.m. to 5 p.m. [shift] in a long time and I like that. What I do is pretty much always on my mind. Maybe that makes me a workaholic. I try my best to stay balanced.

Richard: I always have time for what’s really important in life, but I can’t help but think about what I do most of the time. So, I suppose that I most naturally fit into the third option that you mentioned, but going to work from 9 a.m. to 5 p.m. and coming home and continually working is probably something that I would do if I ended up in the 9 a.m. to 5 p.m. position.

Richard: The reason I started doing what I’m doing –- building websites with WordPress – was because I couldn’t get it out of my mind. I was fascinated with it and when I started seeing results with it, then it just became more exciting. As I started to look ‘under the hood’ a little bit at what was going on behind the scenes, that’s what has attracted my attention – the actual code behind the scenes. That’s why I decided to pursue it myself. So, I guess I probably resonate most with the third option that you mentioned.

Richard: Ideally, what I really want to be able to do is to use my skills and abilities to help solve problems. To me, that’s what it seems that software development is. It’s a lot of problem-solving. I like that and it’s fun. So, I feel that I could be adaptive to almost any situation as long as the goal is to produce or maintain or improve something of value – something that serves.

Arsalan: Well, I have good news for you. Any software job that you’ll ever get, you’ll get to solve problems. That’s a given. So, that’s good that you want to do that.

Arsalan: The other thing is that I forgot to mention one other avenue with one other goal. Although, I don’t think it’s applicable to you. That is to go independent and solving other peoples’ problems as your own company. You don’t need a job, but if you’re starting out, then I would recommend that you get a job. That way you learn best practices and you learn from other people and not have to figure everything out yourself.

Arsalan: One other thing about the other sets of sub-industries, like the one in the government and the universities and the other ones in clothes shops and enterprises, a lot of times, you are on your own – especially if you are working in a factory environment where you are the programmer. They have an IT guy who takes care of the network and makes sure that the computers are running and then they have a programmer and you are that programmer. That means that it can get lonely, first of all.

Arsalan: Also, the problem that I see, especially for people who are just starting out, is that you have no opportunity to learn from anybody. So, how would you know the best practices? How would you know what’s a good way of approaching a problem? The other thing is that everything is on you. So, if something goes wrong, you’re on the hook. So, it’s more stressful. So, that’s another thing.

Arsalan: What I would recommend for you is to look for a job at a company where the people are really smart and humble. You’ll find a lot of places where there are lots of smart people, but they’re pretty arrogant. It’s an ego thing for them. If you fit into a certain profile and are good buddies with them, then maybe it’s okay. Otherwise, you’ll get the cold shoulder.

Arsalan: I’ve seen some really weird behavior. At times, though, it’s great because there are some people who are really down to Earth. They don’t have any pretensions. They’re good. They’re hard-working, but they don’t play politics and that’s a very hard thing to judge as you’re interviewing people, but that’s something you can do. If it’s easy-going and you feel that these people are not uptight, then I think you’ll have a better chance because your goal right now is not to get your ‘perfect job.’

Arsalan: It’s almost impossible to get a perfect job regardless of how my much you’ve gone to school, how well you are at programming, or how good you are at doing interviews because you are starting out. When you’re starting out, your goal should not be to get your perfect job. Your goal should be to set yourself up. This is something that I tell everybody.

Arsalan: Your first goal for your first job should be to put you in a state where you can get your second job. The entire purpose of getting and keeping your first job is so that you can get your second job where that will hopefully lead you to the right place. That’s still not your ‘ideal’ job, but it’s taking you in the right direction.

Arsalan: What you need right now is a place that will allow you to just absorb and learn. They will allow you to understand the business and business practices, understand the ‘behind the scenes’ work of software, understand software development methodology. There’s this pretty heavy word that people throw around. Basically, it’s how you build software.

Arsalan: Unfortunately, we don’t have a standard. I’m going to go out on a limb, here, and say that most companies don’t follow anything. It’s called ‘seat of the pants.’ This is what we do. This is our development methodology. A lot of companies will claim that they do agile, which is a buzz word that people like to throw around, but they are absolutely not agile.

Arsalan: Agile development is a very fascinating area of development and you can spend a lot of time learning about agile. It’s a structured way of developing software where you are coding, you are building your software, but you have one eye out for the ‘big picture.’ You have one eye out for what’s really needed and what’s really important. So, you are talking to your customers all the time and you are thinking about where this thing that you’re working on fits in with this whole thing because that’s what it is. That’s what agile is.

Arsalan: It is not necessarily TDD – test-driven development, where you write the test, which is sort of like a prototype. Well, I shouldn’t say prototype. You write the test. That test describes what your features should do. As you’re building new features and building new methods and you’re adding more and more stuff. Before you do it, you think about what it’s supposed to do. That’s what it is. That’s what test-driven development is.

Arsalan: It’s not about the actual test. It’s not about getting code coverage. That’s another thing that people say and I keep throwing new terms out and I have to remind myself to explain them. So, code coverage is just a way for us to know that when you’re writing a test – an automated test – where you can run a piece of code and it can test the piece of code that you want to write … to prove that it works appropriately.

Arsalan: This thing that you’re building – this important piece of software, and this little thing on the side is testing it. A code coverage number will tell you that when you run your test what the percentage of your entire code base is that you’ve tested. They keep track of every line that is hit in one of those tests and if you’ve hit 70 out of 100, then you’ve hit 70% code coverage. Code coverage is a number that people like to push towards 100.

Arsalan: Some people have rules that you cannot submit code or you cannot check code into a repository until it has 80% coverage or whatever. That’s another thing. I don’t agree with that necessarily because it sometimes makes sense to write a lot of tests and sometimes it doesn’t. Never the less, that is what you’ll find. When you’re out there looking for work, this is what you’ll find. A lot of people believe that that’s agile. That’s good to learn and it’s good for you to be out there experimenting with things, but you’ll end up learning bad habits and there’s nothing that you can do about this.

Arsalan: So, the bottom line is that your goal is to learn and that’s all that you can do. If you can get a job and be there for one year and a job where you’re working with other senior people – people who are down to Earth and people who are doing things themselves and hopefully, you’ll be doing something worthwhile. If you’re an intern and all you’re doing is making Excel reports, it’s still better than nothing because you may get a chance to talk to people and at least look at the code. You try to get the best and most attractive work that you can find, but for your first job, it’s more the people that you find. You can learn so much, so quickly with people.

Arsalan: I’ve seen [new] developers who find themselves in the amazing company of other [senior] developers. They develop in leaps and bounds and are so far ahead of everybody else. Within two years, [these developers] are giving conference talks. I’ve seen that. Then, in some places, people work for 10 or 20 years and they don’t know much at all. As some people like to say, they have their first year of development and they just repeat it 10 times. That can happen. Don’t be that guy.

Arsalan: What I’d say is this. It seems to me that you need something that is a little bit challenging for you. A lot of the corporate jobs and a lot of the jobs in the Midwest – that’s my assessment, but I could be wrong about this – in the Midwest, where you are, most of the jobs are corporate jobs for the first and second category, not the third category. The third category jobs exist, but they tend to be very small. They are startup companies that are very small and they’re making something or pushing something and maybe presenting something to the customer.

Arsalan: For someone who really wants to be in this third industry, you may want to be flexible so that if it’s in Chicago, you could say “yes.” In your case, and I’m not saying that you have to do it, but in general, you should be able to say “yes” to a job that’s in a location that you weren’t thinking about. New York — “yes.” Remember, this is not your dream job. It’s not supposed to be your dream job. It’s not supposed to be this perfect place where you just go in and build a nest around it and stay there for 20 years before retiring. That’s not your goal. Your goal is to get a job that will help you get your second job.

Arsalan: So, if it’s in New York and you have no interest in living in New York, but it’s a good job and the work is good and the people are great, then, if you can, I’d say go and take the job. Do it for a year and work hard and build yourself a portfolio of things that you’ve done. Understand the business. Understand the business processes. Understand software development methodologies. Understand whatever it is that you can understand from that environment. Soak everything up. Then, with one year’s experience, believe it or not, is enough to get you a much better job and in a much better location.

Arsalan: In your case, you may be able to … let’s say you worked for a year in New York on … let’s pick a technology, say Angular, Angular with Java or Angular with Python backend or something, and maybe you worked on the financials for a hedge fund – something related to stocks. With that experience, and hopefully, it was an intense experience, you could probably find a job for somebody in Omaha who needs this type of expertise, but they couldn’t find it. They are not going to teach you because they don’t know how to teach you.

Arsalan: This is another problem with our industry. We don’t have mentorship programs. We don’t have a system where you can bring in a new person and teach them the ropes and help them grow and become part of the team. We don’t do that. Every other industry does that. With every other industry in the world this is what happens, but in our industry, we want somebody who already knows everything. In our industry, we don’t have the time … the skills … any interest in a sort of graduating you.

Arsalan: With one year of experience, you might be able to get into the company that you really wanted to get into because maybe it’s close to home and so on. So, that’s something that you should really be open to if you can. If you have a family and kids and they’re into school and such, then if you can’t do it, then you can’t do it. Then, that’s not for you.

Arsalan: Then, what we need to do is look at lifestyle. Are you able to put in a ridiculous number of hours doing the work and then going home and doing more work? That’s the question.

Richard: I already do.

Arsalan: You do that right now, but are you going to give that up for this new thing that you’re learning? If you want to be a WordPress developer, that’s a very lucrative career, but on its own, it probably doesn’t pay as much as some of the other things. Yet, WordPress work is expanding; it’s exploding. There’s so much work for WordPress developers. So, that’s a career on its own.

Arsalan: If you wanted to work at a company that is doing Python or they’re doing Big Data analysis. Or, it’s a financial services company and they do mortgages and they’re doing all kinds of financial calculations and you’re working with all kinds of quants, which I learned that that’s what they’re called by the people who do the math. Or, maybe you’re working in healthcare. You’re working at a company that does medical records. That could be exciting for you. That could be really rewarding for you, but you’d probably have to give up working on WordPress for that because you only have so much time.

Richard: I’m not sure if I’ve mentioned it, but I actually don’t spend any time working on my business anymore. About five or six months ago, I actually trained someone to do everything that I was doing. Now, I spend all of my time learning software development. So, that’s what I meant. I spend all of my time working on that right now.

Arsalan: Okay, so you will be able to devote [the time]. That’s perfect.

Arsalan: Okay. So, the next thing is that you want to work on the web. So, we have established that you want to work on the web. You want to work in a challenging position, but not necessarily 9 a.m. to 5 p.m. One of the benefits to doing that Once you’ve learned the skills and gone through the grind, once you’ve spent about two years — with your entrepreneurial background, then there’s nothing stopping you from getting your own clients and not having to work [at a traditional job]. You could totally do that, but you need to do the time [first]. It’s like a jail for people who like to be independent to then have to work at a company and have a boss and all the constraints that go with that, but it’s time. When you do the time, you come out of it with all the tools. So, that’s pretty exciting for someone like you who already knows how to run a business. That’s good.

Arsalan: Now, let me ask that other uncomfortable question. Are you in a position where you could relocate for a year for a job?

Richard: Yes.

Arsalan: Okay. That’s great.

Richard: Yes. Since my wife is from the Philippines and we have family from four different countries and on two different continents, years ago I started trying to make us as mobile as possible. That’s one of the things that led to the business. I used to run the business from my laptop and it’s still completely mobile. So, yes, we’re very flexible. My wife and I enjoy moving and traveling. We spent quite a few years overseas. So, we’re happy to jump into a new environment.

Arsalan: Well, that’s great. My wife is exactly the opposite. She does not like to move and I’ve made her move over the years and I never hear the end of it. So, that’s wonderful. That gives you options. You’re in a small city. Yet, even if you’re in a big city, by deciding that you don’t want to move for the culture or the food or the family, you are limiting your career options. Initially, I think you should really give yourself the best chance of success.

Arsalan: It’s like a train. It’s slow to start. You need as much push as you can give it. Once it starts, it’s easy to keep it going. Just by being flexible, you’ve opened up a lot of options for yourself. I can tell you that there are a lot of companies that are looking for people … and maybe they just can’t find enough people in the local environment.

Arsalan: There are some remote working jobs as well. That’s something that has to be mentioned because they exist where you could work from home, but I do not recommend it for new developers. The whole point of it is that you need to be in an environment where you learn. You can’t really learn while you’re at home. You can, but you can’t learn the processes. You can’t learn businesses. You can’t learn it when you’re isolated. So, that’s wonderful.

Arsalan: Now, in terms of industries, do you care about any industry or is there something in particular that you hate? [I’m talking about something] that you never want to do. “I hate this industry.” Or, the type of business? Or, is there something that you really love and just wish you could do. The reason I say this is … I think that it’s important that I say why I asked this question … because if you are super-excited about something more than anything else, then you are going to put in the crazy effort that is needed. Also, if you absolutely hate something, then there’s no point in even going over there. Over to you.

Richard: Okay. Well, I probably haven’t given your question enough thought, but having spent over a decade in education, that’s one area that I resonate with a lot. [I enjoy] educating and helping the next generation of people in general. I suppose that anything that I absolutely would not want to do would be [a situation] where the business was deceitful or it wasn’t creating value or it was taking away rather than giving. That, I would not want to be a part of.

Richard: I would want to be part of something that is increasing and growing, improving life rather than taking away. So, that would be the big ‘no-no’ for me. Something like that.

Arsalan: Okay.

Richard: It’s important [to me] to be of use, of service.

Arsalan: So, in other words, you don’t want to work for hedge funds. Just saying.

Richard: Probably not. (Laughing)

Arsalan: A lot of times there are businesses that are in the business of making money out of nothing. Sometimes that is not so fulfilling as something where someone is building software for K-12 and helping teachers achieve success. Here’s the problem [with those]. It’s something that you have to reconcile. A lot of these jobs and careers that are high causes feel good to be able to do it, but they don’t pay much. Sometimes they pay enough, but for sure they don’t pay as much as other things that may not be as pure or as satisfying. That’s totally fine.

Arsalan: Personally, I like for my life to be meaningful. I want to be able to contribute to society just like you do. I want my life to mean something. It’s very important for us. We’re not just living for money. Yet, at the same time, money is important because it lets us do things that we want to do. It lets us be charitable in other ways. So, that’s a very important decision that you now have to make. What matters more to you? It’s not something that you have to answer right now, but it is something that you have to think about.

Arsalan: I think for your first job, it doesn’t matter what type of job or what type of industry you’re in if I’m being honest. The first job is not your goal, not your end goal. The first job is just a way for you to get a second job. If that’s true, then the first job, if it’s in something that you don’t necessarily want to do, that’s still okay. Ideally, it would be. If you want to make games, work for electronic arts and build games, or you just like that 3-D gaming stuff and like spending all that time doing it, then maybe you should start there. If you are working at a financial firm, then you would not be learning the business process that you need to learn.

Arsalan: The problem is that our software industry is so fragmented that building a game is a lot different than creating regulatory reports for the government. It’s a different way of doing things. So, for those extreme cases, I would say to try to get the job as close to your dream job as possible. Yet, if you are more of a generalist, then I would say that you need to work at companies where you can learn and grow. So, the question for you is: What are those companies? So, what we need to do now is to make a profile for those companies.

Richard: So, there’s one thing that’s very important to me. I don’t want to work at a place where they expect you to know everything. I want to work at a place where they expect you to be willing to learn. It would be nice to work somewhere that it’s understood that there is so much to learn in our field and you won’t be a master of everything, but there will be a culture where people will help each other out and understand that sometimes we have to learn some things.

Richard: If you’re willing to learn, then with the right atmosphere and people are going to help you rather than pretend that you know everything while you’re trying to learn everything on the side. It’s hard to succeed in an atmosphere where you have to be like that. So, one thing that’s very important to me is this understanding or recognition that we’re all learning and even the most experienced developer has something to learn.

Arsalan: Yeah, we’re all constantly learning, but we never like to admit that. Now, that’s a dirty secret here.

Richard: Yeah.

Arsalan: We all pretend. I like to not pretend. I like to be brutally honest. If I don’t know something, then I like to say that “I have no idea. I can figure it out. Let’s do that.” If I don’t know, then I don’t know. There’s no shame in not knowing. What I’ve noticed is that it doesn’t work. In corporate America, you pretend. Everybody pretends. If you don’t pretend, then you end up being looked down upon. People the thing “Oh, he’s not as important.”

Arsalan: That’s another thing that I’ve noticed. There are a lot of politics in software companies. You wouldn’t expect that because of generally younger people … why would there be politics in a software company or a department within a company that is focused on software?

Arsalan: It feels wrong because not many developers are going to become CTOs or CFOs. So, stepping on top of each other makes very little sense, but it happens as human behavior. So, you’ll end up in situations where people like to project that they know a lot and they’re pretty good. You will find places where this will not be the case and I hope you find a job in those places. Maybe for your second or third job you should keep a lookout for those kinds of places, but for your first job that may be a little unrealistic. It’s good to know, though, that that’s where you stand.

Arsalan: If a company is advertising for a junior developer position, then they really should expect that you don’t know. If you look at the job listing, it’ll still show a thousand things that you must know … but by the way, it’s a junior developer position. It makes no sense. Most of the time, it’s really more like a wish list. They don’t really expect anybody to have that. Maybe it’s a way to filter out candidates. It’s a way to scare people off.

Arsalan: It’d be like if I had a gun and I had a mob coming to my house and so I said “Hey, I’ve got a gun” because I’m hoping that most of them will run away. The fact that I wouldn’t have any intention of using that gun would be the wrong example to give. (laughs). That’s probably a pretty bad example.

Richard: Makes sense.

Arsalan: The point is that it was [used as] a threat [in the example]. It [the detailed junior developer job description] is a threat that [they] will not allow you in the gate unless you have these 20 things. They’re hoping that most people will say “Oh, man. I can’t do it.” That way, they don’t have to deal with all those people. Then, they only have five to 10 resumes per job to go through.

Arsalan: So, if you are able to contact the hiring manager, not the recruiter because when you see a job opening, a lot of time … and this is really bad, these are third-party companies, other companies that are trying to be the recruiter or trying to get you into a company and that’s how they make a lot of their money. That’s their business model, but they’re not the actual hiring manager. They’re not the people who need you. So, they don’t really know anything about the company. They know very little. They don’t know anything about you. They don’t care about any of that. All they care about is to get you to agree to work with them and only with them so that now they can sell you to the company. You become the product.

Arsalan: So, they want you to sign a contract where you will never be able to or not be able to go directly to the company. So, don’t fall for that if you can help it. Initially, try to stay away from … we call them body shops. Don’t go to body shops. Try going to the company directly. Find out where the job is.

Arsalan: A lot of times you will see a job listing, but it will not mention the company. So, you think that the company that is posting the job is the one that has the job, but no. They’re just trying to place you somewhere. The actual company where the job exists, you will have no idea where it is. So, maybe sometime you can do some Google searches. Try to be a detective and figure out where the job is, exactly. Sometimes you’ll find jobs posted with the actual hiring companies.

Arsalan: You really should try your best to find out where the job is. Then, try to figure out which department it’s in and who the manager is because the most likely reason they are advertising for this job right now is that there’s a really big problem that they need to solve.

Arsalan: It’s not because they need five more people in the department. It’s because there is a problem and they’re under stress and they really want to fix it. They want someone to come in right away. So, what do they do? They go and talk to their HR department and place an ad. Or, they talk to a special vendor – these companies that have a special agreement with them, to give them candidates because they don’t have the time to go and look for candidates themselves. So, they blast these job sites with all of these ads.

Arsalan: So, there could be five different companies all advertising for the same job. None of them have any actual idea of what the job is really about. They’re just copying and pasting. So, what you need to do is find out who the company is and who the hiring manager is. Go to LinkedIn and do a search. Find out what they’re about and what other things they’re passionate about. Where do they hang out? Maybe you know them already or maybe you know somebody who knows them.

Arsalan: So, when you get all this information and you figure out what this company is … maybe it’s even in your neighborhood and you just knock on the door one day. I’ve done that. You just ring the bell and say “I just wanted to see what you guys are doing.”

Arsalan: Maybe they’re friendly enough to let you in to meet them. Then, if they really have a need and ask what you do, then you can say “I’m a developer and I’ve been doing this. I just wanted to see if you guys had a need for someone with my skills to help you guys.” Then, if they’re free and have a need, they may say “Sure. Why don’t you sit in the meeting room and I’ll see if I can find somebody?” Then, maybe, possibly, you can get the process started. If not, you could email them or call them.

Arsalan: If all else fails and you have to use the recruiting company or placement company, then sure. At least you’ll have an idea of what they want. When you know what they want … and I don’t want you to lie. A lot of people will say to just make your resume reflect everything that the job wants. If you know it or don’t, just put it in. The reason to get your first job is to get your second job. Your first job is not to launch your career. Your first job is to get your second job. The reason to have a resume is not to get a job, but to get the interview. Once you’re doing the interview, then the resume kind of doesn’t even matter. So, while all that is true, I would not want you to lie in your resume. It’s a very common practice. People lie all the time.

Arsalan: You don’t need to lie. You just need to give the reader who’s looking at your resume the information that they need without the fluff. You may have done a lot of things in life and you may have a lot of experience in WordPress, but if this job has nothing to do with WordPress, then that’s a detail that you should reduce or omit because it’s a distraction. You’re not lying by omitting that. If they ask you, then you can tell them “Yes, this is what I do as well.”

Arsalan: Let’s say that it’s a job that requires JavaScript and CSS because they’re going to be building these custom websites and they want somebody to go in there and make these modifications, which will make the UI – the user interface – look very nice. For that, they have decided that they’re going to use CSS and JavaScript and a framework. Let’s say they want to use the React framework. That’s what they want to use for various reasons. So, if you don’t have any React experience, then you shouldn’t say that you do. You shouldn’t lie about it.  

Richard: Right, because then you’d have to pretend that you do if you get the job.  

Arsalan: I’m not saying that if you lied about it and you put all the technologies in your resume that you’d never get the job. People get jobs like this all the time. They make up stories. You could make up a story and say “Yes, I did this job. I worked on React and worked on this thing.” Unless they make you write code in front of them, they don’t know.   

Arsalan: It’s just a matter of ethics. It’s being a good person. I believe that it’s important that you’re true to yourself. You should not … because lying is like admitting that there is something wrong with you, that you’re not good enough. That’s really not a good place to be. You are good enough. You have what it takes to succeed and to also help this company. This company needs you as a candidate. You don’t need them. They need you. You need to have the self-belief that you’re good enough. You can’t have that if you’re lying because, obviously, that means that you don’t think that you’re good enough. So, I want you to be truthful.  

Arsalan: Let’s look at an example. Let’s say that there’s a job that requires React, but you have never done it. You’ve done JavaScript. You’ve done CSS, but you’ve never done React. You have two options. You could just show up, go there and, hopefully, you get the interview, but you can say “I have not done React. I have looked at it. I have read about it. I know what it does. I can tell you a few things about it … it’s a framework for building single page applications. It has a very interesting view of the DOM. It does certain things in a unique way, which is why people are picking it up. I know that, but I have not had a chance to work in it. Yet, I know that I can pick it up … because I’ve picked up JavaScript and I can do these five things and … React is built on top of JavaScript. React uses JavaScript, a certain brand of it and has certain idiosyncrasies, but I can learn that … in a couple of weekends. I’m pretty sure that if I got this job, then I’d be pretty good at it. There’s so much more to software development than the technologies themselves and I know the business processes. I know this methodology. I know test-driven development, for instance.”   

Arsalan: You could make a case for yourself, not because you could sweet talk your way into a job, but because you believe that you have what it takes. You believe in yourself first. That’s one approach. That’s one of the two approaches that I’d recommend.  

Arsalan: Another even better approach is for you to say [to yourself] “Okay, this company works with React. I want to get this job, but I’m not ready yet. Let me set a timeline for six months later. I’m going to apply for this job and I’m going to get it. During those six months, I’m going to do two React projects to showcase what I can do. Not only that but maybe these are projects that I can do at work at my current job. Firstly, I’m going to make these two React projects on my to-do list, not random Hello World projects, but something useful. I’m going to make it. I’m going to put the software code on GitHub, which is a shared repository. It’s a public place where people can see what you’re doing. They can not only see what you’ve produced, but they can also see the progression, every week, every day – what you throw there. So, they can track you and see that you’re not lying. Then, you deploy them to a public website, maybe your own domain or a different website.  

Arsalan: For instance, I have a virtual server that I rent and I put all of my websites there. I don’t need to pay a hefty subscription for every website that I want to run, for instance. I could run twenty of them because the traffic is not so much. If the traffic becomes a problem because it’s a virtual environment, then I can turn it into a virtual machine and, hopefully, there’ll still be enough. So, you could go and rent one of those from one of the various companies that do that and then you can start making websites and start putting them online. Then, your [goal] is to get that job in six months.   

Arsalan: So, for the next six months, your task is to do these projects. They go onto your resume. You don’t have to say that you did them for a client. You can say that they are personal projects. Make a heading called ‘personal projects’ and put it in there. Give as much detail as possible on the important things – the things that you learned, the things that you accomplished. Maybe, if you have telemetry like how many users use it and so on … anything that you can do to show that you not only know React, but you also know a little about how it’s being used and you know about software development. Then, you already know the company that you want to work at. Do a little sleuthing to figure out where they hang out. Maybe there’s a user group where they’re always at.   

Arsalan: Maybe there’s a React user group in your area. Just go there and see if you can meet them and then meet as many other people as you want. Then, you don’t have to start selling yourself. You can just be friends with them. If they know you already – if they know your name and a little about you … and as you’re working on React, maybe you have an idea of giving a talk. It could be a ‘lightning talk,’ but if you don’t feel comfortable doing that, then maybe you could write a blog post and share it within the group. You can do that. Even if you don’t share it – even if you just have it on your GitHub, on your blog, in your YouTube videos or whatever you’re doing.   

Arsalan: Then, when the time comes because the six months pass and you need to apply, you won’t have to go to a ‘third party body shopper’ to apply. You can just go directly to the company and say “You know, I’ve noticed that you’re working on React. I’ve been working with React for six months and I really enjoy it. I think I could be very good at your company and if you want to take a look at my portfolio and have a chat with me, I’d love it. I’ll buy you dinner. Or, I’ll buy coffee.” If they’re friendly enough, they might say “Yeah, let’s talk about it.” You could buy them lunch or you could buy them coffee. Or they might say “No, let’s talk to the HR” and whatever. In this case, the should most likely talk to you and that’s when you can go and present yourself.  

Arsalan: Be honest. Be straightforward. I like to be honest for ethical reasons, but there are also practical reasons. When you’re honest, you believe in yourself. If you believe in yourself, Richard, they are going to believe in you. That’s how you get a good job. You’re not filling up your resume with all sorts of technologies. You’re not out blasting 100 people. That’s not how you get a good job in my opinion. What do you think?  

Richard: I agree with you. I believe that many job opportunities are not found through these job placement websites. I mean, sure, some are, but I’ve found very few jobs in my life that way. It’s about being real, being yourself, and getting to know people. If you’re a human face to someone, it goes a lot farther than details on a page.   

Arsalan: Yeah. Okay, I didn’t want to stop in the middle of this consultation, but we have gone way over. Yet, I think that it is important that we went through some of these topics. For you and for anyone who is listening, and for myself, to just be able to say it. So, I believe we have covered a lot of ground. We know what type of jobs you want. We have a strategy on how to get a job. Now, the original question was “What type of technologies should I learn and what should I learn?” I turned it around into this big quest for a goal and milestones. It seems wishy-washy, but I think we’re getting there. So, if you’re up for it, we can continue this next time and then we can go a little deeper on your choices of technologies and so on. What do you think?  

Richard: Sounds great.  

Arsalan: Sounds awesome.  

Richard: I’m up for it.  

Arsalan: Alright, and I know that you’ve been feeling sick for the last couple of days and I’m hoping that you’ll feel better next time with a lot of positive energy. Talking to you and giving you advice and giving you a consultation is giving me energy.  

Richard: Good! That’s nice to hear. It was just a small cold. I’ll be just fine, but thank you, though.  

Arsalan: Awesome. Okay, so we’re going to schedule you for another one of these consultation counseling sessions. If you’re someone who is listening right now and is thinking “That’s pretty good. I wish I could get a counseling session with Arsalan. If you want, then just let me know. You can email me at us@mentoringdevelopers.com and I’ll see what I can do. If I have time, we’ll go online and we’ll record a session. If not, then maybe I’ll just answer your emails. I’d love to hear your comments and if this show is helping you, how it’s helping you, or if you want to see something different. That’s great. There’s also a mailing list on the website at mentoringdevelopers.com where you can sign up and get the ‘Five Steps to Success’ email course, which Richard has been going through.  

Arsalan: How’s your experience reading those emails?  

Richard: It was great. I think they came about once a week. It’s nice because my impression is that the goal of your emails is to help us look at the big picture – to see things from the big picture in the grand scheme of things. It’s very motivating and encouraging. I highly recommend them.  

Arsalan: Yeah, that’s good to hear. Basically, what I do is I take a step back and put myself in your position. When I was starting out, I was really struggling. Nobody was helping me and there was nobody who I could ask for help. I always struggled in spite of the fact that I always wanted to do programming. Since I was a kid, that’s all I wanted to do. I wanted to be a programmer and work with computers. I wanted to build games. That never happened, but close enough.   

Richard: Still time.  

Arsalan: Yeah. In spite of spending so much time … in spite of going to college to learn this and being dedicated to this, I still struggled. So, I was thinking about all those who didn’t have that background. So, I don’t want you to struggle and that’s what I’m doing. I feel like there’s not enough empathy in our industry. Hopefully, by listening to or watching this podcast and by going through the emails and emailing me for feedback, I’m hoping it makes this world a little better.  

Richard: I think so.  

Arsalan: Alright. Okay, we’re going to stop now and we’ll see you the next [counseling consultation] episode. I’ll see you, Richard, very soon.  

Richard: Sounds good. Thanks, Arsalan.  

Important Links

  • Kronick Enterprises Org 
  • Richard’s Portfolio
  •  GitHub

Thanks for Listening!

Do you have some feedback or some advice for us or our audience? Please give us a review on iTunes, Spotify, Google Podcasts, or Stitcher and share your thoughts.

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.

You can subscribe to Mentoring Developers via iTunes, Stitcher Radio, Spotify, or Google Podcasts. 

https://media.blubrry.com/mentoringdevelopers/content.blubrry.com/mentoringdevelopers/MD-episode70-Coaching_For_Richard_Kronick.mp3
Subscribe To Mentoring Developers Podcast
Subscribe via Stitcher

We Be Tweeterin’

How to fast-track your tech career with author Greg Thomas | Mentoring Developers | youtu.be/z5WK7CVHzZA pic.twitter.com/imjBthnvph

About 4 months ago from Mentoring Developers's Twitter · reply · retweet · favorite

Creating a brighter future for the #success of new and aspiring #webdevelopers includes mentoring as well as #apprenticeships. Listen to an interesting panel discussion between mentors and mentees from @hearsparkbox moderated by @Arsalania at mentoringdevelopers.com/episo… pic.twitter.com/yJv29hNiqx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

Still dreaming of getting your foot in the proverbial #webdevelopment door? Did you know that there are companies that offer you a chance to do a proper #apprenticeship and get your feet wet? We found one in Dayton, OH. Check out “the exposé” :) youtu.be/Grsju8FjSx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

Not all #developer #jobs are created equally. Finding the right opportunity should include a great culture, a great workspace, and #apprentice opportunities for career growth. youtu.be/Grsju8FjSx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

To become a successful #webdeveloper, you need an employer who offers ample opportunities for growth. We met one such employer. Check out our #profile of a sparkling little #design and #development shop called Sparkbox. youtu.be/Grsju8FjSx

About a year ago from Mentoring Developers's Twitter · reply · retweet · favorite

Follow @mentoringdevs

Search

Copyright © 2021 · Mentoring Developers