Code Fellows Spotlight Graduate: James Lorence
Why did you decide to apply to Code Fellows?
I was looking for the shortest path to get trained in professional-level programming skills. Code Fellows was the right choice, as pursuing a second bachelor's degree would have put me years away from writing code in a professional setting.
Which course did you take?
What were you doing before the program?
I was working as an associate product manager for a SaaS company.
What challenges did you overcome to get to where you are?
I graduated college with a Bachelor of Arts in Educational Ministry, which is a hodgepodge of a degree that pulls from philosophy, theology, and psychology. When I decided soon after I graduated that I wanted to get into software — at a software company, not necessarily as a programmer — I really didn't have anything to show that I would be worth hiring, besides the fact that I was competent enough to get a bachelor's degree. That was difficult because I knew I had a long road ahead of me and a lot to learn before I would be of real value to a company.
It just happened that I got to know a guy who was the acting CTO for a small SaaS startup and he helped get me in the door on their customer service team. With startups, everyone wears multiple hats, so if something needs to get done, and you can do it, then that's your new job. I worked with the developers on various projects and was able to learn a lot about software, from high-level best practices to how software is developed. The company hit some financial bumps and had to let me go, but they connected me with another SaaS company that was in dire need for an associate product manager/intern. I was super excited to jump in and fill the role. I worked closely with a bunch of incredibly talented developers and project managers, many who had worked for Microsoft or other big-name software companies in the area. I spent a year learning from them before I felt like I really wanted to jump head-first into becoming a software engineer.
I say all this because I have to thank a lot of people who helped me along the way. I really didn't know anything about software or programming when I graduated just four years ago. But the programming community, in my experience, really understands that mentorship and helping younger, newer programmers (or associate project managers) is the only way that they will grow and get better. Many programmers have had someone help them, so they want to do that for others.
So thank you to everyone who helped me, and my advice for others is to reach out to people for help. There are a bunch of great meetups in the Seattle area and I'm sure most cities will have some solid programming communities that you can connect with and get help as you learn the basics. My other encouragement is to do what I did and try to get a position where you can have contact with a programmer or developer at your work, and then periodically ask them questions about what they're doing. That way you can get some hands-on experience in the world of software development as you watch others do it.
Tell us a little bit about what you're doing at your current job.
Currently I'm working as a web developer at an analytics consultant company. We're one of 15 or so Google Analytics preferred partners. Analytics is a fun space to be in, as everyone likes the ideas of analytics and big data but few actually know how to use it effectively.
I work with a great team of experienced analysts and developers. We partner with large global and Fortune 500 companies to understand their business objectives and then architect an analytics solution that makes sense for them.
Where do you see yourself in five years?
My plan in the next few years, besides continuing to grow in my technical understanding and expertise, is to move into a managerial position where I can bounce between leading and facilitating a team, and writing code. I love writing code and solving tough algorithmic problems, but I also love being business-focused and answering the question, "What are we doing and why?"
What motivates or inspires you in software development?
Teamwork has always been a huge draw for me when it comes to software. There's something beautiful and satisfying in teaming up with other people to build something bigger or better than you could on your own.
One of the misconceptions I had about programming was that software developers were slaves to their computer screens, spending all day typing strange letters and symbols that no one else could really understand. But what brought me back to programming after years of avoiding it is that, at its pinnacle of excellence, programming is about community. Here's what I mean: software is best when built by a team of people for the benefit of others, and built in a way that others can understand the how, what, and why behind it.
There will always be companies and individuals who disagree, and sometimes they all find each other and are successful even with an individualistic view of programming, but they have missed the best part. When software is developed with a mindset and team that fosters collaboration, and is built to serve the greater community, everyone wins. I've seen it first-hand and it's something that I'm excited to be participating in now.
Any advice for prospective students who are considering applying to a similar learning program, or who are trying to decide which stack to learn?
My advice is that programming, like many things in life, is a journey: deciding where and how you start is important to get you off on the best foot, but then you need to keep moving forward. At most code schools that I've seen, and especially at Code Fellows, all the stacks available to learn have robust communities and plenty of jobs for the investment of time and money to be worthwhile. So you're not going to make a bad choice, no matter what you choose. But don't forget, for those of you making a career switch to programming, this is just the beginning.
At Code Fellows, they will teach you some great practical skills in a stack that will get you through the door at a company. This a huge beginning to a career in programming. Now you need to take those practical skills and put them to use. Plus, you will most likely need to learn other skills just to do your normal job. A few weeks of evening classes and then two months of intense learning is not going to teach you everything you need to know. But it will give you a great foundation to get started and to build on. Things are changing so fast that it gives people like me an opportunity to become experts in a technology, even though I've only been programming for a little over a year now. But that means that things will change again, so you need to keep learning, keep building, keep innovating.
So pick your stack, build your foundation, and ask others for help — you're going to need it. Code Fellows is a great place to get the help you need to be successful and get off on the right foot. Then you get to spend the rest of your life learning and growing.