Over a million developers have joined DZone.

Staying Ahead Of The Curve

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

Last Thursday I gave a keynote at GOTO Berlin to address the problems of deciding how to learn a new technology/framework/process (Spoiler Alert: it’s not by putting it into production).

During the talk I show an example of how not to implement lambdas, and I also demonstrate a very crude performance test for usingparallelStream. I’m not going to link to the performance test as it’s not a shining example of how to write these sorts of tests, but if you’re desperate you’ll be able to find it in my Github repo.

I also talk about how amazing Spock is, so if you’re interested you can read more about my experiences with Spock.

This talk was built off an earlier blog post I wrote, about how to decide which technologies to invest your personal time in.

The presentation was videoed, and if the video comes online I will post it here. But for now, I’ll leave you with this crude decision chart and the mind-map of potential ways to play with a technology. Remember, learning to say “no” to a technology can be very powerful.

Decision Flow Diagram

Approaches to trying new technologies

PS I’m thinking of writing a book, Career Advice for Programmers. If you’re interested, let me know (because, you know, I’ve got loads of spare time for another project, sigh…).

Presentation Abstract

We all want to stay ahead of the curve - after all, that’s what you go to a conference for. But have you ever considered how being ahead of the curve might be dangerous?

Using a new language before you understand it, putting a technology into production so you can learn it, abandoning “old practices” before you’ve got the benefit from them… These things are common practice, under the guise of Progress and Keeping Up To Date.

But while we shouldn’t be running around like headless chickens chasing the next Shiny New Thing, we do need to see to our Continuous Learning and, of course, we should Embrace Change.

How do we balance these two extremes? And how do we see to our own growth and learning as techies while meeting the needs of our project, team and organisation?

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.


Published at DZone with permission of Trisha Gee, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}