Section 2.2.3 Software Development
Update Z
Section 2.2.3 of the "Engineer's Textbook," which aims to convey the appeal of engineering to elementary, junior high, and high school students.
It has been only 50 years since computers began to spread into ordinary households.
However, today, many engineers who develop applications that run on PCs and smartphones, or software that runs on internet browsers, are actively working.
1. Software Development
It has been only 50 years (around 1980) since computers began to spread into ordinary households. Until then, the profession of "software engineer" hardly existed.
However, today, many engineers who develop applications that run on PCs and smartphones, or software that runs on internet browsers, are actively working. Engineers in these fields are called software developers or
software guys. (Especially depending on the product field mentioned later) They are sometimes called embedded software guys or IT software guys by adding the field to the front.
As a recent trend, it is worth noting that there are becoming more software engineers than mechanical or hardware engineers. In some companies, it has become common for about half of all engineers to be software developers.
The background to this is that product value is increasingly determined by software. Even when using the same mechanics and hardware, some companies expand functions or switch languages using software to differentiate themselves and gain profit as added value.
2. Embedded Systems and Consumer Software
Even within software development, the skills required differ depending on the field. Broadly speaking, there are the following two types.
-1. Embedded Systems Engineers
These are software engineers who work on physical devices such as automobiles, industrial machinery, and medical equipment. It is a field where accurate and reliable operation is required.
・ RTOS (Real-Time OS) is often used as the OS, and it is characterized by processing being performed at fixed intervals.
・ Because safety and reliability are required, development must take place in a strict environment where mistakes are not permitted.
-2. Consumer (Application Development, etc.) Engineers
These are software engineers who create software for general consumers, such as smartphone apps and web services.
・ The event-driven approach, which performs processing when an event occurs, is mainstream.
・ Emphasizing user experience, appearance and ease of use are required.
As described, software development styles and cultures differ greatly depending on the field. Therefore, caution is required when changing jobs to a different industry.
3. Development Processes and Tools
Various methods and tools are used in software development.
V-model process, V-model development
This is a method where you create a requirements specification and proceed with development and evaluation based on it.
・By comparing the specification with the evaluation items, you can reduce rework and proceed with development efficiently.
Creating something from scratch is not the goal; it is generally used (in the author's opinion) when improving 1 to 1.5 or 2 .
Agile Development
This is a development method where you do not create a requirements specification, but instead decide on policies during regular meetings such as in the morning, and repeatedly perform trial and error at high speed. Specifications and the like are created after they are finalized. It is generally used (in the author's opinion) when
creating something from scratch .
※ Note) Agile design does not exist. It is strictly development. In
design (Chapter 2.1), please properly write a specification (lol).
History Management with Git
This is a history management tool commonly used in software development.
・ It allows for smooth recording of changes and development by multiple people.
・ The reason why people who can write specifications properly have an advantage is that,
rather than how to write code,
the ability to correctly communicate design and structure is considered more important.
4. Evolution and Challenges of Software Development
Software development is evolving rapidly along with advancements in communication technology, encryption, and AI technology. Also, in recent years, a technology called
digital twin, which creates a real object and a pseudo-product simultaneously, has started to be used. Furthermore, as products evolve from "having great power" to "being small and precisely controlled," the
importance of control by software is increasing. Flexible thinking
and a desire to learn are necessary to adapt to these changes.
5. Motivation Boost Points
✅ Idea people with soft skills can also go independent!
→ As long as you have technical skills, you can find work on your own.
Also, there are many places to change jobs to.
✅ Technological evolution is happening daily!
→ The latest knowledge and technology are always available on the internet.
It is important to have an attitude of researching and learning on your own.
✅ Beware of security incidents too!
→ There is no guarantee that someone will check your work.
It is important to work with a sense of responsibility.
✅ Solve mechanical and hardware issues with software!
→ It is common to hear, "Please handle this with software at the end."
That is proof of being relied upon.Let's approach it positively.
6. Reference Books/Websites
Numerous note.com sites
→ It seems that many engineers on the internet/web are in the IT field.
Everyone is posting various articles. I think they will be helpful.
Udemy: | Courses to learn cutting-edge IT certifications and AI skills at a great value!
→ You can also learn the latest languages through videos.
If the timing is right, such as during "time sales" for courses,
you can acquire valuable skills at a low cost.
99_History
(Request to readers: Please point out any typos, errors, or areas for improvement.)
Revision Date Symbol Changes
2025/11/05 Z First Edition
