Jack Yeh was in the Marines, has a master’s degree in environmental management from Yale, and led global supply chain management teams for Walmart, Groupon, and the Chinese Postal System. Working at these companies Jack was intrigued at how software could optimize business processes. He chose to learn web development at Turing School in Denver. We sat down to learn how he took time to solidify his new coding skills, how being a veteran helped him succeed at coding, and how he has taken to his new role as a full stack developer at Welltok.
What is your pre-Turing story?
I have a bachelor’s degree in economics from Oberlin College and a master’s degree in environmental management from Yale. I am a former Marine and I spent 10 years in global supply chains. Six of those years were in Asia doing operations and advising in manufacturing, merchandising, sourcing, import-export, distribution and logistics.
In terms of programming, I hadn't done any programming prior to Turing School.
What drove you to transition from supply chain management to software development?
In my previous work I had been exposed to a lot of large corporations, including Walmart, Groupon, and the Chinese Post Office, so I got to see what they were doing with technology. At Walmart I managed the furniture import business to the US and Canada, so I got to know the logistics and business of their supply chain operations quite well. In the global supply chain space WM is considered the “800lb gorilla.” They’re a leader in how they use IT to reduce cost at every step in the supply chain. The company uses an in-house proprietary ERP (enterprise resource planning) system to coordinate the development, production, delivery and sales of tens of thousands of products from thousands of suppliers. When I was first introduced to it, I was underwhelmed by the lack of technology. It relied heavily on pulling data from the database, then storing that data in Excel spreadsheets. That's significant because these Excel spreadsheets were just snapshots of what the situation looked like at the time. The company would share these snapshots with their vendors, with internal departments, with their direct reports, and then make decisions based on that data days, even weeks later. Needless to say, it was pretty common for decision makers to be using different snapshots. I, still to this day, am astonished that they were able to make decisions with any certainty, let alone be leaders in the space.
I assumed going in it was their technologies that supported their success. But, in fact, it was their superior systems and processes that worked around the shortcomings of the technology that helped them to be successful. The honing of their systems and processes over decades allowed them to make the right business decisions. And clearly, with better technology there was an opportunity to arrive at business decisions faster and with more confidence.
What other previous experiences with technology made you want to transition into coding?
While at the Chinese Post Office, I headed up distribution and logistics for a special project to open retail stores in the countryside. Think 7-11 meets Tractor Supply Store. We were bringing modern amenities to rural farmers. At the Post Office I, again, found myself surprised at the lack of technology being used. For an organization of their size (36,000 postal locations across the country), they were using an ERP system that was decades old - think Fortran. They, too, also preferred Excel as the data communication/storage tool of choice, except it was bootlegged versions from the Windows 95 era.
At Groupon, however, my experience was completely different. It was my first experience at a company that was truly “technology first.” Given my experience in product sourcing, import-export and distribution/logistics, they asked me to help them layout the framework for what eventually became Groupon Goods. In this role I got to really understand how they leveraged technology, specifically software and the web, to ideate, test hypothesis and change direction quickly based on new information. Keep in mind, Groupon at that point had only been around 3 years. They didn’t have the decades of experience of Wal-mart or the centuries of experience of the Chinese Post Office. Groupon really didn’t have any institutional knowledge on how to serve their customers. It’s not even clear they knew who their customers were. So, they had to rely on technology exclusively to gather as much information on what worked and what didn’t. They moved lightning fast, often times wrong. But that data point was helpful too. The feedback mechanism they created with technology prevented them from spending a lot of time, money and resources pursuing strategies that didn’t yield results. It also allowed them to redirect resources to those opportunities that did work.
Seeing how software centered their business, how it allowed them to arrive at opportunities quickly and how that leverage scaled, that’s when I became hooked. That's when I knew I needed to learn to code. It’s important to note that my professional experience up to that point had alway been as a “successful administrator.” That’s to say I had become really good at optimizing existing well-established processes. I wasn’t doing anything truly new. Occasionally, I’d improve it but for the most part the changes were incremental. I saw software as a paradigm shift in business.
What made you do a coding bootcamp? How did you first hear about Turing School and what made them stand out?
After coming to the realization above, it took me two years to really make the shift. I left my job in Asia and I started working at a digital agency in Portland, Oregon in a non-technical role. During those two years I tried to teach myself to code. But I didn’t get very far. I started with Learning Python The Hard Way by Zed Shaw. But I couldn’t even get through the first chapter. I was already stuck. I didn’t have enough contextual knowledge. I had no idea how computers worked or what the terminal was, let alone how to use it. Even though I was at a digital agency I realized I wasn’t actually interacting with the code. I was too much on the periphery. The couple hours a week I spent “learning the hard way” was not enough.
It was right around this time that I knew if I really wanted to learn to code, it wasn’t going to be at the agency working full-time and learning part-time. I needed to be immersed in it. I also knew that six weeks or even three-months at a bootcamp was not going to be enough time for me. I needed at least six months. Serendipitously, I had just moved to Denver and had come across a Quora article on the best code schools in the country based on duration and geography. Coincidentally, the two longest programs happened to be in Denver, gSchool and Turing. I went attended a gSchool Open House that also happened to be the same night as the Denver.rb Meetup, a Ruby MeetUp in the area. Jeff Casimir spoke at Denver.rb and after doing a little bit of research, I found out that Jeff had been one of gSchool’s founders but left to start Turing. I talked to him, and he had a compelling story.
Jeff shared how his experience with gSchool prioritized investor business objectives over a quality education. Having come across the good-guy speech plenty of times in the corporate world, I was skeptical. Hearing that he has a Teach for America background helped. But it wasn’t until I learned that he started Turing as a non-profit that I was convinced of his commitment to students. Coming from a business background, that really resonated with me. I know how short-term profits can really impede long-term progress. My conversation with Jeff made it easy to want to learn coding at Turing.
Did you consider any other bootcamps?
I applied to gSchool and Turing. I applied to gSchool mostly because I wanted more data points. One data point was the Open House. They seemed reasonable enough. They had Galvanize, the co-working space behind them, making them very credible. With Turing, Jeff made enough of an impression that it was clear I’d apply there as well. Turns out Turing’s admissions process was much more polished and professional, so it made for an easier decision.
How did you finance your bootcamp tuition?
I financed it through Turing actually. The rate that they offered was comparable to my student loans from undergrad and grad school. I was originally concerned with doing financing with a bootcamp because I was afraid I was going to get gouged. I didn’t find that to be the case.
Tell me about your cohort at Turing School.
I'm probably an outlier in terms of some of the students at Turing. I’ve actually been a part of multiple cohorts. Turing has the option of repeating modules. If the instructors don’t feel like you've mastered the material enough, they may ask you to repeat the module. Or, if you yourself feel like you haven't mastered it, you can always choose to repeat the module. For me, I repeated several modules. I think most people finish in about seven months and I finished in a little over a year.
Age-wise the students skewed on the younger side which is a little bit surprising for me because in my previous work experiences I tended to be the youngest person by one or two decades. I was one of the older students, sometimes older than other students by a decade and a half. That was pretty humbling. You also had students who’ve had multiple careers. Geographically, about 15% were from Colorado. The size of cohorts ranged from 12-20 people. As a whole I was impressed that, despite the range of ages and years of professional experience, people were very sharp and eager to learn. Turing School did a really good job at selecting people who really wanted to be there. They’re all people I enjoyed going to school with and I am really looking forward to working with in the future.
How was the Turing School learning experience?
What's interesting about programming is it’s a reminder that everything is learnable, but everybody's learning style and preferences are different. For example, the way that Turing teaches wasn't the most effective for me. However, it was effective for the majority of people attending. I spent a lot of time figuring out how to learn and how to teach myself. It was a very invigorating experience because it reminded me that I can still learn new things. I can go into a completely different topic or field and in a short amount of time become a professional in that space. It's a very satisfying feeling that builds confidence.
Most of us would spend 6-7 days a week and anywhere from 12 to 16 hours a day learning the material and working on projects. For me, coding did not come as easily as it did for some others. So, being immersed in it, where I couldn't take a break from it really helped. I think that is one of the strengths of an on-site, multi-month program.
Another strength of the program is that all four modules are happening at any given time. Since everyone goes through all four modules, we all get the chance to learn and teach. You're learning from your cohort, from alumni, from instructors, and from mentors. At the same time you’re also teaching and sharing what you’ve learned with the cohorts that come after you, which is incredibly satisfying. Jeff and the staff have built an incredible environment and culture of learning and sharing.
How did your experience in the Marines affect your experience studying at a coding bootcamp?
One of the things that helped me remain calm throughout Turing School is having been through the Marines. I learned as a Marine, that I was often reminded of at Turing, that you’ll constantly face things that you do not think you can do whether it be physically, mentally, or psychologically. After facing enough of these challenges, you learn that most of the time it's psychological. The things you think you can’t do, you actually can. You just don't know how to do them yet. The key word here is YET.
I’ll use climbing rope as an example. In the Marines you constantly have to climb rope and there are a lot of different techniques to climbing a rope. Some people use just the upper body and muscle their way up. Other people use their entire body and sort of slither their way up. Other people never make it. They give up. I’ve done all three and none of them is particularly fun. They’re all exhausting and at times humiliating, especially as climbing rope is never done in isolation or just once. It’s usually at the end of an obstacle course and combined with lack of sleep. It took me a while before I learned of a much easier technique to get up the rope. That is to only use your legs. It doesn’t sound possible, but let me tell you, I can get up a rope of any height, at any level of fatigue, at a near infinite number of times. And that's what Turing reminded me of.
In the beginning of learning a new topic you might have some idea how to get the code to work, sometimes you even get it to work. But most of the time it’s a struggle and there’s a lot of uncertainty. It’s frustrating. It’s demoralizing. You want to give up. But at some point you realize each new coding challenge is just another rope to climb. You will reach the top. There is a way. You may not know how yet. But if you want to get there you’ve got to keep yourself in the game long enough (and in the right headspace) to learn the proper technique.
Turing School now works with the VA to accept the GI Bill for students. We know that you weren't able to use that, but do you have any thoughts on this new initiative?
Do I think all coding bootcamps should offer financial aid for vets? Yes, absolutely. I think all education institutions should offer financial aid for vets. I think all educational institutions should offer financial aid for everybody.
Was there a favorite project that you built at Turing?
One was a really small side project that I built in a couple hours on a Saturday during module 3. A friend had written me a letter using morse code. Looking up each individual letter and code was tedious and boring. So I thought why not write a program that does it for me. I even used Test Driven Development to do it. It was really powerful to see that I could use what I had learned at Turing to solve a problem in my daily life. My second favorite project was when I figured out how to hack an online dating app to create a game for my married friends. Hacking into the app was fun and cool, but in both cases, what I enjoyed most was being able to create something that, just two months ago, I was unable to do. It's very empowering. You're no longer a consumer of the Internet, or a consumer of technology, you're now a creator of it. You can shape things and create your own experiences, as well as the experiences of others. To me that’s magic.
When did you finish at Turing School and how was the job search?
We were are all anxious because we recognized that school would end in less than two months, and that's not a lot of time to reach out to companies, apply to them, interview, get an offer, and accept. We also recognized that, especially with people who wanted to stay in Denver, Denver is a pretty saturated market for junior developers. Add on top of that, we knew that every seven weeks a new batch of Turing students would be graduating. So we were all a bit anxious, but I think we did a good job of helping each other.
I found my job through Turing. Jeff makes an effort to put students in touch with different companies to see if they might be a good fit. He connected me with a company here in Denver the last week of school. I went through a couple of interviews. They liked me and within a week I got an offer. It took took a week to negotiate and two weeks later I started as a full stack developer at Welltok, a healthcare tech company.
Tell me about your first few months as a full stack developer. How was the initial learning period with a new team and a new career?
It was nerve wracking. I’ve always found new professional environments a bit intimidating. Trying to navigate the context of social situations, as well as understanding your standing within the company is never easy when you’re new. You have to find the value that you will provide and find it quickly. We all want to be great at what we do. I know I wanted to prove myself and earn the respect of my bosses and peers.
Moving to a new industry where you’re using new tools makes the experience that much more daunting. For me, there was definitely some anxiety. I had spent 10 years learning my craft in the global supply chain space and that success had become part of my identity. So, there has been this ongoing adjustment of feeling like I'm not terrible. I am getting better every day. But I am nowhere near as competent as I was at my last job. To see that disparity in yourself is hard.
How are you feeling now that it’s been several months on the job?
When I started with the company, the team I joined had only just formed. There were 3 developers, including me. Those first couple of months were pretty challenging because the company was experimenting with taking on junior developers and so, it didn’t have a formal process for mentoring junior developers. I spent a lot of time figuring out stuff on my own. It’s only been in the last three months that the team has finally solidified, reaching 10 developers. I still spend a lot of time figuring stuff out on my own, but now I have 7 additional developers that I can reach out to. They are experienced and have been incredibly helpful.
Despite all that you learn at Turing, there is still so much more you don’t know. So, there were definitely feelings of, "Am I learning fast enough? Am I learning enough? How can I get better?" And now I would say those feelings are still there, but it’s not as loud. I'm able to better identify the hard part of a problem, ask better questions to fill the gaps in my knowledge, and leverage the experience of the other developers on the team.
Did you learn everything you needed to know for your current role at Turing?
I don't think you ever learn everything you need to know, and I don't think you could ever learn everything you need to learn from school. This is true in any space, but especially in tech because it evolves so quickly. You constantly need to be learning. You need to be aware of new languages, techniques, and services that are available to see if they're a fit for the company, your skill set, and your interests. You get inundated with information, so developing intuition is critical to being successful. You start to develop it at school, but you can only hone it through being involved, being responsible for deliverables and screwing up.
Do you find yourself still involved with Turing School? Have you kept in touch with other alumni?
I think the strongest asset that Turing has is its community. These are relationships that will continue to be important for me not just professionally, but also personally throughout my life. Jeff and the team do a really good job with providing an experience that really bonds you – in a good way.
I'm not involved in the day-to-day things that happen at Turing, but I am involved with Turing alumni events. I still keep in touch with a bunch of the instructors and my peers. I recently organized a beer-in-hand kickball team that plays in a league here in Denver. So I get to see about 15 to 20 Turing people once a week through that.
What advice do you have for people thinking about making a career change into tech, and people thinking about attending a coding bootcamp?
Do it. I completely endorse it. As we incorporate more and more technology into our lives, I think knowing how to program will become just as important as knowing how to add and subtract. Sure, you can be successful professionally without it, but your options will be limited. I would also caveat that programming is hard. It doesn’t come naturally to everybody. People also come at it with varying levels of experience. So, it’s easy to observe the success someone else has and measure yourself against it. Don’t do that. Don’t judge your insides by other people’s outsides.
There's not a lot of context to understand who fits in where. So, it's very natural to feel like you need to know where you stand, how good you are, and if you’re doing well or not. The easiest way to do that is to look to the people around you and compare yourself to them. It's even easier to get down on yourself if you don’t feel like you’re measuring up. But that’s a perception problem.
Be kind to yourself. You’re doing something new and that takes time to be good at, to feel good at. Turing is only seven months long, but your coding path could span decades. Don’t judge yourself too early. Your path in programming is not going to be someone else's path. Everybody has their own path and own trajectories. Be kind to yourself – everybody gets it at different times. Some people are really good and don't have to put in much effort. Some people have to put in a lot of effort. If you're one of those people that has to put in a lot of effort, that's okay. It might have taken you a little bit longer, maybe a month longer. But what’s a month, or even a year, when the path is decades long. Most importantly, keep in mind why you decided to attend a code school. If you’ve done it right, you’ve learned to program. Regardless of how long it took you, seven months or two years, no one can take that away from you.