Wednesday, November 09, 2005

Jon Kern: Software Is Easy!

It had been a while since I last visited TheServerSide.com, which was introduced to me by my ex-college mate + ex-colleague + ex-carpool mate, KW. Yesterday, after finishing my tasks on hand, I went to checkout for updates.

My attention was captured by the title: Jon Kern: Software Is Easy! located on the top-most of RHS panel - New Content of TheServerSide.com. At first, it was the MDA jargon under the description that sparked my interest.

The interview session started off with Jon Kern giving a brief introduction of himself. About his transition from being an aerospace engineer and how he end up in software development, and ultimately about OptimalJ i.e. MDA tool by CompuWare. The focal point of the session was having Jon Ken to illustrate how OptimalJ fits into today's crucial business world i.e. agile modelling of business objects & processes, and being able to deliver result quickly. But what he shared towards the end of the session left me pondering for the rest of the day.

Moderator: So, Jon where do you see software development going? You started off as a C Programmer, you then went into from a code centric view to now model centric, where are we going?

Jon Kern: Yes, I actually I started on FORTRAN.

Moderator: Okay.

JON KERN: That’s of course, as engineering right then.

Moderator: FORTRAN F77. Right?

Jon Kern: Yeah, FORTRAN 77 -- FORTRAN II on a super computer. Yes, I had some great mentors in my early days of software. Yes, the progress does seem to be going in the right direction. I mean, I think it's -- again, I've been fighting a good fight for a while in terms of trying to bring modeling to the fore, make it more powerful. That was one of the -- to me one of the things that I valued a lot about the previous tool I worked with in terms of being able to leverage my visual ideas into code and OptimalJ and MDA and DSLs all those things, but specifically OptimalJ I tended to hold in the highest regard for obvious reasons. But, the fact that it can help teams deliver results more quickly, I think is a key. I mean it's time that we pay much more attention to providing business value and sometimes it seems that people want to provide resume bullets for doing every new technology under the sun.

Moderator: That's right.

Jon Kern: Well, quite frankly there is not much new under the sun. People get really excited about XML, I think it's kind of ugly looking myself. People think that J2EE is the greatest thing since sliced bread over .NET, I mean we might as well pick on everybody. But quite frankly, the distributed model has been around for a long time. These are just two new incurring - well they are not so new anymore. These are just another incarnation of solving that common paradigm. SOA seems to be the latest buzzword, you could have done SOA 20 years ago. People probably did.

Moderator: Sure.

Jon Kern: So, call me a cynic or just call me an engineer, but in my mind the software direction needs to head towards being much more effective, much more pragmatic, much more able to build systems that can respond to business challenges and at the same time not be another Y2K because that's what I see happening more often than not because people are building Y2Ks everyday. And what I mean by that is people are allowing technology to override and trump business value. And unfortunately until there is ways for the industry to be introspective, I am not sure -- it's almost more a cultural problem than it is a technology problem at this point.

We've got a lot of good systems that can help build tools in the right hands, but at the same time we've got a lot of what I would consider broken cultures, in terms of one hand not knowing what the other hand is doing or, you know we see a lot of us versus them in terms of management versus the development team. And that kind of thing again, Agile is a state of mind, it's all about doing the best we can, with the resources we have and that means empowering everybody to understand the business goals and trying to reward people for moving the software towards where the business needs it to be, not being a bottleneck or not being some Technocrat. But really everyone needs to understand that we do software to solve business problems period. Unless you’re in school.

Moderator: I guess you kind of, answered the question for the future for software developers as well. I guess software developers have to show value to the business.

Jon Kern: I think so. Yes it's funny, just today - I guess the agile modeling forum, I tend to hang out there or the straight talking Java forum - but one guy was asking - turned out he was from Brazil, his first question was, hey, how do you do outsourcing? My only answer, the first answer was gulp and that was it -- and it's like no way that's a big question right. How do you succeed in outsourcing? It turns out that the young man is in college and he's thinking about providing outsourcing on the poor side of town to rich folks was kind of, how he put it.

Moderator: Okay.

Jon Kern: It's sort of interesting, he said so it wouldn't be out of the country. But he's wondering, he sees such trouble getting people results that he was thinking, hey maybe I can start up a firm. So his next question was, how do you find good developers? And my answer was you know, he's looking for traits, you know so, a lot of people are answering you know what to look for, skills and the other thing. I kind of said, and maybe I am probably biased. I said look for people with an engineering attitude and engineering mind. That’s who I hired in my companies for example, people with engineering minds. They tend to try to solve problems.
So, from a developer's perspective, I think that's real key is to be focused on solving the business problems in the best way possible. And being you know, ever conscious on, it's not -- can I use the latest and greatest technology that I read in Java Developer's Journal. It's what's the best way to solve this business problem now and to think of it from a long-term perspective as well in terms of maintainability over time. You know, this is the total cost of ownership is usually the killer, anyway as evidenced by what the cost of Y2K alone was in terms of nearly 100 billion or whatever it was in the US. So, the developers -- sure you need to understand technology and that why I always love young developers because they're willing to stay up nights and read all the latest and greatest, you need that. But the overarching requirement is to solve problems, is to understand the higher abstraction of this is what we are trying to do. And yes okay, today I got to apply Java, tomorrow I don't know what I have to apply. But I should try to solve the problems the same way regardless of the technology.

0 Babbles:

Post a Comment

<< Home