In this special Java Daily edition we would like to introduce you to Sebastian Daschner, who agreed to share his opinion and experience on some pressing questions, which many developers ask themselves.
Sebastian is a Java Champion and Lead Java Developer Advocate for IBM. His role is to share knowledge and educate developers about Java, enterprise software, and IT in general. Sebastian enjoys speaking on conferences, writing articles and blog posts, producing videos, newsletters, and other content. Also, he believes that teaching others not only greatly improves their situation but also educates the teacher. That is why a main goal of his is to focus on how concepts work and why specific solutions are needed, and only then how they are implemented.
Java Daily: How do you choose a framework for a project?
Sebastian: That’s a good question on which I actually wrote a blog post in the past. In general, I’d choose what the team is already familiar with, and would try to assess what will fit the job as much as possible, regardless of current hype. I do favor simplicity and “being boring” over hype and coolness factor. In past projects, this usually meant to go with Java-based technology that has proven itself.
Java Daily: What is more important: an optimal algorithm or code that is easier to read?
Sebastian: Counter question: “optimal” in terms of what? I would prefer readable code if it produces an outcome that is “good enough”, that serves its purpose well, but no more than that. For example, when speaking about performance, developers have a tendency to both make assumption about the resulting performance and overengineer solutions where simpler design would suffice. In that regard, good performance and/or optimal algorithms don’t have to contradict themselves. If an “optimal” solution is required to solve the problem in a better way, however, then we have to go with code that is less readable.
Java Daily: What are the next industries that will be disrupted by new technologies?
Sebastian: Does “all” count as answer? I could imagine a disruption especially in transportation (automotive), food, health & fitness, and all kinds of service sectors, by automation and machine learning.
Java Daily: What feature would you add to Java if you had the chance?
Sebastian: Enabling the JVM runtimes for fast, native-like startup times. This would not only enable fully new solutions on the enterprise-side, but also make Java more interesting for smaller helpers and command line tools.
Java Daily: Could you share an example of someone you consider successful and why?
Sebastian: Everyone who is truly happy with what they are doing individually. I believe there are probably as many definitions of success as there are people, and it’s important to define success for oneself, regardless of external factors, and striving to achieve that.
Java Daily: How do you define success?
Sebastian: Being able to increase the ratio of “flow” moments every day, being full of happiness, positive, constructive energy, and gratefulness for what I have, being able to share positivity and love (not in a romantic way), and to improve the world, even if it’s just a tiny bit. I further define success by the number of things I’ve learned and new brain cell connections I’ve made every day. Also, to have the freedom of doing what I want, in a constructive way.
Anything else you think we should ask Sebastian Daschner? How do you define success? Let’s give back to the Java community together!