I’ve decided to teach Software Architecture at MSc level (hurray!). This is the first time of my life I’m going to teach at that level and (believe it or not) I’m looking forward to it.
Teaching at Masters level is somewhat different from teaching at Bachelor level. For one, the students are more mature and therefore more autonomous. No need for me to read my slides to them anymore.
A second difference is that an MSc is research oriented. As the result, the students are expected to read research papers and discuss about their possible implications. Obviously, this also means that I’ll have to read tons of papers and select those which are really relevant.
I’m not a novice in Software Architecture. In fact, I’m not bad at all… but I’ve bought the two following books because (i) both are excellent (ii) both are recent and (iii) both are available cheaply in the Low Price Edition of Pearson Education (i.e. I might use them as textbooks)
Applying UML and Patterns is written by Craig Larman. This book has earned rave reviews on Amazon and is recommended by people like Alistair Cockburn (one of the fathers of the Agile Manifesto), Martin Fowler (of Refactoring fame) and John Vlissides (one of the Gang of Four and who has just passed away). I’ll start reading it today and I’m sure it’s a hell of a good book on Object-Oriented Analysis and Design. By the way, up to now my favourite book on OOA and OOD is Grady Booch‘s Object-Oriented Analysis and Design with Applications. In some weeks, I’ll tell you which one is better…
The second book is Software Architecture in Practice by Len Bass, Paul Clements and Rick Kazman. To be frank, I do not know those authors and I’ve bought this book because it has got rave reviews on Amazon with appreciations going from “Practical, readable, excellent” to “A Bible for Software Architects”. Part one is on envisioning architecture (the architecture business cycle, what is software architecture?), part two is on creating an architecture (quality, design, documentation), part three is on analyzing architectures and part four is on large-scale architectures. I’m sure to learn a lot from that book!
curiousEngine says
here’s what Jeff Atwood says concerning UML:
http://www.codinghorror.com/blog/archives/2005_05.html
are you going to teach this?
avinash says
Hi,
I guess you were referring to this instead.
It’s a nice read but I guess Jeff misses an important point: UML is a language and therefore is ambiguous and cannot cover all bases.
(Read this beautiful article by Larry Wall which explains the difference between a language and a programming language)
Personally, I like UML because it allows me to express a lot of design and architectural elements concisely.
So the answer is yes. I’ll use UML :-)
Raj says
Congratulations Avinash.
Since we’re speaking of Architecture at Msc level what are your views regarding people from software going for MBA rather than an Msc since the scope for career advancement seems to favour MBA’s?
curiousEngine says
Visual Modeling with Rational Rose 2002 and UML is also a very interesting book. The main reason because it has been writen by Terry Quatrani, the Rose Evangelist from Rational Software Corporation.
And what tool do you use for software modelling sir? maybe an open source one if not IBM’s :)
avinash says
To Raj:
My views on an MBA? Let me think… Let’s say that I understand the motivation of people who are at senior management position in a business to do an MBA (as they need to know about Business Administration).
As for us, technical guys and girls, I have some doubts about the necessity to do an MBA. As Paul Graham (my guru) said:
To curiousEngine:
As you can guess, I am reluctant to use a product that is not multiplatform as I use Linux at work and MacOSX at home. I’m currently looking at Umbrello and ArgoUML. I’ll also have to look at modelling tools which work inside Eclipse (like EclipseUML) as this is the IDE I want the students to use…
Sachin says
I’m interested to pursue my MSc in Computer Science full time. Can you plz give me some information about the lecturers who will be doing the respective modules? I thank you for your consideration! “U’ll never walk alone” message from a fan of the best team in the world!
avinash says
This is not something that has been finalised completely.
What I know is (i) I’ll teach the Software Architecture core module and (ii) the other modules will be taught by enthusiastic people actually doing research in those fields.
Raj says
Thanks for your views Avinash. But as you surely know many companies in Mauritius won’t promote and hence pay you to a certain level if you don’t have an MBA. Not that I want to embark on one though.
avinash says
I wasn’t aware of that… and, anyway, I don’t think it is really the case.
I have a friend who has been in IT for years (e.g. 15 years) and who is now an IT manager in a major private company. He got an MSc five years ago. Now he is doing his MBA.
I don’t think he is doing the MBA to get a pay rise. In my opinion, he is doing that because he wants to broaden his knowledge.
I mean it’s a logical progression path. He is very good technically. He wants to become very good in business administration as he is part of a business.
For instance, personally, I do not want to do an MBA because I am not part of a business. I would love doing a BA in Photography or Digital Arts or Philosophy (even though I am a Master in Philosophy already…)
Or, even better, I would loooove to earn a private pilot license :-)
A says
Avinash is right by saying that you do not need an MBA to become an IT manager.
However, concerning higher level management positions, I agree with Raj that in Mauritius, without an MBA it is very hard to be promoted. You might be a coding genius or a database guru but the next guy who might be less technically apt but has good management/business flair will definitely move further ahead.
At the end of the day, this does make sense as a manager will have to run a company successfully and this would entail managing the personnel, finances, sales, marketing, etc. I guess it also depends a lot on the company’s size though.
blackmachina says
in Mtius if you are too good in technical stuff, you will not get promoted as the business needs you there. All you need is to slack off a bit and probe for a backing somewhere. it is sad but true.
avinash says
Maybe you are right :-)