BIRKEY CONSULTING

ABOUT  RSS  ARCHIVE


Posts tagged "conference":

08 Oct 2022

Notes on StrangeLoop 2022

StrangeLoop this year made me feel almost as normal as those during pre pandemic times especially in terms of size of participants and sponsors. I actually believe it had the most sponsorship so far among those I attended over the years. One noticeable company was AWS that a friend of mine joined earlier this year. So it was pretty exciting to meet up with him there. As always, the breadths of folks and topics from all walks of Software Engineering is just excellent this time as well. I took few notes on the talks that I am able to attend and would summarize them on few categories below.

Dev Experience : I consider observability to be an important part of development experience, which is always pushed back as an afterthought for almost all the startups that I worked with and I know of. The talk "Building Observability for 99% Developers" by Jean Yang just resonated with me and I am really glad that her company is building tools to make developer experience better using eBPF that has matured in the last few years. It was quite and entertaining talk and I highly recommend you check it out. Another talk that I really enjoyed is "Workflows, a new abstraction for distributed systems" by Dominik Tornow. If you are dealing with the chaos of distributed services, the abstraction that he presented make you feel like you are working with monolith (oh the happy times :) again with the advantage of cloud scalibility.

Programming Languages : I personally prefer dynamic languages (Clojure to be exact) as my tools of choice for my day to day practice of solving problems for people but I do see the benefit of type system as a guiding rail when designing an API or better yet generating code. You should check out the talk "Codegen with Types, for Humans, by Humans" by Matthew Griffith, where he talks about how to use types to generate code for human consumption. If you are working with (or say fighting with) type system that is complecting your business logic/code execution, you should check out the talk "Monad I Love You Now Get Out Of My Type System" by Gjeta Gjyshinca, where she talks about the platform that helps Scala developer to get their type system out of business logic with just five extra characters, @node, with a compiler plugin.

Data Centric Problem Solving : Strange Loop Conf have always been attractive to data centric practices and paradigms and this year was no different. There are many talks related to how to generate, architect and analyze data. The talk titled "Data-driven investigation in defense of human rights" by Christo Buschek is presented with very clear and methodical approaches to solve real problems we face around the world. I really feel like we need more of that type of work where we put technology for the benefit of our fellow human beings. I think he should do another presentation next year titled "Data-driven investigation in defense of peace and opposition of war", which surely makes me sign up for Strange Loop for one last time (Next year will be the last time you can experience Strange Loop and I highly recommend you attend to see what you have been missing).

Tags: conference strange-loop
12 Dec 2021

Few notes on Strange Loop 2021

This year's Strange Loop was my 4th and it was as good as it has been in the past. One of the main reason I like to go to conferences especially Strange Loop was to see beyond the state of the art transmittable knowledge, which is the untransimittable one. In this age of Google search, Stack Overflow copy/paste and Coding school driven programming, which has its own place in our industry, we need to be cognizant of the existence and importance of the untransimittable part of software engineering knowledge that can only be acquired by learning from the masters. And Strange Loop has never failed me so far to provide an opportunity to jolt my brain to find easier those tacit knowledge that otherwise might have taken me long winding road to acquire. I would like to present few of those that I have taken notes so it will help my aspiring fellow engineers.

Domain Driven Design : There are numerous books/posts/videos about how to do it right and I have been using it with success for the last few years. However, I have always been little bit unclear about how I measure its benefit within my engineering team. I got the `AHA` moment when second day keynote put up a quote on its slide stating that 'Small change in product (Domain), should result in small change in the code (implementation)'. Now, I know how to measure if we are doing it right or wrong in my team.

API Design : There is a talk about using Rust's type system in aiding you to design a robust API that does validation and error reporting right. While that talk focus on how Rust type system is tremendously useful to library (API) designer, what I see from that talk is way beyond just helpfulness of a well designed type system, which is a languages ability to allow you to specify your system's interfaces exactly as you intended. If you are not using one of those languages (Rust, F#, Ada and Clojure … any language that allows you specify interfaces) in your library/API work, you should be checking them out to see what you are missing (also remember to keep an eye for what you are loosing. It is all about trade offs).

Dependencies : This is a topic that is very dear to day to day practice considering my current preferred tool of choice (Clojure and ClojureScript). The branchstack talk triggered sort of `AHA` moment for me in treating the entire state of your system (code) vs the state of your outside dependencies. I'd like to think of them as your internal state vs external state. I have been advocating and practicing a sort of convention your system should only be just three steps away from being able to be worked upon, which is:

git clone <your_system_x> && make deps && make run

Note that it does not have to be git and make. Any tool of your choice will do. The idea is that as a project owner, it is your responsibility to make sure that your system workflow is easily reproducible and those tools should be treated as first class citizen as your system logic code.

Again, those kind of tacit knowledge can only be learned by being in the presence of crafts people and having actually conversation with them in close vicinity. I have enjoyed all the talks that I attended and even more so the hallway and lunch table conversation. And I am looking forward to Strange Loop 2022 already :).

Tags: conference strange-loop
Other posts