A little STEM … Software development

Martin Corredor
4 min readMay 24, 2021

As children, we dreamed of being firefighters, soccer players, chefs … but the truth is that when we reach the necessary age, we make other decisions about what we want to be based on our experiences, skills, abilities, and ambitions.
We are all different and we develop different skills depending on the guide we have, that is why some are good at playing instruments, others are good at sports, others in science …
This guidance and/or education we receive is key to our future and our performance in society. Although all professions fulfill their role within society, from the engineers who make it possible for a rocket to travel to Mars, like a teacher teaching in a school, like a peasant sowing the field, to an artist creating a beautiful sculpture; the backbone for the development of humanity is ITEM professionals.

For those unfamiliar with the acronym, STEM stands for Science, Technology, Engineering, Mathematics. STEM education is based on preparing students to develop their logical thinking, initiative, and creativity to solve problems.
STEM workers use their knowledge of science, technology, engineering, or math to try to understand how the world works and solve problems.

There is a constant demand for people with these skills to fill jobs in this niche. Among many others, you can find work such as:

  • Programmer
  • Software developer
  • Logistician
  • Electrical engineer
  • Petroleum engineer
  • Civil engineer
  • Physical
  • Medical Scientist
  • Data scientist
  • Animal scientist
  • Software engineer
  • Bio-medical engineer
  • Conservation scientist
  • Life scientist
  • Geoscientist

From this point, we will focus on the role of the software developer.

Humanity evolves at an abysmal rate and especially in the area of technology, 20 years ago the first computers appeared, and with them a new way of communicating and seeing the world: the internet.
The importance of software development lies in the need to create innovative applications that help people to adapt to this new world of technology, to navigate through it naturally. The main challenge of software development is solving user problems.

The role of the software developer is often mixed with other roles, such as programmer, web developer, or software engineer, and it really is fine because they are all dedicated to the same job, solving problems related to software, the difference between these lies in the specific tasks they perform in a company along with the focus of those tasks.

What makes software developers special is being able to conceive and develop computer systems (software packages), as well as implement and fine-tune them, using one or more programming languages.

You need a list of specific things you need to learn if you want to dedicate yourself to development:

  1. Programming. OOP (Object-Oriented Programming) and FP (Functional Programming), in the language of your choice, but preferably in the ones most used: Java, Python, JavaScript, C #.
  2. Databases. Almost any application needs to store information, and it usually ends up in a database. I recommend SQL.
  3. Hardware and networks. Understand the differences between cache, RAM, disk memory, know what it is to access data locally or on a server. Learn about IP addresses, internet protocols, HTTP.
  4. Version control systems. To build any application you will find many documents to handle, it is important to know how to handle their versions, upload new changes, download them, etc., I recommend Git.

To give an example of the many problems that a software developer solves I will quote part of the article written by Stephanie Nweke talking about the story of Adrienne Tacke:

“Later, while working as a developer at Healthcare Partners of Nevada, she developed an application called “Clinic Wait Time,” improving accessibility in Las Vegas medical clinics for the geriatric population they serve. Many patients complained about not being able to read the text on the screens in the waiting rooms, which Adrienne addressed by improving legibility, including estimated wait time, and adding doctor photos. Adrienne’s work was deployed to several clinics throughout Las Vegas, reaching hundreds of patients.”

Some of the advantages of being a software developer are the good pay rate, the constant learning curve (there is always something new to learn), the skills are transferable, comfortable work environment (most companies allow remote work from home After this crisis with the pandemic, the companies that did not do so had to adapt to this methodology anyway).

Some of the disadvantages may be stress because you are faced with solving problems, so sometimes it is not easy to find the solution, for this reason, it is important to have the skills to do so. You will be faced with sitting in front of a computer all day, so for some people, it can be frustrating.

--

--