HomeAbout Me

Software Engineer

By Cecilia Caselli
Published in Fundamentals
September 10, 2023
2 min read
Software Engineer

Software Engineer

As a Software Developer you apply engineering principles to design softwares solutions. You are able to build cloud native applications for a variety of platforms such as desktops, mobile devices, web applications, robots, network systems, consoles.

But let’s first clarify what software means.

Our devices are made up of two main parts: hardware and software. While the first one identifies the physical pieces of a machine, the second one represents its abstract components.

The two main softwares are: operating systems, application systems.

Operating systems are programs that make the device run. They manage hardware resources, execute other applications programmes, and they make the usage of the device easy for the user. Microsoft Windows, Mac OS, and Android have been the most popular OS in years.

Application systems are a collection of programs (the so called suite) intended to meet user’s needs. They are named “applications” because they can be used only with an existing OS. The main ones are:

  • Office Automation
  • Business applications (e.g., to handle the warehouse)
  • Software development (e.g. Photoshop)
  • Utility (e.g. Antivirus)

Consequently, while Application software developers focus on building mobile and computer desktop applications, System software developers focus on operating systems.

As a software engineer your tasks can include:

  • Designing a functional and intuitive software;
  • Building and monitoring the entire SDLC;
  • Writing documentation reports;
  • Testing, maintaining, integrating, and debugging;
  • Analyzing data to improve existing softwares;
  • Using engineering principles.

Engineer principles include:

  • Testability and maintainability of program functions;
  • Design, verification, and assurance processes (known as integrity)
  • Scalability
  • Clear and specific integration standards.

Competencies

In terms of hard skills you are familiar with:

  • programming languages: Java, JavaScript, C#, Phyton, PHP, Ruby. Knowing multiple languages makes you more attractive in the job market.
  • data structures and algorithms: both are needed to manipulate and use data for different purposes.
  • software security: running tests and making upgrades and updates to ensure data safety.

With regard of soft skills you are:

  • a problem-solver: your job consists mainly in solving issues found within softwares.
  • a team player: you work alongside technical and non-technical colleagues, managers, clients, stakeholders.
  • communicative: you communicate effectively both with colleagues and customers.
  • attentive to details: being a software engineer requires you to be present in all the phases of a software development.

Conclusions

In the industry, the terms software engineer and software developer are often used interchangeably. Although they often share a common educational background, their actual duties can be different. As a general rule, we can say that a software engineer is responsible for designing the whole architecture behind computer applications, whilst a software developer primarily builds ready-to-use applications.

As a software engineer you make use of your extensive engineering knowledge to design cloud scale applications for mobile and desktop devices. You preferably hold a degree from Computer Science or a related field. How to conclude?

Sources:

https://www.computerscience.org/careers/software-developer/

https://www.phoenix.edu/blog/top-operating-systems.html

https://www.computerscience.org/resources/software-developer-vs-software-engineer/


Tags

#coding#IT#software

Share

Previous Article
Software Developer vs Software Engineer
Next Article
Data Scientist
Cecilia Caselli

Cecilia Caselli

Topics

Fundamentals

Related Posts

SDLC Software Development Lifecycle
December 10, 2023
1 min
About Me

Social Media