Intro To Software 

Intro To Software 


For as long as there has been computer hardware - there has been software, too. But what exactly is software? What does the term entail? Is it the same as computing? Coding? Or is it something entirely different?

The funny thing is - we all have some concepts in our minds about these things, yet we often fail to understand the specifics. That said, if you wish to gain a better understanding of software, - you’re in the right place. 

Without further ado, let’s get into software-related matters!

What Is Software?

According to Britannica, software refers to the 

instructions that tell a computer what to do. Software comprises the entire set of programs, procedures, and routines associated with the operation of a computer system. The term was coined to differentiate these instructions from hardware—i.e., the physical components of a computer system. A set of instructions that directs a computer’s hardware to perform a task is called a program, or software program.

In essence, software is what tells your computer how to do various tasks. Namely, if you don’t have internet browser software, then you won’t be able to surf the internet (and you won’t be able to read this article, as you’ll have no way of accessing our website). Then, if you don’t have an operating system, your computer wouldn’t be able to operate or be managed by the user, it won’t be able to run programs, and so on.

Software and examples

Finally, when we talk about software (any type of software, really), it’s important to mention that it needs to be regularly updated and checked. If any problems arise, there are so-called software patches, which are basically pieces of software code that may be applied after a specific software program is installed in order to correct any issue within that program. This may include problems such as security vulnerabilities and bugs (in which case the patches are referred to as bug fixes).

Software Definition

Software is:

  • a collection of instructions;
  • a set of programs; 
  • what tells computers how to work;
  • not just one type (there's malware, operating systems, and applications); 
  • written in computer code; 
  • can also come in the form of so-called commercial programs (such as Adobe Photoshop or Microsoft Word);
  • any code or any program which basically runs on a computer or a smart device; 
  • usually created by computer programmers (also referred to as coders); 
  • distributed in several ways: 
    • Commercial: This is less common than it used to be, although a lot of software tends to still be commercial. In essence, commercial software is any program you purchase and you get either a physical or a digital copy of. That said, you don’t own the actual software - you just have a licence which allows you to use it. This is a very important distinction to keep in mind at all times.
    • Freeware: This is software that is free to download and use. Such freeware models enable users to try software for free because it’s very easy to distribute it in such a manner. In other words, a lot of people are willing to try out freebies. Some freeware is also known as adware because although the app may be free, it does come with embedded advertising (it’s how the developers earn money).
    • Open-source: Many see this software as being the opposite of commercial. Such software is typically made available with all its source code. This enables coders to modify, update, make improvements to the program, and so on. Finally, it’s worth mentioning that not all open-source software is free - some may be sold at retail price.
    • Shareware: This is a variation of freeware, because it’s free, but for a set amount of time. Basically, if you find the product/app useful, you might decide to pay for it in order to continue using it. This is a very effective way for users to see whether they like particular products/apps before paying for them. A good example of this are trial periods.

Software isn’t:

  • the same as hardware as we briefly mentioned (the latter includes the physical parts of computers and similar devices; in essence, external hardware denotes scanners, printers, keyboards, monitors, mice, and so on, whereas the internal one refers to RAM, motherboards, hard drives, and so on); 
  • superior to hardware - all components are needed for certain functions and tasks to be performed; that said, certain elements are less important than others; for instance, scanners and printers may belong to external hardware, but if we don’t need to scan or print anything, we’re not really missing anything if we don’t have them;
  • uniform.

The History of Software

The earliest publication (at least known publication) of the term software occurred in 1953 in a paper by Richard Carhart, as part of a Rand Corporation Research Memorandum.

But when we talk about the historical development of software - how far back should we go? If we talk about what was regarded as the first piece of software (or an outline of it), we go back to the 19th century. That’s when Ada Lovelace, perceived as the first tech visionary, came up with mathematical proofs to illustrate that an engine can calculate Bernoulli Numbers. Lovelace basically described an algorithm for generating these numbers.

In brief, Bernoulli Numbers are defined as a sequence of rational numbers that appear very often in number theory. It’s because of her algorithm and proofs that Lovelace is considered to be the first computer programmer.

That said, the first software theory is connected to Alan Turing and his 1935 essay - On Computable Numbers, with an Application to the Entscheidungsproblem (decision problem). This led to Turing being regarded as the first person to come up with a relevant software theory, and this brought about the emergence of two academic disciplines: computer science and software engineering.

But to talk about software in the way that we understand today, we probably need to mention the emergence of the first microcomputers in the 1970s. Namely, at the beginning of 1975, Micro Instrumentation and Telemetry Systems started selling its Altair 8800, and Microsoft also released its very first Altair BASIC a bit later on that very same year.

However, probably nothing compares to the development of recent software as we know it - we are referring to IBM, Microsoft, and Apple. Such developments have gone beyond what was perceived as possible in the 19th century. 

And of course, with the appearance of smartphones, we’re also talking about innumerable software apps that you can get from the Google Play store and the App store.

Of course, this isn’t where software development stops. More efficient code, better UX design, and truly visionary projects crop up every day. Here are some of the latest software development trends predicted to dominate the tech industry very soon: 

  • Low-Code/No-Code Platforms
  • Machine Learning Operations
  • User Experience Design
  • Almost Perfect Digital Experiences
  • Native Mobile-Development Languages
  • Progressive Web Apps
  • Balanced Development Automation
  • Vulnerability Disclosure Programs
  • Mobile-Responsive Design
  • Continuous Integration And Delivery
  • E-Commerce Cloud Integration
  • Serverless Computing

All in all, software development is very much an active field, and if we consider how far it’s come from its rather humble beginnings, we should get excited about what’s yet to come.

Why Is Software Important? 

Do you know that according to 2020 digital reports:

  • around 4.54 billion people across the world use the internet (this is a 7% increase from January 2019);
  • as of January 2020, there are 3.80 billion social media users globally;
  • more than 5.19 billion people use mobile phones;
  • you’re likely to spend more than 100 days online throughout the year;
  • mobile phones are said to account for more than half of the overall internet use; 
  • this is how web traffic is distributed by device:
    • 53.3% (mobile devices);
    • 44.0% (laptops and desktops);
    • 2.7% (tablet computers);
    • 0.07 (other devices). 

None of this would have been possible without proper software, and that's all we really need to know about the importance of software.

Software is needed in each line of business, industry, and even home. In general, as time goes by, we realize that we’re more and more dependent upon technology and software. 

What’s more, a lot of businesses tend to reap the benefits of new software because: 

  • it cuts costs via routine task automation;
  • improves overall staff efficiency; 
  • boosts office performance and productivity;
  • replaces traditional paper processes; 
  • allows them to communicate better with partners, customers, suppliers, and so on.

That said, a lot of the time it’s not just about the existence of software. It’s about software development, too. In other words, different types of software may be developed, but if they’re not frequently updated, improved, and modified accordingly, then they won’t be able to keep up with competitors.

Also, it’s not just about keeping up with competitors - it’s about being distinguished from competitors and offering authenticity as well.

Plus, if anything happens to an app (or any device you may happen to use), a quick and efficient fix is needed as soon as possible.

How To Develop Software Skills? 

In his book Working with Coders: A Guide to Software Development for the Perplexed Non-Techie, Patrick Gleeson wrote:

[...] unlike when building a house, when it comes to software it's almost impossible to know what you want. And even if you did know, it would be impossible to know how long each part would take to do. And even if you did know the theoretical length of each task, it would be impossible to work out the amount of time it would take an actual team of a specified size to do it. Which goes some way to explaining the sordid catalogue of failure that is the history of software projects over the last fifty years.

While it may be difficult to develop software, learning to use it after it’s been developed and put into use is more straightforward, and thus easier. Plus, when we talk about using software - we refer to the final result, the product. For instance, when there’s a new app being developed, users don’t analyze how it was created and coded - they only wish to learn how to use it, how to operate it. In other words, the end user doesn’t see all the code that works in the background while they write documents, play games, etc.

So, keeping this in mind, when we talk about our software skills, we’re actually alluding to our computer-using skills. Now, what does this entail? 

Obviously, a logical way to improve one’s computer skills would be to try and use your computer as much as you can. Practice makes perfect, right? 

That said, the first step may be to understand which computer skills need perfecting. For instance, if you’re into graphic design, you’ll probably work on mastering Photoshop, Illustrator, CorelDRAW, and so on.

If you’re into coding, you’ll work on learning programming languages. But if you just need basic computer skills, you’ll cover what may be considered the basics such as how to use Microsoft Office, an internet browser, email, and so on.

All in all, ways of acquiring any computer skill (or learning how to use apps; programming languages and so on), would be through:

  • enrolling at a digital academy;
  • asking a peer to help you;
  • learning on your own;
  • joining online courses such as the ones we offer.

Examples of Software in Everyday Life 

Education Field 

The field of education seems to be changing constantly - from different programs and subjects, to diverse learning methods and assessment approaches. That said, a lot of it seems not to truly prepare students for the real word. As Joseph E. Aoun wrote:

Instead of educating college students for jobs that are about to disappear under the rising tide of technology, twenty-first-century universities should liberate them from outdated career models and give them ownership of their own futures. They should equip them with the literacies and skills they need to thrive in this new economy defined by technology, as well as continue providing them with access to the learning they need to face the challenges of life in a diverse, global environment. Higher education needs a new model and a new orientation away from its dual focus on undergraduate and graduate students. Universities must broaden their reach to become engines for lifelong learning. 

This doesn’t apply only to higher education, though - all levels of education should be taken into account. So, how do we adjust our teaching practice to the needs of the classroom? How do we prepare students/pupils for the outside world? And how precisely does technology come into play with all of these?

Of course, there’s more than one answer.

First and foremost, it’s worth understanding that technology has different roles within the classroom. For instance, it may be used as a distraction (in which case we’re probably talking about abusing it rather than using it); it could be used for assessment; or it may be used as a teaching or teaching resource. Then, of course, it may also be the subject of a class.

Let’s explain all of them in detail. 

Abusing technology 

You may not have expected us to cover a section dealing with technology abuse, but it’s something that’s quite relevant and happens more frequently than we care to admit. 

Students/pupils may abuse technology given to them (for instance, certain schools/universities may give laptops or computers to each individual), or they might abuse their own devices such as tables, mobile phones, or whatever it is they own. 

This is very common during tests/exams, because they’ll try to use each method to “help themselves” get a better grade. If it’s unclear, we are referring to cheating here.

To handle this, it’s very common for teachers to collect phones before their class starts, or ask students to place their phones where the teacher can see them. 

Now when it comes to using computers, certain schools use software technology such as Vision or Go Guardian to help teachers. Namely, such tools allow them to see what’s on the screen of each student in their classroom. 

Using technology for assessment 

Using technology for assessment has never been more prominent than it was during the COVID-19 pandemic. With so many schools shifting to remote learning, we’ve witnessed the assessment methods “shifting” too.

That said, this brought many challenges too, concerning issues such as cheating, grading, and so on. 

This has forced teachers to re-evaluate their assessment methods, as well as how they structured exams and what formats they preferred. For instance, multiple choice exams became a bit obsolete and very easy “to hack” online, compared to tests which actually measure a student’s critical thinking capacities and abilities, such as writing an essay or answering long, descriptive questions. 

Technology as a teaching resource 

Using technology as a teaching resource is pretty much straightforward and self-explanatory. This means technology comes in different ways and shapes - from teaching apps and websites, to PowerPoint presentations and educational videos. 

Each educator should have the right to choose the digital resources they wish to use in their classroom based on their educatees and, of course, on what they feel comfortable using. 

This brings us our next point - how do teachers actually feel about technology in the classroom?

How do teachers feel about it? 

Discussing technology in the classroom and how teachers implement it is one thing - but talking about how comfortable they are with it is another one. 

First - here are some stats which reinforce teachers’ optimistic views about technology

  • 37% believe that it allows for better access to online learning tools and apps;
    • these are the ones they use the most:
      • 66% use videos from some sort of an instructional program or an open source;
      • 64% use both free or paid resources received via an online community;
      • 59% use digital versions of their printed instructional materials; 
      • 58% use work apps, digital games, and various websites; 
      • 57% make use of free digital content.
  • 29% feel that there’s an increased access to the most recent technology; 
  • 27% of teachers tend to use online communities and/or social media to communicate with parents;
  • 25% use online communities and/or social media to communicate with other educators; 
  • 17% of educators use online communities and/or social media to boost student engagement. 

That said, there are potential areas of concern too. Namely, 

  • 31% of teachers think they over-rely on technology to solve certain instructional issues; 
  • 29% are faced with a lack of electronic gadgets such as tablets, laptops, computers, and so on; 
  • 24% claim there’s not enough PD (professional development) to integrate technology in the classroom the way it’s supposed to be integrated; 
  • 17% suggest that there’s an overall lack of digital resources.

In general, there are many reasons why teachers struggle with implementing technology in the classroom, and their concerns are absolutely valid. 

Finally, not all teachers believe in technology being used in the classroom so they show some resistance to it.

All in all, technology is here to support both learning and teaching practices. It provides classrooms with digital learning tools including computers, projectors, tablets, software programs with educational features or content, TVs, and so on.

It also helps support the learning process outside the classroom. A lot of schools/universities have online platforms which enable this type of learning/sharing information and materials to take place.

On the whole, technology should boost educational productivity and performance, and to do so, we not only need to choose the right technology assets, but to know how to use them adequately too. As Scott Garofola put it: “People say ‘Aren’t you worried what students may do in the digital world?’ My response, ‘I’m more worried if we don’t teach them how.”

How to approach this? 

If you’re the one who’s teaching:
  • How comfortable are you using technology in your teaching practice? 
  • What digital resources are you currently using (it doesn’t have to be anything complicated - even using simple tools such as Microsoft Word and Google Classroom counts)? 
  • When should educators integrate technology and when should they leave it out? 
  • Does the specific type of technology you use help your students/pupils learn more meaningfully? 
  • Can the use of technology lead to frustration and non-productive behavior? 
  • Is it possible that some students/pupils may find some form of technology boring and unappealing after their initial exposure? 
  • How can you make sure technology in the classroom is perceived as a tool and not as a toy (especially with younger learners)? 
  • Does classroom technology have the potential to become “addictive” or “abused”? 
  • What are the effects of technology on communication with students/pupils? 
  • Does technology undermine the traditional forms of teaching/assessing/communicating with your students/pupils? 
  • Does technology foster a diversity of knowledge? If yes, in what way? 
  • To what extent does technology affect traditional educational needs? 
  • Do you think each pupil/student should get their own computer/laptop? Why? Why not? What are the pros and cons? 
  • How can technology enhance your existing teaching skills? Also, how can it diminish them? 
  • How does technology encourage student learning? 
  • How can you combine classroom tech with other tools in order to foster higher knowledge and more meaningful comprehension? 
  • Does technology accentuate student-centered learning or the opposite - it steers the class away from it? 
  • Can technology help with creativity? If yes, how? 
  • Does all classroom technology satisfy the expected educational goals? Why? Why not? 
  • Does technology add any pedagogical value in the classroom? 
  • There’s a distinction to be made between acquiring knowledge and getting information - which one does technology help with in the classroom? 
  • Can educators use technology to help their pupils/students with their learning processes? 
  • Does classroom technology appeal to various learning styles or is it much more narrow and sterile? Support your claims with relevant arguments. 
  • There’s a saying that goes like this: “The best-laid plans of mice and men often go awry.” And even if you’re absolutely prepared for tech glitches and uncomfortable situations, you need to have a backup plan. So, can you execute your learning practice even if the technology ends up failing you?
  • How can you ensure that your focus stays on the learning practice, pedagogical values, and the educatees, and not on technology itself? 
If you’re the one who’s learning: 
  • How do you feel about your teachers/professors using technology in the classroom? 
  • Can you differentiate between using your computer in your free time and using it for school/uni? Do you use technology more for fun or education?
  • What are the advantages and disadvantages to having technology in the classroom? 
  • Have you ever cheated on a test/exam using technology? If you did, how? And more importantly did you get caught? Would you consider repeating this again in the future? 
  • Have you ever used a tool such as PowerPoint (or a similar program) to give a presentation in front of your class/uni group? How did the presentation go? Do you think it would have had the same effect if you just gave an oral presentation without the visual bit? 
  • Have you (or any of your peers) ever damaged some computer equipment in the classroom? What happened afterward? What were the consequences? 
  • Do you think having computers in the classroom will tempt you to use them for other activities (such as scrolling Facebook, googling random things, and so on) rather than the ones they’re meant for? 
  • Does technology intimidate you? 
  • If any of your peers struggled using technology, would you consider helping them? What about your teachers/professors? Have they ever struggled with a piece of technology? Did you feel compassion for them or did you laugh at their struggle?
  • Do you feel that having technology in the classroom makes the lectures more creative or on the contrary - it makes them more monotonous and boring? 
  • When there’s technology in the classroom - do you perceive it as a distraction, or a useful digital asset? 
  • Would classroom technology motivate you to study more or it would have the opposite effect? 
  • Do you spend too much time online? If you do, does that bother you? How does that affect your learning? Also, if you use your desktop/laptop/tablet at home to study or write homework, do you finish the task first, or do you easily get distracted and end up doing something completely different (such as chatting with people on Messenger, checking out images on Instagram, and so on)? 
  • Are you worried about cyber security? How much do you know about it (this will obviously depend on your age)? 
  • Does your IT class at school help you learn more about technology, computers, and software (skip the question if it’s not relevant)? 

Work Environment

There’s rarely a profession nowadays which doesn’t rely on technology in some way. It can be something basic such as receiving an online order from a customer or working on a reception desk and using basic computer skills. Or it may include more advanced computer skills such as web development, graphic design, content writing, and so on. 

There are many examples. If you’re a taxi driver or work in a delivery service - you’re more than likely to use your phone as a GPS device. If you're the CEO’s assistant, you probably have every calendar app on your computer and tons of reminders on your phone. 

You get the point. 

Whatever your job may be - it will definitely involve some form of technology. 

Sometimes it may not even be about the actual job - it could be a means of communication among the workers (this includes apps such as Slack, for instance). 

What’s more, technology and very advanced software may be used to even hire individuals. And yes, we’re talking about AI software. Namely, you may or may not realize it, but your next job interview could be with a robot (as unusual as it may sound). 

All in all, using any type of technology in the workplace should: 

  • make the overall business more efficient; 
  • give the employees a sense of security (not intimidate them or make them feel useless);
  • ensure computational accuracy;
  • help employee interaction and communication run smoothly;
  • increase performance and employee productivity; 
  • help employees to better serve customers (depending on the line of work).

That said, using technology in the workplace doesn’t come without challenges. Some of the potential cons are: crossing privacy lines, facing cyber security issues and data breaches, employees feeling overwhelmed by the amount of time they spend in front of the screen, and so on.

How to approach this? 

If you’re the employer:
  • How much is your company willing to pay for its employees’ computers? In other words, is this something you’re keen to invest a lot of money in, or you’re looking for a more affordable option? 
  • How do you manage technology at the workplace? What are some challenges that come with it? 
  • Do you think each profession can benefit from using some form of technology?
  • Do you allow for remote work? Is it both a time-saving and cost-effective solution?
  • Do you provide a laptop/computer for your employees? Why? Why not? 
  • Does technology bring about higher productivity and greater job satisfaction or do you find these to be unrelated to technology usage? Explain your answer. 
  • Before you use a digital resource, do you check if others in the industry are using it? 
  • Before purchasing a new piece of (computer) equipment, do you take into account: 
    • upgrades?
    • technical support?
    • added security features?
    • training?
    • annual maintenance fees?
    • proper installation, and so on?
  • Do you think using computers a lot at the workplace may have a negative impact on the employees’ mental health? 
  • How important are your employees’ computer skills for your company? This will, of course, largely depend on the line of work they’re in - for instance, if you’re running an IT company, then it goes without saying that their skills need to be impeccable; but if you’re offering life-coaching services, then basic computer skills will probably be more than enough. 
  • Do you tend to interview potential employees via apps such as Skype or FaceTime? If you have, how does this experience compare to conducting interviews face to face? According to you, what’s the most favourable option? What helps you assess the candidate(s) better?
  • Is having employees who can learn new computer systems fairly quickly a big plus, or are you focusing more on other skills and qualifications? 
  • Are you comfortable with employees using social media and checking their profiles/messages within a professional setting? Can privacy lines be crossed? Some people claim employers should monitor their employees’ behaviors and undertakings at all times, while others believe in the power of freedom. Support your answer with facts and arguments. Also, do you tend to use social media while working? Has this somehow impacted your concentration, performance, and overall professional engagement? 
  • Have you as an employer ever faced a computer-related issue? What happened? What did you do? How did you solve the problem? 
  • Have you ever had to ask an employee for technical help?
If you’re the employee: 
  • How much do you use your computer at work?
  • Do you spend a lot of time checking social media during work time? 
  • What do you think - how does technology affect the workplace? What are the pros and the cons? Do the pros outweigh the cons?
  • According to iOFFICE, here’s how employees really feel about technology in the workplace: 
    • 68% of the employees were happy with the technology their company offers for their main tasks;
    • 60% of employees are generally satisfied with the mobile technology that’s available to them at their workplace; 
    • 50% of the employees are pleased with the resources they have at their disposal to learn how to use any new technology;
    • 46% of employees who have a supervisory role suggested that they felt overwhelmed by the technology at work; 
    • 61% of employees spend more time than they expected to get the technology to function.
      • Do these stats resonate with how you personally feel about technology at your workplace? Which ones do you agree with? 
      • Should employees receive proper training for each piece of digital equipment at the workplace?
      • Have you ever had a supervisory role at work? If you have, did you use technology more or less? Why? 
  • Have you ever been interviewed on Skype (or any other app)? Did you like this type of experience? Is there a sense of being aloof as opposed to when there’s another person in the room with you (the interviewer/the employer)? 
  • Which operating systems have you used so far? Do you have any trouble shifting from Linux to Windows, for instance? Or to MacOS? 
  • Apart from the well-known computer technology, does your company have any specialized software that employees ought to master? If yes, what’s the software like? Do you feel you’ve had proper training? How adept are you at learning new stuff? Who do you go to when you have some technical issues? 
  • On a scale from 1 to 10 (1 being the lowest, and 10 the highest), how would you rate your digital competency? 
  • Do you have any computer certifications? 
  • Do you have trouble admitting that you don’t understand something IT-related or you don’t know how to do a specific task? 
  • If some of your colleagues are better at using technology, does that make you feel intimidated or somehow not good enough? 

Getting a University Degree 

For most people the fascination (or the frustration depending on what subjects you were good at) with the STEM disciplines begins in high school. STEM is an acronym which stands for Science, Technology, Engineering, and Mathematics.

A lot of students are guided toward universities which offer programs related to computer science, mathematics, and other IT-related fields because:

  • such jobs are allegedly always in demand:
  • they’ll probably get very solid salary;
  • such degrees are perceived as degrees for intellectuals, and so on. 

No matter what the reasons behind it are, if you’re someone planning on getting such a degree, it’s always useful to get to learn the basics. For instance, a lot of people think that if they get a computer engineering degree or a degree in mathematics, they don’t need to learn any theory or memorize things by heart. In essence, they believe it’s enough to learn how to code and/or solve mathematical exercises.

A lot of these degrees may even include subjects such as management, entrepreneurship, and/or other seemingly “unrelated” courses. For example, The University of Iowa offers an elective focus area named Technical Entrepreneurship (Computer), which enables students to gain relevant business and management skills alongside their engineering degree. 

So, to get an even better understanding of the courses and the subjects covered, let’s take a look at this program’s electives

  • Entrepreneurial Marketing
  • Legal Aspects of Entrepreneurship
  • Social Entrepreneurship
  • Nonprofit Organizational Effectiveness I
  • E-Commerce Strategies for Entrepreneurs
  • Seminar in Entrepreneurship
  • Entrepreneurship: Business Consulting
  • Entrepreneurship: Advanced Business Planning
  • Managing the Growth Business
  • Professional Sports Management
  • Entrepreneurship and Global Trade
  • Arts Leadership Seminar
  • Academic Internship
  • Developing Professional Service Business

These diverse subjects are also probably why STEM tends to be associated with a wide range of professions. But this is also logical, as the acronym itself covers a plethora of academic disciplines. 

STEM jobs

You can check out the top 30 STEM jobs along with their median annual salary, but in general, it’s worth mentioning that IT managers, software developers, mathematicians, and computer and information research scientists have the highest salaries. That said, forensic science technicians, computer support specialists, and cost estimators are some of the lowest paid STEM professions. Here’s a list with some of the main STEM professions and their median salaries:

1) Statistician - Median Annual Salary: $84,060

2) Mathematician - Median Annual Salary: $103,010

3) Software Developer - Median Annual Salary: $103,560

4) Actuary - Median Annual Salary: $101,560

5) Information Security Analysts - Median Annual Salary: $95,510

6) IT Manager - Median Annual Salary: $139,220

7) Petroleum Engineer - Median Annual Salary: $132,280

8) Computer and Information Research Scientist - Median Annual Salary: $114,520

9) Cost Estimator - Median Annual Salary: $63,110

10) Biochemist - Median Annual Salary: $91,190

Choosing a university 

We briefly mentioned the University of Iowa and the Technical Entrepreneurship (Computer) track as an example of a versatile university program. That said, we’d also like to focus on more or less the “regular” STEM programs. 

So, here’s a list of the top universities in the world according to recent QS rankings and the STEM programs they provide (check out the link if you want to take a look at more universities). In general, the programs cover the following disciplines: 

  • Engineering and technology;
  • Mathematics; 
  • Life Sciences and Medicine; 
  • Earth and Marine Sciences; 
  • Computer Science & Information Systems, so take your pick! 

How to approach this?

If you’re the educator:
  • What makes teaching STEM:
    • challenging?
    • boring?
    • fun?
    • important?
    • fulfilling?
    • stressful?
    • successful? 
  • Do you find your program/subject more theoretical or practical? How do you approach teaching it? Walk us through your typical lecture. 
  • Do you believe in lesson planning? How do you go about it? 
  • Do you tend to engage your students while you teach?
  • What makes a STEM degree so significant? 
  • How do you usually assess your students? Do the traditional testing methods fit in well with your subject(s)/teaching? Have you had any uncomfortable situations? 
  • Do your teaching practice and class activities stimulate students to further develop their mental models
  • Is teamwork an important part in teaching STEM? Why? Why not? 
  • Do you encourage informal education? 
  • How do you support your students in their extracurricular endeavors? 
  • Do you want to be a role model for your STEM students? 
  • Have you ever considered leaving teaching and working as an engineer, mathematician, web developer, and so on? Why? Why not? 
  • Do you think you could earn money if you had a different profession? In other words, if you haven’t gone into teaching with your STEM degree and opted for a different career, would you be making more money now? Is this something that’s bothering you? Do you think you may regret it at some point? 
  • Do you ever get negative feedback from your students? How do you cope with it? 
  • How do you upgrade the knowledge from your field? What resources and methods do you use?
  • What does it mean to be a STEM professor? What kind of qualities should a STEM educator possess? 
  • What does your relationship with your students look like? Can it be better? Should it be more/less professional? 
  • What are important aspects of each STEM university program? 
  • What skills should each STEM student leave with once they graduate? Also, what new skills should they acquire once they start working? 
  • What advice would you give to prospective STEM students? How can they know they’ve made the right choice? What should they take into account? 
  • How do you handle students’ comments such as “Mathematics sucks”, “This is the most difficult subject”, “I hate this”, “I’m never going to pass this exam”, and so on (that is, if they occur at all)? 
If you’re the educatee:
  • What’s so special about majoring in computer science? 
  • Do you think STEM (Science, Technology, Engineering, and Mathematics) majors are superior to the Humanities? If you do, in what way? Do you think the majority of people feel that way? Can this be changed? How so? 
  • Do you feel any peer pressure when it comes to choosing this type of major (for instance, you’re cooler if you choose X rather than major in Y? 
  • Do you have prior knowledge connected to your STEM major? If yes, where did that knowledge come from? Is it non-formal education?
  • What are the requirements for STEM programs and do you meet them? If you don’t, is there anything you can do at this point?
  • Have you ever met a STEM graduate? If you have, has their experience had any influence on you? Give specific examples. 
  • Do you think it’s difficult to obtain a STEM major? Why? Why not? 
  • What STEM area interests you the most? Also, which one sounds the least attractive? 
  • What kind of job do you hope to get with this type of degree? What do you see yourself doing?
  • Think about your job prospects. Do you think all STEM graduates end up getting fulfilling jobs? Why? Why not? Also, how big of a role does the salary play on this?
  • What are your current salary expectations? Do you think they’ll change once you graduate?
  • What type of subjects are you interested in learning as part of your STEM degree? What are your expectations? 
  • Based on what factors will you choose your university?
  • Can your STEM degree help you in your daily life? How so? Provide details. 
  • What skills and qualities should STEM students possess? Also, how can they further improve them?
  • According to you, what’s a successful STEM student: is it someone who has good grades and is fully devoted to their studies, or someone who engages in extra work outside of uni and attends conferences, summer schools, internships, and so on?
  • What’s the most challenging thing about majoring in STEM?
  • Is getting a STEM degree really worth it? Provide arguments to support your claims. 
  • How should STEM students be assessed? Do you feel comfortable with the way things currently are? What would you change? 
  • How can you recognize a high-quality STEM program? What subjects should be covered? How should the lectures be structured? What does the professor-student relationship look like?

At Home 

At first glance, it seems there’s nothing easier than using an electronic device at home. In fact, many would argue that there’s not much to be said about it. After all, we can use our computers/laptops for whatever we want to (especially at home), right? Well, what if that laptop is actually a work laptop?

For instance, if you’re an employee who’s allowed to take their work laptop at home, should you watch Netflix on it? Watch porn? Play computer games? Book your upcoming summer holiday and buy plane tickets? Visit online betting websites?

And more importantly, have you already done this?

While you may never get caught (although certain work laptops and screens are constantly monitored) have you considered the cyber security issues that come with it? You expose your work laptop to potential viruses although you may be using an antivirus program. But more importantly, you’re abusing the device because it’s been given to you for other purposes. 

It’s the same like having a company car and deciding to go on a holiday with it. Maybe no one will find out about it, but what if you get into an accident or something else happens to the car? Not only are you risking your job position, you’re compromising your overall authority and credibility as an employee as well.

With that being said, certain companies may allow their employees to use their devices a bit more freely, but make sure you’re informed about the rules and the regulations beforehand. This will save you a lot of unnecessary stress and uncomfortable situations. 

And although we’re dealing with technology, such matters don’t test how good we are at it. What they do test is our moral values, ethical considerations, and overall professionalism and commitment. 

How to approach this?

  • Do you tend to clear your browser history? 
  • Do you have a work-issued laptop? Do you tend to look after it with greater care as opposed to your personal one? Why? Why not?
  • How uptight is your company about work designated laptops? 
  • If you damage your work laptop, what are the “consequences”? 
  • A lot of people say “Don’t mix business and pleasure”, “Keep your business life and personal life separate”. Do you think the same applies when it comes to using your laptop(s)? How so? 
  • Have you ever used your work laptop for any type of personal reasons? If yes, which ones? What did you do? If you don’t own such a laptop, think about what you’d do anyway.
  • Would you consider using your professional laptop for freelance purposes? If yes, where would you store your freelance projects/tasks? Would you try hiding them? Would you store them on a USB? Send them as emails? 
  • Certain companies give their employees laptops, but they’re not allowed to take them home. Let’s imagine you work in such a company - would you ever try to take the laptop with you knowing you won’t get caught? 
  • Oftentimes, the act of using your work laptop for personal reasons starts with small things such as logging into your Gmail/Yahoo account, checking your Facebook profile, and so on. If you’ve ever used your work laptop for private matters, what’s the farthest you’ve gone? Do you have any limits as to what you consider acceptable and what would be stepping over the line?
  • Do you use the same passwords for your personal and business laptop?
  • Are you familiar with the HR and IT technology usage policies at your company? If not, would you consider checking in with those departments after reading this? 
  • Finally, would you lend your work laptop to your partner/friend/kid? Why? Why not? 

Other Reasons

Using technology for other reasons includes your leisure time. In other words, each individual chooses not only their preferred electronic device (a tablet, phone, laptop, and/or PC), but they choose what to do with it as well. 

So, you can listen to music, watch movies, prepare a PowerPoint presentation for the upcoming seminar, help your kid make their school project, chat with your sister on Skype, and so on. 

It’s also up to us to make sure we’re using our devices in a safe manner. What this means is that we order stuff from secure websites (and we don’t leave our credit card information on random websites), we don’t share personal information unless it’s necessary, we subscribe to credible sites, we run our antivirus program frequently (especially if we’re using our laptops/computers), and so on.

If you care about the privacy of your data, it can also mean using a VPN or the Onion Router (Tor), as otherwise, your ISP (internet service provider) has access to all your browsing history (yep, what you do in Incognito as well), which they can then sell to corporations or make available to local governments.

How to approach this? 

  • On a scale from 1 to 10 (1 being the lowest, and 10 the highest), how would you assess your computer skills? Do you consider yourself computer literate? 
  • Do you tend to clear your browser history before someone else uses your computer/laptop? If you don’t do it, would you be comfortable with others knowing what you browsed? 
  • Do you have your own laptop/computer or you share it with someone else (for instance, you have one device at home, and the whole family uses it)? 
  • Which activities do you use your computer/laptop for: 
    • sending emails?
    • connecting with people on social media?
    • watching Netflix?
    • writing?
    • editing images/videos?
    • reading the news?
    • playing video games?
    • online shopping?
    • listening to music?
    • attending online lectures?
    • online dictionaries?
    • paying bills online?
    • browsing the internet?
  • What internet sites do you visit on a regular basis? 
  • Do you think computers have an educational/entertainment value?
  • When you use your computer/laptop, do you leave your accounts logged in or type the password in each time? 
  • How often do you use your computer/laptop? If you use it a lot, would you say you’re addicted to it or you can stop whenever you wish to do so? 
  • What operating system do you have? If you’re using Windows, would you mind switching to MacOS or Linux? Why? Why not? 
  • Who taught you to use a computer first? 
  • Do you read computer magazines? 
  • Are you subscribed to a lot of YouTube channels? 
  • Do you use any chat rooms?
  • Do you have the habit of buying stuff online or do you prefer going to an actual shop? Why? 
  • Are you comfortable with making online payments? Have you ever had a bad experience? If yes, what happened? 
  • Which one do you prefer: a desktop computer or a laptop? Why? Which one do you currently have? 
  • How much are you willing to pay for a computer? On the whole, how much money do you spend on devices such as laptops/computers, phones, tablets, and so on? 
  • Do you think computer technology improved your life or made it worse? For instance, do you think it has made you feel closer to people or more distant? Explain and provide relevant and personal examples. 
  • What do you usually do when your laptop/computer doesn't work properly? Do you try to fix it on your own, ask for help, or take it to a technician? 
  • How do you handle a very slow internet connection? Does it send you over the edge or you’re generally a patient person? 
  • Do you use a VPN? Would you consider getting one?

Famous Quotes About Software 

“The test of the machine is the satisfaction it gives you. There isn't any other test. If the machine produces tranquility it's right. If it disturbs you it's wrong until either the machine or your mind is changed.” 

- Robert M. Pirsig

“Software is eating the world, so we need software developers. But it is less clear what we will need when software finishes its meal and settles down to digest. What happens when robots learn to program themselves?” 

- Joseph E. Aoun

“We are threatened not just by memory loss, but by the routing of the synapses by the filterable viruses of memory. The strange disappearance of names, faces and places seems like a programmed erasure, like the imperceptible advance of a virus which, after infecting the artificial memories of computers, is now attacking natural memories. Might there not be a conspiracy of software?” 

- Jean Baudrillard

“Almost everything we know about good software architecture has to do with making software easy to change.” 

- Mary Poppendieck

“Many of the criminal skills on the Web have emerged from an essential division in the philosophical debate generated by the Internet.

In simple terms the debate is between those, on the one hand, who believe its commercial role is paramount and those, on the other, who argue that it is in the first instance a social and intellectual tool, whose very nature changes the fundamental moral code of mass communication. For the former, any copying of computer ‘code’ (shorthand for the computer language in which software or a program is written) that is not explicitly sanctioned is regarded as a criminal violation. The latter, however, are convinced that by releasing software you are also relinquishing copyright.” 

- Misha Glenny

“With software there are only two possibilities: either the users control the programme or the programme controls the users. If the programme controls the users, and the developer controls the programme, then the programme is an instrument of unjust power.” 

- Richard M. Stallman

“Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software-development techniques you use determine how many errors testing will find.” 

- Steve McConnell

“The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or field of battle and to command such unswervingly dutiful actors or troops.” 

- Joseph Weizenbaum

“In the era of surveillance of the masses, I like to use phrases like terrorists, assassinate, bomb, explosions, attack, weapons of mass destruction, and so on in my on-line activities to screw up the automated government surveillance software.” 

- Steven Magee

Frequently Asked Questions (FAQ)

What are programming languages and how many of them exist?

We already briefly mentioned some programming languages at the beginning of our article when we gave examples of different software types. That said, we always want to be as detailed as we can, so in this part we’d like to dwell more on the topic of programming languages. 

First and foremost, let’s define what a programming language is. A programming language is “a set of commands, instructions, and other syntax used to create a software program.” 

Programming languages include commands and conditionals such as function, while, if, and else. Also symbols like <, >, ==, and != are common operators too. These languages are created similarly on purpose so that programmers can easily understand the source code that’s written.

Here’s an example of Python


age = int(raw_input("How old are you? "))

 except ValueError:

print ("That's not a number!")


if age < 0:

print ("You cannot be less than zero!")

elif age > 100:

print ("That's old!")


print("You're %s years old." % age)

Apart from Python, there are other programming languages, too. Here are the most popular ones for 2021:

  • JavaScript;
  • Java
  • C#
  • C
  • C++
  • Go
  • R
  • Swift
  • PHP
  • Dart
  • Kotlin
  • Perl
  • Ruby
  • Rust
  • Scala

If you’re curious, you can learn more about common acronyms used in the world of software.

What are some different types of software? 

Application software 

Application software is probably the most common type of software. It includes the end-user programs which helps us perform necessary tasks or simply get to the outcome we want to. 

They’re very specific in their functionality, meaning that they do the job they’ve been created to do. These include photo editing softwares such as Lightroom (created to help the end-user edit their images), internet browsers such as Google Chrome, Safari, Mozilla Firefox, and so on, and so on. 

All in all, when it comes to application software, there are a lot of choices based on the end-user’s expectations, needs, budget, and overall preferences.

System software 

System software, or operational systems, serve to connect the electronic device (such as a computer, a laptop, or a mobile phone), the user, and the applications. This means that system software is essential to running any device or app software in a smooth manner. 

Just think about your phone having an update. This is a great example of system software. What this update signals is that some sort of “tweak” has been made to the system software with the purpose of making your phone perform even better. Examples of such software (operational systems) are Apple’s iOS and Microsoft Windows.

All in all, the system software is software which is always there, but you’re not consciously paying attention to it, unless something like an update is needed. 

Programming software

Programming software is used for writing code. This software includes programs used for testing, developing, debugging, and writing other software programs.

It’s useful to think about these programs as translator programs. In other words, they take programming languages such as C++, Python, Java, and so on, and translate them into something that mobile phones, computers, or other electronic devices will be able to understand. And they do so by translating them into machine language code. 

Here are some programs: 

  • Eclipse, a Java language editor;
  • Coda, a Mac programming language editor;
  • Notepad++, a Windows open source editor, and so on. 

Driver software

Driver software usually controls and operates devices which are plugged into a computer. Such software enables devices to carry out their necessary functions. 

One such example is a printer. Before you’re able to print, you need to set up your printer to work with your PC. This means you need to install software to connect the two of them so that you can print out what you need. 

Suggestions for Further Reading 

You can never learn all there is to know about software, coding, programming, and technology because they’re constantly changing, upgrading, shifting. That said, being informed and keeping up with the latest trends is achievable. Even more - it’s advisable.

So, while you may not know everything, you can still learn and apply a lot, and this reading list is more than a good start: 

  1. Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs, James Stainer 
  1. The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data, by Gene Kim
  1. Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold 
  1. Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin
  1. Raspberry Pi Cookbook: Software and Hardware Problems and Solutions, by Simon Monk
  1. Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, John Vlissides, Richard Helm, and Ralph Johnson
  1. The Clean Coder: A Code of Conduct for Professional Programmers, by Robert Martin
  1. Clean Architecture: A Craftsman's Guide to Software Structure and Design, by Robert Cecil Martin
  1. Domain-Driven Design: Tackling Complexity in the Heart of Software, by Eric Evans
  1. Soft Skills: The software developer's life manual, by John Sonmez 
  1. Cracking the Coding Interview: 189 Programming Questions and Solutions, by Gayle Laakmann McDowell
  1. Software Requirements: Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle, by Karl Wiegers

Final Thoughts 

Without a doubt, technology and thus software are very much integrated into our personal and professional lives, so it makes sense to get as close to it as we can.. And while not all of us are computer programmers, IT workers, web developers, user experience designers, and so on - there are still many ways to learn more about it. 

A great way to better familiarize yourself with software development is to partake in online courses such as the ones we offer - and yes, we do have one on software, too! We always cover a lot in our courses, so here are some of the things you can expect to gain insight into:

  • the history of computing and the first computing language; 
  • scripts and algorithms; 
  • data and databases; 
  • functions and object-oriented programming; 
  • software components; 
  • building software and releasing it; 
  • learning how to code, and so on. 

So - who’s joining us?