Web Development Skills
“You know, like nunchuku skills, bow hunting skills, computer hacking skills… Girls only want boyfriends who have great skills”.
PHP | MySQL | SubVersioN | HTML | CSS | JavaScript | jQuery | AJAX | XML | Magento | WordPress | Flash | Actionscript | Photoshop | Adobe Creative Suite | Basic touch typing | Drums | Guitar | Recording
PHP
I learned PHP at university as part of a second year module and went on to develop my final year coursework in the language. It started off as making basic modifications to a static HTML website to implement dynamic elements, and as such was mostly procedural, so a lot of my knowledge was acquired either by myself or on the job. Understanding the importance of clean, well constructed code I always take the time on a project to understand the codebase I am working with and whenever possible checking with existing code or with other developers for best practices and ways of working. I am currently studying towards Zend certification and am always trying to improve my knowledge of PHP, Object-Oriented code and general programming standards.
MySQL
Purely for it’s compatibility, wide-usage and price the Relational DataBase Management System (RDBMS) I use is MySQL. Despite working with many different frameworks, CMSs and E-Commerce platforms I have tried to still use as much raw SQL as possible in order to understand how the data gets from the database into an object or array, and of course create as efficient queries as possible. Through research and working with Magento I am a big user and fan of EAV table modelling and try to make sure that tables are normalised sensibly.
SubVersioN
How on earth did we cope without version control?! Every project I work on is managed through SVN, both personally/individually and professionally/collectively so I use it as a backup tool as well as a collaboration tool. Subversion is my version control platform of choice but I have experimented with Git and Github and would happily learn another system; it’s version control/code division that I am a fan of, not necessarily Subversion.
HTML / CSS
Without taking away from my backend skills, I really enjoy frontend development, markup and in general the conception process of creating a website. It’s the most exiting and creative part of web development and I really enjoy sitting down with other creatives – designers, marketers and other developers – and trying to produce the best possible website based on the client’s needs.
At the heart of this is having a good knowledge of HTML and CSS. Knowing what it is capable of presenting to a client is essential in planning out a website and it is important to know both the possibilities and limitations of what you can put into a web-browser. I’ve really enjoyed reading about the new HTML 5 standards, and the history of HTML, in the book Dive Into HTML 5 and have utilised some of the new CSS3 features on a few recent projects.
Aside from this I think the key to good fronted development is to be prepared to tailor a site to your client’s needs and produce the best possible website within budget.
Javascript and Frameworks
Working with Javascript is something I really enjoy and when used appropriately – and sometimes sparingly – can really enhance a website. There are of course best practices to keep to, fallbacks to implement and accessibility requirements to consider but there are many modern features of websites that heavily depend on dynamic DOM manipulation. Regarding frameworks, I started at a company that used jQuery, moved to a company that uses MooTools and work a lot with Magento, meaning I have to be familiar with Prototype (although jQuery.noConflict() is a blessing!).
I am just about old enough to have used the ‘XMLHttpRequest object’ before having heard of the term AJAX. Like standard Javascript it is essential that fallbacks are in place in case the user has Javascript dsabled, or the communication fails, but used sensibly it is a fantastic technology.