State Management and You

State Management and You

Milan Saric – Technical Lead

In this article we will explore the history of state management, as well as how and when they should be used. It’s my firm belief that proper state management architecture in modern front-end projects is basically 90% of the work, afterwards it’s just simple controllers and CSS. You will find the steps and a flowchart bellow detailing when to use what type of state management, as well as various alternatives to industry standard state managers for all 3 major front-end frameworks.  

History of state management

Since we had complex JS front-end apps, we had a problem, how do we cache/reuse/store data received from the backend? Thus a need for state management was born. The first solution still used today is web storage, colloquially known as Local Storage; it’s a segmented in-browser storage solution of key-value pairs. However, it had a significant downside – a 10MB limit almost across the board.  

Thus a need for more complex storage emerged, and in the early 2010s, a new competitor emerged championed by Apple, Web SQL Database. Yet, it was quickly disposed of in favor of something that wasn’t SQL-related but rather JSON based. That standard was first released in 2015 and is now known as Indexed DB.  

With new frameworks (especially React) came the need for a new type of state management, and consequently, session storage gained traction. It was a simple in-browser storage option that lives as long as the application is alive and dies with the browser garbage collection once you close the tab. Naturally, almost simultaneously, a persistent version of this was created – with the most famous of the so-called stores being Redux. 

 Below, you’ll find various ways to store app data, as well as various ways to use said storage well.  

Web Storage

  • It’s an API supported by every browser out there.  
  • It uses built-in storage that allows you to store usually up to 10MB of key-value pairs. 
  • It’s handy when storing a language setting or other bits of data. However, if you persist a complex store, it will most likely go into local storage.  

Indexed DB

  • This API is an in-browser DB that uses JSON and is indexed by a unique key. While relatively new (since 2015), it’s considered very old and archaic, despite coming out in the same year as the famous ES6. 
  • It’s helpful if you need to store and process massive data sets on the front end. For instance, if you’re creating an Excel clone that does all the processing on the front end, you might want to use Indexed DB.   
  • While the usefulness of Indexed DB is often very niche, it can be the perfect solution

Session Storage

  • The need for this arose as single-page apps came to the fore, especially when components that needed to talk to each other were more integrated.   
  • How do you update an item in a “cart” component from a very nested component, “add to cart” that’s not a direct child of the “cart” component? Well, you update the state/context/redux/whatever your project uses.   
  • In the background, it’s just an event listener for the thing you registered in the related components.   
  • It’s used to store larger objects or when you need to manipulate data on the front end manually. Most frameworks allow built-in libraries that do this. However, those libraries can’t be persisted between sessions. 

Persistent Storage

  • Persisting session storage is possible if a state management library such as Redux is used, and in almost every case, the persisted copy is stored in Web Storage.   
  • When using a library such as Redux, it’s important to structure it well like you would a DB on the backend because having wrong “schemas”, or wrong actions/listeners will always cause unclean spaghetti code and many, many rerenders in React. (Ask me how I know).  
  • This is mainly used when there’s a need for a complex “store” that needs to persist between sessions. Think of a guest cart object in a webshop or anything else as something that can be updated between sessions before going to the backend. 

Apollo GraphQL Client

Apollo has a built-in “store” for caching GraphQL calls that functions very similarly to Redux and other alternatives. It’s a very robust solution if you’re using GraphQL, and I recommend it over any other solution if using GraphQL.  

It can also be persisted and then stored in Web Storage, however, it doesn’t need to be persisted to work.   

When you’re using GraphQL, you probably want to cache the data from the backend to allow a smoother user experience, and you probably want to use the built-in method for that through Apollo Client.  

Why Use It

Almost every front-end application needs some form of state management. If it’s a simple local storage store of a token/browser settings or a very complex Redux store, it’s essential to know when to use what, as not every tool is a hammer in state management.   

If you’re building a complete PWA-compliant application that has complex interactions between components and needs to work well in the offline mode, I recommend using a complex Redux or similar store.   

However, if you’re building a simple social network like a PWA application, you probably don’t need a complex store. Something like just Web Storage and good context design is perhaps good enough.   

However, if you’re building a very complex application with a lot of data processing in the front-end or something that will store loads of blockchain data in the browser, you probably need Indexed DB.  

And if you’re building a genuinely complex monolithic front-end application, you might need all of them in some combination. It’s very project dependent, and no single solution works for everyone. 

Redux vs. Everything Else

Redux is still the industry standard for state management in React, followed very closely by NgRx for Angular and VueX for Vue. However, all of these libraries follow the same basic principles and share the same cons. They are slow, monolithic, and are used by default even if the project doesn’t require them.  

As you’re about to see in the chart below, no state manager ticks all the boxes, and it’s critical to realize what you need for your particular application and if you want to go with the industry standard or try any of the numerous alternatives.  

React

If you need a state manager for React, try any of the alternatives mentioned – I’m sure some of them will fit your needs better than the good old Redux. I recommend Zustand since it ticks most boxes and is both tiny (~1kb) and powerful. 

Angular

Angular has lesspopular state managers, but it’s still worth it to take a look at the alternatives to see if they might fit your project better.  

Note about the charts 

The charts for React and Angular are different because the feature set depends on the frameworks and stores, and there’s a large variety of them.

Note about Vue

Vue has the de facto only state manager in the VueX, and while VueX fits the Vue paradigm quite well, nothing stops you from using MobX, for instance, especially if you have a more complex state that can accommodate two or more similar applications written in anything from Vue to Angular to React and beyond. 

Flowchart

Storage State Management Decision Flowchart 

Conclusion

When designing a new front-end application, it’s imperative that you develop the state management system properly, especially in React. In my opinion, the design of the state management system is 90% of the front-end work. The rest is simple logic and CSS.   

More often than not, you’ll be using a combination of these state management tools, and it’s vital to properly know what’s stored in Redux, what’s stored in context, and what’s stored in the in-component store. This will avoid many unnecessary rerenders, and it will reduce the complexity of the entire app significantly, thus saving countless hours.  

As we’ve seen in the flowchart, every state manager has its purpose, and we will almost always use a combination of a few managers in our app. And no matter what UI framework you use, I’d highly suggest you try one of the alternatives. Especially Zustand if you’re using React. Huge applications with millions of users require complex industry standard “stores”, but the application we write every day will benefit from something more “niche” that requires less resources but still produces the same results. 

The important thing to understand on all these is that sometimes we don’t even need a complex state manager such as Redux, and that often we can use a simpler method to speed up the development process and still arrive at the same destination. 

Author

Milan Saric – Technical Lead


From Deep Love for Tech to Rediscovering his Mojo: The Story of Milos Antic

From Deep Love for Tech to Rediscovering his Mojo: The Story of Milos Antic 

Technical Lead

Anyone who’s ever done something in the tech world will know that the way up is impossible to walk unless you have that deep, burning love for technology and software. Just like our Milos Antic has – from how he made his first steps in the tech world, all the way to how he rediscovered his mojo and passion with IT Labs!

What keeps you motivated at work?

Mostly colleagues, environment, energy that I feel once I sit down in front of the computer. Of course, the project is part of it as well, but for me it’s the most important colleagues.


What drives you? What feeds that flame for learning and creating?

Before everything, my family, the fact that I will become a father and that I need to create a stable future for my family. After that, success, knowledge that I’m getting every day on the project and from my team, the performance that we are making and result of our work.


What annoys you at your job? Something you can’t stand.

When somebody is late on meetings, or when the team it’s not cooperating on a good level, but that’s not the case in the IT Labs.


What advice would you offer to young developers when it comes to loving what they do forever?

Don’t try to be the developer if you don’t love computers and software, otherwise you will start to hate it with the first coding problems. Love is something that keeps you motivated and focused at this job, if you want to join in IT industry just because it’s well paid, you will not much succeed and you will hate it soon or later. People are trying to convince you that you can get a $1000 job with 3-6 months courses, that is impossible, you can get some knowledge but if you want to be a successful developer you need to learn really hard for 12+ hours per day for at least 8-12 months.


What do you like about the working atmosphere at IT Labs?

People, people, people! We have an amazing team, atmosphere, communication so we always have time for fun, random stories, so it is enjoyable and relaxing to be in the team with all professionals from IT Labs. Every problem that we have as a team is extremely easy to solve just because we are solving it together. We have knowledge sessions where we share our knowledge and new founding, this increases your skills incredibly fast. We are working so much with the interns and juniors, I love to see how they progress every day and their transformation into juniors/mediors and impact that they are making after few months is amazing and enjoyable.


The Books That Helped Shape the Tech Leaders of Today – Part 3

The Books That Helped Shape the Tech Leaders of Today – Part 3

Talent and hard work are crucial for making it in the tech world, but for leadership in the industry, one must be ready to not just adapt to the circumstances, but also take a long hard look at oneself.

Leadership is about a lot more than just having the tech expertise and a sharp eye for detail, methods, and processes – it’s about creating connections and finding “gaps” through which you can inspire your team and drive progress and change.

In Part 1 and Part 2 of this series, I focused on books that were more about the organizational side of things, the structure, but in this one, I’m focusing more on shelling out the gems that are the true drivers of change – the change that comes from within ourselves.

Enjoy 🙂

Trillion Dollar Coach: The Leadership Playbook of Silicon Valley's Bill Campbell by Eric Schmidt & Jonathan Rosenberg

Description: A book that’s all about Bill Campbell, his life, his mindset, his leadership style – all combined nicely to provide the perfect balance between a personal story, and an educational masterpiece. 

How it can help aspiring tech leaders: Sometimes just shooting out instructions and methods doesn’t work, as they lack context. The personal aspects in this book can help you understand better why his way worked, learn about the methods, and the most important thing of all – decide if this is something you might be interested in. 

Trillion Dollar Coach: The Leadership Playbook of Silicon Valley's Bill Campbell by Eric Schmidt & Jonathan Rosenberg

Description: A book that’s all about Bill Campbell, his life, his mindset, his leadership style – all combined nicely to provide the perfect balance between a personal story, and an educational masterpiece. 

How it can help aspiring tech leaders: Sometimes just shooting out instructions and methods doesn’t work, as they lack context. The personal aspects in this book can help you understand better why his way worked, learn about the methods, and the most important thing of all – decide if this is something you might be interested in. 

The 4-Hour Work Week: Escape the 9-5, Live Anywhere and Join the New Rich by Timothy Ferriss

Description: What can effectively be described as a guidebook for people who want to live their desired life, ‘The 4-Hour Work Week’ does an excellent job of putting things into perspective for people, helping them find that way, while empowering them to stick to their plans. 

How it can help aspiring tech leaders: Lifestyles, ideas, urges – these all are important to development and growth, but the basis for all of them to bear fruit is to learn how to think for yourself and break free from the norm. Tech leaders are disruptors, after all. 


The 4-Hour Work Week: Escape the 9-5, Live Anywhere and Join the New Rich by Timothy Ferriss

Description: What can effectively be described as a guidebook for people who want to live their desired life, ‘The 4-Hour Work Week’ does an excellent job of putting things into perspective for people, helping them find that way, while empowering them to stick to their plans. 

How it can help aspiring tech leaders: Lifestyles, ideas, urges – these all are important to development and growth, but the basis for all of them to bear fruit is to learn how to think for yourself and break free from the norm. Tech leaders are disruptors, after all. 

The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone Starting Anything by Guy Kawasaki

Description: Science is behind all the good moves leaders do, but the art of it is the connective tissue that brings it all to life, giving it meaning and purpose. In this book, you have an end-to-end guide on how you need to approach and execute various tasks – from start to completion.

How it can help aspiring tech leaders: Grand ideas are the backbone of anything meaningful that happens in the world, but turning that idea into something tangible and moving? This book contains some great ideas on how you can do it.


The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone Starting Anything by Guy Kawasaki

Description: Science is behind all the good moves leaders do, but the art of it is the connective tissue that brings it all to life, giving it meaning and purpose. In this book, you have an end-to-end guide on how you need to approach and execute various tasks – from start to completion.

How it can help aspiring tech leaders: Grand ideas are the backbone of anything meaningful that happens in the world, but turning that idea into something tangible and moving? This book contains some great ideas on how you can do it.


Team of Teams: New Rules of Engagement for a Complex World by Stanley McChrystal, Chris Fussell, and David Silverman

Description: A bit of an unorthodox pick, but a book that’s much more about leadership than it is about military action and intricacies that revolve around it. Stanley McChrystal’s approach is one that defines the ills of today’s organizations – resistant to change, but badly in need of restructuring and reshaping in order to grow.

How it can help aspiring tech leaders: The real change must always come from the top – and the story in this book is all about that, supporting the old adage – be the change that you want to see around you.

Well, CTO Confessions is much more than just insightful and educational books - it's also about leaders, their path to becoming who they are, and the valuable lessons they learned along the way. Dive into one of our 100 episodes 

Right Here

Takeaway

When talking about difficult truths and difficult decisions, one must remember that the strain is all about finding the right circumstances and environments to execute and deliver them, rather than worry about the outfall of it all. 

Stay tuned for part 4! 


TC Gill


People Development
Coach and Strategist


The Books That Helped Shape the Tech Leaders of Today – Part 2

The Books That Helped Shape the Tech Leaders of Today – Part 2

Formal or informal education is, of course, essential for anyone that wants to one day rise to the top of an industry and become a leader. But that self-starting behavior, learning alone, devouring valuable information, experience, insight, and data can be the thing that sets you apart from the rest – and sets you up for long-term success.

We already presented the first tranche of books that helped shape today’s tech leaders, and there are many, many more to go. The way I make these lists is all mine, and I’m not dividing them by importance, category, genre, or any other way.

Why?

Simply because it’s too hard to put these amazing books in one box, so I decided to put them out in series, giving you – the curious reader – enough time to read and understand them, and be prepared for the next batch 😉
Here’s my part two of the books that helped the tech leaders of today become what they are. You can check the part One – here 

The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier

Description: Tech leadership is in many ways similar to leadership in other industries. BUT, considering the varying approaches, methods, and principles used in the tech world today, it’s fair to say that a book addressing this type of leadership was more than necessary.

How it can help aspiring tech leaders: You can learn various ways to tackle problems within an organization – at all levels – from lower to more senior. While it doesn’t dive deeply into the subject of the methods and explaining the why, it gives aspiring tech leaders the freedom to apply the methods in their own way and setting.

The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier

Description: Tech leadership is in many ways similar to leadership in other industries. BUT, considering the varying approaches, methods, and principles used in the tech world today, it’s fair to say that a book addressing this type of leadership was more than necessary.

How it can help aspiring tech leaders: You can learn various ways to tackle problems within an organization – at all levels – from lower to more senior. While it doesn’t dive deeply into the subject of the methods and explaining the why, it gives aspiring tech leaders the freedom to apply the methods in their own way and setting.

Switch: How to Change Things When Change Is Hard by Chip Heath & Dan Heath

Description: We all know that changes in any tech company are not something that’s easily done. There are many variables at play, but this book does a good job of dividing the whole process into three stages, diving deeper into each, and providing a simple yet effective way to initiate change in your organization.

How it can help aspiring tech leaders: Flexibility in a tech company is crucial, and while important, it’s something that can vary with time. With the methods in this book you can learn how to better steer your teams towards the goal, direction, or course, that you want.


Switch: How to Change Things When Change Is Hard by Chip Heath & Dan Heath

Description: We all know that changes in any tech company are not something that’s easily done. There are many variables at play, but this book does a good job of dividing the whole process into three stages, diving deeper into each, and providing a simple yet effective way to initiate change in your organization.

How it can help aspiring tech leaders: Flexibility in a tech company is crucial, and while important, it’s something that can vary with time. With the methods in this book you can learn how to better steer your teams towards the goal, direction, or course, that you want.

The First 90 Days: Critical Success Strategies for New Leaders at All Levels by Michael Watkins

Description: A book unlike others of similar type – covering in depth all the strategies and potential that will keep you coming back to it to learn something new. It’s not a guide, it’s more of a position – a position from which you can look and observe situations, anticipate outcomes, and decide on moves.

How it can help aspiring tech leaders: As a tech leader, while you’ll definitely need your tech skills to be able to guide your teams, knowing how to handle your teams is of utmost importance if you’re to initiate and implement changes, and drive them towards goals.


The First 90 Days: Critical Success Strategies for New Leaders at All Levels by Michael Watkins

Description: A book unlike others of similar type – covering in depth all the strategies and potential that will keep you coming back to it to learn something new. It’s not a guide, it’s more of a position – a position from which you can look and observe situations, anticipate outcomes, and decide on moves.

How it can help aspiring tech leaders: As a tech leader, while you’ll definitely need your tech skills to be able to guide your teams, knowing how to handle your teams is of utmost importance if you’re to initiate and implement changes, and drive them towards goals.


The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim & Kevin Behr

Description: Every company is unique in its own way, but more often than not, we’ve seen a vast number of businesses struggling with the same problems – the flow of information, organization, slow change and adaptation. This book provides blueprints that can help you shape your vision through which you can “unstuck” your organization.

How it can help aspiring tech leaders: Adaptability and quick reaction is crucial for all tech businesses looking to drive value to customers and users, and this book can help tech leaders in mitigating risks – all the while accepting a more flexible and more vibrant way of operating.

Well, CTO Confessions is much more than just insightful and educational books - it's also about leaders, their path to becoming who they are, and the valuable lessons they learned along the way. Dive into one of our 100 episodes 

Right Here

Takeaway

Let’s be real – there is no recipe for success that everyone can follow, but what we can do is learn from the experience and mistakes of others, and try to avoid them. The key to successfully implementing plans or changes is understanding that they are only as good as the people that execute them.
Stay tuned for part 3 of the series!


TC Gill


People Development
Coach and Strategist


Metaverse – “The Future” Or “A Feature”

Metaverse – “The Future” Or “A Feature”


The Metaverse is all the buzz now, and everybody is throwing this word around. But what does this word even mean, and how will it affect us in the real world? Or should we say – the digital world?

Today, we’ll be talking more about this amazing concept, how it can be used, why it blew up suddenly, and the advantages it offers to anyone looking to jump into it.

What Is the Metaverse?


To start, we need to clarify what the word, Metaverse, stands for. The Metaverse is a joint representation of two familiar concepts that people have been trying to perfect and implement in tech for a couple of years now – Augmented Reality (AR) and Virtual Reality (VR). This concept merges these two and creates a place where you could do things you’re doing in real life, but in a virtual setting – The Metaverse.

METAVERSE

Why Is It Happening Now?


Being first out of the gate is really important in any new tech. So, companies like Facebook and Microsoft have already jumped on this trend and started making plans on how they can improve this “New Universe.”
Why is this happening at this moment of time, and why, all of a sudden, are companies starting to implement this new concept?
Part of the answer lies in Facebook’s rebranding that happened at the end of last year. This rebranding is the main reason why people think that the Metaverse is the same as “Meta,” Facebook’s rebranded company that includes all its subsidiaries.
But there’s more to this trend.

Constant improvement in technology, combined with the number of hours people are spending in front of their computers, allows companies to start entertaining the idea of combining the real and virtual world, and mix them up into a more intuitive world. 

  • Why spend money and go to the office when you could visit the virtual office from in the Metaverse, from the comfort of your own home?
  • Why go to the supermarket and buy the groceries when you can visit the virtual E-store and make your order from there?
  • Why go outside and socialize with people when you can go visit the nightclub in the Metaverse?

These are just some ways that these tech-giants are selling the Metaverse idea to regular people. And the ads and marketing campaigns promoting the Metaverse are becoming more and more prominent with each passing day. But why are they doing this? What benefits might they get from getting people onto the Metaverse, and how can they monetize it in order to start earning from people being there?

Monetization


To understand the monetization part of the Metaverse and how Tech Giants and other brands will be able to use it, first, we’ll need to understand the technologies that it implements and the features it offers to its “inhabitants.”

As we already mentioned above, VR and AR are a crucial part of the Metaverse, but so is blockchain tech – a decentralized network where the Metaverse is living. It also uses technologies such as NFTs and Cryptocurrencies that are also a part of the Blockchain in order to make the experience even better. Multiplayer games are also a part of the Metaverse, which will basically allow you to play them in virtual reality.

People are already spending crazy amounts of money in order to be the first ones, the early adopters of this idea. There are thousands of stories circulating on the internet. One of these stories is about an investor paying nearly half a million USD in order to be Snoop Dogg’s Neighbor in the Metaverse. Celebrities, as well as businesspeople, have paid a ridiculous amount of money, and regular people are following them.

Nike, Adidas, Dolce and Gabbana, and other famous brands are quietly preparing for the coming of the Metaverse. Other brands are not so quiet about it. Fashion companies, in particular, have dropped countless NFTs, which once the Metaverse becomes a thing, will be turned into fashion pieces there.

How Can You Monetize Your Business in The Metaverse?

As we already mentioned before, the Metaverse will become an integral part of the lives of many people. With the improvements people are making, there will be countless opportunities for businesses of all sizes, as well as earning possibilities for regular people.

So how will you be able to use the Metaverse for the advantage of your business? Here are a couple of ways we’ve thought about:

Virtual Products


Creating and selling virtual goods on the internet has been a proven technique for improving the financial state of your business. And, when you think about it, the manufacturing costs of a virtual product are much lower than those of a physical one. Add to that the obvious lack of shipping costs as well, and you can take out a significant chunk of the price of the product if you are able to sell it as a virtual/digital product.

Fashion brands have already jumped on this train as we mentioned earlier and started giving away virtual pieces of clothing alongside their NFTs.

NFT VIP Access


I am still to meet a person who hasn’t heard about NFTs. And this popularity is not based only on the fact that they’re a great way of making a quick buck. In fact, the reason why NFTs are becoming so popular is because these pieces of digital possessions can be used in the Metaverse as well. Whether it being a digital real-estate or something as minute as NFT shoes.
So, you, as a brand, could use these NFTs (whatever they might be) as a Special VIP Access to something your community might want.

Virtual Product Designing and Customization


Another thing you could do to improve your brand’s exposure would be to use the metaverse to allow your customers seamless and easy product customization. There are tons of configurators that allow laypeople an easy-to-use program in order to customize virtual products to their liking.

Virtual Showrooms, Meet-Ups and Seminars


Events such as Meet-ups, seminars, and showrooms are guaranteed to collect a massive audience if the reason why they’re meeting is good. Showrooms are a great way of letting people get a hands-on experience with your product without the need to buy it. So, the potential here is as big as your imagination.

Conclusion


So, what do you think of the Metaverse? Is it the future of the internet as we know it, or is it just a feature of it? Will you be investing in different parts of the Metaverse, or will you be waiting to see what will happen to the early adopters?


The Books That Helped Shape the Tech Leaders of Today – Part 1

The Books That Helped Shape the Tech Leaders of Today – Part 1

It’s been a bit over two years since I and the team here at IT Labs started work on the CTO Confessions podcast. We started small, going episode to episode, planning it all out and delivering and what began as somewhat of an experiment for us, turned out to be a goldmine of information and insight from some of the best leaders in the world of tech.
Our primary goal? Share this information with all the up-and-coming techies, giving them an insight into the minds and the modus operandi of some of the tech leaders, something from which they can learn.

The Literature

The one thing we learned from all the episodes was that tech leaders love to read. Books on organizational management, leadership, philosophies, guides – all kinds of books that helped them become better leaders.
And now, after more than 100 episodes of CTO Confessions, we found a pattern as we saw some titles repeating, so we dived deeper into these to see what was it that attracted them, and we put together a list of the books that we (and many tech leaders) think are a must-read for anyone looking to leave their mark in the tech industry.
Our first part of this series of pieces consists of the following books:

The Literature

The one thing we learned from all the episodes was that tech leaders love to read. Books on organizational management, leadership, philosophies, guides – all kinds of books that helped them become better leaders.
And now, after more than 100 episodes of CTO Confessions, we found a pattern as we saw some titles repeating, so we dived deeper into these to see what was it that attracted them, and we put together a list of the books that we (and many tech leaders) think are a must-read for anyone looking to leave their mark in the tech industry.
Our first part of this series of pieces consists of the following books:

Unboss by Lars Kolind

Description: Published in 2012, the book goes about analyzing traditional management and structure models in companies, and proposing a newer, fresher model which is more fitting for new businesses and start-ups, giving them a more human-centric approach that can help them grow.
Every department/part of an organization needs a specific strategy which is a part of a bigger, more significant strategy, aligned with the vision and mission of the company.
How it can help tech leaders: The need for newer working, hierarchical, and structure models is clear in the tech industry, as they are becoming the pioneers of inventing and implementing new ones that have an increased focus on the people, rather than just the projects and the business. Every aspiring tech leader should explore options on how they can structure/restructure their organization around the people and their needs.


Unboss by Lars Kolind

Description: Published in 2012, the book goes about analyzing traditional management and structure models in companies, and proposing a newer, fresher model which is more fitting for new businesses and start-ups, giving them a more human-centric approach that can help them grow.
Every department/part of an organization needs a specific strategy which is a part of a bigger, more significant strategy, aligned with the vision and mission of the company.
How it can help tech leaders: The need for newer working, hierarchical, and structure models is clear in the tech industry, as they are becoming the pioneers of inventing and implementing new ones that have an increased focus on the people, rather than just the projects and the business. Every aspiring tech leader should explore options on how they can structure/restructure their organization around the people and their needs.

Team Topologies: Organizing Business and Technology Teams for Fast Flow’ by Matthew Skelton

Description: Agile is the cornerstone on which sustainable organizational flow can be created, and this book goes deep into how you can transform your business to become more agile. In three parts, with each covering all the aspects that can help you achieve that desired company fast flow.
How it can help tech leaders: This one goes without saying, right? If you’re not thinking agile, what are you thinking about? It’s a better way to do things, and something, if you do it right, will set you up for long-term success and allow yourself to adapt to the highly volatile nature of the tech industry.


Team Topologies: Organizing Business and Technology Teams for Fast Flow’ by Matthew Skelton

Description: Agile is the cornerstone on which sustainable organizational flow can be created, and this book goes deep into how you can transform your business to become more agile. In three parts, with each covering all the aspects that can help you achieve that desired company fast flow.
How it can help tech leaders: This one goes without saying, right? If you’re not thinking agile, what are you thinking about? It’s a better way to do things, and something, if you do it right, will set you up for long-term success and allow yourself to adapt to the highly volatile nature of the tech industry.


The Fourth Industrial Revolution by Klaus Schwab

Description: We’ve had a few industrial revolutions so far, and the fact is, we’re currently going through the fourth one, in which the lines between the physical and the digital are slowly getting blurred. It’s an analysis of what might come, how it will be different from what was and what is, and how we can prepare for it.
How it can help tech leaders: The idea that we’re constantly changing, and progressing is something everyone knows, but to be part of the change, to be part of the people who will enable and power it up – we first need to learn how to master it. A powerful book that can help you expand and shape your vision and mission as a leader.

No Rules Rules: Netflix and the Culture of Reinvention’ by Reed Hastings, Erin Meyer

Description: Netflix has been known to have a distinct brand of culture inside – a culture that has helped shape the company and give its odd structure and unique way of operating. This book goes down into the details, a behind-the-scenes sort of view of how it all came to be.
How it can help tech leaders: Sure, proven and tested models that are proven to work will always be a go-to for some, but as a tech leader, the way something works doesn’t have to be all templatized. You can go your own way, and this book is a goldmine of ideas that can help you get into that mindset.


No Rules Rules: Netflix and the Culture of Reinvention’ by Reed Hastings, Erin Meyer

Description: Netflix has been known to have a distinct brand of culture inside – a culture that has helped shape the company and give its odd structure and unique way of operating. This book goes down into the details, a behind-the-scenes sort of view of how it all came to be.
How it can help tech leaders: Sure, proven and tested models that are proven to work will always be a go-to for some, but as a tech leader, the way something works doesn’t have to be all templatized. You can go your own way, and this book is a goldmine of ideas that can help you get into that mindset.


Bad Blood: Secrets and Lies in a Silicon Valley Startup’ by John Carreyrou

Description: A book about one of the biggest frauds in American history, and the biggest one in the tech industry – Theranos. The rise and fall, and all the details in between are in this book – simply put, this is a thriller with an ending that is bitter, but highly educational.
How it can help tech leaders: The how’s and why’s of some stuff that can happen are important, but the one thing that techies and tech leaders can learn from this book is that sometimes believing in an idea without being to objectively measure its feasibility can lead to disastrous results.

Well, CTO Confessions is much more than just insightful and educational books - it's also about leaders, their path to becoming who they are, and the valuable lessons they learned along the way. Dive into one of our 100 episodes 

Right Here

Takeaway

They say that nothing beats learning by doing, but truth be told, that ‘doing’ part can be much more efficient and educational if you get the facts straight and learn from the experience of others or get a bit deeper into the details. Stay tuned for part 2 of the series!


TC Gill


People Development
Coach and Strategist


Is Creative Thinking a Superpower by Ilina Pejoska Zaturoski

Is Creative Thinking a Superpower

Ilina Pejoska Zaturoski


UI/UX designer at IT Labs

What comes naturally to some, can be a hard task for others – take creativity, for example. A lot of people think that creativity is something you either have or you don’t – that it’s not something you can nurture, while others say that it’s just a matter of perspective and learning, and that creativity is something that we all have – albeit in a different shape. At our last Yay or Nay session, we decided to dive deep into this and finally give our take on the big question above.

At its core, creative thinking is intentionally gaining new insights and different ideas through existing information.
Often, creative thought involves tapping into unique styles of thinking and examining information from different viewpoints to see new patterns.

Anyone can foster a creative mind with some practice!

Using a wide variety of brainstorming strategies can help you discover innovative solutions for issues in various aspects of your life, be it personal relationships, work, etc.

The focus on creativity and innovation is important because most problems might require approaches that have never been created or tried before. It is a highly valued skill to have individually and one that businesses should always aspire to have among their ranks. The word creativity means a phenomenon where something new is created.

Creative thinking is a skill and, like any other, it needs constant exercise to stay sharp. You need to regularly expose yourself to situations in which a new idea is needed and surround yourself with like-minded people to achieve this goal.
Such a process is made easier with the use of certain techniques. They help get you on the right mindset and supply the basic structure to reach innovative ideas on demand.
Test your creative thinking skills with a simple mind game: Torrance’s test for creative thinking1: complete the drawing.

Classic Creativity Test, the Torrance Creative Thinking Test was introduced by psychologist Ellis Paul Torrance in the 1960s to conduct a more creatively inclined IQ test.

Types of Creative Thinking

Aesthetic thinking, divergent thinking, lateral thinking, convergent thinking, and inspirational thinking are five types of creative thinking that we will look at in more detail today.

  • Divergent and convergent thinking are the most common ways to encourage creative thinking.
  • Divergent thinking is like a traditional brainstorming session, where you produce as many solutions as your imagination allows.
  • Convergent thinking, meanwhile, takes a more logical approach, encouraging you to gather facts and discover the most common solution to a problem. These strategies are often used together to extract new creative solutions.
  • Inspirational thinking focuses on imagining the best scenarios to find a new way to solve the problem, while lateral thinking involves letting ideas flow in a step-by-step format.
  • Aesthetic thinking focuses on reconstructing the problem to see its inherent beauty and value, as seen in a picture.

Brainstorming

This technique can be especially useful in small or large-scale problems that require a creative solution. The main goal is to form a group of people and throw around ideas without interference.
The general idea of brainstorming is that, by having an excess of creative potential solutions, it gets easier to reach one with the highest level of quality.
Brainstorming has several advantages that can help you exercise your creative thinking skills. For starters, it does not require a rigid structure to function, being very informal. However, it can be eased with professional guidance. Also, the people involved do not even need to be together at the same time, as you can use a virtual setting or put ideas into a shared document.
For it to work well, all participants must be aware of the problem that requires a creative solution and are familiar with how brainstorming works. In the end, do not forget to register all the ideas through proper documentation.

Mind mapping

The process of mind mapping helps you connect ideas you never imagined could be combined. Because of that, it might help you reach appropriate solutions while using creative thinking skills.
A mind map is a chart where you input ideas and connect them. It can have workable solutions to a problem, its immediate consequences, and be the best course of action to deal with them. Alternatively, your mind map can serve as a way to see a bigger picture regarding what you are trying to do.
Mind mapping can even be done individually. Sometimes, you may already have all the ideas you need but it is required to put them to paper. Creating a mind map helps to organize them and naturally reach conclusions.
Also, since a mind map is an infographic, those who were not part of the process can easily understand it. Therefore, it serves as a valid piece of documentation.

Examples of creativity skills

Besides these creative thinking techniques, we presented in this chapter, there are several skills you will need to develop to enjoy the advantages of the techniques. Some of the creativity skills may include:

• experimentation
• opposing views
• asking questions
• communication
• organization

Alternative Uses Task Test

Another fun game or assignment which you can use to improve or put your creative thinking to the test is the Alternative Uses Task.
Developed by J.P. Guilford in 1967, the Alternative Uses Task tests evaluates creativity by having you think of as many possible uses for a common household item (such as a brick, paperclip, or newspaper)
Example: name all the uses for a brick:
A paperweight
A doorstop
To throw through a window
To use as a weapon
To hit my sister on the head with

Try it: look around for a common house object, say a vase. How many uses can you think of for that vase?

What are the main benefits of creative thinking?

Developing your creative thinking skills is highly beneficial for any field of work. Every area needs people that can produce the best solutions to the everyday problems that arise, and creativity is critical to do that.

You can experience advantages such as these by developing creative thinking skills:

• ability to create the best solutions to daily demands, which provides value to clients and your own business.
• improvement on problem-solving for not only work-related matters but also those in your personal life.
• higher workplace involvement in daily activities and engagement, which is beneficial to a healthier environment.
• a better understanding of data — also known as data literacy — and how to present it through data storytelling.
• focus on self-improvement as you and your teammates will develop more soft skills.
• more effective teamwork and bonding since people grow used to bouncing off original ideas and learn each other’s creative traits.

STEM and creative thinking

Some people think of science and engineering as the opposite of art and creativity. That is not true. The fields of science, technology, engineering, and math (STEM) are highly creative. Designing a more efficient assembly line robot, writing an innovative new computer program, or developing a testable hypothesis are all highly creative acts.
The history of science and technology is filled with projects that did not work, not because of errors in technique or methodology, but because people remained stuck in their assumptions and old habits. STEM fields need creativity to flourish and grow.

In STEM industries like biomedicine, stimulating creativity by asking open-ended questions and creating fictional scenarios helps professionals find innovative solutions to health problems.
These questions encourage medical professionals to experiment and discover new ways of solving a persistent problem.
Through creative thinking, professionals in any field can discover unique answers to pressing problems.

Conclusion

Creative Thinkers relish the sight of a blank piece of paper. That is because they can see what is not yet real. And then make it real. They find inspiration in unexpected places and make connections between unrelated things. They are the people the team relies on to solve problems in clever, original ways.

Share your superpower.


Caring For the Environment: The Impact of IT Companies

Caring For the Environment: The Impact of IT Companies

Something To Be Done

So, what can companies in the ICT sector do to curb their effect on the environment? A lot, and many of them are already going green or greener, but more needs to be done. The basis on what can and needs to be done varies, and it depends on the size of the company, and the impact it has/it can have on communities – both locally and globally – but in the end, it’s all about initiative and execution, and being a driving force in the quest for creating a better, more sustainable world.
Following, you’ll read more about what can be done, and what we’re doing to fulfil our role as an environmentally friendly company.

Think Globally, Act Locally

The idea of having a month dedicated to the environment was something we at IT Labs would serve our goal, and is an activity that is part of the core of who we are and what we do. We lead by example, and that’s why we decided to spend a month focusing our efforts on making a change in our communities, as something to complement our continuous efforts in becoming a more green and sustainable company.
So look in your communities, in your cities, the areas nearby – what can you do? Carry out a volunteer action? Collaborate with NGOs that tackle issues of environmental nature in communities? Maybe help them with financing? The options are endless, and actions of this type help improve livelihood in communities, and can present a good team-building activity for your employees.
For example, we teamed up with “Ne Bidi Gjubre” – a civil organization that organizes volunteers for cleaning polluted “hotspots” around Skopje – and spent the day with them! We cleaned up an important part of the city in a large, coordinated action which around 70 people, as well as mechanization and help from the ‘PE Communal Hygiene Skopje’. A continuous effort in initiatives like this one, will definitely have an effect on the long run, and help increase environmental awareness not just in the communities, but also among your employees as well.

The Awareness

You see everyone on the internet these days talking about raising awareness on some issues, and these help in keeping the general public informed on all the important events in that sphere, and also educate people on all the progress being made, as well as trying to engage them in activities.
Special attention was paid when we planned this at IT Labs, as we wanted to find a speaker who is deep into the environmental world, who knows all the aspects – policy, activism, and hands-on experience in tackling some of the biggest issues. And, of course, we got Ana Petrovska to hold a presentation and educate us more on the topic of ‘Zero Waste’ and we got into a discussion looking to answer one of the more pertinent questions regarding zero waste: is it possible?

Repurposing, Recycling, Reusing

Just managing how much waste you create and being aware of the whole environmental effect is all fine, but what happens when you lower your effect by simply finding a new place, a new role, and a new purpose for all the items and objects we dispose of daily.
So we challenged our teams to find something old, something that is way past it’s usage date, and find a new use for it!
The results? Well, see for yourself:

Final Takeaway

If you want to do something, you’ll either find a way, or you’ll find an excuse, but considering all we talked about above, an excuse is not really an option, and finding a way is not “easier said than done” anymore. It’s all about perspective, willingness, and the opportunity to do well.
It’s about the environment – and excuses are not an option there.


Growth, Progress, and Success at IT Labs

Growth, Progress, and Success at IT Labs

We’re a people company first and foremost, and the topic of career development is something that is really important. This covers not only the professional development of all at IT Labs, but also their well-being. As IT Labs grows, so does the need to add new positions for incoming talent, and programs for development and growth for our existing talent. In every company, growth is important, but only if it’s followed and matched by people’s growth inside the company.

Talent Development & Seniority

The development of talent starts much earlier than many would expect. It starts with the hiring process, during which we evaluate the candidate’s strengths and weaknesses and we predefine some goals we think and feel the candidate can reach in a certain frame of time. Once the candidate joins and becomes a part of the IT Labs story, this predefined path and goals can, of course, change as time goes on.

So how do we go about picking and nurturing our talent? We have a few “pillars” that help us find people who are a good fit for us:

Hiring by value

We believe that for any candidate to have a successful career at IT Labs, he or she first needs to share the same values that we do. Finding a new member to join teams is down to much more than just having the technical competencies required for a job position – it’s about finding someone who can fit in culturally .

At IT Labs, we’re championing recruitment and development on five pillars: Integrity, Proactivity, Excellence, Innovation, and People. These are at the core of everything we strive to achieve, underpin all our decision-making systems, and influence the way we go about finding suitable talent, and nurturing them.

Maybe add more about the culture, or link to an article that describes the culture – what are the value we share among us and we look for in a candidate? 


Nurturing

All the predefined goals and paths designed by the People & Talent Department are subject to change as individuals grow inside the company. Each path is unique, and each professional development plan is designed to fit each individual.


Shadowing

Mentors supervise individuals, in a process that is beneficial for both mentor and mentee – both grow in their own way and develop relationships that improve communication and team spirit.


Training talent, not just going for experienced heads

Cherry-picking for talent is the way to stagnation for any company. Instead of scouting for talent for months at a time, you can spend those resources training someone in-house. At IT Labs, 60% of our talent is homegrown, with training focused on processes, hard skills, communications, and gaps that may be identified beforehand or along the way.


Teaming

Individuals that start in junior roles are nurtured by supervision and feedback sessions which help them grow and refine their skills – up until they’re ready for prime time.


Proper care

Aside from the professional, there’s also the personal – we develop a happiness strategy for every individual to keep them engaged, growing, and happy at IT Labs!

Balanced Professional and Personal Growth

For all the pillars described above, we have a variety of programs and activities are deployed to ensure individuals reach the levels they desire, and to ensure even development in all aspects. These include but are not limited to:

Tech-stack Community

Information, knowledge sessions, databases, skills, articles, pet projects – we have communities for all of these, and individuals can gain access to invaluable information based on experience and know-how, while also get hands-on experience and participate in various projects.

Technical training and courses

Depending on the role, individuals have the opportunity to obtain specific knowledge or skills in various areas, through training programs which provide certificates, which boost productivity and confirm quality standards.

Innovation

We live, breathe, and dream innovation, as we consider it to be the pinnacle of knowledge – the moment you put at work all the knowledge and experience you’ve amassed through the years, to bring to light a tech or solution or method that can help drive progress and innovation even further.

We have innovation sessions, at which we discuss ideas and concepts and we dissect them and see if they actually carry the initial potential, and if they’re worth pursuing!

Certification & Trainings

Certificates are a proof of expertise, and they also pose a challenge for employees – keeping them engaged and learning continuously. With this, they become more confident in their abilities, and look for the next step.

Tech Radar lab

Staying on top with the latest developments in the world of tech, following new releases, and deployment of new tech is crucial for being up to date with the latest trends – both in terms of work and productivity. Experimenting with the latest tech is crucial in the development of a culture that’s driven by innovation and idea-sharing.

Personal development plan

Two times a year, we have performance review sessions, during which we define a detailed personal development plan, with action points and timeframes, and the whole team around you will be engaged in ways that can support you and help you reach your objectives.

Soft-skills training

Your personal improvement is just as important as your professional – as training focused on developing your adaptability, leadership skills, critical thinking, and communication.

Coaching sessions

We have a certified Agile coach, and our employees have one-on-one and group sessions with the coach, helping them develop new attitudes to overcome challenges.

Change this to certification and trainings – there is soft-skills training, but we also provide upskill tech trainings for our employees.

How Each Position Grows

This is the path we have laid out for all our employees, and they usually go as they’re laid out in order, but of course, in some cases, should any team members show extra effort and competence, some of the steps are skipped, and the individual is allowed to move more steps above.

Software Engineer (SE)

1. Junior SE
2. Intermediate SE
3. Senior SE
4. Principal SE
5. Technical Lead
6. Principal Software Architect – PSA

Quality Assurance (QA) and Automation Engineer (AE)

1. Junior QA/AE
2. Intermediate QA/AE
3. Senior QA/AE
4. Principal QA/AE
5. Lead QA/AE

DevOps Engineer

1. Junior DevOps
2. Intermediate DevOps
3. Senior DevOps
4. Principal DevOps
5. Lead DevOps

Business Analyst

1. Junior BA
2. Intermediate BA
3. Senior BA
4. Principal BA

Project Manager

1. Junior PM
2. Intermediate PM
3. Senior PM
4. Principal PM

Career Path Change

All of this sounds defined and predetermined, but what happens if a team member wants to change their career path? The need for change in today’s world of tech is only natural, as new technologies and platforms are always growing and changing, and some do better than others. With all of this in mind, we allow this change to be initiated in one of two ways – by the Department Manager through a knowledge level process, or during a Performance Potential Review, initiated by the Department Manager or the employee.

If both the DM and the employee agree, a Development Plan is created and put into action.

Development Plan

1. Initiation
2. Creation of Development Plan
3. Feedback Session
4. Promotion


Knowledge Level Evaluation Process

A process used to determine and define the seniority level of an employee according to their position and the skill-set prescribed in the job description for the position, in order to perform it with the expected quality.
A KL Evaluation Process can be initiated by the Department Manager on the following occasions:
– Three months after an individual becomes an employee of IT Labs
– During the Performance Potential Review feedback
– Once the DM notices a significant change in the knowledge and skill level of the employee, compared to the previous evaluation

To Sum Up

The importance of having a clear-cut path for every employee and every position is something that not only helps them feel settled, but it gives them a feel of the future, of where they’re heading.
At IT Labs, we know this, which is why we always look for our employees to be at their best – both professionally and personally – as we know that this is the best way for them to grow and develop, becoming future leaders not just in our company, but also our communities and the industry as a whole!


Mind over Matter: Meditating the Noise Away

Mind over Matter: Meditating the Noise Away

It started with a question – one that we’ve all tried to answer and have read tons about:

“What’s stress? How would you describe it?”

And depending on who you ask, you might get different answers. Some of the answers out there are: 

  • Feeling anxious, unable to focus, fatigue 
  • An amplified exaggerated emotional response to circumstances that feel out of one’s control 
  • Pressure to achieve something that we feel is impossible to be done in a certain timeframe or a frame of certain conditions and circumstances 
  • The thing that makes you feel like you need to run 10km in 5sec 

It is about pressure. It is about feeling tension, both physical and mental. 

At The Core of it All

The topic of stress in our everyday lives, both professionally and personally, was a topic that we learned a lot about, and also talked about in length, in our Mind over Matter: Meditating the Noise Away session with Sergej Georgiev.

Definitions aside, this was something we did to not just find answers, but to put ourselves in action fighting this other pandemic – stress.

In all the definitions of ‘stress’ that you’ll find online, you’ll see that the concept of time is rarely mentioned, and it is the one that is most important. Most of the time we’re stressed out in the NOW, about something that might occur in the FUTURE.

We’re dreading, anticipating, and coping with an event before it even occurs.

But What To Do About It?

So layers and layers of the what, defining it, but not a single why? Let’s change that. 

Whenever we find ourselves in a stressful situation, the big trap that we all fall into is that this situation is somewhat different than anything we’ve faced before. We don’t prospect, we don’t measure, and we don’t assess – we just stress. 

Having a black-and-white approach to these situations diffuses stress and keeps your much more relaxed. As Sergej shared his most recent stressful situation, where he got stuck at an airport, forced to take care of bureaucracy which could have made him be late and miss his flight, he talked in length about knowing what needs to be done, and not getting stuck in dreading – instead, put yourself in action. 

He tried to get the documents he needed, tried to find a solution, so him and a few other people were allowed to skip the queue and move on. It sounds very simplistic and positive, but that’s not to say that Sergej wasn’t aware of the other possibility – ending up stuck in an airport. 

The key takeaway from it all was the realization that it all boils down to what can we do when we’re in a stressful situation. Can we do something about it? If yes, then by all means, we should – if we decide to do so. Let’s get out of the rut.  

But what happens when we can’t do something about it? This is a situation which learning how to cope with the circumstances and events is crucial – if nothing can be done to change what’s coming – an undesirable outcome, for example – than the best thing to do is completely accept the situation. This can help us avoid unneeded stress, and instead, focus on what lies ahead, and to try and work out what’s going to happen as consequence, and deal with that. In simple terms – we’re moving on without knowing that we’re moving on, which is the healthy, good thing we should be doing for ourselves. 

We need to take a minute to cool off and step back in order to regain the energy to evaluate what can we actually do in the stressful situation. As we recognize the need for this “cool-off”, Sergej as certified professional coach, helps the IT Labbers get there during the Make It Zen sessions, twice a week. 

OK, but Why Does This Matter?

The reason we would do well to revert to something simpler, a somewhat binary way of opinion, is that we need to learn how to adapt. Adapt our responses to external stimuli which can stop us in our day to day activities, can make us less productive, and in turn, shove us into destructive cycles – we can start catastrophizing, start dissociating, or even put the blame on someone who has nothing to do with what’s happening to us.

The key is focus – focus in moments when we most need it, but have the least strength to do it. The world has changed a lot, with the lines between the personal and the professional becoming blurred for some, while for others that line is becoming a wedge, a problem that makes them feel that they cannot lead their lives the way they want to, how they want to.

Meditation will probably not cure the world of excessive stress, but at the very least, it can give us the breathing space that we need when the going gets tough – and sometimes that’s more than enough. Sometimes we just need a break.

Conclusion

Stress is not always bad – it can spur us on to create amazing things. That little bit of pressure can be the difference-maker in many cases, but as it seems, excessive stress in longer periods will do more harm than good.

And in a world in which everyone seems to be online, available, and just a few clicks away, we need to find ways to rest our mind, and to keep it out (at least temporarily) of the chaos and all the noise, so that we can keep learning, keep growing, and remain our best selves.