Dean McKenna is a software developer on the Signifyd Belfast team. His passion for software development came later in life than for many coders, but now he’s making the most of his new career direction with meaningful contributions to Signifyd and to the Belfast tech community. He’s sharing the story of his recent presentation at a Belfast Java User Group meetup hosted by Signifyd in August, plus his hopes for how Signifyd can help people make connections within the growing Northern Ireland tech scene.
Synchronizing software concepts for the Java community
On August 22, Signifyd hosted and sponsored a Java User Group (JUG) meeting at our River House location in Belfast. I presented a talk to the group about Asynchronous programming in Java with CompletionStages. The event was an opportunity for Signifyd to reach out, connect with and support the Java community in Belfast. My talk was among the other presentations at the event, which included a keynote talk on functional programming principles applied to Java and talks on functional libraries and JOOQ. About 70 people came to the event, mostly professional engineers and students from the area.
I am among the many enterprise Java developers in Belfast with a passing interest in asynchronous concepts, but without a use case for them in our workplace. To make matters worse the Javadoc for the CompletionStage API is notoriously abstruse, which increases the difficulty for new starts to ramp up. This was the basis of my presentation: to give a brief overview of why we do asynchronous programming at Signifyd and the features of the CompletionStage API that I use the most in my daily work. Our goal was to share this message with new engineers starting or looking to start with CompletionStages.
Learning and growing together
The event was also an opportunity for me to take a significant step in both my career and personal development. It was my first time doing a public talk on a technical subject. Unlike most in the field, I did not come to this profession by way of a degree in computer science. I studied sociology at Queen’s University Belfast, where I was never introduced to coding. I grew to believe it was some arcane practice involving indecipherable mathematical equations and consequently, I never took an interest in it. That was until I decided to join a course in software development that was an initiative of the Northern Ireland Executive. It was my first introduction to programming. I fell in love with it instantly and as a result, I began my career as a Java developer in Belfast.
I worked at Citi and Liberty IT over the last four years before joining Signifyd in early January, not long after the Belfast site was established. My first week here, we had only three people in the office — and two others visiting from the head office in San Jose. We were pretty small in those days. I have since seen our team grow to include 49 staff members, 19 of which are engineers, and all great additions to our team.
However, our growth also presented an onboarding problem. Not just logistically but also because of the facets of the Signifyd code base that may not be immediately familiar to all enterprise Java developers. To quote Nikhil Bysani, a senior engineer manager at Signifyd, “Asynchronous code dominates the Signifyd platform.” More specifically CompletionStages — the primary unit of abstraction for asynchronous programming —are ubiquitous throughout the codebase.
Simply put, asynchronous programming is a means of parallel programming which allows a developer to offload an expensive or time-consuming unit of work to be run separately from the main application thread, thus freeing it up to do other things. CompletonStages are a feature of the Java Development Kit (JDK) that allows us to do this more easily. They were introduced in Java 8 but were often overlooked because of the other features that took central stage like Lambdas and Streams, but also because the enterprise Java ecosystem had not yet fully embraced asynchronous programming.
Signifyd’s investment in Belfast’s tech scene
I have always shied away from public speaking, but I understood the need to share this message and for up-and-coming developers to hear from someone working with CompletionStages, so I reluctantly agreed to take the speaking opportunity. All in all I felt it went well. I like to think that it was helpful to the engineers that attended.
We decided to host the JUG meetup event and make my talk on Asynchronous programming with CompletionStages part of the program. Belfast has a vibrant tech community with meetup groups that cover many languages and tech stacks. They are an excellent way to learn about new things and to network and they also play a pivotal role in shaping the technical landscape here by introducing new technologies, languages and concepts with a desire to improve how we create software as a community.
We wanted to host a Java User Group meetup to reach out and engage with the wider Java community in Belfast. The theme of my talk gave insight into what it is like to work at Signifyd as an engineer. Signifyd has excelled at reaching out and engaging with the wider tech community in Belfast since the company arrived here. The #BuiltInBelfast hashtag on social media and our co-founders Michael Liberty and Raj Ramanand making contributions to the Digital DNA conference earlier this year shows how we’re enriching the Belfast tech community. Our focus on Belfast as a building culture with parallels to Silicon Valley honors Belfast’s shipbuilding legacy as producers of mighty ships like the Titanic.There’s a real sense that Signifyd is invested in Belfast in a genuine and meaningful way.
Taking new steps forward
We had to make some minor tweaks my presentation to make it more suitable for a general audience. That was no problem. The real challenge for me was overcoming my fear of speaking in front of a larger audience. I had attended many meetup groups in the past but never imagined presenting at one. I was surprised by how much I enjoyed the experience and how it made me feel more connected to the wider community and to Signifyd. My feelings while presenting first got better, then worse, then better again; and by the end I felt entirely comfortable. I was happy that my talk was well received by my audience. I am thankful for the opportunity and for the gentle nudge from my peers to get me on stage for the presentation.