[RAILS] What was good for a fledgling engineer who started programming for a year and a half, and what I thought I should have done

Introduction

This is the article on the 23rd day of TechCommit Advent Calendar 2020.

Hello, it's Tsuji (@tj_tsk). Currently, I am helping with the development of TechCommit, and I am learning various things every day. (Thanks: pray :)

In this article, it's been about a year and a half since I started learning programming, so I'd like to summarize "what I'm glad I did and what I should have done early" as a reflection. ..

Regarding learning technology

I've mainly learned to develop with Rails. Below is a summary of what you will learn and what you are glad to have come to advance.

Studying other than frameworks

When I first started learning programming, I was learning Progate (HTML, CSS, Ruby, Rails) → Rails tutorial. I don't think there was a problem with this learning order itself, but at first I was just focusing on learning Rails. After roughly understanding that writing like this in the above procedure works like this, I felt that I should have learned the following items at an early stage.

HTTP When I first started learning, I wasn't sure, but I was able to create a form with form_with and post new data! After reading and learning about HTTP, I've learned a little bit about what's happening across the browser. ↑ Some of the books are difficult, so I thought it would be ant to read "3 Minute HTTP & Mail Protocol Basic Course" first.

SQL basics (basic syntax, table joins, etc.)

With something that uses an OR mapper like Rails, I was able to use it without worrying about SQL, but it is essential in practice to know what kind of SQL is running behind the scenes. I started learning SQL from a state of zero knowledge, but I am glad that "Introduction to SQL that can be understood clearly" is very easy to understand.

Network basics

I thought it would have been better to study the outline of TCP/IP at an early stage. I wish I had read at least "3 Minute Network Basic Course".

Get a code review

I'm glad I received the code review. When I write code by myself, I rarely have a chance to notice what's wrong with my code. I was able to learn from various suggestions in the development of TechCommit and the code review of practical training of Tectre, but if I was studying alone, I would just read books by myself. It may have been closed. In that sense, I think it is good for beginners to receive reviews at MENTA.

Preparing the development environment

I felt it was better to spend money because displays and chairs really change learning efficiency. At first I thought I didn't need such a high price, but once I used it, I couldn't return to the original environment. I just didn't realize the inconvenience because I hadn't experienced the good things.

display

At first, I was learning with one 13-inch mac display, but since I bought the 34-inch curved display, my productivity has changed significantly. When you open VS Code, it is very good that you can compare spaciously even if you open 2 files.

Chair

As for chairs, when I was studying at home, I used to use a sitting chair at first, but I replaced it with a good priced office chair. Changing to a good chair will eliminate lower back pain, increase sitting time and reduce stress.

Ask questions without thinking about what the listener thinks

(This item may only apply to people who tend to care what people think.)

I think there are times when I'm wondering what I think when asking a question, but in the last year and a half I've felt that it's better not to think too much about this.

Even if you think, "If you ask such a question, you might think it's stupid," don't think about it. I can't help thinking about it, so I think it's better to accept what seems to be stupid. If you can't ask questions, it will slow down your growth. If you can't grow up because you care about what you think, it doesn't matter what you think, so it's better to grow up faster. It may be good to think about it. You should ask because the negative chain of "I can't ask questions-> slow growth-> long painful period" begins. It may seem silly for a while, but if you don't ask, it will only extend the painful period.

Of course, it is a major premise to investigate and think for yourself before listening, but if you do not understand after thinking to some extent, I try to think that the correct answer is to sort out what you do not understand and listen.

Regarding health

Studying technology is important, but it is also very important to stabilize your physical condition and mental health. If your mental health is not stable, your learning efficiency will not be good, and above all, you will not be able to spend your precious life happy. There was a time when I lived a life of programming only, but I felt the importance of mental stability and incorporated the following items into my life.

Muscle training walking

Exercise is really important. I took a leave of absence from graduate school last October and lived a life of programming only for a while. If you face the PC all day long, or if you get stuck in it for a long time, your autonomic nerves will be disturbed. (Mental worsens)

Muscles solve this problem. I have a feeling of being mentally struck and strengthened by starting strength training. The feeling of urgency that I felt when I was learning and encountered a meaningless event has also been alleviated. Strengthening muscles leads to mental improvement.

Also, even if you are not doing muscle training, walking for a few minutes a day is quite effective in improving your mental health. I feel like two birds with one stone because the time I am walking can be used for thinking.

bath

Not to mention exercise, it is very important to take a good bath (hot water) to stabilize your mental health. The autonomic nerves are in place. Originally, I was a human being only in the shower, and I haven't been soaking in hot water for the past few years. However, since I started going to the gym, I started using the hot springs attached to the gym, and now I can't help but want to take a bath every day. There is even going to the gym to soak in the hot springs. If you stay at home and just look at the screen of your PC, your autonomic nerves will be disturbed (which will lead to mental deterioration), so it is recommended to soak in hot water once in a while.

in conclusion

In the end, it ended up being an article that just wrote what I wanted to write, but I hope there is a reference part.

Recommended Posts

What was good for a fledgling engineer who started programming for a year and a half, and what I thought I should have done
27-year-old story of becoming a development engineer from inexperienced programming
Approximately three and a half months after joining the company, an output article to feed on the reviews
A story about a major SIer engineer who can't write code properly created a blockbuster Android app with 600,000 downloads
What was good for a fledgling engineer who started programming for a year and a half, and what I thought I should have done
What I pointed out as a reviewer for half a year
Write what you thought after using mybatis for half a year
Awareness of object-oriented programming for half a year
What I thought when I started working as an engineer
[Note] What I learned in half a year from inexperienced (Java)
[Note] What I learned in half a year from inexperienced (Java) (1)
[Note] What I learned in half a year from inexperienced (Java) (3)