In my previous post I spoke about how I was changing directions on this blog and in my career. I wanted to speak to each of the main areas that my career as a ‘Flash’ dev introduced me to. (The quotes are to denote that whilst my primary language was Flash/AS3, I did other dev work as well.)
Web Analytics – The interest in this area began when we custom built a method for split testing a fully flash with Site Catalyst. After this was built, we would run bi-weekly split tests to see which features would convert better. (Just a/b testing, no multi-variate yet) This lead me into research on site optimisation, a/b split testing methodologies, and user centric design. (In fact my wedding website was coded up with so much Google Analytics code that if you so much as sneezed on it, I would know) Currently I am reading throughÂ Avinish’sÂ book, working on GA certification, responsible for any SiteCatalyst tracking we do at work, and monitoring/testing my business & clients websites.
Design Patterns in Programming – We had the good fortune to haveÂ DavidÂ visit the team and do a training class on design patterns/tdd etc. All of this was in PHP as we were migrating to that at the time but the same patterns can be applied across (most) languages. I was able to take quite a few learnings from this class (Factory, Singleton, etc), do more research, and apply them to some large Flash/PHP projects. Once you know the patterns and what problems they are meant to solve, the rest is just syntax.
Usability – I dont want to argue over the various definitions and buzzwords that people use for this facet of our industry but just say that while working as a Flash developer I got to work very closely with aÂ usability expert. Nicole helped me to FOCUS on usability in the things I designed and developed. Flash offered a unique way to present content and solve interesting usability problems that at the time, were not easily applied when using js/css. Through my experience working with her, further study, and reading I notice and can explain when things just don’t look/function as they should. As a side note, I get such a kick out of the fact that the book I read in college ‘Dont Make me Think‘, still applies today. (Although perhaps its sad that so many sites STILL need help?)
PHP – I first cut my teeth on development using vb.net and shortly after moved on to C#. I have even done development on the Lotus Notes Application stack (formula language, lotus script etc) and a ton of SQL query writing. Of all the languages I have used, my personal preference is PHP for web development.* One of the reasons I like the language is just the simplicity of being able to type into a code editor and have it run without needing to compile. (Strange for a guy coming from Flash?) Â I also love that you can grow with the language; you dont need to start out having mastered runtimes, know the intricacies of IIS etc. AsÂ you learn design patterns you can apply them where they fit and know that not everything needs to be object orientated code.Â I also am a huge proponent of open source. While Flash wasn’t open source (another conversation I dont want to have), the community was very with their knowledge, frameworks, and code. This is quite similar to what I have found in PHP land.** With frameworks like Code Igniter, Cake PHP, etc there are lots of resources to help people learn and grow.Â I am also gettingÂ back into WordPress development and have been loving what I have found under the hood of that quite capable CMS system. It makes me excited to want to start on some website ideas I have been sitting on…
SCRUM – My project management class in college was all about doing a massive requirements gathering effort, building this huge timeline, identifying the ‘critical path’, and all sorts of other dated techniques. While I earned good grades in the class, the idea that software projects could be managed in a rigid system like that didn’t make sense. (The project success rate should have tipped me off…) When I was introduced to SCRUM a few years ago, thats when I knew that I had found what I was looking for in a PM methodology. Write requirements in a way that makes sense to everyone on the project (user stories), break work down into manageable chunks (sprints), and have regular checkins to track progress (sprint planning meetings). (Perhaps a horrible way to summarise but hopefully you get the point.)
Last but not least: Management/Leadership. (But that is another blog post)
These are just some of the things I was introduced to over the course of the past few years of my career. There are many others such as all the sweet CSS frameworks that are coming out but for me the highlights are listed above. Now that I have these two posts out of the way, look for more posts on the topics covered and hopefully we can both learn from them.
* Working with some fantastic .NET devs makes me wish I had spent more time learning C# as well. The language and asp.net platform itself have some awesome stuff such as LINQ, Razor, the new testing frameworks coming out to name a few. Not to mention I could somehow be related to Scott Guthrie.
**Â I know the .NET community is very friendly with code as well. I just have had more exposure to PHP…