Phil Wright studied math in college, and took a job in manufacturing after graduation. He started teaching himself Python to help automate manufacturing processes, but needed more guidance; so he enrolled in RMOTR’s online Advanced Python Programming course. Phil explains why he wanted to learn remotely in a collaborative environment where he could communicate regularly with instructors and students, tells us about his extra RMOTR capstone project that expanded his skills, and talks about his new job as a software engineer at FoxGuard Solutions!
What were you up to before RMOTR?
I got a mathematics degree, with a big focus on math theory. After graduation, I went to work for a local manufacturing company. The work was related to customization and optimization of their products and processes. In college, I took some courses that introduced me to scientific computing resources, like MATLAB and Mathematica, and took some very basic programming courses, so I had a slight working knowledge of a couple of programming languages.
Once I started working for the manufacturing company, I saw a number of ways that coding tools could be used to automate processes, and I wanted to learn more about how to use those tools. I started learning Python, largely because of how accessible it was and because of the supportive online community of people who were learning and sharing resources. Over a few years, I built up basic Python skills, and I knew some of the basics of control flow, but I was having difficulty grasping certain features of the language. So I started looking for resources to help me learn those more technical aspects of the language in a guided environment.
Which courses did you take at RMOTR?
Why did you choose RMOTR over other online coding courses? Have you taken other online courses?
I have taken some other courses through sites like Udacity and Coursera to improve my programming skills. What really drew me to the RMOTR courses was the level of communication between the instructors, students and mentors, that the classes were taught in real time, and that the projects were done in real-time, collaborating with other students. I also liked that RMOTR would allow me to ask questions and have immediate resources to get answers. Finally, I needed an online course that would allow me to work from home – that was a big deal for me – and also outside of work hours, because I was working full-time.
What was the RMOTR application process like for you? Since it was an advanced Python course, did you have to demonstrate prior knowledge?
I had to submit an application that included a short development test. It tested the basics of the language constructs and some fundamentals of Python. For the Django course, there was a similar test.
How many people were you studying with? Was your class diverse in terms of gender, race, life and career backgrounds?
My cohort for the Python course was around 18 to 20 students. There were two separate classes running at the same time, which were divided up for logistical reasons. For the Django course, we had 6 to 8 students. In both classes there was a fairly good mix of students and professionals. There were a few people who were interested in learning the language for their current jobs; others were self-employed and wanted the skills to offer to clients. In the Python class there were a few women, and there was one woman in my Django cohort.
There were people from a few different countries too. In the Python class we had a man from India, which was a lot of fun. It was great to be able to interact with people from all over the world, and around the US. I live in Virginia, but I got to learn with students from St. Louis, Texas, California – all over the place.
What was your learning experience like at RMOTR? Tell us about the teaching style.
Both courses were each four weeks long. We were assigned readings the week before we met for the first time, and then for each following week. Each week we would have one scheduled, two-hour lecture session, where everyone would meet online and the instructor would give a presentation related to the readings that we had done. We would interact with the instructor, ask questions, and go through a few examples.
Later in the week, there would be three separate, three-hour coding sessions. During each coding session an instructor or mentor would present a new project to us, then we would split into groups, and go into separate Google Hangouts and work as a team to code on the project. If we had a question during the session, we could message the mentors on Slack and a mentor would jump into our Hangout to help. Once we submitted our solutions through Github, we would receive another group’s work to code review, and our work would be code reviewed by another group.
We learned a lot through the projects, and through reviewing other people’s code. We needed to think critically about the design decisions they made.
Were there time constraints? Did you have to set aside a certain amount of time to do RMOTR?
In total we were working about 20 hours per week.
Our lecture session was one evening during the week; two of the coding sessions were on weeknights, and the third coding session was on Saturday mornings. It worked very well; it meant we had one day between each coding session, and one evening off, so we could catch up on reading or have a much-needed break.
How many instructors or mentors did you have, and how did you communicate with them?
The two primary instructors were Santiago and Martin, who are the RMOTR founders, and then we had 3 to 5 mentors during each coding session in addition to Santiago and Martin. We would use Slack to communicate with them – if we had a question we would send a link to our hangout, and a mentor would jump in to help.
Outside of coding session times, there were usually one or two people available, or we could schedule something if no one was immediately available.
What is your favorite project that you built in a RMOTR course?
At the end of the advanced Python course, there was an optional demo day project, where students could form a small group and work on a project for a couple of weeks. We had to submit a proposal for what our project would do, and build a minimum viable product. Then Santiago and Martin invited people from the software development industry to a demo session where we could demo the project and answer questions about decisions we made.
My group built a website which listed open software development jobs, and provided statistics around the numbers of job postings over time for jobs users are looking for. It also pulled in reviews of companies from the glassdoor.com website. It was definitely a challenge to do in the amount of time that we had, but I really enjoyed it.
What sort of career advice did the team at RMOTR give you?
Santiago and Martin gave us guidance on how to seek out the types of jobs that we would be prepared for after the courses, suggested some good websites to look at, and encouraged us to collaborate and share our successes with other students. They also talked about resume writing, and encouraged us to come to them with questions related to that. Alumni are still able to interact with current students and previous alumni through the Slack channel – there is a lot of discussion on there about job search tips, and about programming questions, which is really cool.
How did these two RMOTR courses help you with your career?
One reason I chose to do the demo day project was because I was looking for a new job. Late last year, I found a new job working as a full-time software engineer! I know that the practices encouraged by RMOTR are things that this new company found attractive in me as a candidate. For example, I now have a solid understanding of test driven development, good knowledge of continuous integration practices, experience doing code reviews, and working with Github – I learned all of that at RMOTR.
Where are you working as a developer now and what’s your role?
I’m working for FoxGuard Solutions, a local Virginia security software development firm. The team I’m working on produces web-based tools for security management for client assets. The work has involved doing programming in a number of different languages. I work on a team with about eight other developers, and we focus on test driven development, which I learned a great deal about at RMOTR. We have a solid continuous integration procedure in place for development, as well as a very structured code review process. A few of the tools we use at this company are the same or similar to tools we learned with RMOTR.
Are you using Python or Django – the languages you studied at RMOTR? How has your company trained you on new technology?
I’ve done some work in Python at my new job, and I’m still using it extensively on personal projects, but it’s not the primary language at this company. Most of the work I do is in C# which I did not have a ton of experience in before I got the job. But the languages that I learned at RMOTR helped prepare me for learning C#.
FoxGuard Solutions trained me in C#. There were some language-specific exercises I went through for a few months when I started at the company, and I was encouraged to interact with other developers on the team when I had questions. So it was a mix of using reference material, training resources, and asking questions, which is similar to how the RMOTR courses were structured.
Since I’ve started doing more software development, I’ve learned that the process of running into questions or issues as I’m developing is something that is always going to happen, and it’s good to know how to find the answers yourself. That was something I really appreciated about the RMOTR course – when we had a question, the mentors or instructors would answer the direct question, and also point out where deeper documentation could be found. When you have one question about a topic, you’re most likely going to have more in the future.
How has your previous background been useful in your new job?
At my previous company I learned a lot about time management and prioritization. In manufacturing there is a heavy emphasis on efficiency and lean practices, and that’s helped me see how and why tasks at my new job are prioritized the way they are. I also brought knowledge of how and when to communicate about questions or hangups that may arise, when those need to be asked, and how to determine who to communicate with. A lot of that was very key to the work we were doing on the manufacturing side and has helped a ton in this new job.
What’s been the biggest challenge or roadblock in your journey to becoming a full-time software developer?
One of my biggest challenges is part of my own personality: I love to have a complete and rigorous understanding of a topic before I start working on it. That’s held me back in some situations. I’ve had to learn to accept the gaps I have. One of the things my team talks about is personal technical debt, which refers to gaps in your knowledge that you’re aware of, which you deliberately allow to be there, so that you can be functional with a certain tool or topic. Being aware of that has been very useful.
What advice do you have for people making a career change through a coding bootcamp?
Establish concrete goals for yourself and look for programs that address those goals specifically. Don’t be afraid to do research into a number of coding programs, be willing to re-evaluate those goals and work hard to accomplish them. I can’t speak highly enough about RMOTR’s courses. As long as you’re willing to work hard and invest time and effort, you’ll certainly benefit greatly from them. It’s especially difficult to gain additional skills on top of a full-time job, but it won’t be that difficult forever – it’s worth the extra effort!