I have a traditional software engineering education – object orientation, use cases, UML, Design patterns ( haha ) , extreme programming, database modelling…
Huge free software and open source asset management strategy fan.
Fell in love with the command-line, and the Lisp (further reading) and Perl programming paradigm shifts I experienced when I discovered them.
Knowing the above you can easily conclude that I fell in love at first sight with Ruby and then Rails. I went to UofM to see how they teach, and I was lucky because I can honestly say that the instructors at UofM were really at a higher level of quality than the UofW profs. An instructor named Michael, whose last name hauntingly escapes me introduced us to more technologies and concepts in one course than I heard of during a whole 10-course year at UofW. And we got to practice it all through programming assignments. This was the life! He talked about Ruby and Rails as if it is the thing all the cool kids are using these days, and it really was that. For good reasons too. Score! I used Rails at my every sub-sequent opportunity to create a system, such as during the University of Winnipeg Department of Applied Computer Science project course.
First Programming Job
I got a job at a call centre with a very flexible and cool hacker Mark Johnston. I needed to use PHP to work on the day-to-day, and it was a decent tool for the job — A call centre has to think about the lowest common denominator when choosing the environments programmers they’ll be able to hire will need to be able to work in. Working with Mark allowed me to explore lots of interesting areas:
- I was able to further abstract duplication from the different scripts we had to write over and over, and so I developed an MVC framework in PHP. It was fairly low-key, and I re-used that framework on at least 3 mini-apps I made within the center
- call monitoring and quality reporting system for the quality team
- quality goals and feedback tracking system for the management team to be able to guide the development of new hires and keep a finger on the pulse of the experienced people at a glance – based on the data the quality team collects
- call handling system for the CTI between the telephone dialer and the customer database and reporting transactional data to production team leaders
- I finally had the opportunity to use python on a number of sys admin scripts and even a Django-based system for scheduling and tracking attendance.
- There was probably a huge number of other cool things I got to work with at that call centre over 4 years, but I’ll highlight that I folded up an ethernet cord over a thousand times, or a power cord over a thousand times, or carried a monitor from here to yonder over 500 times. However, Mark got a 37% pay-raise opportunity, and so it was time for the phases of mourning and then moving on.
I got into website making because I needed my next job. I ran into CMSs, Drupal specifically, and I thought “Wow, this stuff can out-of-the-box do at least 40% of what I need to do in every app I’ve built so far, has a non-disgusting appearance and UI, and is completely programmable? By me? I need MOAR!!1″
I got a job at a company where they are actively building their own CMS with an MVC framework, but I did not enjoy working with the framework, or the CMS (I want to make a website for a client, not fix bugs in the CMS). I also found it hard to identify with the company vision of building a proprietary CMS (surprise!), having previously gone down the path of building my own MVC framework — I knew we can’t possibly seriously compete with the functionality and we should embrace the code reuse that is WordPress. It is worth mentioning that I do identify with the company mission of “Being the best provider of web asset management to our clients.”. I was there for one of the most fun years of my grown-up life. There is a great emphasis on fun ingrained in the company’s organizational culture, among other great aspects of its culture.
I gravitated toward WordPress because of market demand and fell in love with its variation on the theme.
I’m looking forward to seeing where the career in this exciting field will take me next.