“Build Something That You Want to Use Yourself”
It’s obvious that “technology and innovation, used wisely, can and will change the world in positive ways”. As technology is leaping and bouncing ahead of time, it is getting much easier to build up the effective online presence and engage with your professional network on the Web. LinkedIn is one of the best business-oriented social networking services which helps your professional connections benefit your career.
Steven Foote is a Senior Web Developer at LinkedIn and he is the one who improves the impact and quality of your professional communication. Steven has taught himself to program and now he makes it possible for others to learn programming by their own. In his interview for our blog Steven speaks on his “Learning to Program” book, professional development, work at LinkedIn, and some other exciting facts of his life.
I hope this will be really interesting for all novice developers and everyone working in the related fields.
1. Will you please share a bit about your background and your field of expertise?
“In college at BYU I studied accounting. I figured that accounting was the best way to understand the technical details of how business works (I may be wrong about that, but that was my reasoning and I’m sticking to it). While studying accounting, I got a job as a programmer for the BYU Law Library. I started out with data extraction and analysis tasks, but I quickly moved on to building web applications for law students and law library employees. I have continued focusing on web applications since then. My focus for the past several years has been front end web development, but I enjoy all forms of programming.”
2. What influenced your decision to learn programming? What was your first step in this field?
“I tried to learning programming in high school. All of my friends were in the Computer Science AP class and I wanted to understand what they were doing. I quit after a couple of hours. When I was given the opportunity to learn programming again in college, I was a bit more mature and I was motivated by the fact that I really needed a job. My first foray into the world of programming was data extraction using Regular Expressions in Perl. This is admittedly not the most friendly introduction to programming, but it was enough to get me hooked.”
3. Where did you practice your skills? Were there any companies you worked in before you started your career in LinkedIn?
“I continue to practice programming at every chance I get. I enjoy sites like Project Euler and Codewars where I can learn new skills and techniques that don’t necessarily apply to the work I do at LinkedIn. From the beginning I have learned through trial and error, but as I have learned more, I have been able to do less blind guessing and more focused experiments. The process of learning has gotten easier as my knowledge has increased. Still, there are days and weeks when I feel like I am stumbling around in the dark.
Before LinkedIn I worked as a programmer at the BYU Law Library. I also worked as an auditor for EY in San Jose. During my time at EY I continued to program whenever I could. I wrote programs to automate spreadsheets and help me track my billable hours. I’ve heard that a few of these programs are still used by auditors at EY today.”
4. What education do you have? Is it connected with your current activity?
“I have a Bachelors and Masters degree in accounting from BYU’s Marriott School of Management. My formal education is not directly related to my daily work, but the skills, knowledge, and connections I made continue to serve me well.”
5. What programming languages do you currently use?
“At work I use JavaScript with HTML and CSS. I also do a little bit of Java (Android and the Play Framework). On my own, I like to use Python and I am learning Clojure. I’m also writing an HTML templating language called Tornado.”
6. How can you describe your progress as a developer at LinkedIn?
“I feel that I have matured as a developer during my time at LinkedIn. Before LinkedIn, my code was unruly, and so was my attitude. I would do whatever I needed to do, just to make something work. During my time at LinkedIn I have learned important lessons about collaborative development, building applications that can scale, and the dangers of technical debt. Through all of this, I have also learned a lot of fundamentals of computer science, as well as user experience.”
7. What made you write your “Learning to Program” book? What was your initial goal? What benefits does it provide?
“I wrote “Learning to Program” to be the book I wished I had when I was learning to program. Learning to program is a difficult, painful, and often lonely process. I wrote the book to lessen that pain. “Learning to Program” teaches a lot of important topics in a logical order, so they are more likely to stick. It also uses an interesting, ongoing project so the reader can apply and practice the things they are learning.”
8. What qualities should a person have to learn programming from scratch?
“Probably the most important quality is tenacity. If you are the type of person who doesn’t give up easy, you will have success in learning to program. There are a lot of resources that didn’t exist when I was learning to program (including my book!). Even so, learning to program will test your resolve. Quitting is so easy, and continuing is so hard.”
9. Is there any advice you can give to the newbies starting to learn programming?
“Build something that you want to use yourself. Hopefully something you want to use everyday. It doesn’t need to be something completely new and different. Actually, it’s probably better if it has already been built so you can do some copying. If you have a project, you will be forced to learn things to make your project work, which is so much more effective than just reading about something.”
Our team is thankful to Steven for this interesting conversation and for his time.