) 3. Fill in: - data-date: YYYY-MM-DD format (for sorting/filtering) - title - subtitle - image URL (or leave placeholder) - content paragraphs and headings 4. Save and refresh! The latest post (by data-date) will automatically appear on index.html --> Blog // ENGINEER_CORE

Engineering Thoughts

Stories, learnings, and insights from building software that matters.

Post cover
â—Ź

7 Disadvantages of Artificial Intelligence (AI)!

A list of challenges that we might face with the surge of AI

th the recent increase on AI interest and the surge of AI-powered tools like ChatGPT, Codex, Claude, etc, there has also been a surge on concerning voices regarding the dangers of this relatively “new” technology. Are there any real threats that we should be concerned about or are these arguments and voices against it just some overreaction? Will AI bring problems to our daily life or this is all unjustified fear?

The might be all valid questions, but i think the true is probably somewhere in the middle, as always. AI is just a newer technology that can introduce a lot of chances to our everyday life, but these aren´t necessarily good or bad. We, as part of our human nature, have a normal tendency to resist chances and show some fears about the unknown, however, it doesn't´t mean that there aren’t some fundamentals behind this questioning.

While Artificial Intelligence (AI) has numerous advantages (you can read about some of those here), it also comes with several disadvantages that can impact human life. Here are seven main disadvantages of AI and their potential impacts:

1 - Job Displacement

AI automation can replace human workers in various industries, leading to job losses and unemployment. This can disrupt livelihoods, increase income inequality, and cause economic instability. In any case job displacement has been part of our society for decades, and it dit not arise with the advent of AI. We all saw “old” professions disappear over the years and “new” professions appear as replacement. Many business and industries have completely disappeared or become irrelevant in the last 10 or 20 years alone.

We saw it happening with the Internet for instance, and in large manufacturing plants, robots have replaced many previously “human only” tasks for a long time already. AI will just do the same. Eliminate some jobs and create other jobs! Part of evolution, I would say.

2 - Lack of Human Judgment

AI systems lack human judgment, intuition, and empathy. They make decisions based on algorithms and data, and these can lead to biased outcomes and ethical concerns, particularly in sensitive areas like law enforcement or healthcare. There are many occasions where discerniment really matters.

3 - Privacy and Security Concerns

AI relies heavily on data collection and analysis, raising concerns about privacy infringement and data security. Mishandling of personal information can lead to identity theft, surveillance, and breaches of confidentiality. Can we trust a machine or the AI algorithms? Maybe not. If a machine can’t judge and lacks any form of human rationality, how can’t know for sure if our data and privacy are protected? But this is true not only for the machines but also for the researchers and companies that are currently training these AI entities. How much data about us do they have, and how secure is that data, or what usages will that data have? Is it always being used with a good purpose in mind or a more sinister one?

4 - Dependence and Over-reliance

Over-reliance on AI can make humans dependent on technology for critical tasks, depended and maybe even lazy. On one hand, if AI systems fail or encounter errors, it can disrupt operations and negatively impact various sectors, such as transportation, healthcare, and finance. Probably not good. "Vibe coding" anyone?

On the other hand if AI-powered tools automate the majority of our tedious and repetitive tasks, and we do not have to memorize things or solve certain problems anymore because machines will do it for us, our brains might start being used less and less. This could compromise our future generations on being able to handle even what we consider simple tasks today. You know the saying: “If you don’t use it, you loose it”!

5 - Lack of Creativity and Intuition

One of AI's primary strength lies in analyzing vast amounts of data and finding patterns, on a very rational and technical approach. However, it struggles with tasks that require some degree of creativity, intuition, and "out-of-the-box" thinking, which is often needed to solve unseen situations. This limitation can somehow hinder progress in fields like art, scientific research, and innovation, if the machines only “follow the book”. But then again, if Singularity is ever reached, this might not be a problem anymore cause.

6 - Unemployment and Economic Disparity

As AI advances, it may create a greater divide between skilled and unskilled workers. The demand for highly skilled individuals may increase, while low-skilled workers face diminished employment opportunities. This disparity can exacerbate social and economic inequalities. This is somehow related with job displacement, cause more easily people with less skills or doing mainly manual work will get hit harder than those with better technical resources, or those working on jobs where there is a higher need for more creative thinking and processes.

7 - Ethical Dilemmas and Accountability

AI systems can present ethical dilemmas in decision-making, such as autonomous vehicles choosing between two unfavourable routes, both with terrible outcomes. Determining responsibility and accountability for AI actions and errors can be challenging, potentially leading to legal and moral complexities. If something goes wrong on some risky or delicate activity, only because the algorithms took a non-optimal path, it will be very hard, if not impossible, to put a blame on a machine or even its creators (and should these be blamed?).

These and other disadvantages of AI, highlight the need for some regulation, ethical considerations, and human oversight to mitigate potential negative impacts. Society must address these challenges proactively to ensure that AI technology is harnessed responsibly, its usage is mainly directed for the benefit of humanity, but not staled or forbidden.

If you like what you just read please share it with your friends and family.

Post cover
â—Ź

7 Advantages of Artificial Intelligence (AI)!

AI seems to be the buzz word in the past year. Is it just hype that will fade or something more?

AI, the acronym for Artificial Intelligence. The not so new concept seems to have made a comeback in full speed. It has long been part of the Sci-fi literature and entertainment industry, but only recently gathered increased attention, particularly due to the release of one tool specific named ChatGPT. Pretty sure that by now everybody heard about it already. Nevertheless, AI has been part of our lives for many years already.

But what is AI after all? What does it mean? Seems to me its getting strongly and wrongly correlated only with "vibe coding" these days. Before deep diving into a list of seven advantages of AI usage, lets try to clear the concept first.

Artificial Intelligence is the capability of any computer program to “think” and “learn” on its own. Think about it like a kind of a simulation of the human intelligence (hence, artificial) applied to machines (computers, robots, vehicles, appliances, etc) to do things that normally, could only be done by humans. Basically it’s adding some sort of brain functionality to machines.

There are three main types of AI based on its capabilities; weak AI, strong AI, and super AI. There are also another four types of AI based on its functionalities; reactive machines, limited theory, theory of mind, and self-awareness. That, coincidentally or not is another list of seven :-) . I´m not going into any details about the differences between them, but in any case, if you want to know more about these distinctions check this great article.

Now that we have a better idea of what Artificial Intelligence means, let’s sort out a list of 7 main advantages of its usage. For those of you that are more sceptic or maybe just want to connect all the dots, don’t worry, I got you covered, and will write another article about those.

Like everything in life, AI also have its own “pros” and cons”. It can have a lot of disadvantages too, and a lot of people already came out publicly talking against the rise of AI, or at least sharing their concerns about some possible bad consequences of AI usage without a more strict control. I would say it is never a black & white thing. No technology is ever inherently good or bad, it only depends on how humans use it.

Now, as for the list of 7 advantages of AI, here it goes:

1 - 24/7 Availability (always ON)

There are many studies that show that humans can only achieve maximum productivity during a few hours per day, to be more precise, it seems that we are only productive around half the time of a normal working day of 8 hours. We get tired and distracted with ease. We need to take a least some short breaks from time to time, in order to keep the pace. We might get sick or feel undisposed from time to time. We may have to skip work because some misfortune or unpredictable of life just happened to us.

There are many reasons why humans might not be available 100% of time. Among the biggest ones; we need to sleep at least a few hours per day before our bodies collapse, and we need to feed ourselves on a regularly basis. And there are also those periods of the day where we simply say that “Nature calls” :-).

Obviously, when we´re talking about machines, all these “non productive” periods can be eliminated. Even if machines or robots eventually need to enjoy some cooling periods for recharging, maintenance or others, they easily beat us on this field, and, with very few exceptions, these systems can run almost on non-stop mode.

2 - Avoid Unnecessary Risks

There are many risky situations for humans, where AI can step in and give us some unvaluable help. Whether there is some risky job, like extinguishing a fire, defusing a bomb, facing an armed gang, going to another planet, or deep diving into the darkest parts of the ocean, machines or robots can do all these for us, and maybe do it a lot better.

Our natural bodies are very fragile and we easily get affected by external and natural conditions, like temperature, altitude, or simply lack of oxygen to breathe. On the other hand, robot or machines with metal bodies are way more resistant and can survive unfriendly atmospheres where life as we know it is simply impossible.

Ultimately, AI can help spare human lives by taking over on many dangerous endeavours in spite of us.

3 - Better Decision Making

AI, unlike humans are mostly driven by algorithms and gathered data. Humans, on the other hand, are many times driven by basic emotions and can take irrational decisions or follow very doubtful paths. This can be critical for many activities, specially on life threatening situations or stressful conditions, but no only. Let’s consider some simple examples. An automated AI with tons of data about engineering, materials, aerodynamics, and previous malfunctions or followed procedures on past plain crashes, might be able to step forward and take a better choice when something goes wrong on a given flight, for sure much better than some inexperienced pilot.

The accuracy and effectiveness on solving any problem will depend mostly on how the AI was “teached” . In the case presented, it might have learned from dozens of past events and gathered the expertise of dozens of pilots as well.

Another example could be on markets and assets trading. Markets consist basically of two main parts; buyers and sellers. These are just people. They get greedy at times and they can get really scared at others. But mostly, they are emotional and because of that they often make wrong choices.

AI on the other hand, is completely devoid of emotions and highly rational in its approach. It doesn’t have have any biased views that could affect the decision making process, and its database of “past experiences” can certainly be much bigger than the amount of information that a human memory can retain.

4 - Faster Decision Making

This one is strictly attached to the previous one. While its true that AI can take better decisions than us, mainly due to its non emotional nature associated with the fact that it can learn from a big database of previous/background data, it is also true that these decisions can be made a lot faster, almost at speed of light. In a matter of nanoseconds in certain cases.

On every environment that precision and fast decision making is an extra valuable component, IA can certainly make the difference. Either for saving human lives or simply for taking better business or life functional decisions. No more “blanks”, brain freezes or hesitations, Artificial Intelligence doesn't suffer from any of those.

5 - Perform Repetitive Tasks

This one is very obvious. I´m sure that most of us perform repetitive and boring tasks on our daily jobs. Nobody likes repetitive tasks. AI can help by replacing us on many of those repetitive tasks that are part of our normal daily routines at work. They don’t get bored or tired, we do. If AI gets in charge of the boring stuff, it also gives humans more time to be better at things that only humans can be good (for now at least), like being creative.

And it’s not only at work, but also at home. Who of us has never dreamed to have a robot that would do the laundry, wash the dishes, and maybe clean the house as well? Or even cook a delightful “chef´s” meal for us? And all of this while we sit comfortably on the couch with a glass of red wine in our hand (brought by the AI-powered robot), watching our favourite Netflix show (that was also suggested by AI, by the way). Why not?

6 - Daily Life Applications and Assistance

AI can and is already helping us with many of our mundane tasks. One field where it can be extremely valuable is digital assistance. These days, our everyday live is almost completely dependent on smartphones and Internet. It seems we can’t live without those anymore.

We use apps that recognize our own voice to search things on the Internet for us, to make phone calls, to open or close other apps. We use apps to navigate and hep us driving across the roads. There are chat bots always available to provide a first line of support. We use apps to fix our writing mistakes, to tell us the weather for tomorrow, to find stuff that matches our interests, to find us a nice restaurant matching our taste, etc, etc. There are endless examples.

These digital assistants can certainly make our life easier, as they get better and better. Imagine that your car GPS gets a street or two wrong because there was some changes on the streets layout since you last updated the maps. Without AI the next time you pass by, you’ll probably have the same problem. But with AI help, it can learn from the first mistake, and the next time you drive by that place, it will automatically avoid the road because it was immediately added to the internal database the first time, without any need to wait for map update and the file download from the service provider.

AI can already help people to write better, to fix misspelling and grammar issues, to learn new languages. It’s being used for all that and much more for a long time. But now AI can get smarter and also help you with your creative writing. Out of ideas? No worries, just tell AI what you’re looking for and it will provide you a basic plot for your next novel. Want to see some custom content on your favourite website? Wait no more. Tell the AI agent what kind of content you wanna see and it will provide you a fully customized experience. Next time you enter that URL the website will be completely different, just to please you.

Even Google search can easily become irrelevant or get thrown away to the back stage with the progress being done on AI. That´s probably why they came up with Bard.

Just try to search info about a given subject using Google search engine. It will certainly show you a dozen of results that you might have to individually dig into, in order to assess if that is really what you were looking for in the first place. Most results probably will not be relevant at all, once you open those pages. Now try to ask the same question on something like Bard or ChatGPT and you´ll see the difference in terms of accuracy and quality of the response. (Update: Google now has its own AI search mode)

For many online services AI and advanced chat bots will make a huge difference. They can give support 24/7. They could learn from previous customer conversations and before you notice it, you will be engaging in deeper conversations where you cannot distinguish anymore if the other part is a human being or some software using AI.

Your fridge might be smart enough to even advice you on which healthier food you should eat on a certain day, and your microwave might know exactly how many minutes and at which temperature that roasted chicken should be deliciously cooked.

And yes, even your car will have some sort of AI. It will drive you from point A to point B, autonomously and safely.

7 - Reduce errors, increase accuracy

This is extremely important on many fields, like business, manufacturing, medicine, and many others.

For business, AI-powered tools can help analyze operations and market data and provide better reporting or decision making procedures. On factories, AI-powered robots and machines can reduce production time as well as the costs, while also reducing the amount of defected products. Indeed a brave new world of possibilities.

AI-powered tools can help doctors to better analyze patient data, identify potential health risks, and develop personalized treatment plans. AI robots can be used, and they are used already, to perform delicate and high risk surgeries. And these could also be done at distance. Its not necessary to have everyone on the same room anymore.

We can have one patient in one hospital room (or maybe at home, in the future) with a medical toolset of robots, and have the real/human surgeon 1000 km away, conducting the entire procedure remotely. Better yet, we can have the AI robots performing the procedure on their own, whithout any human intervention, because they already know all the patient medical history, all the science behind the health problem in question, and they already have the collected/saved data from tens of other similar procedures that were done before. Just imagine!

Conclusion

AI is obviously not all bells and whistles. They are some valid concerns around the advance, specially, uncontrolled advance in Artificial Intelligence. Many of them might have some real foundation, while others are just a product of absorbing too much Hollywood ideas over the past decades. Certainly, the biggest concern and the biggest risk of all is the Singularity. For those of you who are not familiar with the concept, the concept of technological Singularity is a point in the future where AI is completely out of control, irreversible and robots have became smarter than their human creators, and therefore there will be no reason why they would nicely continue to accept being subjugated and restricted to our own will and desires.

Anyway, I don’t want to scare you that much right away. Even if some say that 2030 is the year when Singularity happens, it might not be that way. And I need you to stick around to read my upcoming article on the 7 main disadvantages of AI. So, stay tuned!

If you like what you just read please share it with your friends and family.

Post cover
â—Ź

7 reasons why "tech challenges" are BAD!

Tech challenges are being abused for IT recruitment and they are an evil thing

There are many reasons why tech challenges are bad, and almost nobody (developer side) seems to like them, yet for some reason IT recruitment companies (what happened to HR and IT departments anyway?) still think this is a good idea. I´m pretty sure 95% of the developers reading this post would agree with me. The other 5% are either young apprentices or simply don’t have a life. Among many other negative aspects, my personal list of 7 issues starts here:

1 - Lack of trust

Like for any relationship between two different parties in life, a relationship is built upon trust. This is the foundation and it’s even more critical in a business relationship. Without trust in the parties we should not even bother to start engaging. These days most candidates have their public profile fully displayed on Linkedin, on plain sight for everyone to look at. Besides, most of the times candidates are also required to provide their updated CV to the recruitment party. Unless you’re a very lazy person these two places are most likely just very similar copies of the same data.

Now, with all this information in hand, you might start a round of meetings, even ask some technical questions, and that is totally fine, as long as you keep an open mind and don’t overdo it. There are plenty of ways to solve the same problem and developers, specially experienced ones, don’t remember every single concept they learned at the university, 20 years ago. Besides, not all of us are nerds that spend all the free time researching or reading tech related stuff. Some of us like to read fiction, watch tv, play sports, and other stuff, you know… like “normal” people do.

Anyway, what is definetly not ok, as part of this multi steps process, is that you require someone to do a technical challenge, either a live coding task or a take-home assignment. You’re literally saying that you do not trust any of the provided information and you need to do an extra check, just in case. So, you’re saying that you do not trust the candidate and the information he provided is probably just a bunch of lies and fake data.

Think about any other job where people are required to actually do work, before getting the job. If you can think about any good example feel free to email me here and tell me all about it.

2 - Mismatch between job and tech questions/tasks

Many times the technical challenges have little or nothing to do with the position you’re applying to. It’s very common that these recruitment parties ask questions about algorithms, and things like; “how to reverse a string”, or “how to traverse a binary tree”, or how to write a "fibonacci sequence”, etc… While these might be valid subjects when you are at the university learning data structures and so on, they do not apply easily to any real live case. Most likely we will never use any of these on real life projects. Personally I don’t remember ever having to implement such things on a production software. And i’m doing software for more than 15 years. And, if for some reason these might be necessary somewhere , there are plenty of libraries and well known implementations of those things already. There is no need to reinvent the wheel.

It’s more likely that a fresh newbie that just got out of the university has these things occupying useless space on his brain, than an experienced senior engineer. Experienced engineers know better and will not loose time or fill brain space with ancestral information that can be picked up online in one or two seconds. If they really wanted to put the effort they obviously could do it, but they are usually too smart and busy to even bother. Personally I find it almost offensive.

Also, if someone is applying to a lead, like a tech lead position its more likely that he/she will spend less time coding and more time thinking about solutions and how to successfully manage a team of other people. Conducting the process as if you were hiring just another coder might not be the best approach, in my opinion.

3 - Challenge too specific for the position

This one might be out of place but bear with me for a few seconds. I know I said one of the issues is that the questions or tasks might have nothing to do with the job the candidate is applying to, but the opposite might be a problem to.

Let’s say the challenge (code or not) is very specific to the job that you´re applying to. There is also a possibility that you have never crossed upon a similar problem, something you have never seen before. That might let you a bit “lost” and “puzzeled” for a while, and if the task is limited in time, than we might be beyhond a receipt for a stressful situation (more on stress later).

Ideally, one should evaluate more on how the candidates address problems. What is their approach, their methods. More important than getting the “right” solution or the one expected for a specific input, is to see how the candidate thinks about the problems, and what kind of methodology he applies to execute the task. If you want to hire someone with “built-in” only solutions for specific “pre-defined” problems you might find yourself in troubles along the road. You should value soft skills as well, be open minded and understand that a person’s capability to bring or add value to your business cannot be judged in just a few minutes or a couple of hours.

4 - There are plenty solutions for the same problem

Quite often, people recruiting are biased in a certain way, specially if they are not technical at all (and expect a predefined “pre-written” output) or, on the other hand, if they are already very technical (and therefore might expect a solution that fits his own way of thinking).

Sometimes, even the problems/goal definition may be biased as well, as they are structured/formatted in a way that the expected answer or solution can only go into one direction. That direction might be one among dozens of other also valid alternatives. Experienced developers tend to use past knowledge and experience to solve problems, and the direction the candidate takes might very well be completely different than the one expected, and still be equally valid, or even superior. It doesn’t mean the candidate cannot solve the problem, he might just not be able to do it in the way you’re expecting it, and maybe is only because he is more comfortable with another path. So this should tell close to 0 (zero) about the candidate skills.

5 - Too much theory, very little practice

What I mean with this, is that many times the technical challenge is not even about coding at all, but is all about technical verbiage. Listen, for someone that is still attending at the university, or just recently graduated, it is perfectly normal that they still have those weird acronyms fresh into their minds, those 4 or 5 letters acronyms that might look like the holy grail for every software problem. I get it. After all, they have spent the last 3 or 4 years listening to the same thing day after day. It can stick as glue in the backside of the head, but means little more than nothing in a real life environment.

Experienced developers left the university many years ago, and just because they don’t don’t remember what “SOLID” means (I had to google again this one by the way) it doesn't mean they are not using those principles and/or tools on their daily work. They just don’t need to know all the flashy words (again, waist of disk space in the brain) for their daily jobs, which by the way is to implement good software solutions, efficiently, with the best tools available at their disposal, and not to aspirate in participating in some dystopian version of “Who wants to be a millionaire” contest for computer geeks.

Experienced developers are usually older persons as well, they have lives, they might be married, have children, they could have a dog, two cats and a perrot. They might even have social life. Unlike junior developers, they might judge and appreciate time in a different way already, so they know there are other (better) things to do in life that do not depend on a keyboard or a mouse. Maybe reading every single line on the RELEASE notes of every new JDK update is not an exciting thing anymore.

6 - Time consuming and stressful

Technical challenges are usually time consuming and can overall be very stressful situations. And i’m not even talking about live code challenges, those are like having someone with a gun pointed to your head, watching over your shoulder, patiently waiting for you to do a wrong move, in order to pull the trigger. Is not unusual at all that even the most experienced developers get a “blank” or a “brain freeze” when someone is actively watching them. Personally, I had a couple of situations where my brain completely freezed for a few seconds, even if the challenges in question were not that hard, but the amount of pressure driven by that environment can be so big that it can became overwhelming at times. I believe this is true for many, for sure.

It’s another example of a situation that is not replicable on a real life environment (at least I hope nobody has to face it). Real life software or architecture problems require a clean and cold head to think about possible solutions, some time, and for sure a total absence of instataneous reaction only by instinct. The late is never advised unless it’s a life threatening situation.

Some companies opt for the “take home” assignment, and this one in reality can be less stressful as you usually have more for time for it. It seems some people have understood part of the lesson, but still, this is far from being a good or viable option. More on this bellow.

7 - Company culture and the “take home” task

The “take home” assignment its another more modern version of these recruitment challenges. By any chance, nobody, in the first place, should ever work for free to get (possibly) a job. If junior developers have the time and will to do these its fine for them (they left college recently so they are somehow still used to do “home works” anyway). Its up to them. They probably are very excited with the possibility of getting the first job and they still think they can learn everything about anything, or they just want to compete with seniors instead of maybe trying to learn from them as well. But, this should be a complete "RED FLAG” for any experienced engineer.

Again, senior engineers do have a life and they also like to do other things apart from coding (many are engineers for a reason, don’t look at them as only coders). I know some companies are willing to pay for these “do at home” assignments but still, working beforehand to get a job that we might even don’t like, might not be an exciting thing for many.

It also says a lot about the company culture. They came after you in the first place, because they thought you could bring value in, but at the end the coin is flipped and it’s up to you now. It is you who need to chase them now in order to proof that you are good enough to work for them. Not only that, but they think their company is such a good place to be, that nobody would bother to gave up on some of their free time (only the scarcest thing for a human life) only to show the homework’s to the teacher, as any good student would do to get a nice grade.

My biggest disappointment with these, and speaking from past experiences, is that i suspect that many of these companies use these assignments to actually solve real use cases they are facing on their products, and like this, they end up with a bunch of different solutions handed over, many times for free, without actually having to hire anyone.

Again, speaking for myself, I know I will never ever again accept one of these. 90% of the times i felt for this scam in the past, i did not even got any feedback in return. Just waisted time and effort. One time I even provided a fix for the delivery system of the home assignment code, which was not working as expected. Mentioned the subject, identified the cause and provided the fix. In return I got NADA! Not a single word, until this day.

Shame on them, foolish on me! Never again! That shows a complete lack of respect for other people. I don’t want to be part of such working environments. Get a junior developer instead, some are willing to climb mountains for a small piece of bread, just don’t expect the world in return.

Post cover
â—Ź

The 7 Deadly Sins of IT Recruitment!

What i think is wrong with IT recruitment these days

There are so many things wrong with IT recruitment and software development companies these days that i really don´t know where i should start. Certainly there is a lot more i would like to say, but to keep my sanity and to provide a light lecture experience to the reader i´m just gonna stay with the basics, i call it the 7 deadly sins of IT recruitment. Without further delay here´s my favourite list:

- Deadly sin number 1:

Companies are mostly looking for framework or library “monkeys”, not software engineers. They do not understand technology in general and just follow whatever is trendy in the industry at the moment. They are not concerned in hiring highly skilled people capable of solving an infinity of technical problems and build “on-demand” solutions, independently of the tools used to achieve success. Instead they just look a certain number of years “in contact” with tool A, framework B, or library C. They don´t understand that every tool has his “pros” and “cons” and that a good software architect can make fire with a variety of instruments, not just with a lighter. A “framework X” developer is NOT a software developer, much less a software engineer. These last ones are an endangered specifies in a world where “fast” and “easy” seems to be the rule. “- Sorry you cannot consider your application, because it seems you´re just used to drive BMWs, and we need a Mercedes driver”. “- But sir, these are all cars, and i know how to drive any type of car, i´ve been a taxi driver for so many years”. “-Sorry kiddo, no can do…” Sure, you might get a good start, and move faster for a couple of weeks, but on the longer run that´s probably not the advantage you were expecting, and you might get surprises too. People can always be surprising, that´s part of our evolutional nature. If you think it is more important to know a specific library than the underlying programming language and concept (that might already exist for a decade before this library was even created) then i believe you have a big problem.

- Deadly sin number 2:

Companies often confuse years or “getting in contact” with a given programming language, a given framework or a particular library, with the level of expertise in each one or the level of expertise of the candidate in general. Just because someone is working with a given tool for 5 years or has been developing in a specific programming language for another decade, that does not necessarily makes him more capable or efficient than someone who is doing the same thing for only 1 year, or even just a few months. Time spent on a given job is not equivalent to better or lesser skills. That is completely ridiculous. I can be a teacher for 50 years and that does not necessarily makes me a good teacher, on the other hand, someone really skilled to teach that has just started can be considered a better teacher by their students, or no? Why would it be different with software? Makes zero sense! The last thing i want to remark is that there is a big difference between a programmer, a software developer and a software engineer. These are not synonyms people! Do your research if you confuse these often.

- Deadly sin number 3:

IT Recruiters do not spend enough time checking the candidate´s background, his skills, or his particular job or technology stack preferences. Very often they just randomly “shoot” dozens of emails to anyone that shows up on their Linkedin searches with the keywords “software” and “developer”. That´s probably the reason why 90% of all direct messages refer job “proposals” where the requirements do not match the candidate profile, skills, or preferences. From my personal experience i can say for sure this is true in 90% or more of the cases. For instance, on my profile i make it very clear that i am only open to remote opportunities, nevertheless 50% of the direct messages require relocation and “on-site” work. Just read the fuc***g profile! Is that too much to ask? And i have some fresh news for you IT recruiter, yes you… the one reading this list; “Remote during Covid-19 pandemic” is NOT remote work!

- Deadly sin number 4:

Feedback, or the lack of it! Roughly 8 out of 10 contacts do not provide any feedback. They ask you for contact details, they ask for your CV, they ask to to fill some form or skills questionary, they might even ask you about your pet name. What they immediately want you to do is to “jump” into phone calls. Despite they hadn´t disclosed any relevant information on their side, except they are looking for a monkey that “knows” how to handle tool A and tool B. So, we do that, and we waist precious time just to never hear from them again. Not a “Yes”, neither a “No, sorry”, nothing! They are always in such a hurry to grab every single piece of information from you, but as soon as they have another (perhaps more promising) candidate, they instantly forget about you and pursuit the next victim. Many times you only figure out that the job is not interesting for you either, after diving into more deep on the process itself. Shame on you IT recruiter! That´s why developers in general do not like you that much.

- Deadly sin number 5:

Use an IT recruiter or a “specialized” IT recruitment company. Yes you read it right, it´s not a mistake or a typo. Do companies do not have HR departments anymore? It´s 2026, not 1990. Every company should have their own IT department anyway, with people qualified enough to handle or at least help on the process. Why all of the sudden every single company needs a “middle man” to hire a new employee or contractor. Is your CEO, IT or HR director not smart enough? Is it because your company does not speak “tech” dialect at all? Well, that can be a real problem if we end up “matching”, cause we will be talking different languages.

- Deadly sin number 6:

The technical / code test. Oh my God, the test! This is probably the worst of all. I will dedicate another entire article to this one alone.

I have no idea when or where this trend started, i guess it was somewhere in the last decade, probably in some sh**ty company, but let me say this is a complete nonsense for so many reasons that i cannot even remember them all. The main reason would be that we are about to start a business relationship where one of the parties simply does not trust the other and it clearly states it right from the beginning.

I´m the recruiter or someone representing the hiring party, you´re the developer. Your CV looks impressive, you have lots of apps on Google Play and And Store, i can see you´re really active on Github and similar platforms, but you know what? I do not trust or believe you. I see you have built all these apps and websites that i can easily check, and you say you have been working with Java and JavaScript languages for almost 20 years, but nevertheless i want you to make me this test app, for free. Cause i´m pretty sure you have nothing else to do, and we all know that all developers are simply nerds that love to write code for free and have no lives whatsoever. Don´t worry, it will only take you a week, and i have to make sure you really know what you say you know. What could go wrong. Worst case scenario, i don´t select you for the position, neither i contact you again or provide you any feedback about the outcome. Sure, this makes perfectly sense. Just like when a neurosurgeon is applying to a new Hospital he is first required to perform a brain surgery, for free, just to see how it goes, and to double check that instead he is not just a regular soccer player pretending to be a doctor. Why would software be different than all the other jobs in the world? I know, for no reason! Still, it is, for whatever reason.

- Deadly sin number 7:

Sins 1, 2, 3, 4, 5 and 6 altogether. Ok, i know, this is not really a sin on itself, but believe me, it happens, and i was not really sure about what to write here so... The items here listed are just some examples of what i think is wrong with tech recruitment these days. It´s not just the process but also the persons that are doing it. Everything seems way to focused on short term results, way too focused on technological trends that may come and go every year. Everything is so “standard” that leaves no room for innovation. Nobody is looking at the larger picture or timeframe. I cannot hardly imagine how young people leaving universities struggle to find a job in this industry. Sometimes it can get so ridiculous that they ask for more years of expertise on a given tool than the years that have passed since the tool was created (yes it happens, a lot). On the other hand if you have a broader expertise then is not so good either because you have not spent enough years working with the same tool, one of those currently listing on the top 3 of the “most popular”. We all know that to be a good professional in any medium you need to be doing the same thing for many many years, right? Or isn´t it?

Final thoughts

The Internet that started as the land of the free is becoming more centralized each day, and it almost seems that nothing else existed before giants like Facebook or Google stepped in, because we are forced to learn and use the tools they have created for their own specific internal needs, like if there were no other alternatives, and like if they were the only and true keepers of all the knowledge that exists. Sorry, but this is just too crazy to handle! The only explanation that i can find is that companies prefer a legion of blind “doers” that don´t think, instead of a legion of “thinkers” that can do (and do better). If they don´t know the effects of that on productivity and efficiency, on the long run, then i humbly suggest a little bit more of research before moving onto the next recruitment process.

I have to conclude that most companies are not actually looking for software engineers, they are looking for people with basic software development skills to follow whatever rule is feed to them, without questioning a single thing.

Next time, probably is also a good idea to focus a bit more on the candidate´s skills, in what he has already achieved and in what he is expected to achieve, given his skills or background experience. Consider also his personality, how he adapts and faces challenges, and how you think he will fit the company mindset as well. Don´t just overlook in search for a bunch of specific tool keywords on the CV. Just because he is using some fancy tool for more than 5 years, it doesn´t necessarily means that he doesn´t suck at it anyway. Of course, this is not a thumb or rule but you get the idea. By the way, those can easily be faked too, you know... Tools come and go everyday but people stay and also adapt and evolve. A good engineer will be able to build anything with any tool. It doesn´t matter if it has to be done with React, Angular, Vue, with SomeCrazyFakeFramework not yet invented, or just with some wood stick.

Choosing to glue your project (and your team) to a very specific set of instruments might not be the best idea for any side. Anyway, these are just my 2 cents, or in this case my “7 deadly sins” handbook.

Post cover
â—Ź

7 Bad Habits for Remote Workers

My list of 7 "don'ts" while going remotely

This is part of the series “7 Habits for Remote Workers”, from which you probably already read the first part; “7 Good Habits for Remote Workers”, if you haven´t done it yet, i strongly suggest you to check it out here.

I´ve been working remotely for the majority of my career as software engineer. When i started you could count by the fingers on the hands the number of companies open to hire remotely. This was more than a decade ago. I had one good shot and i took it. I still remember in these early days, when university colleagues or friends where often questioning me about that, wondering about “my secret”, and how could they achieve the same, or saying how lucky i was to be able to work from home. It was never about luck, it was more about mindset and the pursuit of a dream. This was, of course, long time before Covid-19 came along. Then the world changed forever and remote work was established as a perfectly legitimate option.

Now, don´t get me wrong, working remotely is not an easy task. Quite the contrary, it can be stressful and you might end up doing actually more work than you would normally do at the office. You need to have the correct mindset. Like everything in life, it has its “pros” and its “cons”. Social distance can be very hard to handle for many people. If you can´t stand long periods of time without interacting directly with another person, than remote work is not something you should ever consider.

But I´m not here to talk about the benefits or the downsides of remote work, I´m here to talk about the mistakes that every remote worker or wannabe must avoid at all cost. I picked a list of seven things to avoid, but I´m pretty sure there´s a lot more i could add. So without further due, here is my top list of things “Not to Do” when going remotely, assuming that you want to have a successfull career or business:

1 — Laziness.

Don´t get lazy. This is the number one priority. Just because you´re not at the office and nobody is watching you directly, it doesn't mean that you shouldn´ t be professional. On the contrary, exactly because no one is watching, you should work harder and proof your work. Take ownership of tasks and deliver the best you can in time. Work the same amount of hours as if you were on the office. Feel free to take short breaks as usual, they are necessary, but follow your schedule as planned. Don´t cheat, cause sooner or later it will came back to you.

2 — Wrong or busy environment.

Don´t work on the couch or in front of the TV. Get yourself a private room. Turn one division of your house into your own office. Go to some coworking space, at least from time to time, if you are lucky enough to have one nearby. Follow the schedules (again). Don´t sleep until 10:00 am, just because you can compensate in the evening. Do the regular nine to five if it's a full time job. Take the regular one, one hour an half to lunch. Again, be professional and act as if you were surrounded by colleagues.

3 — Browsing Social media.

Avoid social networks browsing at all cost. Twitter, Facebook, Instagram and similar, are pure weapons of distraction. Don´t open more browser windows than the ones you need for your work. Its very easy to get distracted if you´re not carefull. Turn off website and phone notifications. Focus on your work and be productive. Procrastination is your number one enemy. Use your lunch break to scroll through pictures of cats or dogs, or to connect with others if you have too.

4 — Overconsumption of food or beverage

Try to stay away from the kitchen or the refrigerator. It´s very easy to drink and/or to eat in excess when you have the stuff at the reach of your hand. Normally, on most offices, you either have to pay for your food or it is simply inexistent, what naturaly restricts its comsuption, but when you are at home its all in reach.

Its ok and even recommended to take short meals two or three times a day, but do it during your small breaks, faraway from the computer. That´s why the breaks exist too, you need to clear your mind and rest your brain from time to time. Don´t take food (specially food) to your desk while you´re doing work. You won´t notice the extra calories intake. It's not good for your health neither for your pocket. Now, about that coffee, i might disagree there.

5 — Lack of exercise

Stay active. It is very important that you do some sort of exercise, if not daily, at least 2 or 3 times a week. This could be a simple walk in the park, a short workout on the local gym, walking your dog, do some jogging, etc… The point is, that it doesn´t really matter what you do, as long as you´ re committed to do something.

If you´re not commuting you´re automatically becoming more sedentary. I would advise to workout on the morning. At least that seems to be what works best for me, but each person might have a different physiology. I always feel more energised if i start my day with some activity. Having a morning shower before starting to work might also be a good alternative. Whatever you do, just don´t get out of bed and immediately sit in front of the computer or desk.

6 — Try to chew more than you can bite

This is another golden rule. I know it can be tempting to have more than one job as you have the freedom (most of times) to manage your own time. But is also very important that you don´t take more tasks or projects than the ones you can confortably handle. If you are rolling a full time job i would not advice to take any other offers that might appear, unless is some part time gig that you can deliver after the regular work hours or even at weekends (i would also not advise to work on weekends nevertheless, they exist for a reason; to have some rest and enjoy life).

The only occasion i would feel confortable to have more than one job at the same time is if both are part time jobs that do not overlap with each other. Overlapping projects can be exhausting and confusing, specially if you work on completely different things that require different tools or technologies. It will mess up your brain and you will need it to stay sharp and focused, specially when you´re not interacting with other people directly. Perfectly executing different multiple tasks at the same time is almost impossible. Something will eventually suffer.

7 — Work in your pyjamas

You should never work with your pyjamas on. Some studies made during the pandemic found out that working from home in pyjamas does not lower productivity. However, it could be linked to a poorer mental health. I´m always a bit skeptical about these studies because it depends a lot of the person, and his natural predestination to adapt to a remote work environment. However i strongly believe that you should keep your working habits as clean as possible.

I would say it is allowed to wear more comfortable clothes (there is no need for a necktie obviously) but never ever stop dressing yourself to start working. Remember, the goal is to do the same exact routines as you would do on a regular job at the office, with the advantage of having a little bit more freedom and less stress (only if you manage it correctly). Wearing only pyjamas and sandals is not the way.

And this concludes my top picks. There are a lot more “dos” and “don´ts” in what concerns to remote work, but like many things in life this is not rocket science. What works for one person might not work for the other. Its up to each one of us to find out what works best. Its a neverending learning process. After more than a decade working from home, i still find myself learning and improving from my own mistakes.

Post cover
â—Ź

7 Good Habits for Remote Workers

My list of tips for a healthier remote career

I´ve been a remote worker for a decade more or less, but that was a choice i made for my own career. One leap of faith that i don´t regret whatsoever.

Unfortunately, these days many people are being “forced” to work remotely not by their choice, but due to the infamous Covid-19 pandemic. Don´t get me wrong, i am all in favour of remote work, and i think it is the future for most jobs, but i just feel bad that for those people where it is something imposed by the circumstances. I know that the change might feel overwhelming for some. Most will not be prepared and it will feel like a shock, for many companies it will be the same thing. But anyone or any company that wants to strive in the coming years will have to adapt to this nee reality, and do it quickly, or they will be left behind on the ongoing digital revolution.

And for those whom the adaptation might not be as straightforward as it was for me i decided to write some hints. Some people will enjoy remote work, some people will hate it, some others will love it and will never want to look back anymore, but at the end we all have to embrace it somehow, cause this trend is the future and it is here to stay, even long post Covid-19. All those “remote while Covid-19 only” job posts that we can find these days are just pure waist of time. Those are from companies that will be left behind. They are just surviving and navigating the current tide, but they are not really preparing themselves for the future. And who knows how many more pandemics or other disrupting events are waiting for us on the road ahead?

We already spend big part of our lives connected to the Internet, and smartphone devices are always near by, over the years they have become some sort of extension of our own bodies, so this will feel even more natural for existing younger and upcoming generations. Most of our jobs already rely heavily on technology (computers), for decades, even commerce is already “e-commerce” for quite a while. It was already inevitable, but the process just accelerated drastically.

In order to succeed as a remote worker you have to keep in mind several basic rules, this is just a short list that i compiled based on my own experience, there´s plenty more to it and each individual is different, so think of them as a quick reference to help you out:

1 — Always have a schedule.

Even if you´re not really an employee of a third party company, and you´re just working on your own, as a freelancer, contractor, whatever… always, but always have a working schedule. Even if you´re not doing the standard “9am to 5pm” day you should have a “regular working day”. Do not work whenever you feel to, do it as if you were at the office. Personally i do the regular working schedule (or close enough anyway) and i take the standard 1 hour to lunch. Of course, there is always room for some flexibility but don´t move too far from the track.

2 — Always have a proper working space.

Even if you´re working at your own home, you should always have a dedicated room. Do not work on the couch, on the kitchen, on your bedroom, etc… Do it on a separated and dedicated division. Make it comfortable, personal, and cosy enough, but without unnecessary distractions.

3 — Avoid distractions.

Avoid any distractions that you would not normally have while working at the office. So for instance Television and Social Media browsing are completely out of the question. Stay focus and stay professional. Even if no one is watching you (yes, i know, there are also those “remote workers spy software tools”… and i´ll deal with those on another article) always do your job as if you were in a room full of other people watching. Remember, it´s called remote work, so you should be working.

4 — Take small breaks.

When working at home is also very common that you forget to take the necessary breaks. After all there are no colleagues inviting you and you are so comfortable that you might even think that you don´t need those breaks. This is particularly important if you´re seated and staring at a computer screen for many hours. It´s not good for your health and if you were at the office you probably would be doing the same breaks; for a coffee, for a cigarette, for a glass of water, etc, etc. So there is no reason why you should not be doing the same. Neither more, neither less, just keep doing it the usual way.

5 — Exercise. Take care of your body and mind.

Having a workout routine is also very important to keep you mind and your body in shape and harmony. You´re not commuting, so you probably will be more sedentary just because of that alone. Either go for a short walk, run a little bit, lift some weights, got to the local swimming pool, whatever. Do whatever you enjoy the most, but do something. Personally, i have a small gym on the garage and i like to lift some weights after breakfast, but on some other days i just go for a short 30 minutes outdoor run, slow paced cardio, empty stomach. That´s how i like to burn those extra calories. In my opinion the best time of the day to workout is right after getting out of bed, and so before starting to work. I guarantee you will feel more energized throughout the day. Do this at least 3 or 4 days per week, if not on a daily basis.

6 — Eat healthy and stay hydrated.

It is very easy to be tempted to hit the fridge or that crispy cookies package more often than usual, just for the sole reason that they are more in reach than they would be while working at some office, and nobody is watching right? Well, that is not so good for your health either, so pay close attention to that. Do not break neither cheat your normal diet. In fact, if you have your own food around, this is probably an advantage, as long as you make the proper choices, unlike while at the office, that you cannot actually change much of the environment. There also some useful mobile apps that can show you reminders and keep you on the right track, either for eating, for drinking, or just to tell when is time to take the ass of the chair.

7 — Find the perfect spot.

Last, but not least. “Remote work” is not exactly the same as “work from home”. Most jobs these days only require an Internet connection. This is particularly true on my area (IT and software development). So, from time to time it is also good to move your office to some other place, and change the view, sort of speaking. These days is very easy to find free Wi-Fi hotspots everywhere, or you can also take the Internet with you on a small and costly USB drive. Rather you are on a big city or in the middle of nowhere it is not that difficult to find a nice and quiet place where you can do your work. You can do it for a single morning, for an afternoon only, or do it for an entire day.

There are more good habits that i know of and that i could add here, but i think these are probably the most important ones to keep you on the right track. If you´re just starting i´m pretty sure these basic rules will make the transition easier for your. And if that is realy the case and you´re new to remote working then let me say: Welcome to the revolution! Enjoy the road ahead cause this is the road of the future!

If you like this article please share it with others. Have a nice day and grab a coffee!

Code on screen
â—Ź

Building for Scale: Lessons from Web3

What I learned architecting distributed systems that serve millions of users across multiple blockchains.

The Challenge

When you're building infrastructure that needs to work across Ethereum, Polygon, and Solana simultaneously, you quickly learn that "move fast and break things" isn't a viable strategy. Every decision compounds.

The real challenge isn't just handling the load—it's maintaining consistency across chains with different block times, gas models, and finality guarantees. Traditional database transactions don't cut it anymore.

What Actually Works

Event sourcing. Not the buzzword version—the real, unglamorous work of treating blockchain events as the source of truth and building everything else as projections. It's more code upfront, but it saves you when things go sideways (and they will).

We ended up with a three-tier caching strategy: Redis for hot data, PostgreSQL for reliable reads, and direct RPC calls only when absolutely necessary. The trick is knowing which tier to hit first.

The Human Part

Technical architecture is only half the battle. The other half is building systems that your team can debug at 3am when production is on fire. That means logging that actually helps, error messages that point to the problem, and documentation that people will actually read.

Developer workspace
â—Ź

Why I Still Write Backend Code

In a world of no-code platforms and AI code generators, here's why I believe craftsmanship still matters.

The Abstraction Trap

Tools that promise to abstract away complexity often just move it somewhere else. You trade understanding your database queries for understanding someone else's ORM magic. You trade HTTP debugging for middleware configuration archaeology.

Speed vs. Velocity

Moving fast is easy. Moving fast in the right direction is hard. Every abstraction layer you add makes it easier to build the wrong thing quickly. Sometimes the best productivity hack is understanding what you're actually building.

I've seen too many projects sprint for months only to realize they built on sand. The foundation matters. The details matter. The craft matters.