How to support a list of uploads as input with Absinthe GraphQL
As you might guess, in our day-to-day, we write GraphQL queries and mutations for Phoenix applications using Absinthe to be able to create, read, update and delete records.
Engineering
02 March, 2020
A month ago, coming from college with a very strong foundation of Object Oriented Programming (OOP), I was a bit scared to jump into the Functional Programming wave. Haskell was the first and only functional language that I’ve learned and I didn’t like it to be honest with you. But now, I had to get out my comfort zone and accept this huge challenge. My first job as an Elixir developer.
A month ago, coming from college with a very strong foundation of Object Oriented Programming (OOP), I was a bit scared to jump into the Functional Programming wave. Haskell was the first and only functional language that I’ve learned and I didn’t like it to be honest with you. But now, I had to get out my comfort zone and accept this huge challenge. My first job as an Elixir developer.
A lot of things had to change. My line of thought. The way that I’m used to writing code. But all of that was easily overcome by my desire to learn, and my expectations about what Elixir would provide in terms of knowledge were huge!
I’ve started my learning by watching online tutorials. Followed from beginning to the end, these videos, provided in the learning plan defined by my peers at Coletiv, aided to understand the basic concepts of Elixir and Phoenix. If you’re looking for a good course, this was the one I did on Udemy. It’s a great Elixir learning path for people that prefer learning by watching tutorials!
In the first days, the motivation to start working was dominating and increased the determination of finishing the tutorials with success. However, after finishing them, the retained knowledge was very vague. I was tired and did not feel the challenge of wanting to do more...
A coworker heard my feedback about the online tutorials and we quickly started looking for alternatives.
A certain day, sitting at my desk, was an Elixir/Phoenix book called Programming Phoenix 1.4
written by Chris McCord, Bruce Tate and José Valim. After skimming through the book, I was already thinking “Here we go again!”. Opposite to my thoughts, the book really motivated me, pushing me to keep learning about Elixir and without doubt, in a few days, I was getting more comfortable with Functional Programming.
I finished the book with a completely different posture compared to the previous experience. Understanding the code was now easier, and the fear of doing mistakes was close to none. I was more confident! Adding to that, I managed to take part in the conversations about elixir at Coletiv. I was now ready to start my first project!
Notes: The books I read until now at Coletiv were Programming Phoenix 1.4 and Craft GraphQL APIs in Elixir with Absinthe.
The time had come to test my knowledge. I was confident it would go well, that I had a good funcional thinking and satisfactory code quality (for a junior that was afraid of the language)! My coworkers helped me a lot to expand my knowledge and gave me the necessary tools to start my journey with Elixir.
Fernando Pessoa, a famous Portuguese poet once wrote:
“First you find it strange. Then you can’t get enough of it.”
This is exactly how I describe the path that led me to where I am now. Looking back to the Nuno from a month ago, I really couldn’t recognise myself. The fear of making mistakes, the discomfort and the lack of security no longer existed. Two weeks passed since the beginning of the project and, each day, my desire to learn increases. Everyday, a new challenge appears peeking at the door, and I feel able to confront it (sometimes with help of my colleagues 😄) without fear. Now I have the confidence to implement features, solve bugs, do refactoring and test my code.
I feel that the function that defines my learning curve is too complex, because during this month I went through many ups and downs, but at this moment I’m in exponential growth stage, and I wish I can sustain it!
I have to thank every single one of my colleagues at Coletiv. They helped since the beginning to the end of this first learning process, and I can undoubtedly state that this is a first dream job!
Join our newsletter
Be part of our community and stay up to date with the latest blog posts.
SubscribeJoin our newsletter
Be part of our community and stay up to date with the latest blog posts.
SubscribeAs you might guess, in our day-to-day, we write GraphQL queries and mutations for Phoenix applications using Absinthe to be able to create, read, update and delete records.
If you are a Flutter developer you might have heard about or even tried the “new” way of navigating with Navigator 2.0, which might be one of the most controversial APIs I have seen.
A database cron job is a process for scheduling a procedure or command on your database to automate repetitive tasks. By default, cron jobs are disabled on PostgreSQL instances. Here is how you can enable them on Amazon Web Services (AWS) RDS console.