In October 2019, Ed Farm launched its pilot version of the Pathways course. It was an exciting experience full of action research and real time adjustments. Ed Farm team members Leah Pope and LaToria Foy delivered instruction and planned each class with intentionality and rigor, and they worked tirelessly to create a safe and welcoming classroom environment for all 18 learners. They also recruited two Swift experts from MotionMobs — a Birmingham-based software consulting and development firm — to provide additional instructional support. The experts, Taylor Smith and Matt Clark, provided real world insights into how to develop iOS apps using the Swift programming language. Their expertise was incredibly valuable, and they even took the time to create their own Swift Playgrounds from scratch to highlight various coding concepts ranging from functions to structures.
For the first official Pathways course, which launched in January 2020, Ed Farm recruited Taylor Smith to serve as the lead instructor for the course. As the class comes to an end, we wanted to take a moment to learn more about Taylor’s journey to programming and share some of his insights and recommendations about pursuing a career in software development. We conducted an interview with him late last week, and recorded his responses below. You can learn more about MotionMobs here.
Ed Farm: How did you become a full-time software developer?
Taylor: I’ve always had a love for working with computers. I’d put my efforts into making art with them for most of my life. I graduated from the Savannah College of Art and Design (SCAD) with a degree in Visual Effects, so the art I’ve made has always had a technical/computer-driven component to it. While working in the games and animation industry, I had opportunities to solve problems with code at times. These were typically smaller scripts meant to be run to help the production process, but it was exciting to get to automate certain things for myself and the other artists around me. As I worked more in the industry, I had to move around a fair bit for jobs that ended up often being less stable than I’d prefer, so I started to look around for a new path for myself. I’d had a chance to take a weeklong programming course with Big Nerd Ranch in Atlanta in 2011, but had not done much with that until I started working on my first app in late 2013. In 2014, I used that app as a demo of my skills and passion and started applying for jobs. I was in Southern California at the time, but somehow, the opportunity to move back to my hometown of Birmingham became an option when I started talking with MotionMobs. Just over a week later, I had an in person interview with the team, and it seemed like a great fit. I started working at MotionMobs in April of 2014, and have been there for the last 6 years. In that time, I’ve gotten to work not only on iOS apps, but also on Android apps, as well as web apps with frontend and backend components.
Ed Farm: What inspired you to pursue software development as a career?
Taylor: The career of mobile app development did not exist in any significant way when I graduated from college. When I started working toward a career as a developer, I focused on iOS. This relatively new platform and the possibilities there, both for the types of projects and the career opportunities it might enable for me, intrigued me. When I started building my first project, it wasn’t just a single problem to solve. There were so many smaller problems along the way to building the app I had envisioned. The process of solving a problem, learning something new, and building on what I had learned before was exciting. I still get that rush of excitement as I work through the problems we deal with in our projects every day.
Ed Farm: Describe a day-in-the-life of Taylor Smith.
Taylor: On workdays, I’m usually awake around 5:30 in the morning, trying to get up and ready for the day before my two sons wake up and have to head to daycare. Once I drop them off, I head for the office and usually have a few minutes to get settled before anybody else is there. At MotionMobs, we’ve had several projects going on at a time for a while now, so I might bounce between projects over the course of a week, but luckily, most days, I can focus on a specific project for that day. MotionMobs is nice because as developers, we get a lot of ownership over our code and projects, and we become experts in most of the details of the projects as we build them. Almost all of our projects require a backend web server, as well as either a mobile app, a web frontend, or both, so I’m likely to work in multiple languages over a given day across the different components of a project. A new feature or bug might come up for a mobile app that also needs a backend change, for example, and I’ll often handle both changes myself to get the changes made all at once. Depending on the task, it might take me just a few minutes, just a few hours, or sometimes even a few days to work through. At the end of the day, it’s a rush back home to try and get dinner ready for the family before bedtime for the boys and a bit of personal time at the end of the day before getting some sleep to get ready for the next day!
Ed Farm: Share the top three teaching strategies you use in Pathways.
Taylor: I think one of the best strategies I’ve found while teaching is that having useful and editable examples is important, particularly for learning to code, and this strategy is actually a two-fold benefit. Programming is a hands-on task, with experimentation being a large part of what we do while we’re solving problems with our code. It’s so incredibly useful in the middle of a lecture session to be able to stop and modify the code I’m discussing to answer questions as they come up. I can show an example right then and there, as opposed to trying to communicate about a hypothetical change to the code that might or might not be clear to the students. That’s part of the reason the Xcode Playgrounds have been so useful for me in the Pathways program. I can talk about a piece of code, then edit it to change it and show the results (or errors, at times!) right there. The second strategy this allows for is in giving the students the chance to experiment and learn by doing it themselves. At the end of the lecture, I can share the exact files we were working on with the class, so they can get into something familiar and explore and experiment themselves if they have other questions later. One other, third strategy that’s helped me is in focusing on a single topic or project idea throughout the lessons of the course. When I’m explaining a brand new topic, I can use the established project and build upon it to show how each new concept fits in with what they already know. This removes the variable of having to explain a new hypothetical app with each concept, and allows us to isolate often just the new concept and focus on how that changes or works with what we’ve been building.
Ed Farm: What’s one piece of advice you would like to share with an aspiring software developer?
Taylor: The one thing I will always tell somebody trying to get started as a developer is to try to build something, however simple it might seem. Pick out an app idea and try and build it. In building that project, you will figure out problems you planned for in your app, and learn how to solve new problems you did not anticipate. You’ll work through the full development process, and have something you can show to potential employers or clients when working to start a career as a developer. The process of sitting down regularly and working to build software will also help you better understand your motivation to do this, and let you prove to yourself, little by little, that you are ready to take this on as a career. There will be struggle. It will be hard. You’ll get through it, and learn a lot in the process. It’s absolutely worth it, so go for it!