Innovative modeling framework
If you are seeking for improvement of your modeling practices in software development check out P-Modeling Framework by INTSPEI. I participated in several experiments that lead to creation of the framework. Personally I’m looking forward to see first case studies of application of the framework in “real life”.
The Core Commitments
If you happen to not know who is Jim McCarthy watch all the video episodes of his “23.5 Rules of Thumb” presentation and read his article “21 Rules of Thumb for Shipping Great Software on Time” based on earlier version of the presentation. Jim left Microsoft to continue his research in the field of team dynamics. The result of this research is The Core: set of commitments and protocols to enhance productivity of teams.
If you think downloading The Core PDF is a waste of time and traffic – just read the thoughts of a bootcamper. Or watch an episode of Jim’s presentation right now.
Long road to go
If you are reading Joel’s blog you probably have read his post about New elevator technology. While this is an interesting idea from pure technology viewpoint, another idea came to my mind…
I believe that USA (together with Singapore, Hong Kong) is the place where such technology was likely to emerge more than in any other country. And almost certainly (alas) such technology could not be invented in Ukraine. Why? Because there is no demand such kind of elevators usage optimization, simply there is no places in Ukraine where it can be applied. Even if a man has a bright ideas he has to be in the right place at the right time for his ideas to blossom. Unfortunately, the factor of place still can limit the greatness of accomplishments one can do.
Mankind has to go a long road as yet to overcome limits imposed by all sorts of divide on the achievements of human race. I hope that in future we will more often learn about technology breakthroughs made in places we now know as “developing countries”.
Moved to new blog engine
Well, I did not completely wasted last month blogging-wise. I was looking for hosted blogging solution to move to from dasBlog. It is not that dasBlog is bad, but it turned out that supporting dasBlog (well, my instance of it) consumes more time than I originally expected. I decided that I’d better spend time writing new post rather than tweaking blog engine.
At first I decided to use TypePad. During test drive for the first month everything was going more or less well. The only issue I encountered was somewhat limited capabilities to customize design of the blog with the Plus subscription level. The real problem emerged when they could not charge subscription fee from my credit card. Although their staff was responsive and did their best to resolve the problem we did not find acceptable way of making the payment. So I ended up looking for another alternative.
After comparing all the options I decided to go with Blogger blog hosted on external server.
My new blog is now accessible at blog.dmalenko.org. For some time my both old and new blogs will be running in parallel. As for feeds: those of you who get my feed via FeedBurner do not have to worry about anything, those who are not – please, subscribe to this feed.
Return to blogging
It's been a while since I blogged last time. It was busy and interesting time for me. So, I guess, will have something to blog about.
UML Color Modeling and DNC sample
I've come across a good example of Color Modelling and DNC use by Stephen Palmer: Modelling in Colour: Using the DNC. Recommended.
Interviewing and being interviewed: Questions
I guess, it's not news that you should prepare for the interview. For interviewer it is about learning candidate's resume and thinking out questions that the candidate is supposed to answer or discuss. Depending on the candidate's level my questions of course will be different, but in general I would divide them into following 3 categories:
- Academic. These questions are concerned with more of a theoretical knowledge of the candidate and usually assume more or less exact answers. Something like "What is garbage collector? How does it work in .NET?" Also I try to put such questions in a way that will allow me to ask follow-up questions and elaborate the topic. E.g. if candidate says that there is generational garbage collector used in .NET, I would go ahead and ask what other types of GCs the candidate know and how they compare to generational GC. (Unfortunately, not so many candidates can take up a talk in this direction) If candidates know nothing about generational GC they usually compare .NET GC to Java by saying that .NET GC is "much better". Asking for more details is logical next step :)
- Experience. Here I usually start with "What is your greatest professional achievement you are really proud of?" Then questions go to most remarkable notices from the resume.
- Discussion. Questions or rather topics that allow more or less informal discussion. Often I just ask questions that I'm just curious about which are relevant to candidates experience or interests. Something like "How long does it take boost libraries to compile?" and so on about "usability" of boost. For me this section of interview is not about knowledge, but about opinion. I kind of assess candidate's general ability to think and present his thoughts.
Actually, if I see that that candidate feels comfortable on the interview I may use fourth category: provocative questions. Questions or assertions that go against common way of doing things or accepted knowledge with weak or irrational reasoning behind. I just need to say it confidently and ask the candidate for opinion. Well, sometimes I play so good that after all I have to say that it was just a joke and in reality it is somewhat different then I was saying.
Also the interview I try to create an atmosphere that helps to make it easier for the candidate to show his best. And I ask tricky questions only if I see that candidate can handle them. Interview is not about showing the candidate how miserable his knowledge or experience is, but about making him show everything he knows and can do.
Going to interview somebody?
If you are going to interview somebody be sure to check out The Guerrilla Guide to Interviewing by Joel.
Is this going to be an interview for engineering position in .NET? You may find useful these sets of questions for interviewing .NET developers by Scott Hanselman: ASP.NET Interview Questions and What Great .NET Developers Ought to Know.
Interviewing and being interviewed: The Goal
As a Business Unit manager I often interview candidates for engineering positions at Dnipropetrovs’k office of SoftServe. Recently I also was involved in preparing my guys for interview with client. So I know both, dark and light, sides of the interviewing process.
From my experience the most important this on the interview is to know the goal of the interview. When you interview somebody know requirements for the position candidate is applying for and know what qualities you want to discover in the candidate during the interview.
In fact, when I interview someone for junior position my main goal is to see potential for growth supported by ability to think and learn. For senior positions, I expect candidates to be able to apply their experience to solve open-ended problems and have their own opinion.
When you prepare for interview know what the person on the other side of the table expects from you. Is she only interested in technical expertise? Will your communication or leadership skills also be assessed? Will she try to see how you work under pressure? If you have answers to such questions, you will be able to prepare for the interview much more efficiently.
Founders at Work
Did you know that several interviews from Founders at Work a available on-line here? I very much enjoyed stories of Joel Spolsky and Steve Wozniak to consider buying a book.