Nowadays computers run our lives and we try to run them as well. Those that have chosen to sit on the margins of technology have found themselves abandoned in a world ever more dependent on technology.
It is also often seen that people with little understanding of software -or technology for that matter- often make the mistake of assuming things and find themselves having unrealistic expectations. It is exactly for that reason that you should try to understand at least the basics of current technology before it is too late.
For better or for worse I chose a technology-driven profession, a decision which I must say I have enjoyed over the years. I have had the luck to exercise my career with passion and mostly with satisfaction though I have not become rich from it.
Long ago I started my career as an Electrical Engineer developing embedded software for a large, reputable European semiconductors company. There was a period where I defended Linux with heart and soul (I still think Unix and Linux are far superior than Windows). I was also a developer of free Open Source software for about a decade which was fine and I did not make any cent out of it.
Years ago I took the decision of stopping with the development of free software and simply dedicate myself to my job which was (and has always been) challenging enough. Not only that, I made the decision of abandoning the Linux camp and venture into the land of Microsoft Windows!. The reason? it was market driven and finally there was something interesting enough in it: the .NET Framework.
With over 18 years of experience as an engineer in technology driven companies and in particular with all facets of software development, you can say that in those years a lot had to be learned. In this profession you must keep yourself up to date or find yourself outdated and out of a job pretty soon. Luckily those years have been well used to learn things that were not taught at the University, except perhaps for becoming a businessman or a marketeer.
Nowadays I do programming very rarely -and good because my eyes aren't that fond of the monitor anymore- but I have the pleasure to work for a small company where I can use all that experience. My main responsabilities are that of a lead technical architect in charge of either overall and/or detailed designs as well as data modeling. In addition to that I use the wisdom built over the years to produce, monitor and enforce design and development standards. Last but not least I have (or coach) a small but diligent team of off-shore developers (.net and development in general) and am currently guiding them into their first steps as technical software designers.
Design, design, design. Someone that takes software development seriously believes that a good design is the best beginning. The days of going straight to coding are left to the amateurs. Testing! "there is no time for that" is something you often hear, yet it is something so grossly underestimated.
I hope that as time permits you will see in this site some of the (past) articles I have written as well as articles about my views of software development and design. Obviously those will be my views as everybody is entitled to have his/her own opinion; we all know there are many ways that lead to Rome.
In particular -and technically speaking- these are the areas of current interest to me:
- Design of systems using the Unified Modeling Language (UML).
- Data modeling for relational database systems, in particular targetted to Microsoft SQL Server.
- Standarization and streamlining of software development procedures
- Creating solutions with the Microsoft .NET Framework and Visual Studio .NET
- Facilitating the design process with applications such as Enterprise Architect from Sparx Systems
- Reaping the benefits of regression testing