To STEM or not to STEM

Rodrigo Zarate Algecira
4 min readFeb 13, 2022

That`s the question

Science, Technology, Engineering, and Mathematics (STEM)

What does “STEM” mean?

An acronym is a word made out of the first letters of some other words, in this case, the original words are Science (there we got the S), Technology (there we got the T), Engineering (there we got the E), and Mathematics (to get the final M). We can start talking about STEM as an acronym that groups some fields of knowledge, but why are these fields arranged together in a single word?

Answer this question requires a deep understanding of how the world behaves today. At almost any place, you can find machines doing very coordinated tasks. Those machines are designed, tested, and created based mainly on the STEM disciplines.

You need Science to develop the semiconductors that run the silicon industry, you also need Engineering to design more powerful machines, you need to be involved with Technology to reach new fields, and of course, you need Mathematics to control the fundamentals of everything.

Having a background in STEM areas can leverage your ability to create new devices for this new era, STEM is intentional, which means that is not the usual system used to develop a career, when we talk about STEM there’s an effort to immerse the students in an environment that focus over this disciplines to investigate and engineer solutions to problems. This evidence-based approach is nowadays the preferred method for problem-solving in the tech industry.

The extra effort is needed because the actual teaching methods do not satisfy the demand for workers with highly developed skills in STEM areas.

Why is Low Level Languages and Algorithms an important one in STEM fields?

Machines work today based on Mathematics that defines the algorithms that control their behavior and responses. The Low-Level-Languages are the way we found to tell instructions to those sophisticated machines, using binary codes out of ones and zeros we built a path to store and mix information inside these machines. That why understanding the Low-Level-Languages and Algorithms is key in the STEM approach

An algorithm is a set of steps that if followed in specific order will give you the desired outcome, let’s think about the turns and straights you follow when someone gives you directions. Cooking a recipe it’s also an algorithm, in computer science, the need for algorithms exists because of the way computers work. They will do what you instruct them to do, nothing more, nothing less.

What makes Low Level Languages and Algorithms interesting and unique?

Solving problems is one of the goals of the algorithms, learning a way to create them will give you a powerful tool to drive through life. You can spect to gain a well-waged salary working in this discipline, as the skill is high in demand and the workers trained are not enough.

Learning to code algorithms is a great way to gain a deep understanding of software, as you start from the bottom up.

What makes Low Level Languages and Algorithms role similar to others?

As with other roles like Full-Stack Web Developers, Machine Learning Developers, and some others, there’s some degree of similarities when working on developing any solution. The elements used, the concepts, even the tools could be the same. You’ll find a big common area that allows interaction and knowledge sharing.

What specific programming languages and tools could one expect to work with in Low Level Languages and Algorithms position?

Daily working as a Low-Level-Languages and algorithms role will use whiteboarding. Code editors will always be at hand, and developing environments to test new features or solutions is a must.

Linux becomes your best friend and C will help you along with your career, advanced algorithms and complex data structures will be at your table very often. Embedded systems are always part of the fun.

What is an example of a problem or a challenge someone in Low Level Languages and Algorithms role could solve or be asked to work on?

The kind of tasks that someone in this role could do covers an extense area. You can be asked to design the algorithm to determine the best way to dispose schedule of metro wagons over stations. You can be asked to design a model that determines the weight of a load of a washer machine based on the data obtained from the motor sensors. You can be asked to engineer an algorithm to determine the faster way to find a bicycle inside a parking lot. The list can be raised to infinity and beyond.

What are some positives and negatives about Low Level Languages and Algorithms position?

Positives of this role are the well-waged salary and the high demand on the market.

Negatives are that you need a solid math background, that will always remove a lot of candidates. You also need deep abstraction capabilities.

Links

--

--

Rodrigo Zarate Algecira

In the path of Programming #AgriculturaUrbana $rodrigozarate Instagram: agromerlin