In 2018 Ember was updated 65 times - 1.2 releases per week. There were 66 Ember Meetups held all around the world. 35 RFC was closed and tagged with the ‘Final Comment’ label. I myself managed to pass all my university exams, and contributed over 1.7k times to various JavaScript / Ember.js repositories. I wrote an article on my experience of EmberFest in Amsterdam. But what about my personal growth as a software developer? In this article, I will share with you some tricks that I have discovered and you can make use of in your daily job.
Improve, apply and contact
Let’s start with the first tip, which is how to find a potential customer thanks to your contributions. I call this process ‘improve, apply and contact’. One of my customers wanted me to improve reCaptcha because, as you know, it is really annoying since you often need to click all images of trains, buses, etc. It is super frustrating to the end user so we decided to replace the regular reCaptcha with an invisible one. I started digging out paragraphs about the invisible reCaptcha in Ember.js, but there wasn’t any information on how to do it. So I took a look at the Google documentation about it and how to do it to improve the package. I found out that we can change only one key property and tada! I decided to create a pull request to the Ember add-on. I had waited quite some time for merging since many people do not check their notifications constantly, so I decided to track down the package owner and contact him directly. I found this guy on Linkedin and sent him a friendly message informing that I had created a pull request and after just a few minutes he answered that he’s on holidays now, but will definitely find some time to merge it. Two days later, my pull request was merged and after some minor improvements, it’s ready to go. The customer was pretty impressed by our work and took a look at our company’s website and found out that our Ember team is really active in the Ember community which convinced him to contact our sales team and start collaborating with us.
This shows, that a small effort can lead us to great success. It brings business value to the company, new clients and perspectives for tomorrow. This also helps to build your own network of contacts.
New add-ons
The second example shows how to transform a small improvement into a separate add-on. A customer asked me to improve the registration form by adding an option to select a country from their list with all the area codes and then validate the number. The customer assured me that there already exists a package that can handle those things for me, so I started going through the repositories, Ember Observer website, but I couldn’t find anything. However, during my research, I found a React package called react-phone-number-input
and I really liked it, so I decided to create something similar for Ember.
After a few hours of intensive research and preparation, I got the external functions with JSON consisting of countries and their dial codes. I also prepared a simple validation of the phone number. My client liked this feature and the look of the registration form, so I decided to take my components and make a set of them and put them into a separate add-on. I created a repository, made a few commits there, but the package is still in progress. I plan to release it in the nearest future.
Summary
As you can see, creating Ember add-ons not only teaches us the process of building them, how to create more flexible components and helps with the visibility in the Ember community. I hope that after reading this article you will try doing so yourself, use my tips in your daily job and let me know what were the final results.
If you need help with your Ember development, feel free to contact our team of experts.
We have also created a downloadable Ember testing guide that will help you improve your work and provide best practices.
