This article was moved to MDriven Wiki – Interviews
This is part of a series of interviews where we meet the people that use CapableObjects tools. I, Hans Karlsen CapableObjects, wanted to ask some personal questions to the people in the Model driven arena.
I have been working more than 20 years with software development and I know that it is all about the people. A friend (Ulf Näslund) said a great thing some 10 years ago: “Software development is like digging a well and not like digging a ditch”. I find that mental picture to be very true – it does not help to put 100 men into the hole that is going to be our well – it would however help to use 100 men to dig a ditch. We do not dig ditches.
Peter Morris, UK
Experience: Employed as a programmer since 1994, have used ECO since the field test of version 1.
Current position: Software developer
Background, Technology, positions, education:
DataBasic, System Builder, Pascal, Delphi, C#
How will things be done in the future (your star-trek vision):
Logical operational blocks (modules) will be dropped onto diagrams, tweaked to specify their exact requirements, and then linked together. Modules will be created out of smaller patterns which can be combined to make custom modules.
Your current challenges:
I’m using ECO in an ASP.NET MVC application, with a master database changes propagating to client databases via distributed transactions.
What would you be doing if there were no computers:
I was training to become a butcher, so I would probably still be doing that. Not sure if I would have still become a vegetarian or not though
What makes you happy (work wise):
When I delete source code. I love looking at something, and then realising a better way of doing it which results in me having to delete loads of code I didn’t like and replacing it with something small and simple.
The worst team member you ever had?
Oh dear. Without doubt the guy who I spent a day teaching the model-view-controller approach to in a hand-held compact framework app. After a few weeks he told me that the approach in the software was so good that it made it too easy to write code without bugs, and that took all of the fun out of programming; so he decided it would be more fun to start writing the controller code inside the views instead. He also told me that he no longer cares if his code is good or not, only that it goes out of the door within an impressive amount of time.
The best team member you ever had
A trainee at the same place. He wasn’t the best coder (not yet at least) but he was really hungry to learn new things. He stuck to the MVC approach, he learned dependency injection, he learned unit testing, and he was willing to stay back after work each time for over an hour so that he could learn more.
How do you describe what you do to a 10 year old?
I consider talking to a 10 year old about computer programming to be a form of mental abuse, so I don’t. I suppose I would say something like “I make long winded, boring, and difficult tasks and make the computer do it instead”
Your favorite tools doing your thing:
ECO for designing my business classes
Unity for dependency injection
Tools built into Visual Studio for unit testing
ASP MVC with Razor view engine for the front end
Your thoughts:
The most relaxing job I have done for a number of years was a contract job where I was responsible only for creating the business classes using ECO. It was a great period of time, I could simply think of how I wanted to implement something and then by putting it down on a few diagrams to express my thoughts the work was mostly already done.
Now that I am responsible for writing the whole app I keep wishing the rest of the app was as easy to develop as the business classes. I don’t want to have to write code, I just want to tell the computer what I want it do to, just like I do with ECO!
Questions you are missing in this interview:
Have you considered using a competing product to ECO?
Answers to those questions:
Yes of course, it would be silly of me to miss out on something potentially better simply because I already know what I am doing with ECO. I’ve looked at entity framework and NHibernate, the latter I have written a simple website with.
However when it came to the app I had to write for my employer I simply couldn’t justify using anything other than ECO for the job. I was simply able to create my business classes in a much shorter time, and time was something I was very short of.
Efim Mett , Germany
Experience: >20 years SW-Development
Current position: Freelancer
Background, Technology, positions, education: Delphi, .Net, C#, UML, WPF, Dipl.-Informatics
How will things be done in the future (your star-trek vision): I give no forecasts
Your current challenges:
Project “Data visualization”: ECO+WPF. Interest on parallel computing
What would you be doing if there were no computers:
mathematics
What makes you happy (work wise):
1) Understand why the software doesn’t work; 2) make the software work 3) understand why it works;) 4) To have a smart tool that make the software work as I think. ECO is the closest to this I ever knew
The worst team member you ever had (no names, just how it felt and how it came out)?
He agreed to take on a task that was theoretically unclear, but boss wanted it, hence it had to be done.
The best team member you ever had:
my wife while working in Home office;)
How do you describe what you do to a 10 year old?
You learn at school? And your teacher teaches you? OK, I teach my computer. The only difference: it teaches me too!
Your favorite tools doing your thing:
my brains
Your thoughts:
It is a paradox: Informatics deal with exact and deterministic things, but has almost no exact answers to most questions
Questions you are missing in this interview:
What do you expect from ECO in the future?
Answers to those questions:
Don’t give in, stay up-to-date with new technologies
Rick Weyrauch, USA
Experience: 20+ years, almost all Microsoft (started in Dbase and GFA Basic, then moved to C++ MFC)
Current position: Sr Consultant, Magenic Technologies
Background, Technology, positions, education: Avionics training in the United States Marine Corps. I am Jack-of-all-trades kind of guy. Self-educated software developer, some un-related college.
How will things be done in the future (your star-trek vision):
Every bit as messed up as they are done now! There does not seem to be any coherent coalescing of practices; partially as a result of no clear leadership, and partially because of our (software developers collectively) un-willingness to follow any would-be leaders.
Your current challenges:
Convincing customers there is value in not continuing to do “it” the same old ways. Modern software development tools and techniques, like ECO, are sometimes difficult to get companies to migrate to. Management often just sees capital costs and training expenses, and they are often unequipped to understand the value of technology shifting.
What would you be doing if there were no computers:
Just about anything else. I have more hobbies than Carter has little liver pills (no clue what that means, but my dad said it all the time). I referee youth hockey, I have a 1976 Buick Riviera dirt track “bomber racer”, I play Texas Hold’em, I build model rockets that are as big as me, and bigger, it goes on and on.
What makes you happy (work wise):
When something you setup ahead of time just works right when you come to need it later on. I do like working in groups, but only when the group shares a common plan and purpose.
The worst team member you ever had (no names, just how it felt and how it came out)?
I worked with Mr Do It My Own Way No Matter What We Agreed To once, he would check in changes, and roll-backs of others changes, to code he did just did not understand. I also hate “typers”, people who can type much faster than they can think. I have worked with a few over the years, and it always goes poorly. My motto: Think twice and type once.
The best team member you ever had: I had a small team once (3) where I was the only experienced developer, and it was my business too. While I am not sure I designed the greatest stuff, it went very smoothly, and I really enjoyed educating a young developer just out of college. After about 6 months I heard what is now one of my favorite quotes from this developer; she pushed back from her workstation and sat there for a moment, and then said “I just realized, they didn’t teach us nothing in school! I think I have learned as much here as I did all the time I was there.”
How do you describe what you do to a 10 year old?
“You see all these things happening on this computer here? I make all that happen.”
Your favorite tools doing your thing:
While I am sure that ECO is one of my favorite tools, I also like ReSharper and Beyond Compare a ton too. ReSharper or B.C. might have to my favorite because I use them all the time – I am only able to use ECO for my own personal projects.
Your thoughts:
They say “the rich keep getting richer, and the poor keep getting poorer” and I think there is a similar parallel problem. That is “The smart are getting smarter, and the dumb and getting dumber.” This is not meant to be pejorative in any way; my point is that in many things, and I believe software development is one of them, only a few have the ability to understand what “the right way” is, and why it is important. The average developer just wants a tool that “does all that thinking for them.” I think it is incumbent on smart people (like us ) to make sure we are making things that lead these people to good solutions.
Peter Buchmann, Germany
Experience: IT since 1985, ECO since ECO3
Current position: Project manager, application architect, developer
Background, Technology, positions, education: Basic, Assembly, Pascal, C, C++, Prolog, Perl, Java, COBOL, C# (Windows Forms) and many more
graduate mathematician with focus IT, especially artificial intelligence
How will things be done in the future (your star-trek vision):
IT is still in transition. In ten years time we will do things different than today but IT will mature time by time so that this still young science will converge against a “final” state, maybe in 50, maybe in 100 years. I keep saying that with ECO we can do IT like others will do in ten years.
My star trek vision: Software can run on each operating system and automatically supports all available user interfaces like touch, gesture and speech input. The development process will take place by selecting their properties from an available set like: 3-Tier architecture, graphical user interface, business model, … The program will then automatically be assembled from building blocks. Programming languages will develop to a higher level of abstraction, will maybe be graphical.
Your current challenges:
Always stay up to date with ECO.
What would you be doing if there were no computers:
Maybe some kind of applied math, maybe some kind of technical engineering, maybe a controller, but maybe a manager
What makes you happy (work wise):
Keep the software clean and maintainable, understand a new bit of ECO and use it to find cool solutions to solve complex customer requests, be able to work with ECO
The worst team member you ever had (no names, just how it felt and how it came out)?
One guy who fell asleep as I tried to teach him a programming language and for sure, it was NOT boring.
The best team member you ever had:
Several people who learned ECO as we use it in about three months and one very experienced ECO developer who understood our architecture within two days. He will know when he reads this. Best Regards.
How do you describe what you do to a 10 year old?
A non IT person once asked me how programming is actually working. I started with: “Well” and he interrupted me and asked “You maybe start with an empty sheet of paper and at the end the software is finished”. After a few seconds of thinking I absolutely agreed with him!! With a 10 year old I would try to understand his background and find an appropriate answer.
Your favorite tools doing your thing:
Visual Studio and ECO. I like TFS more and more.
Your thoughts:
It’s a pity that ECO is not more well spread than it is.
Questions you are missing in this interview:
What is the core functionality of ECO for you?
Answers to those questions:
For me the core functionality is OCL. At the beginning I was very skeptical, because it was a new technology that is unique for ECO. But now I am sure that OCL/EAL is the crucial difference to other ORM tools. For ECO it is the ubiquitous language. For someone new to ECO this is difficult to understand and should more be explained as a big advantage.
Oleg Zhukov, Russia
Experience: 10 years (5 academic + 5 professional)
Current position: Senior Developer, “SLV-Computer”
Background, Technology, positions, education:
Master of Science (applied mathematics), MIPT (Moscow). I don’t put technology at first place, nevertheless I choose tools and methodologies that most efficiently help me do my work. These are object technology, Model-Driven approach and supporting tools like CapableObjects ECO.
How will things be done in the future (your star-trek vision):
Everyone will use ECO 🙂 Indeed, Model(Domain)-Driven approach is showing its strength and will gradually become the mainstream approach. And when it comes to choosing between modeling tools I would stick to ECO since it’s more functional, more mature, more flexible (supporting dozens of DBMS’s, different UI platforms, modeling (UML) and querying (LINQ, OCL) standards) than any other tool.
Your current challenges:
Understanding the domain (payroll accounting). When you are Model-Driven you spend most of you time modeling the domain (understanding and solving real business problems, NOT technical ones). As a result you come up with profound models that perfectly meet business requirements. As for the framework to facilitate my Domain-Driven life – as I already said – my apparent choice is ECO.
What would you be doing if there were no computers:
Trying to create a computer 🙂
What makes you happy (work wise):
Green unit test stripe 🙂
The worst team member you ever had (no names, just how it felt and how it came out)?
It’s awful when people don’t want to learn anything (thinking they already know everything).
The best team member you ever had:
It was a great pleasure to work with my university friends. They all are very talented guys! I wish some clever guy from my university (or any other top university) would join my team some day.
How do you describe what you do to a 10 year old?
I’d say “I’m programming”…Today’s 10 year old children have programming lessons, I guess 🙂
Your favorite tools doing your thing:
ECO (of course 🙂 , Reflector, NUnit, Developer Express WinForms controls library, IBExpert for working with Firebird databases.
Your thoughts:
To complicate is simple, to simplify is complicated. It’s not my thought, but I like it and I’m always trying to simplify things.
Links: www.mvcsharp.org — that’s my small open-source Model-View-Presenter framework .
Alois Schmid, Germany
Experience:
Starting with Commodore-64 Assembler in 1983… not knowing where it will end
Current position:
Freelancer, chairman
Background, Technology, positions, education:
Pascal, Delphi, Visual Studio, MDD, .NET – freelancer(8y), controller EU project(2y), chairman (12y), department head(2y), business leader(12y), developer(always) – Diplom-Kaufmann (equates to MBA)
How will things be done in the future (your star-trek vision): since this doesn’t depend on technical possibilities only but also depends on political situations, climate etc. I don’t dare to give a long-term forecast.
Your current challenges:
to implement a very challenging idea using ECO
What would you be doing if there were no computers:
I would be a drummer in a rock band
What makes you happy (work wise):
when people understand what I am trying to achieve and the way I am going to achieve it
The worst team member you ever had (no names, just how it felt and how it came out)?
~20 years ago in Munich where I worked with a team member who had low technical background and no idea how to solve the upcoming tasks, but was bigheaded and wanted to become head of division. Getting high blood pressure again! Therefore I switch to the next question.
The best team member you ever had:
I can’t decide who is the best of all, but I’m proud to name some very very good ones: Tom,Guenter(Munich) – Sven,Ralf,Gerd(Regensburg) – Silvano,Gabor (Mannheim) – Peter (Mainz)
How do you describe what you do to a 10 year old?
I am trying to understand how things work and relate to each other. But instead of painting a picture or writing a book, I put this information into the computer and since the computer is more powerful than a piece of paper it can pass back many pages and images with all the information in detail.
Your favorite tools doing your thing:
ECO and my laser printer
Your thoughts:
For me ECO and MDD is much more than a tool or methodology. Thinking in terms of models, related objects and context helps me to improve my way of exploring complex themes.