Since we started the bootcamp five weeks ago, we knew that during the second part of it, we should have worked on a final project which has the double goals to enrich our (sigh) poor portfolio and to reinforce ourselves in the numerous new things we have learned through the past weeks.

No one hid the excitement of working on something which is 100% self-produced and everybody wanted to build something meaningful, of course. With these good intentions, some of us had ideas for the final project even before coming to the bootcamp and most of us shaped it during the first week, me included: a complete automatized virtual secretary that would be able to replace a real one for 1/20th of the cost. Amazing! A new unicorn is ready to take flight in the digital startup world!

So on Monday, while I was already thinking of looking for a good tax advisor and checking some opulent exotic destination where to spend 1 couple of weeks on the beach, I went to school with a big smile printed on my face, motivated to finalize the last details of the structure of the project and start getting some work done.

Building the workflow and the logic of the app was as easy as pie, after all I had it very clear in my mind from two weeks earlier and it was a matter of writing it down following the advice of the teacher, Tony. The smile on my face was getting bigger and bigger but...

...but I wouldn't be writing this blog post if everything went as planned, I would rather be chilling in the aforementioned exotic beach. Unfortunately my plans of glory came up against a wall made of flight booking web APIs, or better said, the lack thereof.

I took for granted the existence of APIs that allow you to make optimized live search of flights and book them. It was a highly wrong assumption. And here we are with the first lesson learned:

Never take anything for granted, especially as a Junior Developer
Today I see myself as Leo for some reason

Back to Square One

After a massive research around the web, by lunchtime the big smile from the morning disappeared from my face and I had to deal with the cruel reality that my project was not doable in three weeks. A mix of desolation and frustration overthrew me and I spent the rest of the afternoon browsing through all the possible flights-related api (which now I can proudly list in alphabetical order) in search of something I could use, sadly with poor results. Time for the second lesson learned: I figured out that when talking about coding but also in other fields, if everything seems to fall apart, it is time to take a break and think about something else.

Back to Euphoria

I went to the beach to have a swim, I refreshed myself and after a good hour spent thinking about how dangerous it is to walk next to a coconut tree during a windy day, I started walking home. On my way back, being careful to be at a proper distance from any coconut tree close to the street, I had an illumination: an addictive game app.

Once I got back home, I made my research and got all the information that I needed, I structured my idea and designed my project. The big smile from the morning was coming back. After a good night sleep, this morning I spoke with Tony, the teacher, about the new idea and got his holy approval. The big smile from yesterday morning finally came back. So in the next three weeks, I am going to build a words-related game app with React, React Native, MongoDB and Node.js. I am motivated and enthusiastic at the idea of working on it but I know I will encounter difficulties. For sure I felt I matured a bit in these two days. Time for the third lesson learned. Ready?

Don't get too enthusiastic before your work is done but also don't get too depressed if it seems there is no way out

The learning path is never-ending and at different levels, every programmer goes through the same issues.

Alright, you made it to the end. If you were so patient to read till here, I ask you for a last effort: if you liked the article, drop a like and comment with your opinion!

Happy hacking!