TL;DR
<born2code/> was the first Italian coding school that provided a three-month front-end development course, covering topics like UX/UI, CSS, JavaScript, Angular, and performance optimization. The experience helped boost the author's career by enhancing their skills and connecting them with like-minded individuals.
<born2code/> was the booster of my career, I'm sure.
Sorry guys, all links point out to Italian sites...
What is <born2code/>?
<born2code/> was likely the first Italian coding school.
The inaugural edition took place in 2017, and I was among the alumni in that class.
The class had limited enrollment, and the administration selected participants based on their CVs, similar to a real company.
We were a group of 21 individuals from various regions in Italy.
The class lasted for a duration of three months.
Several companies sponsored the project:
This project aimed to teach front-end development to diverse individuals with varying backgrounds, enabling them to embark on a new career in this field.
There were only two editions: 2017 and 2018.
In the first edition, they selected Angular as the framework to teach, while in the second edition, they opted for React.
We were based in the offices of the Luiss Enlabs in Rome, over the Termini station.
The curriculum
The curriculum for this initiative remained consistent across both editions; as previously mentioned, only the framework changed.
Yes, I know, React is not a framework, but it's easier to treat it as if it is.
The sections
Introduction
UX/UI
CSS and Responsive design
JavaScript
JS OOP and Design Patterns
AJAX
Publishing a web app
Intro to Angular
Using Angular
Client-server communication
Performance optimization
1) Introduction
The first chapter was quite easy, or at least, it was for me since I had 2 years of experience (as I joined this class after two years at Network Service).
The focus was on the role of a front-end developer, how to choose a technology to work with based on the project, the differences between front-end and back-end, and how they communicate, the HTTP protocol, HTML, and the semantics of a web page.
2) UX/UI
The second chapter focused on User Experience (UX) and User Interface (UI).
We learned the differences between the two, what they are, why they are important, and why we, as front-end developers, need to know about them.
We ultimately designed our projects using Figma.
3) CSS and Responsive Design
The third chapter introduced us to CSS.
We learned how to apply basic styles, understand the box model, use media queries, implement the mobile-first approach, and more.
This was particularly useful since Flexbox was gaining popularity (despite being introduced in 2009), and I hadn't used it until that point.
4) JavaScript
The fourth chapter was quite enjoyable.
It felt like a breath of fresh air for me, as we learned the basics, including variables, how to interact with the DOM, events, error handling, and much more.
However, most of the fun was in the subsequent chapter.
5) JS OOP and Design Patterns
The fifth chapter was intense.
We had to learn a lot of new concepts.
We delved into OOP (Object Oriented Programming), closures, scope, callbacks, prototypes, new ES6 methods, and much more.
We also received an introduction to the most commonly used design patterns in the JavaScript world:
Module pattern
Singleton pattern
Observer pattern
Prototype pattern
6) AJAX
In the sixth chapter, we focused on AJAX.
We learned how to make server calls from the client side, explored the XMLHttpRequest object, the new fetch method, and discovered how to handle XML and JSON responses.
7) Publishing a web app
The seventh chapter covered not only publishing an app but also delved into more topics.
We were introduced to Git, learning what it is, why we should use it, and how GitHub can assist us in publishing our applications.
Ultimately, we published our projects using GitHub Pages.
8) Intro to Angular
The eighth chapter was one of the most challenging ones.
We were introduced to a rising framework: Angular.
Angular was (and still is) a framework developed by Google.
Angular is an opinionated framework that provides all the necessary utilities to build a SPA (Single Page Application) without the need for other libraries.
We learned how it works, and covered the basics such as modules, components, services, directives, interceptors, and so on.
I must admit, I fell in love with it, and I still do, even though I'm using it less at the moment.
9) Using Angular
The ninth chapter was challenging.
We were constructing a SPA using Angular, adhering to the framework's best practices while learning it, and the library it relies on: RxJS.
RxJS is a library that offers reactivity.
It's not as simple as it seems, as you will need to completely shift your thinking and programming approach.
The imperative or declarative methods you typically employ are quite different.
10) Client-server communication
The tenth chapter focused on connecting our SPA with a server-side database.
We were introduced to Firebase, which we used as our database.
Communication was facilitated through the HTTP module provided by Angular.
We performed operations such as storing, reading, and updating data.
11) Performance optimization
The final chapter focused on performance.
We learned how to utilize the browser's DevTools to profile our application, interpret the HTTP calls we made, determine the number of times components were rendered, and more.
Additionally, we explored optimizing the source code, including both CSS and JS, as well as enhancing and converting images to more efficient file formats.
How was structured?
We were a group of 21 students.
The class composition was diverse, consisting of people like me who had a background in the industry, as well as those without any relevant experience since they were working in other fields.
For the majority of the chapters, we took individual exams and received individual results.
Only for the final exam, we were divided into different teams, and each team was tasked with developing a SPA.
Our project
To be honest, I don't remember many details about the project we completed.
However, it remains on GitHub, along with the projects from all the other teams.
Our project was called CoEvents, a platform for companies to organize internal events or collaborate with other companies.
We created a brief, drafted some templates for agile ceremonies (yes, we had an introduction to that too), then developed the wireframes, and so on.
You can access everything in GitHub.
I must admit that finding that repository and looking back at everything we did brought tears to my eyes, as a wave of emotions overwhelmed me.
The hackathon
We had the pleasure of participating in a hackathon hosted by the Maaxi Museum.
How it was structured
The hackathon was open to various groups, and its objective was to discover a project that could enhance the museum experience.
As a class, we joined different groups to assist them in developing the proof of concept for their projects.
I found myself involved in the Deed project: Get.
I had the pleasure of working on the prototype of the wristband.
The winner
Well, we won.
It was an incredible experience, as I had to develop an app using Ionic to establish and maintain communication with the wristband.
My takeaways
If you're sticking around, you might be curious about the insights I've gained from this adventure...
And let me tell you, there are plenty.
Considering this course took place in Rome, I had to uproot myself and reside there for a solid four months.
It was an entirely novel encounter, in an unfamiliar city, devoid of companionship and immersed in a lifestyle drastically distinct from my usual surroundings.
Reflecting on everything I gained at the tech level, it truly was the catalyst for my career, as I mentioned at the beginning of this article.
I not only enhanced my fundamental understanding and existing concepts, but also acquired new knowledge, and met wonderful people with whom I could share the experience.
I would recommend an experience like this to anyone looking to start in our industry. However, I must acknowledge that current coding schools may not be able to offer something similar due to various reasons, such as relocations, participant numbers, and so on.
I also have to admit that the current programs are not always as useful as they could be, and, most of the time, the marketing of these schools does not help those who want to start in this field, as it can be misleading in various aspects...
But we'll discuss this in another article, so stay tuned!
If you enjoyed this article, please like and share it. Let others know how these experiences are beneficial to all of us.
Perhaps, some companies will be inspired to propose similar initiatives in the future.
🕺🏽 Your lovely neighborhood dancing engineer 🕺🏽