How opensource projects can help to learn a new programming language

Jens Goldhammer
fme DevOps Stories
Published in
3 min readMay 26, 2021

Go and Rust — nothing for me

End of 2020 I had the feeling that this is a good time to start with a new programming language. I have a strong Java background due to my work at fme AG and also had some hands on with Typescript for frontend development the last years.

After looking into Go and Rust earlier I had to admit that these popular programming languages were not my personal preference. I looked into the official documentation of these languages and made some tutorials to make first steps.

Yes, it worked, but I had the feeling from the start not to be productive with it, so the motivation dropped more and more. It is ok to fail sometimes while others love these languages.

Swift — the shining star?

Swift, the programming language initiated by Apple as successor of ObjectiveC, was my next candidate. Swift can be used to develop macOS, watchOS and iOS applications. But how should I start with it?

At first, I have looked into the documentation (Swift.org — Documentation) of Swift. The concepts behind Swift made sense to me and I started to discover more samples and try to understand more stuff.

Swift official documentation

I made my first steps with XCode, Apples IDE to develop applications for their devices. The start with XCode as IDE was a little bit bumpy if you know other IDEs like IntelliJ for Java.

I started to look at provided samples. Fine, but how to use my first knowledge and become better while the motivation will not drop again?

Contributing to Meetingbar

I started to look around for interesting opensource projects (written in Swift) that is helpful for me as user and I can bring in my knowledge. It was hard to find something suitable at the beginning.

After a while I have discovered the open source project Meetingbar via producthunt (https://producthunt.com), a nice platform where developers and founders can introduce products from any kind.

Meetingbar helps to organise your online meetings in the menubar of macOS and attend meetings with one mouse click.

The source code is available here: https://github.com/leits/MeetingBar

meetingbar product image

While I have started to use it, I had some ideas how to improve it, so I started to create issues and interact with the project owner Andrii Leitsius. He put a lot of trust into me and also gave me maintainer rights in the GitHub project after some contributions. I am very thankful!

Soon I realised that this is the perfect opportunity to dig deeper into Swift.

  • The existing code was not too complex for beginners — I was able to learn from existing code and made some experiments.
  • I can contribute small features and fix some bugs which has a certain influence in the community as the project is very popular.
  • I can control how much time to invest in the project. No expectations.

And now? I am still a Swift beginner, but it makes fun to alway look into it and develop some more stuff in my limited free time. It is nice to see how small things help other people and that i can also benefit from it — day by day.

--

--

Jens Goldhammer
fme DevOps Stories

Software Engineer with focus on Cloud, Java and Typescript — working for fme AG — dad of 2 little boys and one sweet girl — loving new technologies