Stand still and watch the patterns, which by pure chance have been generated: Stains on the wall, or the ashes in a fireplace or the clouds in the sky, or the gravel on the beach, or other things. If you look at them carefully you might discover miraculous inventions. (Leonardo da Vinci)
 

8 Steps of good decisions

March 31st, 2010 Leadership| No Comments »

Sorry, this entry is only available in German.


Web 3.0 is coming.

April 4th, 2009 Innovation, Websites| 1 Comment »

At Web2.0 Expo Tim O’Reilly makes an interesting Key Note speech where he anticipates what Web3.0 will be all about. He compares the Web’s life cycle with the growing of a new born baby. As for the baby for Web1.0 there were loads of information that couldn’t be understood or connected. After a few month the oral phase makes the world interactively plumbable, i.e. the baby sticks things in it’s mouth and discovers that there are differences between materials and so on. This is where Web2.0 started. Today the Web is a child that can play - having fun discovering things, enjoy the information….

Web3.0 is the phase of going to school. The Web will really understand the matters of the world by adding sense throug the semantic web and related technologies. There is the mobile web and the social web…. It’s interesting where the Web will beam us in the near future. O’Reilly says: Web2.0 + The World = The World squared. We’ll see…

See the video here


Questions I ask during Job Interviews

March 3rd, 2009 Recruiting| 3 Comments »

In my current job I am responsible to interview new candidates for the developer team. Since this is the first time that I am sitting at this side of the table I had to develop my own system of questions that would lead to the informations I need to decide whether someone is suitable for the team or not.

I want to share those questions:

1. Methodology

  • What is agile software development? Do you know or have any experiences with the agile principles? What is your opinion about agile team and organizations.
  • What is code refactoring? What is it used for? Do you have some best practices how you refactor your code?
  • The topic is debugging: How do you handle bugs?
  • What is Test-Driven-Development? What is your opinion about TDD? What would you say if I tell you that I do not like TDD at all.
  • Do you know design patterns? Did you use them already? What is your favorite one? How do you learn design patterns?
  • What is AJAX? How does AJAX work? What is the difference between AJAX and Web2.0?
  • Can you handle the words cohesion and seperation of concern?

2. Thinking

  • I tell you to learn a new programming language, say Ruby. How do you organize the learning? What will you do first?
  • What would you do if I give you 5 million Euro to launch a start up?
  • What is the most important thing you want to do within the next two years?
  • What is my company, the company you want to work for, doing? How do you figure the underlying technology we’re uisng to do exactly this?
  • Which 5 books did you read last?

3. Common chat questions

  • Do you like google? What do you like about it?
  • What are current innovations in the java ecosystem?
  • It is your task to design a database which holds personal data about some million people. What is the significance of data privacy protection?
  • How did the internet change techologically during the last 5 years? How does the future look like?

4. Java Questions

  • What stands transient for?
  • What are annotations? What are they used for? What is your opinion about using annotations?
  • What are the principles of programming servlets?
  • What is the session scope? Are there other scopes? What are they used to?
  • Tell me about the life cycle of a standard java application and a servlet.
  • Is it possible to use Multithreading in Servlets? Should you?
  • What is the differnce between a stack and a queue?
  • What are the technical principles o a hash map?
  • What are Generics? How do you use them? What is your opionion about generics?
  • Describe the deployment of a Java Application.
  • What is JDBC? What is Hibernate? When do you use them?
  • Why is the main method static?
  • Which impacts does the final modifier have on object references?
  • How do you let the JVM execute some code right before the main method is invoked?
  • What is reflection, what is introspection?
  • What is the basic idea of a java bean?
  • How do you optimize the performance of a loop?
  • What is the difference of a servlet and an applett? What does they have in common?
  • How do you forward a http request from a servlet to a JSP? Which pattern can you realize by doing this?
  • What are the priciple of RMI?
  • How do you integrate some native C-code to a Java Class?
  • What is JUnit and how do you use it?
  • Is it possible to realize a Callback mechanism in JAVA?

5. PHP questions

  • Tell me about arrays in PHP? What are the principles? What do you not like about arrays in php?
  • Can you name some array sorting functions in PHP?
  • How do you write multiple variables using echo? What is the fastest way doing that?
  • What dou think, is PHP object oriented? Why?
  • What is the difference between “1″ and “True”?
  • How do you write to the end of a file?
  • How do you define constants in PHP classes?
  • Is it possible to overload methods in PHP?
  • How do you use callback functions in PHP?
  • What additional features do you think should a future version of PHP provide?
  • What is Zend?
  • What is Pear?
  • What about type safety in PHP? Any opinions?

6. Logic

  • Connect all dots using just 4 lines:
  • There is a town with two hospitals. One is very big, the other is quite small. On one day the newspaper says: 3 boys and 9 girls were born yesterday. What do you think: Which hospital is more likely to have such rates?

7. Opbject Oriented Principles

  • What is the difference between an abstract class and an interface? When do you use the one or the other? What impacts does each have?
  • What do you understand by encapsulation?
  • What is polymorphism? Can you give me an example?
  • What are alternatives to object oriented languages? When do you use them?
  • What happens when you instantiate an object?