Connecting...

Copy Of Copy Of Offline

"LambdaConf turned out to be so much more" by Cesar Gonzalez

Copy Of Copy Of Offline

This year Signify was proud to be Gold Sponsors of LambdaConf for the first time. 

We love giving back to the community and sending engineers to these awesome conferences to further their skills and network, is something we are very passionate about. Therefore, we were thrilled to be able to send Software Engineer, Cesar Gonzalez

It's inspiring to hear the experiences engineers gain from conferences, so what did Cesar think of LambdaConf? This is his review...

 

'LambdaConf in Boulder, Colorado was a captivating experience. The wide range of content and attendees eager to teach and help each other made my time at LambdaConf unforgettable. After reading Phillip Carter's post on his experience at LambdaConf I decided to share my experience there as well. Phillip gave an insightful talk on how F# is used to develop the F# language and tools. He described how various functional programming principles are applied in the development of the language as well as the challenges encountered with F# being an open-source, functional language and a product within a larger enterprise product.

 

A new first

I started my career as a software engineer after graduating from university two years ago. Since then I have:
  • Built a near real-time data pipeline that consumes events from Kafka using Spark Streaming
  • Rotated teams to where I currently focus on back-end development
  • Interviewed candidates for internships and full-time campus programs
  • Taken on recruitment responsibilities
  • Mentored interns and college hires

Recently I have started to learn functional programming using Scala, and I was excited about the learning opportunities I would find at my first technical conference. Many bright minds, skilled individuals, and open-source software contributors would be present. I stepped out of my comfort zone and celebrated a major milestone in my career by attending LambdaConf.

 

Learning from failing

I found the material presented at LambdaConf to be challenging, difficult, and motivating. I struggled to keep up, but the good kind of struggle - the kind that captivates your interest and leaves you wanting to learn more. Workshops, educational and professional sessions, technical deep-dives, and language-specific talks composed LambdaConf's curated agenda, and my mind was blown from the get-go. To kick things off I attended a 7-hour workshop by John De Goes where he introduced us from the ground up to ZIO, a type-safe, composable, zero-dependency Scala library for asynchronous and concurrent programming. Using a simple example he laid the foundation to build on throughout the day. We built immutable data structures that described actions to take, and we composed larger applications from smaller ones. We used the Scala compiler to guarantee the errors encountered were errors expected and were managed accordingly. We wrote a performant code utilizing fibers and concurrent data structures. We learned about writing modern applications that are performant, non-blocking, non-leaking, and scalable.

With my limited but growing knowledge of functional programming, I followed along as best as possible throughout the sessions I attended. While I did fall off at one point or another I saw how I was actually benefiting from this. Did I fail by not understanding every concept, theory, and the example presented at LambdaConf? Of course not! Failure would have been allowing myself to be discouraged. Instead, the material I did comprehend served to be useful in later conversations and subsequent conference sessions.

I also attended a 2-hour workshop on using Software Transactional Memory (STM) in Haskell by Michael Snoyman where we saw how STM can be used in concurrent programming. STM is an alternative to lock-based synchronization
providing access to shared memory in concurrent computation. Did I know Haskell? No, and after the first few examples that built on the previous ones I could not follow the language. I did, however, learn data modifications are rolled back when another thread also modifies the same data, a block of actions can be retried if rolled back, and committed modifications become visible to other threads.
These takeaways allowed me to follow along further in Wiem Zine Elabidine's Real World ZIO talk the next day where Wiem implemented a concurrent elevator control system for a fictional hotel. She iterated through the design and implementation process to meet the requirements of the system while describing her thoughts and examining pros and cons each step of the way. Upon reaching the initial implementation Wiem pointed out a flaw in the control system caused by concurrently accessing shared, mutable memory.

By attending Michael's session on STM in Haskell when Wiem proposed using STM I could begin to see how STM would address the existing solution's shortcomings, and as Wiem implemented the second version of the control system using ZIO's STM package the same principles I had learned about the day before came into play. Overall while I may not have grasped every bit of information presented at the conference I did notice the positive impact understanding even a fraction of the information had. I left LambdaConf with an array of topics to read up on and new libraries and frameworks to explore.

More than a conference

LambdaConf turned out to be so much more than in-depth workshops, technical talks, and presentations. Included in LambdaConf's programming were social events and networking opportunities. From hiking to gym workouts, from coffee & tea tastings to cooking competitions, from brewery outings to ad-hoc meet-ups, from hackathons to library visits, a myriad of events allowed individuals to explore the city and connect with one another through a different medium.

 

The people behind the magic

This conference would not have been possible without Courtney De Goes, John De Goes, and all the volunteers, speakers, and sponsors, and I would like to thank them for putting together a wonderful conference. I had heard that LambdaConf is unlike other conferences, and after my time there I could see why. I arrived at LambdaConf not knowing anyone personally and left feeling a part of a community filled with people who share an enthusiasm for functional programming and who are eager to teach, help, and mentor others. 

I would also like to thank Signify Technology for the opportunity to attend LambdaConf, allowing myself to progress in my personal and professional journey. The amazing people at Signify Technology are passionate about connecting people to organizations and companies, helping people land a dream job. Signify Technology advocates functional programming, helps grow the Scala community and does technology recruitment differently. 

Until next year's LambdaConf!'

 

This article was written by Cesar Gonzalez.