Who are you? Where are you from? What's your backstory?
My name is Pat Walls, I’m 28 years old, and I am from Jackson Hole, Wyoming USA - although I’ve moved around for most of my life.
I haven’t always been a developer. My backstory mostly consists of me jumping around different careers, interests, and hobbies. Over the last few years, I’ve been working mostly as a developer and entrepreneur and running some side businesses.
I’m really looking forward to this interview because there are so many unique ways people get into coding. Unlike many other professions, where there’s usually a very clear path for success, coding is different, and I love that. I also love how ANYONE can learn.
But it also creates a lot of noise, people say “you should do this” or “you should do that”. Different things work for different people, and this is what worked for me!
What made you get into programming?
Basically, I got into programming after feeling not challenged at work.
I was working at a tech company in San Francisco doing some technical work with enterprise software. Before that, I was doing accounting, so I really enjoyed this new more technical, creative work I was doing.
But quickly, I felt like I mastered the work, and I wanted a bigger challenge. I also didn’t want to pigeonhole myself with these very specific enterprise software skills I was learning. I wanted to learn how to really code and build software.
This was about three years ago when boot camps were just starting to take off. I heard about a boot camp in San Francisco that guarantees you a job (or you don’t have to pay at all), and I immediately signed up.
The boot camp was the most intense thing I’ve done in my life. I learned how to code and was “software engineer ready” in 3 months (well, I still sucked but impressive how much I learned in that short span of time).
After the boot camp, I got a job as a software engineer and the rest was history :)
What does your process for learning to code look like?
I’m a hack.
For me, I don’t enjoy reading books, documentation, or other written stuff about programming. It’s hard for me to grasp how the code works unless I get my hands dirty.
My attention span is short, and I find reading articles about programming to be like watching paint dry.
I learn by trying to code to solve whatever problem. That is when things “click” for me.
If I need to learn a new language or framework, I like to use tutorials that help me take things step by step until I can get the hang of things.
For me, just building stuff over and over helps me learn. I’m not very good at understanding how things work the first time around. It usually takes me a couple attempts.
For example, when I was trying to get better at React, I remember just working on lots of fun little projects which helped me improve.
What does your process for building apps look like?
I build all my apps in Ruby on Rails or React.
I learned this stack in my boot camp, and I don’t have any particular interest in learning a new framework unless it’s necessary (like I had to build a mobile app or something).
When I build an app, I usually start by implementing the absolute core features first, because I want to see if the thing I’m doing is actually possible or as cool as I think it is in my head - and we’ve all experienced how building that part is the most exciting as well.
Then I do a bunch of design stuff to try to make it look like how I envisioned. I like to implement things really quickly so I don’t lose my original vision of how it looks and feels.
After that I do the boring stuff, like user login, meta tags, image uploads, etc etc.
My code is also extremely “hacky” as I always tell myself I’ll fix it later, and usually don’t. I’m pretty lazy like that.
Are you currently learning anything new?
Not any new frameworks, but with my projects, there always feels like there’s something new I need to learn.
Like for example, I heard I need to use schema.org tags on all my pages? Lots of SEO stuff.
I try to automate as many things as possible, so I’m always learning more things around that, like handling workers, errors, retries, image asset generation, APIs, etc.
What's your tech stack?
React (Sometimes) for UI intense stuff
S3 for storing files
Devise for user logins
SendGrid for emails
Sentry for error reporting
New Relic & Google Analytics
Bootstrap for design stuff
Advice for those learning to code?
Build your own projects!
If you’re really new to coding, don’t use codecademy - in my opinion, it’s a dreadful way to learn.
Stop spending weeks reading up on the “fundamentals”. Just dive right in and build stuff. Like I said earlier, getting my hands dirty really works well for me.
Sometimes the most painful thing (esp when you’re new) is to just get your environment set up. Check out tutorials and YouTube videos for that. Also just google, copy/paste any time you get stuck and you’ll eventually fix it :)
StarterStory.com - Learn how to start a business
You Don’t Need WordPress - Create a blog with Google Docs
Clout Report - Crowdsourced data on upcoming rappers
You can also find me on Twitter.