Slides from my Java2Days 2020 talk - "Evolving with Java - How to Remain Effective".
Developers find themselves in need to continually update themselves with the rapidly changing technologies to remain relevant and deliver value. However, by keeping a few things in mind and with certain practices, this can be a pleasant experience. In this presentation, I share my experiences learning and evolving with Java in the last 15+ years. The ideas presented are generic enough to be applicable for people using any technology stack. However, the code examples are in Java/ JVM languages.
We start by understanding the importance of gradual improvement. To keep motivated for continuous improvement, in my experience, responsiveness is a vital element. I share my experience of how to increase your responsiveness. To be able to change/ experiment continuously in our code, we need to ensure that we don't break anything. We explore the necessary techniques to achieve safety. Often we mistakenly consider lack of familiarity as complexity. We explore options to come out of this confusion. We then touch upon the impact of learning paradigms and multiple languages available on the JVM. Finally, we touch upon another important aspect of continuous improvement that is unlearning. We conclude the session by summarising the principles.
* This method returns orders of customer
* @param customer Customer whose orders to be fetched
* @return List containing Order objects of the
* specified Customer
public List getOrdersOfCustomer(Customer customer);
public List<OrderSummary> getOrdersOfCustomer(Customer
Most people talk about Java the language,
and this may sound odd coming from me,
but I could hardly care less. At the core of
the Java ecosystem is the JVM.
- James Gosling,
Creator of the Java Programming Language(2011, TheServerSide)