Hi, I'm Phil Nash, a developer evangelist for Twilio. I live in London and get to travel around Europe supporting developer communities as best as I can. I'm very lucky in my role as I get to learn from the best developers in the world and help them succeed in changing communications forever.
How did you become a developer evangelist, what is your background?
Before becoming a developer evangelist I worked at an agency called Mint Digital. I was there for more than 6 years and they took me from being a developer who knew little more than HTML, CSS and a bit of JavaScript to a full stack Rails developer who'd had a hand in building and launching several client applications and businesses.
6 years seems like a long time to be in one job for these days, but the ever changing nature of the job, from sites like Channel 4's Sexperience to businesses like DeskBeers, as well as the fantastic people kept me very busy. The contrast of agency deadlines with customer validation and external stakeholders against internal desires lead to a lot of different experiences which you don't normally get from one job, and on top of that Mint encouraged me to speak publicly too.
All of that lead eventually to developer evangelism, which for me really consists of sharing and understanding developer experiences and trying to improve them. Some of the time that means helping out debugging at a hack day, exploring and speaking about new technologies, or contributing to open source. And some of the time that means mentioning the Twilio API. Without the experiences I had at Mint Digital none of that would be possible.
Where did you learn coding? Looking back, would you recommend your path for beginners?
My journey to becoming a developer was not the typical story. I wasn't really interested in tinkering with my parents' computer when I was young. I mainly enjoyed playing games on it. I was lucky enough at a young age to be introduced to Logo at school. I don't know how old I was, but getting the turtle looping around the screen for me was the first code I wrote. I carried on through school doing various things as part of my lessons, at 13 I remember building my first HTML page (it was maroon and consisted of a table with giant borders because I thought they had a cool 3D effect) and a Lego powered conveyor belt that measured the size of objects that came along it.
At 16 or 17 my class embarked upon a project to calculate tax paid on a salary based on basic tax bands. We produced this in 3 versions, once using Microsoft Excel, once with Microsoft Access and finally with TurboPascal. The latter was my favourite and I'd built an full text interface for my project and really enjoyed playing with it. Incredible for a tax calculation program. All of this lead to a maths and computer science degree at Oxford University, which sounds great but nearly scared me off programming altogether. Suffice it to say I was redoing the front end of a website instead of revising for final exams and I plan to do as little Java as possible in my future.
This eventually lead me to re-evaluate and decide that the web was what I wanted to work in and I made it into being a full time developer a year after leaving university.
Would I recommend this path? Yes! Sort of. I think what I've learned from looking back at this long journey to where I got today was that without the early education that ultimately set me on this path I don't know what I'd be doing now. So, that governments and education facilities are introducing kids to programming earlier and earlier and building a digital literacy for everyone can only mean the future is going in the right direction. On the other hand, if you're reading this and not below the age of 10 I don't think all hope is lost. When I graduated I turned my hand to HTML and CSS, to Web Standards and beating browser bugs. I taught myself web development by trying things out, researching others' ways and techniques and then writing my own down. We are spoiled by the learning resources we have online these days, so I'd recommend beginners to find something that challenges and interests them and use all the resources available to work at it.
What are the books & weblogs helped you to improve your professional skills?
I've never been very good at reading books to learn development. I normally pick a problem and then go about trying to find out how to solve it. This has lead to me using countless online resources over the years to get to where I am today. Twitter has been a huge help to me too, I follow people who not only produce interesting things but share them too. I've read many things and learned many things that I wouldn't have done without Twitter.
What web development technologies and tools do you use for your work?
Like most people I use a whole bunch of tools and technologies these days, the ones that bubble up in my mind right now are:
- Sublime Text 3
- Firefox and Chrome on a daily basis (depending on which one is using less memory at the time)
- Bash
- Ruby with Sinatra or Rails (depending on the size of the site I want to build)
- Node.js (I'm more than comfortable with JavaScript, but the hardest thing about Node is picking the right collection of packages to go together)
- I work a lot with webhooks at Twilio, so I must mention ngrok as a super useful tool for exposing your development sites
- Babel for all the fancy new JavaScript stuff
- I'm learning Elixir and Phoenix at the moment
Who are the developers, colleagues you admire most?
There are far too many people to name in this list that I'd be bound to forget someone and then feel awful about it.
Instead I'd like to say that I admire all developers who share their experiences. I admire those that have an idea and try to make it work, those that stand up, in front of their colleagues or on stage at a conference, and share that idea, those that publish that idea and open it up for more to work upon. It was other people sharing and publishing their work online that let me learn about web development when I didn't think programming was for me and I have them to thank for the career I've had so far. Web development is built on sharing, collaboration and learning together. We can all do it and the more of us that do, the better it is for everyone.