The Ruby community is active and thriving all around the world - also in Poland, where there are many user groups that organize frequent meetings to discuss everything Ruby. One of them is the Rzeszów Ruby User Group (RRUG), that iRonin proudly supports, with our employees participating in meetings for quite some time. Learn more about RRUG right here.
Our employees are thinking of Ruby not only at work, but in their spare time too. Many on the dev team enjoy participating in Ruby User Group meetings after hours. One such group is based in Rzeszów and recently hosted their 11th meeting for Ruby fans - the fourth meeting for 2017 that iRonin supported and took part in. That’s how much we love Ruby! Four seasons, four meetings, five lecturers from iRonin and six talks. Let’s sum it up!
RRUG and iRonin - a love story
The Rzeszów Ruby User Group (or RRUG) was founded with the aim of gathering all lovers of Ruby in Rzeszów city. It is also the organizer of Rails Girls and co-organizer of RZEmiosło.IT, both initiatives are sponsored by iRonin. When it comes to RRUG meetings, they happen on a monthly basis and are open to everyone. On each meeting there are two main talks delivered by experienced programmers. Apart from that, everyone can deliver a Lighting Talk - a 5 minute speech on a chosen subject.
iRonin has been taking part in RRUG meetings since 2016. But in 2017, we really stepped up our game - our developers gave talks in May, June, November and December. Also, two of our employees, Mateusz and Paweł, are members of the organization’s board. It means they have the hard job of choosing topics, doing promotion and hosting meetings, looking for the best lecturers, booking a space, as well as caring about the quality of talks etc.
The final meetup for the year on the 8th December, was also sponsored by iRonin!
Meeting #7, May
Spring was in full bloom, when in May of 2017 two of our employees gave talks at the RRUG meeting. Artur, who, apart from coding in Ruby, is a lover of functional languages, presented on the combination of these two passions in the talk “Functional bits in Ruby”.
Przemek, our Full-Stack Developer, who programs in Ruby, Rails, React and Elixir, talked about “Reconsidering unit tests”. He covered topics such as:
- Do we write good unit tests?
- Do we cover all test cases?
- Do we need tests at all?
- How to test certain collection types
- Improving tests suite speed
Przemek wasn’t reluctant to share his experience on all ranges of issues from different projects - starting from the most basic examples to more complex.
Quite some of our Ruby developers from all over Poland made a summer trip and attended the RRUG meeting and the RZEmioslo.IT conference, that took place at the same time. We used those events to meet in real life, as most of us work remotely but we have quite a strong team in our Rzeszów office.
Meeting #8, June
Summer was knocking at our doors, when RRUG hosted its 8th meeting. Paweł, our software developer, as a frequent lecturer had the fun in presenting “Hanami for Rails developers”, covering following topics:
- What is Hanami, who created it and what is the philosophy behind it?
- Architecture and key features: Container Architecture, Models, Views and Templates, Controllers and Actions.
- How does it compare to Rails?
- What's hot about it and what's not?
Paweł furnished his talk with practical examples from his personal experience with Hanami-based apps. Though at the time of his presentation the framework was still very immature, the idea behind it was promising. He encouraged the audience to contribute to the framework. Since Hanami is so young and dynamically growing, it creates great opportunities to give your input (make yourself seen!) and join a wonderful community of passionate developers (make new friends!).
Meeting #10, November
It was gloomy and dark outside, since autumn was in full swing, when RRUG meeting number 10
took place. Our other developer named Przemek presented with a lecture about ‘File uploading with Shrine gem’, which included:
- Overview of the possibilities offered by Shrine for handling file uploads
- Presenting the advantages of the Shrine gem against other similar libraries existing in the market
- Overview of types of Shrine storage in the context of various applications’ work environments
- Showing an example of integration of the gem with Amazon S3 and implementation of a direct upload to S3
Why the Shrine gem? Well, Przemek wanted to show a great alternative to other gems for file uploading, for instance CarrierWave and Paperclip. Our dev openly admits that he is charmed by the Shrine gem: it won him over with easy and quick direct uploads to Amazon S3. According to Przemek, direct uploads with the CarrierWave gem aren’t so obvious like in the Shrine gem, as it doesn’t have built-in support.
Meeting #11, December
On a winter Friday afternoon, though sadly without snow, yet another RRUG meeting was hosted. Serious topics focused around the `dry-rb` gem and differences between production and development environments. Our Ruby developer, Jakub, gave a talk on “SOA#1 - Do not take it for granted”. He took on the ambitious goal of making programmers aware of what seems an obvious topic: writing an application and maintaining it are two different things. He paid special attention to the importance of proper maintenance of the application and the context.
Often, after receiving a ticket regarding erroneous operation of our program, iRonin’s team verify its existence on its development machine or staging server. If the team doesn’t manage to reproduce the error, it would be easy to reply simply with the default and mainly unhelpful answer - “It works on my machine!”. When this is the answer, you’ll know that the issue lies within the differences between the production and the development environments. Jakub gave the audience two examples from his own experience: one referred to server PostgreSQL with an incorrect time zone setup and another to misconfiguration of Redis. In both cases the error was only reproducible in the production environment. You know what this means: context is king!
Artur presented at the RRUG meeting for the second time, giving a speech on using `dry-rb` to improve your code, along with tools available in the `dry-rb` package, with a focus on `dry-types`, `dry-struct` and `dry-validation`. The core of his talk was to explain the foundations for all libraries from the `dry-rb` family.
That is:
- Libraries should be lightweight and fast - and so they are thanks to a Unix approach
- They work on one strictly defined task at a time and as such they are able to complete it in a seamless and non-erroneous manner
- They are non-intrusive, meaning they should be system agnostic (no assumptions about the system they would be used in), which is not a case with other popular libraries
- They are flexible- it is a developer who customizes a tool to its needs, not the tool forcing him to write an application in a specific manner
Not only for pros
Rzeszów Ruby User Group events are a great opportunity to improve programming knowledge, broaden your network of contacts, and try your hand at lecturing. But not only professional, experienced developers are welcome! RRUG is open to those who are just embarking on their Ruby adventure and want to learn the language, prepared with issues they may encounter and solutions to them. This mix of fresh blood and old hands makes RRUG meetings an exciting platform for the exchange of knowledge and experience between Ruby enthusiasts. We hope learning about the iRonin and RRUG shared journey in 2017 has managed to convince you that these meetups can be a mine of useful information.
See you there!
Rzeszów is just one city where you can meet Ruby user groups - these type of meetups occur worldwide. Our employees also have been taking part in such initiatives in other places, for instance Kraków and Warsaw. We are proud to have such engaged developers who are actively looking for new opportunities to grow! If you want to join the pack - drop us your CV or check out our career page. Don’t forget to check out the RRUG FB page or webpage and join upcoming meetings if you happen to be in town. See you there!