Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we talk to Vanessa Hurst, founder of Developers for Good, co-founder of Girl Develop It!, and a consultant and advisor to startups.
Who are you?
I'm Vanessa Hurst and I live in New York City, where I do freelance data and analytics development. I'm also starting a company to help people express more meaningful gratitude online.
What do you do?
At Paperless Post, I've worked on a range of projects from devops to infrastructure to data architecture, performance tuning, and web analytics.
I love learning about people through data - what they like, what they struggle to find, where they spend a lot of time, etc. Google Analytics is a great free tool, and if you know your regexes, you can use Advanced Segments to find out just about anything about user behavior on a site.
Postgres is also great for analytics queries - one of my favorite features for queries on the fly is the generate series function.
I founded and run Developers for Good, a meetup of technologists who use their skills to further social missions, and co-founded Girl Develop It to teach software development in judgment-free environments. I also do some Rails and Postgres development and advise Ohours, an awesome way to meet interesting people for face-to-face conversations.
What is your development environment?
I use a 13 MacBook Pro and generally 1–2 external monitors, especially if I'm doing data ETL or analysis. I'm currently experimenting with a standing desk I fashioned from a dresser. I used it for two days and thought my legs were going to fall off, so I'm taking it slower now and only standing half a day at a time until I adjust.
I'm a huge fan of Postgres, and Ruby and Rails are my go-to for web applications, but I also really like Python.
I generally use the terminal and TextMate, though I'm gradually picking up more VIM commands and would love to ditch the IDE all together at some point!
For Postgres, I like the free, open source PgAdmin (the team that maintains it is also great!).
I've focused heavily on back-end development and data, so now I'm really interested in D3.js and some of the other visualization toolkits coming out - it's nice to easily go those extra steps to make your data digestible with a cool visualization. I also love PostGIS, but haven't any big projects that require it yet.
What is your coding pet peeve?
My pet peeve is when people write code that overwrites or deletes data, usually without thinking of how the application will behave over time and how that data could be used. Or when data migrations are not re-runnable or not reversible. Data's too important to just change on the fly and assume you'll get it perfectly right!
I wish table names were singular, but I've consented to the plural convention in Rails because I can only fight a few religious wars a day and this one's just not as important as fighting for more FOSS (free & open source software), for example.
How did you get started programming?
I didn't really know what a computer programmer was until college, and then as a first year biomedical engineer, I had to take a required CS 101 class that was taught in Java. I immediately loved that programming is powerful for creating efficiencies and saving people time through automation. Now I love it for efficiency, and even more for furthering causes I believe in through web technology.
Over time I've grown more and more in love with the principles of open source code and the developer community. I think we're a model for helping people learn, collaborate on important projects remotely and across different cultures, and for constantly pushing the envelope to make our tools and our lives better.
I wish there were more women and big-picture thinkers in the dev community (vs. tinkerers, who I love, but of which I think there are plenty). I think the way to make that happen is to be vocal about how our programming impacts people and communities, not just celebrating the technology itself.
What advice would you offer to an up-and-coming programmer?
Programming is 99% determination, and use your skills to help people!