Note. If you are looking for my job experience details in a “traditional resume” format, please proceed to my LinkedIn profile.
I’ve been quite much into computers since I was a pre-teen*. But considering beginning of my professional career in IT since the time I was hired** officially, I can proudly say that I carry well over 15 years of experience.
As a technical university student I always was actively engaged in Research and Development projects***, amongst which I want to highlight my work in Laser Optical Measurements Lab, where my transition from pure programming to software analysis and testing began. They had a very sophisticated engineering solution utilizing computer and robotics technologies for nanoscale precision touchless measurements, and wanted to establish a run-time monitoring to keep track of components’ work in integration. That required a lot of “glass box” and “black box” investigation and analysis from me, and finally I’ve managed to create my first automation solution, featuring its own instructions language.
I found really exciting creating systems that can be smart on their own, and can extend human observation and awareness far beyond “naked eye and hand” barrier. For my Master’s I chose research and development work on Artificial Intelligence methods, specifically, complex pattern recognition components based on Neural Networks, and real-time control units based on Fuzzy Logic.
I always wanted to have a pragmatic ground in my work, so I didn’t stay in the University in a pure scientific research, and joined an IT integrated solutions company in the role of a technical analyst. Although I did a fair amount of Object-Oriented programming there, I also much enjoyed projects with testing of hardware/software solutions built for Health-care industry, and learning aspects of network and systems administration.
By the year of 2006, when my family and I moved to Toronto, Canada, I had over 3 years of technical management experience.
In Canada, I found that in many companies there is a solid distinction in assigned job responsibilities between technical expert and people manager**** roles. As my personal style is leading by example, I turned to technical expert jobs, and worked as a team member, team lead, and/or individual contractor; so far I’m inclined to stay a hands-on testing and programming professional, rather than pursuing a resource manager career.
I worked in flexible Agile/TDD projects (Internet Services, Telecom, VOIP), and in heavily regulated CMMI 4 organizations (large Canadian and International financial services companies), as well as in expanding and developing environments (including government program in Health-care industry). Probably, because of my engineering attitude “getting job done with the means you have available”, I adapted well to a variety of teams and environments. Or maybe I was just lucky to meet many people whom I learnt from.
As a final paragraph here, I was going to throw in a bunch of keywords representing platforms, programming languages, technologies and tools I’ve worked with, but, I’m sure, search engines will pick that up from the contents of my blog. Instead, my message is: neither tools nor technologies get problems solved and job done, but people, skilled professionals.
* And I don’t mean computer games here. I did programming of math tasks and created logical games in various forms of BASIC on PCs like ZX Spectrum and Apple II.
** For my first IT job, I was hired on a paid basis as a part-time C programmer to create some data processing supplemental modules for a huge GIS (Geo-Information Systems) application.
*** That is, you need to apply for and win the competition to get engaged in the project; or meet and impress the project leader to be included in the group.
**** That is, first of all you have to learn that your team are not your colleagues but merely “replaceable resources”.