STEM- the What, the Why, and the How
You’ve likely heard the term STEM, but what does it stand for?
STEM is an acronym for science, technology, engineering, and math. These four fields share an emphasis on innovation, problem-solving, and critical thinking. And together they make up a popular and fast-growing industry.
Most STEM workers use computers and other technology in their day-to-day jobs. Many also use the scientific method to test hypotheses and theories.
Read on to learn more about the different kinds of STEM topics you can study and why these fields are so important in today’s economy.
The What
Going by the generic definition that pops up on googling, STEM is an acronym for Science, Technology, Engineering, and Mathematics — the disciplines which help the economy to thrive and ensure a healthy society. But, what does it really mean?
STEM, more precisely STEM education is an amalgamation of the four above mentioned disciplines in such a way that one is able to relate to the real world and develop skills such as curiosity, creativity, critical thinking, problem-solving and innovation skills. These skills are imperative to keep up with the pace at which the world is advancing.
What Are STEM Fields?
STEM comprises the following major areas of study:
- Natural, physical, and life sciences (sometimes including medicine, sometimes not)
- Computer, electronics, and other technology-related disciplines
- All types of engineering
- Mathematics, or any field involving a heavy application of mathematical principles
The Why
Let’s, however, step back for a second here; if children study these disciplines rigorously as subjects in schools then why integrate them? The reason behind this is that nothing in the world functions purely based on only one of them. Mathematics is the language that science uses to express itself. When these two marry, they give birth to technology and engineering, the fields that use their parents, i.e. science and mathematics, to create products and services that attend to our needs. These disciplines, therefore, are more connected, than separated. Moreover, studying these disciplines in an integrated form helps children visualise the world and understand it better, which would in turn help them develop a sense of responsibility towards it and contribute to its amelioration.
We will always have STEM with us. Some things will drop out of the public eye and will go away, but there will always be science, engineering, and technology. And there will always, always be mathematics.
-Katherine Johnson, Physicist & Mathematician, NASA
The immediate question that pops up is: ‘If it is this important, then why isn’t STEM as prominent as it should be?’ The answer lies in its awareness among the masses and the availability of right and sufficient resources to implement it. In numerous countries, neither are the persons truly aware of STEM, its importance, and its advantages, nor has an effective system been developed (yet) to efficiently incorporate STEM into the existing curriculum in schools to make help pupils develop the required skills. As a result, the gap between the number of existing STEM jobs, which keeps on multiplying, and the number of graduates with the required skill set has been widening since long, slowly transforming into a gorge which may become difficult to traverse if this continues. According to Pew Research Center, only about half of the graduates with a degree in a STEM field end up choosing a non-STEM career despite the fact that STEM workers earn 24% to 25% more than their non-STEM counterparts with a similar education level.
The How
The battle’s not lost yet. With increase in cognizance of its benefits schools, institutions, and governments across the globe have begun taking steps in the right direction with initiatives to spread awareness among people, to find ways for developing curriculum that can be used in educational institutions, and to train and prepare educators for efficaciously educating pupils and transforming them from passive consumers of technology to active contributors to the same.
Barack Obama, the 44th President of the United States, launched the Educate to Innovate campaign in 2009 to motivate and inspire the youth of America to excel in science and mathematics. Likewise, in a bid to make its impact on the world with a vision to cultivate 1 million children in India as neoteric innovators, NITI Aayog, the think tank of India, has established a network of Atal Tinkering Labs (ATLs) under the Atal Innovation Mission (AIM) with the objective to endorse STEM system of education across India.
Full-Stack Web Development
In today’s post, the focus will be centered on Full-Stack development which is part of STEM careers. maybe you have some idea of what we mean when we say Full-Stack, or maybe you have a misconception of what a Full-Stack developer is and what he/she does. Commonly, Full-Stack development is divided into 2 parts, the first one being Fronted development and the last one being Backend development, meaning that a Full-Stack developer must take care not only with the part of the system that interacts with the user but also with the part that interacts with data and business logic, providing them with the ability to understand almost the entire system. To give a better understanding of what we mean with frontend and backend, pay attention to the following picture:
Just focus on the two parts the image is divided into, on the left side we can see a computer, which in this example is our client, and on the right side, we can see something that most people are not familiar with, which is a server, keep it simple, a server provides functionalities for clients to consume.
Front end: This is the visible part of a website or web application that is responsible for user experience. The user directly interacts with the front-end portion of the web application or website.³
Back end: Refers to the server-side development of web applications or websites with a primary focus on how the website works. It is responsible for managing the database through queries and APIs by client-side commands. This type of website mainly consists of three parts front end, back end, and database.³
So, as you might be thinking:
Full-Stack Development: Refers to the development of both Front-End(client-side) and Back-End(server-side) portions of web application³
Well, now you know what Full-Stack means, so, based on what we know now, let’s take a step further and solve some questions related to this developer position.
Why is Full-Stack important?
Internet is a powerful tool used by millions of people each day, it helps to connect users and businesses and it also supports thousands of thousands of transactions, giving users the ability to buy online, businesses know this and that’s why they’re getting online too, but to so, they need some help, the kind of help that a full-stack developer could give. Businesses always want to become better in their market, in the digital world that we live in now is essential that they have a digital presence to maintain the business competitiveness, because of his/her understanding of how a system and the internet works, a full-stack developer can help businesses to make that happen, keep them competitive and adapt their processes to the digital world.
Today, companies are looking for innovative and action-driven talent for website development. There are many web developers, but real and best Full Stack developers are harder to find. They are looking for highly talented employees who can bring flexibility and promise more efficiency. They want someone who can do multitasking tasks and save money on their business by investing in someone who does both web development tasks!⁴
What makes Full-Stack interesting and unique?
A full-stack developer is comfortable working in back-end and front-end, meaning that it knows enough to build entire apps by putting each part of the system together, this gives full-stack developers a whole range of opportunities and also the ability to put his/her skills on interesting projects, we could say that the imagination could be the limit for a good full-stack developer, the fact that a full-stack can work in front-end and back-end does not mean that he/she knows every single detail of each technology, it means that is a person that has a lot of experience in both parts and knows enough to understand what is going on with each of them.
What makes this Full-Stack similar to others?
Software engineers and full-stack developers are often used synonymously in the industry. Sometimes these job titles will mean the same thing. While at other employers, these two job titles may mean completely different things. Some employers designate back-end tasks to software engineers while keeping their full-stack developer a generalist who works with every layer of the web application. Some employers expect software engineers to work with local computer systems instead of web applications and websites. Then some companies assign software engineers to code-heavy tasks while putting full-stack developers on tasks like user experience research, front-end design, architecture planning, and deployment, along with some coding tasks. Long story short, read the job description before applying.⁵
What specific programming languages and tools could one expect to work with being a Full-Stack developer?
Languages:
- Front-end: HTML, CSS, JS
- Back-end: Python, Ruby, Java, PHP, C#
- Database: PostgreSQL, MySQL, MongoDB
Other technologies:
- Frameworks and libraries: React, Vue, JQuery, Django, Flask, Laravel, ASP.net, Spring, Maven
- Version control: Git, Github
What is an example of a problem or a challenge a Full-Stack developer could solve or be asked to work on?
As a Full-Stack developer, you must be prepared to take on huge challenges, for example, if someone asks you to put their business online, you have to be prepared to take that project and make the most out of it since gathering all the needed information about the business until deploying your solution and helping the business growth, you’ll learn that being a Full-Stack developer is much more than just knowing how to write code, besides from writing code, you must be able to ask the appropriate questions to develop a system that supports the business processes and also you must take into account adequate quality indicators that will ensure the success of the project, examples of this indicator could be: extensibility, maintainability, scalability, etc.
A simplified example of a challenge could be building an e-commerce app, for example, under this project, you can be asked to build an e-commerce for some business, the goal would be to develop a standard e-commerce website that displays products to be sold, allows users to purchase those products and give the owner some metrics of his/her business.
- The website should display the products and their stock
- Users should be able to select products and add them to the cart
- The app should be highly available, and allow users from different countries to purchase at any time.
- The app should display content in the customer’s preferred language.
- The owner should have a dashboard where he/she can see daily reports of income and products sold.
- The system should give feedback and alerts to help to anticipate being out of stock.
- The system should show recommendations for customers based on his/her preferences.
- The system should allow making payments online.
- The system should be secure and ensure customers’ data privacy.
What are some positives and negatives about Full-Stack?
Develop apps is fun to do if you know what you’re doing, so if you enjoy the process of writing code and solving problems, believe when I say that you’ll have much fun working as a full-stack developer, but there are times when you could feel down, like everything in life, this work also has its ups and downs, positives and negatives, as you prefer to call it, so keep these facts in mind before you make a decision to become a full-stack developer.
Positives:
- Due to the responsibility the job requires, it helps improve not only your technical but also soft skills.
- Can adapt to the working environment, if asked to work on back-end he/she can do it, the same for front-end
- Able to work on multiple projects at the same time
- Can develop an entire app from scratch
Negatives:
- You could feel overwhelmed by the number of tasks that need to be done
- A full-stack developer is not a specialist in any technology, he/she know enough to understand it by not master it
- Sometimes, the deadline comes before expected because of bad time management
- Only works with the technologies he/she knows, and forget about the trends
- Responsibilities could not be well defined in some working environments
Full-Stack development is an interesting job, sometimes could be demanding but that’s the key to improving your skills, I hope this blog post helped you learn something new, and as always, take care and see you!! … on the next one.
Conclusion:
STEM education is the need of the hour for transforming the young minds into innovators of tomorrow. However, we’re still quite far from fully realising this dream of the modern-day world. Efforts need to be increased manifoldly, educators need to be made more capable, and children’s potential needs to be tapped in at the right age and in the right manner for making the picture we hold in our mind a reality and place it before our eyes. The world needs more of STEM to stem this increasing gap between technological advancements and the human competency necessary for understanding them.