avatarJosef Cruz

Summary

The article emphasizes the evolving role of software engineers, focusing on the importance of creating product value, the decreasing emphasis on coding due to technological advancements, and the necessity of communication skills.

Abstract

The author, a software engineer with a passion for programming, discusses three key points that they believe are crucial for programmers to understand in the current era. Firstly, the true value of a software engineer lies not in the source code they write but in the enhanced value they bring to products and services. Secondly, the author notes a trend where the time spent on non-essential coding tasks is diminishing each year due to the adoption of advanced technologies and frameworks like Python, Tensorflow, and PyTorch. Lastly, the article highlights the significance of communication skills for software engineers, arguing that while programming skills are essential, the ability to communicate effectively with team members and stakeholders is paramount.

Opinions

  • The author's favorite programming language is Python due to its efficiency and the satisfaction derived from quickly accomplishing tasks with minimal code.
  • Software engineers should prioritize the end goal of creating valuable products and services over the intricacies of source code quality.
  • The necessity for rapid development leads to a reduction in time spent on programming, with a greater reliance on frameworks and high-level languages to streamline the process.
  • Communication skills are deemed more important than ever, as they enable software engineers to negotiate technically, collaborate on complex issues, and share ideas effectively within a team.
  • The author suggests that programming skills can be acquired relatively quickly, with a foundational understanding of one language facilitating the learning of others.

Programming opinion

3 Things Programmers Need to Understand These Days

And if you don’t understand it, you’ll be left behind.

Photo by Mimi Thian on Unsplash

First of all, I love programming. The languages ​​I used after getting a job were JavaScript, VBA, C, HTML, JAVA, Python, Julia, etc. My favorite is Python, which quickly accomplishes what I want to do with very little code.

With Python, you can achieve what you want in a short time when you can assemble the source code. The sense of accomplishment feels good. As your brain juices flow, your self-esteem and sense of happiness will increase for a while. As a software engineer who loves programming, I will explain why I think of something like the title.

  • The value software engineers create is not the source code but the added value of products and services.
  • The amount of man-hours spent on non-essential parts of development is decreasing yearly.
  • The skill that software engineers need to acquire is communication ability

What do you think? If a fellow software engineer reads this, some will sympathize with it, while others will be offended. Let me explain my opinion about the three in order.

Reason 1: The value created by software engineers is not the source code but the added value of products and services itself

This may be the fundamental difference between software engineers and programmers. I am just an “engineer”, and programming is a means to create products and services.

A software engineer's job is to think about what specifications should be used and what kind of mechanisms should be built to create products and services.

While being particular about the quality and construction of the source code (coding) is an integral part of the job, the original purpose we want to achieve is to remember this and work on development with priorities in mind. There are so many things we can do to make things even better.

Reason 2: The amount of man-hours spent on non-essential parts of development, the number of man-hours is getting shorter every year

As human society becomes more convenient, technology also grows at an accelerated pace. As systems become more complex and diverse, development is required to be faster. However, creating a program from scratch is more challenging than creating a large-scale system.

We also need to build systems in a shorter period. Therefore, the amount of time available for programming is becoming less and less. In recent years, most of the development has been used. For example, Deep learning, Often used as a development language Python Tensorflow and PyTorch are used.

Even Python is much shorter than C language, etc. You can write source code, but if you use a framework, you can implement something shorter and faster.

As a result, no matter who writes it, the writing will be similar, which is good in terms of readability and quality. In addition, this framework also has debugging features. Therefore, you can easily accomplish complex tasks if you write them in Python.

In this way, programming is changing, so we are living in an era where it is better not to get too hung up on programming itself.

Reason 3: The skill that software engineers need to acquire is communication ability.

As with any job, people always work for others no matter how times change. Also, you cannot work alone, so the ability to communicate with the people you work with is the most important.

We conduct technical negotiations, communicate and consult with each other about the situation on-site, and when faced with complex issues, we all think together and share our opinions. Such human skills are the most important for software engineers.

Programming skills are also critical skills. It is no exaggeration to say that how you view life will change depending on whether you know this.

However, acquiring the basics of this skill is relatively easy and can be learned quickly. In my case, it takes about six months to a year to master the basics of C language, and after that, I don’t have much trouble with other languages. There is no problem, and you can learn another language in about a month.

So, although it is essential, I don’t think you should spend too much time on it as long as you have that level of development.

Stackademic

Thank you for reading until the end. Before you go:

Programming
Mindset
Technology
Software Development
Web Development
Recommended from ReadMedium