{"id":1467,"date":"2022-12-31T19:36:00","date_gmt":"2022-12-31T19:36:00","guid":{"rendered":"http:\/\/www.igfasouza.com\/blog\/?p=1467"},"modified":"2022-12-31T19:50:59","modified_gmt":"2022-12-31T19:50:59","slug":"year-review-2022","status":"publish","type":"post","link":"http:\/\/www.igfasouza.com\/blog\/year-review-2022\/","title":{"rendered":"Year Review 2022"},"content":{"rendered":"<p><b>What\u2019s the story Rory?<\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/2022-year-in-review-1024x512.jpeg\" alt=\"\" width=\"640\" height=\"320\" class=\"alignnone size-large wp-image-1470\" srcset=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/2022-year-in-review-1024x512.jpeg 1024w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/2022-year-in-review-300x150.jpeg 300w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/2022-year-in-review-768x384.jpeg 768w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/2022-year-in-review-1536x768.jpeg 1536w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/2022-year-in-review.jpeg 1920w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Is that the time of the year that you start to reflect about what you did in this year and what you want to do next year. I definitely manage to do a lot of nice things this year, but I want to highlight some ones;<\/p>\n<p>I am really back to Inline Hockey; I managed to break my hand, at the end of April, inline skating around the city; I did some presentations in big conferences this year and I completed one year working with Kotlin. My current joke is that I work with the three K; Kotlin, Kafka and Kubernetes. I did a lot of Raspberry Pi projects and kind of explored Virtual Threads a lot.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/igor_review2022_01.jpg\" alt=\"\" width=\"891\" height=\"677\" class=\"alignnone size-full wp-image-1468\" srcset=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/igor_review2022_01.jpg 891w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/igor_review2022_01-300x228.jpg 300w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/igor_review2022_01-768x584.jpg 768w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><br \/>\n<small>Picture 01: Inline Hockey<\/small><\/p>\n<p>But, anyway, the idea here is not a retrospective blog, where I\u2019ll focus on what I did this year, but just a review of the things that I saw, learned or found as a trending topic, and if you already know me, you know that I basically write only about Java, Kafka and Raspberry Pi, and because of that I\u2019ll divide this blog into those three sections.<\/p>\n<h2>Java<\/h2>\n<p>Virtual Threads was the main trending topic of the year, even the people that aren\u2019t developers are talking about it. It is still in early stages and could change a lot until Java 21, the next LTS (Long Term Support) version that will be released September next year. But I think this brings more visibility to Java. <\/p>\n<p><a href=\"http:\/\/www.igfasouza.com\/blog\/project-loom\/\" rel=\"noopener\" target=\"_blank\">Project Loom<\/a> aims to drastically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications that make the best use of available hardware.<\/p>\n<p>I believe that more than understanding and knowing how to use Virtual Threads, the main benefit will come once the servers and the frameworks implement for you.  <\/p>\n<p>Another topic that got my attention was about <a href=\"https:\/\/www.infoq.com\/articles\/data-oriented-programming-java\/\" rel=\"noopener\" target=\"_blank\">Data oriented programs<\/a>, despite this was not strong in the data community, in the Java community a lot of articles and blogs were published in this topic. Looks like a lot more will come, and I\u2019m kind of curious to see this both in the java world and in the data world. Is definitely something to keep an eye out for in 2023.<\/p>\n<p>The biggest surprise for me was the <a href=\"https:\/\/www.infoq.com\/articles\/graalvm-java-compilers-openjdk\/\" rel=\"noopener\" target=\"_blank\">Graalvm company announcement<\/a> that they will give OpenJDK the native compile. With that, the Graalvm will follow the Java cadence to release every six months a new release.<br \/>\nAdoption of Native Java will also continue to grow, and projects like <a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\" rel=\"noopener\" target=\"_blank\">Leyden and proposed Project Galahad<\/a> will be trending next year.<\/p>\n<p>Microservice of course is still a relevant topic and a lot of nice content was generated this year. I still recommend checking out the Microservices patterns book.<\/p>\n<p>And talking about book, I saw this two books as the trending ones;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/01\/MicroservicePatterns.jpg\" alt=\"\" width=\"340\" height=\"432\" class=\"alignnone size-full wp-image-1363\" srcset=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/01\/MicroservicePatterns.jpg 340w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/01\/MicroservicePatterns-236x300.jpg 236w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><br \/>\n<small>Microservices patterns<\/small><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_modern_software_engineering.jpg\" alt=\"\" width=\"338\" height=\"430\" class=\"alignnone size-full wp-image-1474\" srcset=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_modern_software_engineering.jpg 338w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_modern_software_engineering-236x300.jpg 236w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><br \/>\n<small>Modern Software Engineering &#8211; Doing What Works to Build Better Software Faster<\/small><\/p>\n<p>I always joke that you should follow and get engaged with your local communities and I really recommend you to check out Foojay, Friends of OpenJDK and Soujava, the biggest Java community around the world.<\/p>\n<p><a href=\"https:\/\/www.infoq.com\/articles\/java-jvm-trends-2022\/\" rel=\"noopener\" target=\"_blank\">Java JVM trends 2022<\/a><\/p>\n<p><b>Kotlin<\/b><\/p>\n<p>It is not a surprise to say that <a href=\"http:\/\/www.igfasouza.com\/blog\/coroutines\/\" rel=\"noopener\" target=\"_blank\">Coroutines<\/a> is one of the topics that interests me a lot.<br \/>\nI found <a href=\"https:\/\/itnext.io\/kotlin-coroutines-vs-java-virtual-threads-a-good-story-but-just-that-91038c7d21eb\" rel=\"noopener\" target=\"_blank\">this blog post<\/a> with a really nice history of Coroutines and some comparison and analysis with Java, Project Loon and Virtual Threads.<\/p>\n<p>I see Kotlin winning some traction, and it will be nice to see what will happen with Kotlin and Java in the next two to three years. Not only that, but I have the feeling that history will repeat itself, the same thing that happened with Scala less than ten years ago.<\/p>\n<p><a href=\"https:\/\/thenewstack.io\/java-usage-keeps-climbing-according-to-new-survey\" rel=\"noopener\" target=\"_blank\">Kotlin vs Java<\/a> will be a good topic to be aware of.<\/p>\n<p><b>Scala<\/b><\/p>\n<p>Scala is not trending anymore, even in the Java and Data community.<br \/>\nScala 3.0 has good changes, but I still think that Scala created a lot of problems with the version migration and this kind of decreased the Scala traction.<\/p>\n<p>I still believe that every Software Engineer should learn Scala as a Functional paradigm language. Once you learn Scala you never will program the same way.<\/p>\n<h2>Kafka<\/h2>\n<p>In my twenty years of experience, I work close to the data world for the most part. I kind of joke a lot that I\u2019m the Software Engineer in a Data Engineer team.<\/p>\n<p>Apache Kafka Raft (<a href=\"http:\/\/www.igfasouza.com\/blog\/kraft-aka-kip-500-and-raspberry-pi\/\" rel=\"noopener\" target=\"_blank\">KRaft<\/a>) is the consensus protocol that was introduced to remove Apache Kafka\u2019s dependency on ZooKeeper for metadata management.<\/p>\n<p>The Apache Software Foundation has released Apache Kafka 3.3.1 with many new features and improvements. In particular, this is the first release that marks KRaft (<a href=\"https:\/\/www.infoq.com\/news\/2022\/10\/apache-kafka-kraft\/\" rel=\"noopener\" target=\"_blank\">Kafka Raft<\/a>) consensus protocol as production ready. In development for several years, it was released in early access in Kafka 2.8, then in preview in Kafka 3.0.<\/p>\n<p><a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum\" rel=\"noopener\" target=\"_blank\">KIP-500<\/a>: Replace ZooKeeper with a Self-Managed Metadata Quorum<\/p>\n<p><a href=\"https:\/\/developer.confluent.io\/learn\/kraft\/\" rel=\"noopener\" target=\"_blank\">Learn kraft<\/a><\/p>\n<p>Every new <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/Release+Plan+3.4.0\" rel=\"noopener\" target=\"_blank\">Kafka release<\/a> a lot of new nice things come and definitively is one thing to be aware of.<\/p>\n<p>Another thing that got my attention was the release of a <a href=\"https:\/\/www.confluent.io\/product\/stream-designer\/\" rel=\"noopener\" target=\"_blank\">Low code platform<\/a> by confluent. This will be interesting to follow.<\/p>\n<p>Data Mesh was the main trending topic of the year.<\/p>\n<p>Data Lake House is another trending topic that grows a lot this year. Many data platform vendors pitch the lakehouse vision today. That\u2019s the same story as the data lake in the Hadoop era, with few new nuances. Put all your data into a single data store to save the world and solve every problem and use case. In the last ten years, most enterprises realized this strategy did not work. The data lake is great for reporting and batch analytics, but not the right choice for every problem. Besides technical challenges, new challenges emerged: data governance, compliance issues, data privacy, and so on. Data streaming increasingly becomes the real-time data fabric between all the different data platforms and other business applications leveraging the real-time Kappa architecture instead of the much more batch-focused Lamba architecture.<br \/>\nDecentralized data mesh with valuable data products and this will be the next trending topic.<\/p>\n<p><a href=\"https:\/\/rmoff.net\/2022\/09\/14\/data-engineering-in-2022-storage-and-access\/\" rel=\"noopener\" target=\"_blank\">Data Engineering in 2022<\/a><\/p>\n<p>Apache Hudi, Apache Iceberg and Delta Lake have everything to grow more and more. Those are the products to pay attention to. <\/p>\n<p>Of course, ETL vs ELT and other variations, were in the news and DBT falling in popularity. <\/p>\n<p><a href=\"https:\/\/betterprogramming.pub\/duckdb-whats-the-hype-about-5d46aaa73196\" rel=\"noopener\" target=\"_blank\">DuckDB<\/a> was a surprise that got a lot of traction.<\/p>\n<p>Another trending topic was the <a href=\"https:\/\/towardsdatascience.com\/chatgpt-and-dall-e-2-in-a-panel-app-1c921d7d9021\" rel=\"noopener\" target=\"_blank\">ChatGPT &#038; DALL-E2<\/a><\/p>\n<p>Rust got a lot of traction, and it will be nice to check the growth like Kotlin.<br \/>\n<a href=\"https:\/\/airbyte.com\/blog\/rust-for-data-engineering\" rel=\"noopener\" target=\"_blank\">Rust vs Python<\/a><\/p>\n<p>And talking about Rust, a project that grew a lot in the last three years was Red Panda. Is deftly something that you need to check out.<\/p>\n<p>A book to check out is the Fundamentals of Data Engineering and by coincidence Red Panda is giving the book for <a href=\"https:\/\/go.redpanda.com\/fundamentals-of-data-engineering\" rel=\"noopener\" target=\"_blank\">free<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_fundamentals_of_data_engineering.jpg\" alt=\"\" width=\"338\" height=\"430\" class=\"alignnone size-full wp-image-1476\" srcset=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_fundamentals_of_data_engineering.jpg 338w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_fundamentals_of_data_engineering-236x300.jpg 236w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><br \/>\n<small>Fundamentals of Data Engineering<\/small><\/p>\n<p>Following my joke that you should follow and get engaged with your local communities, I recommend checking out Data Hackers and Confluent on Slack.<\/p>\n<p>It is kind of cliche, but SQL was the <a href=\"https:\/\/spectrum.ieee.org\/top-programming-languages-2022\" rel=\"noopener\" target=\"_blank\">top programming language of 2022<\/a>.<\/p>\n<h2>Raspberry PI<\/h2>\n<p>For me, this year was about Raspberry PIco and Raspberry Pi Zero 2, loads of articles and blogs with nice content and some guide tutorials as well.<\/p>\n<p>PI4J v2 was a nice surprise as well. It changes how it works and definitively is something to check it out. A bonus point here is that now there is a Kotlin version as well.<\/p>\n<p>The number of <a href=\"https:\/\/www.elektormagazine.com\/news\/development-boards-past-present-and-posterity\" rel=\"noopener\" target=\"_blank\">Boards<\/a> just increases without control, like the old JavaScript joke, <a href=\"https:\/\/www.makershed.com\/products\/make-magazine-volume-83-pdf\" rel=\"noopener\" target=\"_blank\">every day there is a new board<\/a>.<\/p>\n<p>A book to check out is the Open circuit<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_open_circuits.jpg\" alt=\"\" width=\"338\" height=\"430\" class=\"alignnone size-full wp-image-1478\" srcset=\"http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_open_circuits.jpg 338w, http:\/\/www.igfasouza.com\/blog\/wp-content\/uploads\/2022\/12\/book_open_circuits-236x300.jpg 236w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><br \/>\n<small>Open circuit<\/small><\/p>\n<p>This was the year of the <a href=\"https:\/\/www.raspberrypi.com\/news\/supply-chain-update-its-good-news\/\" rel=\"noopener\" target=\"_blank\">Supply Chain problems<\/a>, but in the end we have some <a href=\"https:\/\/www.tomshardware.com\/news\/raspberry-pi-5-after-2023\" rel=\"noopener\" target=\"_blank\">hope<\/a>. <\/p>\n<h2>Conclusion<\/h2>\n<p>Those were the topics that I found interesting this year, and of course I probably forgot some things.<\/p>\n<p>I tried to cover my main three areas, and there are a lot of things to cover here. Don&#8217;t panic if you don&#8217;t know those things. Don\u2019t try to understand everything, and just focus on your topics of interest.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What\u2019s the story Rory? Is that the time of the year that you start to reflect about what you did in this year and what you want to do next year. I definitely manage to do a lot of nice&hellip; <a href=\"http:\/\/www.igfasouza.com\/blog\/year-review-2022\/\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1470,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,25,24],"tags":[17,7,13],"class_list":["post-1467","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-kafka","category-raspberry-pi","tag-java","tag-kafka","tag-raspberry-pi"],"_links":{"self":[{"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/posts\/1467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/comments?post=1467"}],"version-history":[{"count":8,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/posts\/1467\/revisions"}],"predecessor-version":[{"id":1480,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/posts\/1467\/revisions\/1480"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/media\/1470"}],"wp:attachment":[{"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/media?parent=1467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/categories?post=1467"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.igfasouza.com\/blog\/wp-json\/wp\/v2\/tags?post=1467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}