Next week, I am giving a free afternoon workshop at the Microsoft office in Austin, TX. This is a free workshop, and it is one in the series of free monthly workshops that Headspring hosts in conjunction with Microsoft.
I am the speaker for this month, and my topic is below. Please head on over and register now. Please ensure your seat.
Title: The Continuum of Modular Architecture
Modularity is a concept applicable to all types of systems. In software systems, the term "modular" is often used to apply to coding practices all the way to deployment techniques. There are varying degrees of modularity. In this interactive workshop, you will learn about the continuum of modularity as it relates to software architecture and design. After attending the workshop, you will be able to analyze and select a degree of modularity appropriate to your situation and apply it. Techniques will also be shared in areas such as how to partially deploy a system, version parts of a system independently, and methods for choosing different libraries, languages, and platforms within a system. Modularity is not an all-or-nothing decision. Come learn about the full continuum so that you can apply the appropriate design to your system.
At Headspring, we have to work with a variety of technologies. While our greatest strength is .Net, all technologies and platforms are on the table while serving clients. In the past we have worked with SAP, Windows, Linux, PHP, ADOBE Flash/Flex, CRMs, Java, Ruby, etc.
Being a “.Net” shop isn’t really a workable solution for a company looking to serve customers while meeting all of their needs.
One technology that compliments .Net really well is Flash built with the Flex framework.
Flex 4 was release in March of 2010, and 4.1 was released this summer. Similar to Silverlight, one can build data-driven interactive applications that interact with any back-end server, such as an ASP.NET application.
If you would like to see how an Adobe Flex app is put together, you can take a look at a sample we have available for download.
It is a simple, non-fully-featured web browser (using an embedded HTML control). You can get the application directly with this link. All the files are text, but you do need Adobe Flash Builder to open up the project correctly. Flash Builder is a custom-configured Eclipse application, so it is running Java.
Without a doubt, new programmer we bring on board are versed in some, but not all of the technologies we might have to use on client projects (and the list of technologies keeps on changing and growing). When hiring, I’m not so concerned about what technologies programmers are an “expert” in as their aptitude for learning. In a consulting company, learning the the ticket to the game.
This statement isn’t new, but my esteemed colleague, Jimmy Bogard, recently wrote an appropriate post extolling business analysts and managers to focus on knowledge gained through software, not just the code gained.
Code is easily tossed aside and written afresh. Business knowledge of what works and what doesn’t is much harder to come by. Head over to Jimmy’s blog and have a read.