And how the browser tries to be your friend

Photo by Adam Nieścioruk on Unsplash

This week, the team currently working on our latest project and I were banging our heads against the wall trying to figure out why our fonts weren’t being displayed correctly. We were importing four different font-weights from google fonts but only two of them were being shown.

In a nutshell, angular-cli wasn't changing the order our font imports, therefore, making the browser ignore the import since it doesn't load any imports that's are not at the top of the file. …

Photo by Denisse Leon on Unsplash

In the last few months, I worked with a very large React and Redux application which is actively worked on by a team of around 20 people with mixed levels of experience.

The main form of work distribution was assigning people to screens. I’m not a big fan of this approach because that leads to code repetition and mixed practices within the same codebase (better to break down screens into Components and have people implement Components).

This work distribution, combined with a big number of requirements, delays, and rushes to release led to some poor performance scenarios.

In this post…

Boris Misevic on Unsplash

Code Review is a widely adopted practice in the software development industry. It represents the process of reviewing someone’s code before it gets merged into the existing code base.

Whenever a developer wants to perform any sort of change, he or she must create a Pull Request (PR). The PR represents all of the changes made against the current state of the code base. Other developers in the team will then comment on the work done and accept/refuse the change. This is either done in person or via version control software.

Code Review is a cornerstone of software development, whose…

“Surfer crash on body of water” by Debora Cardenas on Unsplash

I have recently got the Professional Scrum Master I (PSM I) certification from During the time I was preparing for it I got to know Scrum better and cleared some misconceptions I had created during my experience as a Scrum Master.

In this post, I attempt to clear some of the things I found that are easy to understand in theory but harder to put in practice, especially when the organization is not 100% sold on Scrum.

Companies think Scrum is a Silver Bullet

Everyone is doing Agile. You want to be Agile, right? Because if you’re not Agile then that must mean you are… clumsy?

Fox laying on snow - Photo by Victor Benard on Unsplash

A few weeks ago I participated in the Start&Scale Week, promoted by the ScaleUp Porto organization. Besides events to promote entrepreneurship and other activities related to the startup ecosystem of the city of Porto, the Start&Scale Week also entails a series of Masterclasses on a variety of topics.

One of these Masterclasses, entitled “How we acquired Agility in our industry”, was taught by Kiro Harada. Kiro is an Agile expert experienced with different methodologies and frameworks such as Lean, Kanban and Scrum. …

Thoughts about embracing the role of (part-time) Scrum Master while being a Developer and avoid getting conflicted

Photo by Flo P on Unsplash

Disclaimer: Being a Scrum Master is not the same as being a (traditional) Manager, although one can consider that Scrum Master is a management level position. This post helps clarify the distinction. I think the concepts in this article also apply to people who are developing and managing software and not necessarily doing Scrum. My apologies if the title of the article is somewhat misleading.

Typical Project Managers are interested in implementing and managing strong processes which translate into results. In Scrum, the Scrum Master handles processes but is also the one in charge of promoting the interaction between team…

4 Ideas for You to Stop Second-guessing Yourself

This is another post about Impostor Syndrome. For the unfamiliar, Impostor Syndrome is the feeling that makes you feel like a fraud, that you do not deserve/fit the job you have and that the only way you’re keeping it is by sheer luck or blindness from your employer.

Definitions found online only attribute this feeling to high achievers, but in my point of view, this is applicable to anyone, independently of their ambitions, when faced with a demanding profession of some sort.

Software development is one of the usual suspects. You need to be competent in a multitude of areas…

Thoughts on dealing with the natural job progression as a software developer and how to keep doing what you love

Nowadays there is a natural progression for senior software developers (either in startups or more corporate style companies) to make the jump from their current technical role to a more leadership/management oriented role. This progression is usually motivated by several needs which arise from the evolution of the company/team/product and require the senior dev to dedicate his time to training/onboarding, planning/road mapping and leading the team, contributing to more macro level decisions and coaching while becoming less and less involved in day-to-day engineering activities.

The title of the job is not always “Manager”. It’s usually something along the lines of…

Today at work I approached a colleague of mine who’s a senior developer and asked him for help on the task I was currently assigned with. As I was explaining the problem and context of what I was facing he asked me one simple question.

“Why are you doing it in this way?”

I froze.

It was the end of the day and I didn’t want to handle a discussion. I didn’t really know how to explain it. …

It’s almost common sense that if you want to be successful in the Software Engineering field you must be able to be constantly learning.

Usually, these learning experiences are bound to learning new processes, technologies and frameworks, and this is mostly true. However, all the rants about Javascript fatigue were at least useful in shedding some light on what’s really important in terms of being a better software developer.

Important is to focus our learning experiences on a broader scope, trying to grasp new concepts or solidify existing ones.

Learning the new flavour of front-end development can be exciting, but…

Carlos Matias

Fullstack Software Developer • I occasionally write about Software, Agile and Personal Growth • Learning Everyday

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store