Skip to main content

Why the ACM Code of Ethics Matters More To Me Than Ever


Why the ACM Code of Ethics Matters More Than Ever

During my time studying Computing at Sheffield Hallam University, one of my tutors introduced me to the ACM Code of Ethics. At first, it felt like one of those documents that sits in the background, important in theory, but easy to overlook when you’re focused on building projects and learning technical skills. But the more I worked on real systems, especially those involving data and IoT, the more I realised how relevant it actually is.




The ACM Code of Ethics puts a strong emphasis on doing work that benefits society and contributes to human well-being. That idea has stuck with me. It sounds simple, but in a world where technology can be used in so many different ways, it’s actually a powerful filter for decision-making. Just because something can be built doesn’t always mean it should be built. The question becomes: who does this help, and is it genuinely improving things?

All of my projects so far have been guided by that mindset, even before I fully understood where it came from. For example, I’ve worked on systems designed to test water quality and help monitor environmental conditions. I’ve also been involved in projects aimed at supporting an organic farming co-op, using IoT devices to collect and analyse data that can help improve crop management. These kinds of applications feel worthwhile because they solve real problems for real people.




One thing I’ve become increasingly certain about is what I don’t want to work on. I have no interest in collecting biometric data from random strangers or even from people I know, especially without a very clear, ethical justification. There is a growing trend in tech to gather as much data as possible simply because it’s valuable, but that approach raises serious questions about privacy, consent, and long-term impact. The ACM Code of Ethics makes it clear that these concerns shouldn’t be an afterthought they should be central to the design process.




What excites me about technology is its potential to improve everyday life in practical, meaningful ways. IoT, embedded systems, and software development can be used to make systems more efficient, reduce waste, and save people time. For example, improving energy efficiency through better monitoring systems can reduce both costs and environmental impact. Optimising workflows can help workers spend less time on repetitive tasks and more time on meaningful work. Even something as simple as reducing unnecessary travel through better data and coordination can have a significant cumulative effect.


There’s also a huge opportunity to make services more accessible and cost-effective. With the right systems in place, it’s possible to deliver better outcomes using fewer resources. That’s not just good engineering, it’s good for society. It means that more people can benefit from services that might otherwise be too expensive or inefficient to provide.

The ACM Code of Ethics reinforces the idea that as developers and engineers, we have a responsibility that goes beyond just writing code. We are shaping systems that people rely on, often without even realising it. That comes with a level of accountability. It means thinking carefully about the impact of our work, not just in the short term, but in the long term as well.




For me, the goal is straightforward: use technology to make things better. That could mean improving efficiency, reducing environmental impact, or helping people make better decisions through access to data. It doesn’t have to be complicated or ground breaking, it just has to be useful and ethical.

Looking back, being introduced to the ACM Code of Ethics was more important than I realised at the time. It provided a framework for thinking about the kind of work I want to do and the kind of developer I want to be. In an industry that moves quickly and often prioritises innovation above all else, having that kind of grounding is essential.




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 ...

Learn Universal Communication By Learning Esperanto

1. Begin with the 16 “rules” of Esperanto and its simple grammar Start by immersing yourself in the concise foundational rules of Esperanto: its phonetic spelling , predictable affixation, and regular verb system make it far easier to grasp than many natural languages. For a clear overview of why Esperanto is easier to learn than typical languages, see Why Learn Esperanto? (Lingolia) which outlines its regularity and simplified grammar. ( esperanto.lingolia.com ) 2. Use a structured online course to build vocabulary and grammar Enroll in a free, guided Esperanto course such as Transparent Language’s Esperanto module (which offers vocabulary lists, interactive exercises and listening tasks) to build a solid grammar and vocabulary foundation. ( Transparent Language ) 3. Complement your lessons with the community platform Lernu! Pair your formal lessons with practice on Lernu! , the free multilingual Esperanto learning site, which offers exercises, multimedia, dictionaries, and a...