Milen Dyankov

on a mission to help developers build clean, modular, and future-proof software

Would you attend one of those talks?

November 12, 2019 | 5 Minute Read

After several years of traveling around the world to speak at conferences, I needed a break. I have no idea what people like Venkat Subramaniam or Josh Long or Philipp Krenn are made of, but the assembly line that made me, certainly didn’t use the same material. Luckily 2019 offered me that break and allowed me to focus on other things. It was great time but also kind of sad as I like to share the little things I know with other people and I like even more to learn from the people I meet. So I’m planning to be back on the road in 2020.

But before that I need a little help from you in the form of your honest feedback.

I’ve prepared 3 talks that IMHO should deliver some value to fellow programmers. But for some reason (perhaps the above mentioned break) I’m not very confident this time. If you have seen my previous talks you are aware that I’m not the “let me show you this cool new thing” kind of presenter. I really want my talks to share experience rather than hot news and to provoke (most often critical) thinking rather than be a standup version of a tutorial. But that makes it extremely hard to reliably self-judge their attractiveness, let alone the value added. In addition to that, most conferences don’t provide any feedback why they accept or reject proposals (even though they collect them months in advance). The whole C4P experience feels more like buying a lottery ticket than subjecting your work to substantive assessment.

So this is where I need your help. Below, I’ll share with you the talk titles and descriptions I have prepared. Please have a look and let me know in the comments what is you honest oppinion. In other words, if you ware reading those descriptions in the agenda of your favorite conference, how likely are you to attend one of them? Which one? Oh and it would be good to know what is your favorite conference (where those would be good fit)? Don’t be afraid to criticize them (or me) if you feel you should. Any ideas for improvements or things to highlight/include/avoid/be careful about/… are also more than welcome. Whatever feedback you can provide, no matter how small, matters a lot to me.

Big thank you in advance for being willing to sacrifice a few minutes of your precious time. Here we go:

From portals to micro-frontends (and back?)

Years go by, and backend programmers are still busy smashing down the bad monoliths, putting the pieces in beautiful containers and ballooning them up in the cloud. The frontend folks got somewhat jealous and figured out a way to smash down their own big pile of HTML/JS/CSS. And they too have a cool name for it - micro-frontends. Both groups try hard to forget (or don’t care to learn) we’ve done this before!

In this talk we’ll explore a tiny bit of history of a (now considered legacy) concept that was supposed to solve much the same problems - portals. We’ll try to understand why such a great idea (which it was decades ago) didn’t work out? What problems and challenges it faced? How likely we are to face those again? Can we learn from the past experience? Or better yet can we combine it with modern technologies to achieve even better results?

Join me, learn the history, see the demo, and decide for yourself!

Writing Java with Coherence, Coupling and Connascence in mind

You just saw 3 words that seem important enough to make you read the description. Good. If you are like the so called “average Java developer”, you probably have hard time giving the exact definitions of at least two of them but you will never admit it. I don’t blame you. I’ve been there myself. That’s how I know you are likely to believe that you somehow naturally and subconsciously already apply those principles in your programs.

This talk will try to make those terms less abstract and help you associate them with practical examples. We’ll examine not only the Java code itself but also some conventions, libraries, frameworks, build tools, dependency management systems, … that encourage/discourage or enforce certain practices. The final decision about what is “good” and what is “bad” is still yours of course, but after this talk, you’ll be able to base the call on much more tangible data.

Promises for resilient Java APIs not throwing Exceptions

There are several reasons to attend this talk. Perhaps you like the Promises concept in JavaScript and wish Java had it? Or may be you were excited about CompletableFutures but got disappointed by the bloated API? Or you hate having to catch tons of exceptions and you want your API to not irritate your consumers as much as other APIs irritate you? Or you hope to finally understand what a Monad is? OK, just kidding, the “no one can explain monads” rule still stands. But all the previous ones are true and serious.

So allow me to introduce you to the Promises specification and demonstrate in practice the reference implementation of it. This tiny (12 classes total), dependency free, monadic library can be a real lifesaver for the above mentioned scenarios and many more. Once you see it in action, questions like “what this method should return?” or “should it throw checked/unchecked exception?” will almost never bug you again.