Sharing is caring, Episode 2: JavaScript Training

Weekly session with ITIDO development team manager


Regular training is part of our sharing knowledge company culture. This post is dedicated to a JavaScript weekly session with Ivan Ivanov as a lecturer. 

Ivan started to work in our team in 2016 as a software engineer and now he is a development team manager. Ivan describes himself as a Python guy who mainly gets his hands dirty with some Back-End coding, but it is quite often the Front-End that is getting his attention. Skilled in Python (Django), JavaScript (React.js, Vue.js, Node.js), PHP. He believes that to be knowledgeable about what someone is doing is a path for happiness and people have to improve all the time. Ivan has also a Bachelor’s degree in Pedagogy. All his strengths make him a truly inspiring lecturer.

The weekly training session led by Ivan was about bleeding edge JS features.

What inspired this lecture in the first place?

The initial drive for this lecture to occur was mainly curiosity. As we are all programmers in the software development team, part of our daily routine is to learn and share knowledge. This leads to better efficiency for each separate project, but also builds up the team and the skill set we have. The efficiency mentioned is generally measured by how quickly each developer overcomes his/her daily challenges and to improve this even more, adding a new set of knowledge is critical.

On the other hand, JavaScript is constantly evolving and (we mean it) there are new frameworks and technologies to investigate, learn and use each day. Key part for this to happen is getting a strong grip on the new features JavaScript (ES2015+) presents to us.

Lastly, not everyone of us is a Front-End developer. But getting to know what happens on the other side is crucial for the development, based on teamwork.

That’s why we had a look at the new shiny features ES2015+ presented.

What was covered?

Almost all of the projects Ivan is involved in these days, are involving React.js, Vue.js or another framework (Angular or Svelte for example). Huge part of this involves using exactly those new shiny features of JavaScript and we had searched, investigated and covered the most crucial of those in a presentation.

We went strongly through the specifics of `let` and `const`, the template literals, including unicode support and the quite handy arrow functions. As the team swallowed those without even thinking, there was some backup in place: destructuring objects and arrays, object literals, for-of-loops, spread operators and more.

But this wasn’t enough still…

In a total of forty two slides Ivan managed to put even more content for the most curious, that went from ES9 to the future! We mean things like rest and default parameters we often take for granted in other languages like Python, modules, string extending with padding operations, the new classes (it was deep) and of course the hugely important async and await, web workers and atomics. 

How have we incorporated this knowledge into our work since then?

To be plain, almost everything. Multiple times! As part of our work with React, Vue and their variants for mobile development, we grew so used to those, that when having a good old plain HTML, CSS and JS page to be created, a simple var seems quite strange even. Still, those new practices we obtained, using the new toolkit ES2015+ offers got us thinking. Thinking differently. And this often got us faster to the success stage.

What is next?

The JavaScript world is constantly changing, ever evolving and growing. Getting to know the newest parts of the language is not enough and we know it. Next is the JAM stack, that is calling us, but this is for another post.

We always find it worth sharing knowledge and brainstorming as a team!

Ready to go next level? Great!