Skip to main content

Posts

Showing posts with the label Software

I'm Just Trying to Get Better at Everything

I'm Trying to Get Better at Everything (and Accidentally Building another IoT Network at the same time) I don’t really know where I’m going in tech yet — and for a while, that bothered me. There are so many different paths: backend engineering, embedded systems , web development, networking… and it feels like everyone else has already picked a lane.  I’m trying to see that as a strength rather than a weakness. Instead of specialising too early, I’ve been focusing on getting better at as many areas as I can. Not in a scattered way, but by building things, testing them and testing myself as I go. One of the best examples of that mindset has been my recent dive into IoT . How I've Ended Up Building another IoT System Someone told me about their business idea and it involves IOT which was a big part of my course at Hallam University so I told him that I'm probably the ideal person to build him a prototype IoT system that he can present to his potential funders.  He knows more ...

My Journey of Learning C++ with LearnCPP.com

  My Journey of Learning C++ with LearnCPP.com  💪💪💪 As someone who's always been curious about programming, I decided it was finally time to dive into learning C++. It's a powerful language used in everything from game development to system programming , and I wanted to broaden my skill set. After some research, I stumbled upon LearnCPP.com , a website that seemed like the perfect place to get started. It’s a comprehensive, step-by-step guide to mastering C++, and it has become my go-to resource as I venture into this new programming language. What I love most about LearnCPP.com is how well-structured the tutorials are. The site breaks down each concept in a way that’s easy to understand, even for someone like me who's just starting out. It begins with the basics, things like variables, data types, and loops, gradually moves into more advanced topics like memory management , object-oriented programming , and multi-threading . Each section is designed to build on the pre...

Does Cuthbert Have What it Takes to be a Data Analyst?

I have always been good with numbers, when I was at school I did my Maths GCSE a year early and got a B. Unfortunately I had a lot of bad things going on in my life at the time so I didn’t go forward with University at that time.  Fast forward a decade or two and now I’m a recent graduate from Hallam University , I went there as a mature student to do a degree in computing and the course involved loads of data related modules. During my Computing course at Hallam University I spent a lot of time learning about data, databases, data cleaning , data processing, data management, data analytics and data visualisations . The course also involved a number of assignments that included a power point presentations in front of tutors and answering their questions about the work afterwards. Presentations were something I was very comfortable doing. I learned to collect raw sensor data using a Raspberry Pin (or from a pico using micropython/circuitpython), I learned that it is absolu...

Why Would Cuthbert Baines Be The Ideal Solutions Architect?

Why Would I be the Ideal Solutions Architect? 🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔 In today’s fast-moving technology landscape, organisations need more than just technical expertise - they need strategic thinkers who can bridge the gap between business goals and technical reality. A Solutions Architect must translate complex requirements into efficient, scalable, and maintainable systems, while communicating effectively with technical teams and stakeholders alike. I believe my journey — from a mature computing student at Sheffield Hallam University to a creative problem-solver with hands-on experience in software, hardware and real-world projects - uniquely positions me for this role. A Solid Technical Foundation My journey into tech wasn’t traditional — I returned to study computing as a mature student, driven by curiosity and a passion for solving problems in elegant, efficient ways. On my GitHub profile , I describe myself as “The Man of Many Moments” — which reflects both my varied interests in...

Advice For Beginners To Get Up and Running with Python

1. Why a Proper Setup Matters Before diving into code, a structured setup helps you avoid “spaghetti” projects that become hard to maintain. Using a virtual environment ensures your dependencies are isolated (so you don’t clash with system Python or other projects). Having a clear skeleton (separating imports, variables, functions, and “main program logic”) gives you and future readers a map of where each piece lives. Many software engineering experts emphasize that good architecture up front can save you enormous friction later — clean structure is one of the foundations of maintainability . ( Ciklum ) 2. Creating a Virtual Environment  💾💻💹 Here’s a typical workflow: Open your terminal / command prompt in your project folder (or create a new folder). Run (for Python 3): python3 -m venv venv This creates a directory venv/ (or whatever you name it) containing the isolated Python environment. Activate it: On macOS / Linux: source venv/bin/activate On Window...

Stop Trying to Be the Best in Class, Stay Focused on Raising Yourself to the Next Level

Stay Focused on Raising Yourself to the Next Level Software Development  In the world of tech, it's easy to fall into the trap of comparing yourself to others. Maybe it's the developer on your team who seems to solve problems twice as fast, or that person on Twitter who contributes to five open-source projects and still has time for a blog and a podcast. But the truth is, trying to be the “best” in class is a moving target—and a distracting one. A more sustainable and rewarding mindset is to focus on raising your own level, day by day. Progress, not perfection, is what actually moves you forward. One of the most powerful habits in tech is deliberate practice . It's not just about writing more code; it's about writing it thoughtfully, reflecting on what went wrong, and iterating. Whether you're learning a new language, framework, or debugging a tricky issue, take time to understand why things work the way they do. Set mini-goals for yourself like “understand closur...

Habits of Productive Programmers

 Introduction When we think of great programmers, we often picture long nights of coding, complex algorithms, and coffee-fueled problem-solving. But what truly separates the most productive programmers from the rest isn’t just skill — it’s discipline. One of the most effective habits they cultivate is the practice of deliberate time blocking — a focused approach to managing work sessions and avoiding the chaos of constant context switching.  ☝ The Power of Time Blocking Time blocking involves setting aside specific chunks of time dedicated to deep, uninterrupted coding. During these blocks, programmers silence notifications, close unrelated tabs, and focus solely on the task at hand. This technique helps them enter a state of “flow” — that powerful zone where creativity, logic, and problem-solving converge effortlessly. Instead of scattering attention across multiple tasks, productive programmers give their full cognitive energy to one priority.  ☝ Protecting Focus i...