Skip to main content

Why Giving Advice Is Easier Than Doing the Work (Especially in IoT and Embedded Systems)

Why Giving Advice Is Easier Than Doing the Work (Especially in IoT and Embedded Systems)

☝☝☝☝

It’s something I’ve become increasingly aware of while working on technical projects: giving advice is often far easier than actually doing the work. On the surface, a suggestion can sound simple, logical, and even obvious. But once you’re the person responsible for implementing it, the reality quickly becomes more complicated. This gap between theory and practice is something every developer eventually encounters, and it’s particularly noticeable in hands-on fields like IoT and embedded systems.


When someone isn’t directly involved in a project, they don’t carry the same constraints. They’re not dealing with the specific hardware limitations, firmware quirks, time pressures, or integration challenges that define the day-to-day reality of the work. As a result, their advice can be well-intentioned but disconnected from what is actually achievable. It’s easy to recommend a clean solution when you’re not the one responsible for making it function under real conditions.

This becomes especially important when working with IoT networks. On paper, connecting devices, transmitting data, and visualising results sounds straightforward. In practice, however, there are countless points of failure: unreliable connections, inconsistent sensor readings, power constraints, and communication protocols that don’t always behave as expected. What looks like a simple architectural decision can turn into hours or even days of debugging.



Embedded systems take this challenge even further. When firmware is involved, you’re no longer just writing code, you’re working directly with hardware behaviour. Timing issues, memory limitations, and low-level bugs can all influence whether something works or fails. A suggestion that sounds perfectly valid in theory may not account for these constraints, and implementing it can introduce problems that weren’t visible at the outset.

One of the most frustrating situations is when someone confidently says, “That definitely works,” only to discover that their knowledge is based on outdated information. In fast-moving technical environments, especially with microcontrollers and supporting libraries, things change quickly. Firmware updates, library changes, or hardware revisions can break previously working solutions. What worked a year ago might no longer apply, and relying on that advice can lead you down an unproductive path.


The real cost of this isn’t just technical, it’s time and momentum. Following a recommendation that doesn’t hold up in practice means backtracking, rethinking your approach, and sometimes undoing hours of work. This can be particularly difficult when you’re trying to make steady progress on a project, only to find yourself dealing with the fallout of a decision that seemed reasonable at the time.



That said, this doesn’t mean advice is useless, far from it. Advice can be incredibly valuable when it’s grounded in current, relevant experience. The key is learning how to evaluate it. Asking questions like “When did you last use this approach?” or “Was this on similar hardware?” can help you determine whether a suggestion is worth pursuing. Over time, you develop a sense for which ideas are likely to translate into working solutions.


Ultimately, working on technical projects teaches you something deeper than just coding skills: it teaches judgment. You learn to balance external input with your own understanding of the system you’re building. You become more cautious about implementing suggestions without testing them, and more confident in trusting your own observations. And perhaps most importantly, you realise that while advice is easy to give, the real expertise comes from doing the work and dealing with the consequences when things don’t go to plan.


If you are the project manager and the software developer for your own project or a group project when you are doing most of the work it's OK, but don't do both jobs simultaneously, it's not possible. Do your project management jobs first, you need to get them completed before you can get into the technicalities, then use a pen and paper notebook to write down your own plan with instructions for yourself. Now that you've got a goal, a direction, development targets and a design for overall system you can get into your own developer mindset and focus on that for hours, occasionally referring back to your own written instructions when required.



Comments

Popular Past Posts

Meet Cuthbert Baines: A Passionate and High-Achieving Professional Programmer

   Hello, and welcome to my corner of the internet! I'm Cuthbert Baines , a seasoned computer programmer with a passion for solving complex problems and building efficient, scalable software. With years of experience in the industry, I’ve honed my skills to not only deliver high-quality code but also to contribute meaningfully to projects that push the boundaries of technology. My Journey into Programming I’ve always had a deep curiosity about how things work, which led me to the world of computer science and programming. From my first lines of code to tackling challenging algorithms, the journey has been a rewarding one. Over time, my focus has expanded to include full-stack development , machine learning , and software architecture , but the heart of my work remains in solving real-world problems with clean, maintainable code. What Sets Me Apart? As a professional programmer, I pride myself on a few key principles that guide my work: Attention to Detail : Whether I’m...

A Beginner’s Guide to AI & Machine Learning Terms (No Tech Background Needed!)

📶💻💹 Artificial Intelligence (AI) and Machine Learning (ML) are terms that are used by a lot of people but do you know about the technical nuts and bolts of how they actually work? If you don't that's OK, — I’ve broken down some of the most common terms you might hear in the world of AI/ML into simple explanations anyone can understand. Plus, if you're using Google Colab , there's a built-in AI assistant called Gemini that can help you understand and write code but you need to know the right questions to ask it first.   1. NLP (Natural Language Processing) 🎤🎧 NLP is a branch of AI that helps computers understand and work with human language. Think of it as the technology behind things like chatbots, language translators, and voice assistants like Siri or Alexa. It allows machines to “read” and make sense of text or speech, just like we do. 2. BERT (Bidirectional Encoder Representations from Transformers) BERT is a special AI model developed by Google that ...

Reintroducing Cuthbert Baines For Anyone New In His Network

 Reintroducing Cuthbert Baines For New People In His Network As a recent IT graduate I'm new to the IT industry so I don't have the kinds of professional connections I need to be given a head-start, I'm one of the many new IT graduates applying for the relatively few  graduate jobs out there.  I am prioritising my personal and professional development right now.  I wish I had gone to University 20 years ago but for reasons outside my control I was written off at 16 so I missed out.  I don't give up easily up so I finally went to Hallam University when I was 35 and got a 2.1 in computing in 2025, now I'm willing to go the extra mile and do what needs to be done to make up for lost time!  I had to get a job when I was 18 so I've got the professionalism, life experience and wisdom of a (late) 30-something who's worked his entire adult life combined with the youthful intellectual energy of an explorer and a pioneer new to the IT sector with his own fresh innov...