Zachary Voase
Info
| Name | Zachary Voase |
|---|---|
| Location | London, UK |
| Website | zacharyvoase.com |
| Code | http://github.com/zacharyvoase |
Contact
| z@zacharyvoase.com | |
| Skype | zvoase |
Profile
I’m a polyglot devigner and generalist, and I’m passionate about creating experiences for the Web. I design and build software centered around humans, and I can easily adapt to different technologies and working environments—in fact, I love it.
I started using computers at a young age; the first programming language I learned was Scheme, and since then I’ve continuously invested in expanding my repertoire. I’ve worked in various scenarios, on both open-source and proprietary software, remotely and on-site, and as a contractor and an employee. I feel this gives me a solid breadth of experience in interacting with people, which is often the most challenging aspect of development. I’ve usually acted as developer and system administrator, but have also engaged in smaller management, UI/UX and strategic roles.
I am an active participant in several open-source communities, and have released many pieces of software myself (see my GitHub profile for a full list). More recently I’ve begun to speak at user groups and conferences, and I’ve maintained an active blog for over 2 years. The public scrutiny of OSS has helped me refine my programming and written communication practices; as a result of this exposure I’m now more disciplined in both my writing and coding overall.
Aspirations
There are a few things I’m looking for in my career.
- Autonomy
- This implies freedom: I need to be able to make decisions about my own work, and be involved in the decision-making process on projects in general. It therefore also implies trust and co-operation, which is hard to get from paranoid managers and organisations. I’m not a control freak, but I am allergic to inbox-driven development. I can come up with creative solutions to problems when I have the freedom to do so.
- Growth
- I have a persistent thirst for challenge, and get bored soon if I’m not improving myself. This means constantly evaluating the latest techniques and technologies to see if I can save time, money or effort—and sometimes just for the entertainment value. I actively seek opportunities to increase my impact through more significant roles and responsibilities.
- Interaction
- I believe people are the most important aspect of software development—not only users, who drive the business requirements, but colleagues, who share the codebase and with whom it’s important to have a good working relationship. In open-source software, a strong community is essential, since it is composed of both users and colleagues. Collaborating with stakeholders on a daily basis is how I stay focused and motivated.
Style
My coding style is quite idiosyncratic. I try, when I can, to adopt the idioms of the language I’m programming in, which is a valuable strategy to reduce a project’s ‘bus factor’. However, when solving a difficult problem, that sometimes isn’t an option. The solution to this must be clear documentation and comprehensive tests. I call what I do considerate programming: always keeping the other team members in mind (even if there aren’t any yet).
I am also an outspoken practitioner of the UNIX philosophy. Wherever possible, I write small, modular components, with focused responsibilities, which operate to standard and universal interfaces. This is a battle-tested method of producing quality software which has worked for 30 years; the same principles still apply today, and I attempt to exercise them whenever I sit at a computer terminal.
Process-wise, I adhere to the principles of Agile development in most
cases. This means human-centric design, working software at every step,
daily interaction with involved parties, and willingness to adapt. I
believe that code without tests is essentially broken, as tests are the
first port of call for quality assurance. I agree with Abelson &
Sussman on the value of semantics in code: Programs must be written
for people to read, and only incidentally for machines to execute.
Skills
Most of my work up to this point has been in Python, using the Django web framework. I’m also experienced with Ruby and Rails. I develop exclusively on UNIX systems, and have done so for 5 years now. I use Vim to write code, and Git to manage it (though I can also use Subversion and Mercurial).
On the front-end, I’m very comfortable with JavaScript, especially with jQuery, and I can write cross-browser compatible HTML and CSS. Still, most of my styling is now done using Sass and Compass.
I have a strong understanding of modern Web architecture, including the Semantic Web, the principles of REST, and HTTP itself. I’m familiar with a few common APIs, including Facebook, Twitter and OAuth.
I’ve developed in Agile and Test-Driven Development contexts for 2 years. Each team I’ve worked on has practised it differently, with varying elements of Scrum, Extreme Programming and Kanban. I take a lot of pride in my written and spoken communication skills, and maintain a blog at blog.zacharyvoase.com.
Experience
Technologies
I’m usually very quick to adapt to different technologies and paradigms, but these are the ones I’m most comfortable with at the moment:
| Python | 5 years |
|---|---|
| UNIX (Ubuntu, RHEL, OS X) | 5 years |
| Django | 3 years |
| JavaScript (incl. jQuery) | 3 years |
| CSS | 3 years |
| Semantic Web | 2 years |
| Ruby | 2 years |
| Rails | 2 years |
| Twitter API | 2 years |
| Facebook Social Graph API | 1 year |
References
In the interest of my clients’ confidentiality, I ask that you contact me directly for specific information and a list of references.
Education
I didn’t go to college or university, but I did graduate from high school in the summer of 2009. These were my results:
A-Levels
| Subject | Level | Year | Grade |
|---|---|---|---|
| Further Mathematics | AS+A2 | 2009 | A |
| Biology | AS+A2 | 2009 | A |
| Mathematics | AS+A2 | 2008 | A |
| English Literature | AS | 2008 | A |
| Physics | AS | 2008 | A |
| Spanish | AS | 2007 | A |
SAT
| Test | Date | Score |
|---|---|---|
| SAT II: Math Level 2 | Dec 2008 | 800 |
| SAT II: Physics | Dec 2008 | 800 |
| SAT I: Reading | Nov 2008 | 760 |
| SAT I: Writing | Nov 2008 | 720 |
| SAT I: Math | Nov 2008 | 780 |
Interested in hiring me for your next project?
Get in touch.