before"A person who is suitable for an engineer that Sun-El Engineer thinks”, I wrote about the unsuitability of engineers and the suitability of engineers in my own way.
This time as a sequel,"For those who want to become engineers" How should I learn?I would like to talk to you about various things.
Because from the MieL editorial department,"What kind of preparation should I do specifically?", "My own experience", "Recommended books"I was asked to tell you about
"Hmm, how should I talk about it..." I thought, and remembered that I had been asked this question several times in the past.
for example,
- "What should I study to become an engineer?"
- "What should I study first to be able to understand the system?"
It's a question like that.
especially,Many questions and consultations from non-engineersis not it.
I would like to use my experience as an engineer to give some advice to people who want to become engineers.
Write 100 lines of code instead of reading a 100 page book!
I think that people who have never developed anything do not know how to start.
Such people often ask me, "What kind of books should I read?"
but,Rather than just reading books, you can acquire skills much faster by creating programs that actually work.The following is a list of the most common problems with the
It's even better if the things you make at that time are things that you want or are interested in as much as possible.
For example, it's not fun at all to simply enter the learning code that comes with the reference book.
If it's not fun, it's hard to acquire knowledge and skillsI think.
So, for example, if you like games, a simple game is fine, and if you find it inconvenient to use LINE, you can create a LINE bot that solves that problem.
For example I made something like this
In my case, when I don't know anything about programming or the system at all,Website to keep a household account bookI made
At that time (about 20 years ago), there was no household account book app like now.
I had a server at home and fiddled with router settings so that I could connect from outside.
In addition, our CTO (Chief Technology Officer) loves space and when he was in his twentiesSoftware that simulates the orbit of the moonYou were making
Also, when a colleague from my previous workplace became the head of the department that makes Flash games,A game where you turn into a zombie and attack peopleIt was impressive that I was making
if you ask me why
It said.
If you want to remember something, you have to have something that keeps you motivated.
So,For programming beginners, it is overwhelmingly recommended to actually program rather than reading a bookIt is.
Once you decide what you actually want to make (genre), search for how to make it from there, read books as needed,It is good to acquire knowledge based on "fun"think.
Search skills are super important
Now that Google search has become commonplace as a work tool,Search skills are important skillsIt is.
for the information you wantHow fast you can get to the right information will make a big difference in the results of your work.
This is not limited to engineers, but the following two are extremely important.
Two points when searching
- How to search to find the information you want
- How to choose the right site
Many people who can't program on their own, even if they want to make something, can't find the information necessary to make it.
And I think that it is "difficult" and "I don't know" because I can't reach it.
Introducing the recommended search flow
For example, let's say you want to make a game to learn programming. What would you use as your search term in this case?
."programming game beginner"
What a place, such as? However, it is better not to search with such words.
First of all, the word "beginner" is similar to "programming" or "game".It is not recommended to use it in combination with widely used words.The following is a list of the most common problems with the
As you can see by searching, this is
- Affiliate site for programming learning sites for beginners
- Recommended games for learning programming
There are many hits, so it's hard to get useful information for learning.
first,"game development”.
Then, here and there in the search results, "Unity” should appear.
from this result,I guess that Unity seems to be used for game developmentThe following is a list of the most common problems with the
From there further "New to Unity, and so on.
If you include the name of the development tool "Unity" in the search term, sites with more specific content will be hit in the search results, making it easier to find useful information for learning.
Useless without minimum infrastructure knowledge
Recently, virtualization technology has developed and cloud services have been enhanced, soOpportunities to actually build servers and networks are decreasingThe following is a list of the most common problems with the
However, if you don't have the minimum infrastructure knowledge, there are many troubled scenes.
However, I feel that learning hurdles are higher than before because opportunities are decreasing.
I have the impression that people who are "beginners with 2 years of experience" do not have basic knowledge of servers and networks.
To be more specific, I sometimes receive inquiries such as "I don't know HTTP status codes well" or "I don't understand NAT".
such a personIt doesn't bother me when I'm coding normally, but when a problem occurs, I'm faced with a problem that I can't solve on my own.I will do so.
I had this problem before
It was when a child who had just learned development consulted me that "(the system under development) has stopped working."
When I looked into it, the OOM Killer exploded after using up the memory.
so i
When I said that, he didn't know much about memory and swap, so he was confused.
A function that forcibly stops the process in use to free up memory when there is insufficient free memory to allocate new memory.
What is Swap
A memory management function that exchanges data between the main memory and storage (external storage device), enabling the use of a memory space larger than the physical memory capacity.
in this way,If you don't have the minimum infrastructure knowledge, you won't be able to solve it by yourself even if it stops working due to something other than the code you wrote during development.The following is a list of the most common problems with the
It is recommended if you study properly for the basic information engineer exam
In short, an engineerRequired skills vary depending on what kind of engineer you want to beThe following is a list of the most common problems with the
but,Any IT engineer needs a minimum knowledge of programming and infrastructureIt is.
So how do we learn them?
Although it is not directly useful for work, you can systematically learn broadly and shallowly, and above all, because it is a national examination, if you have a qualification, depending on the company, you may receive an allowance.
Don't get me wrong, I sayNot for the purpose of "acquisition"It is.
Since the purpose is to have knowledge of the passing level, it is not recommended at all to memorize by memorizing words in passing textbooks.
It's better to use that time for other things than cramming knowledge to pass the exam and forgetting it soon.
Recommended books for aspiring engineers
Finally, I am often asked about recommended books for those who aim to be engineers, so I will introduce them.
until nowBest 10 in the IT Engineer Book Awards Recommended books that have been inIt is.
Sun-El has also established essential reading for engineers, but the following three books are of particular importance to me.
Recommended books for engineers
- Readable code
- Guru Programmer
- masteringTCP/IP
especiallyReadable codeis a must-read for engineers.
The CTO of a company I met before"I don't hire engineers who haven't read this book in job interviews."That's what I was saying.
Summary|Recommended learning methods for those who want to become engineers
My message to those who want to become engineers is,
- Get your hands dirty and write code
- Requires minimal infrastructure knowledge
Is not it.
In particular, when people who have no experience at all aim to become engineers as a job, they tend to focus on "study! Read books! Acquire knowledge!"
but more than thatThe important thing is to “feel fun” and “actually try to move your hands”or
I think it is very important not only to become an engineer, but also to continue working as an engineer after that.
See more. See more.
Introducing the characteristics of people who are suitable for engineers that Sun-El engineers emphasize
Engineers Need to Communicate! 3 Ways to Keep Relationships Close