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)
Some weeks ago, I participated in a workshop about the Semantic Web at the FU Berlin, which was quite interesting. During that day I begun to ask myself how it could be possible to connect the systems used for Managing Business Master Data with the idea of the semantic web to build a corporate data web which solves all the integration and retrieval problems Data Warehouses, OLAP, ETL (…) EAI, SOA, and Idenity Resolution Systems shall solve.
The more I thought about that idea the more I was confident that this will be a huge trend within the next 5 to 10 years. With RDF, Tripple Stores and their brothers and sisters enterprises will be able to connect the data within silos with the data of other silos. They will be able to retrieve external data and connect it on the model level by just extending and or transforming the underlying moder graphs. This idea, as any other idea isn’t new, as this link of IBM Research shows, but its still the very beginning of a fundamental swith in thinking about and handling corporate data: Humans and Maschines will be able to walk the graphs of data, identify relations between unknown entities and generate hypotheses and assumptions about the real world facts by just allowing the data to be connected by meaning and relationships; its just like it is in the real world.
To complete this post, I wanna give you an impressive List of videos and podcasts about the semantic web. Happy Watching:
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?
This is my first entry to this new blog at bastian-buch.de.
Just to introduce the wider topic and sharpen your brains I suggest to watch this video. It is a presentation of Scott Berkun at Google. He is the author of the book “The myth of innovation”, which is a nice piece of work.