[RAILS] I quit my programming school mentor

Overview

I was a mentor at a programming school for almost half a year, but I quit due to various reasons. I'm sorry to say that I haven't stopped this for negative reasons. After working as a mentor for half a year, I will write as an individual opinion what you think about the choice to go to a programming school after taking into account the bad reputation on SNS. We hope that you will consider the content as a reference rather than swallowing it. By the way, this article is not a school comparison article. So there is no recommended school introduction.

Conclusion

First of all, I would like to conclude that ** the choice to attend a programming school is not bad **. However, I think it can be a waste of money depending on which school you choose, how you use the school, and your own way of thinking. However, personally, there is no need to go to school at all, and if it is used as an environment where you can ask questions at your favorite time or as a job change guarantee, it is only an ant.

Benefits of attending school

The bulleted list is as follows.

--Since the learning procedure is clear, it is easy to move your hands ――Because you are paying, you can ask any questions openly. ――Because you are paying, you can drive yourself to learn (easy to continue) ――You can create a portfolio in the process of learning ――Depending on the school you attend, you are guaranteed to change jobs

that's all. Especially, I think that the final job change guarantee is big. However, I don't think it's a story of always joining a good company, and I expect that the story after joining the company (for example, it will expire during the trial period) is out of warranty, so it is not necessarily safe. I don't think it is. If it is covered by the warranty until the end of the trial period after joining the company, it is a great advantage. On the other hand, if you can't continue without the constraint that you are paying money, it is not suitable, so we do not recommend changing jobs as an engineer.

Disadvantages of going to school

The disadvantages are as follows.

that's all. Since it has a bad reputation, I sometimes hear that it is cut off just by writing a school graduate on the document, but I think that it is a very small number of companies, so I think that you do not have to worry too much. I usually take a quick look at my portfolio before cutting.

Whether to attend

I have listed the advantages and disadvantages, but I would like to personally state what I should do. ** If you can afford it, you can go **. However, just because you pass the exam does not mean that you will acquire the skills, and that it does not mean that you will succeed in changing jobs and become an engineer. Personally, I think that people who are self-taught and create a proper portfolio are more likely to succeed in changing jobs. The reason will be described later.

Why you can't change jobs even if you go to school

It's not necessarily unsuccessful, and some engineer schools offer very good service. There were some of the students who seemed to be wonderful. However, it is said that attending an engineer school is not always a good choice for successfully changing jobs as an engineer and, by extension, for building a career as an engineer.

School service

As mentioned above, the service content is not bad. If you master the curriculum, you will be able to work as an engineer to some extent. However, since I have only experienced one school, I cannot affirm the services of all the schools. The content of the curriculum that I was helping as a mentor was not bad.

Mentor gacha and evaluation

You pay to enjoy the service, but I don't think you can always get what you pay for. Even if you call it a mentor, the teaching method is different for each mentor. For example ...

--How to teach ――I will tell you the answer immediately ――The answer is not given immediately, the question is returned as a question

--Source of what you taught me --Source is Qiita article --Sources are official documentation, GitHub README and source code

It is like that. By the way, the former mentors are highly evaluated by the students.

Will tell you the answer immediately

From the perspective of the students, I think they are good mentors who can quickly solve their own problems. The mentor will be able to solve the problem quickly and feel good. If I was asked to do so, I would be happy to resolve it quickly. Everyone looks happy with win-win. However, I would like the students to calmly reconsider why they are paying a lot of money to attend the school. By the way, the feedback from the students is highly evaluated because it will not stop if they are resolved quickly. It seems that there are many cases where the deadline for submitting assignments is approaching.

The goal of the students is not "completion of curriculum" or "completion of portfolio", but "** understanding ** of curriculum" or "acquisition of knowledge ** or ** problem-solving ability through portfolio creation". It should be "improvement **". If you ask the mentor what you don't understand as above and get an answer immediately, you won't get any of these.

I have a bad personality, so I tried to ask the students what I didn't understand. For example, if the content is "I have an error and want to resolve it" ...

  1. Do you know where the error message is displayed?
  2. Can you read the English written in the error message?
  3. Do you understand the meaning of the error message?
  4. Do you know where the error is occurring?
  5. Can you somehow understand the type (cause) of the error?
  6. Can you somehow figure out what approach is needed to clear the error?
  7. Do you know the specific code to clear the error?

Check with this level of particle size.

Since the content of the question asked by the students is "solving the error", we will respond assuming a degree of understanding of about 4 or 5, but in the first place it has not reached 1 "I have not read the error message" In most cases. I can't talk about it.

The above 1 to 7 are also a rough process to resolve. It is impossible to solve it forever without reading the error message and not understanding the content of the error.

In such a situation, I immediately showed the correction code for the solution, and if it was solved, would the students have anything to gain? I'm sure you will repeat the same question again. Don't you think it doesn't mean anything?

By the way, as a result of continuing to respond in this way, we received feedback from the students, such as "it takes too much time" and "repeated meaningless questions".

Source is Qiita article

** This is out of the question. ** Of course, there are many great articles that can be helpful, but you shouldn't use them as a source to teach someone and get paid for them. You should always teach things from the source of primary information. By the way, in the feedback from the students, it is highly evaluated because it is easier to understand by teaching the Qiita article to the source and the function can be realized by copy and paste.

The reason why Qiita articles etc. should not be sourced is simply unreliable. I think it's clear that the official documentation created by the author of the library and the information taught based on the actual source code are clearly more credible. Also, many of Qiita's articles are incorrect. The reason is simple, and many beginners like the students say "I tried using it." That's exactly what I've written so far. Can you 100% trust the beginner's "tried" article?

I share the official documentation and the source code where the actual methods are defined, how to use it, what the receiver object is, where the arguments come, what the contents are processed. I was talking about whether there was any. The feedback on this was fairly well received, but most of the people said, "I'll try it with reference to Qiita's article," which I explained a lot, so I was a little disappointed that the result was not what I intended.

How to identify a mentor (?), But after answering the question, ask the mentor, "Please give me some reference materials for learning." If there is an article, it is easy to grasp the flow, so I think that there are many mentors who will teach me some articles, but I think that the mentor who will teach the official document along with it is a hit. I think that's the norm ...

There is a mentor gacha like that. These are just what I personally think of a mentor as it should be and what it shouldn't be, and if my idea is wrong, I'm a teacher on the other hand ...

Students' learning attitude

The biggest problem is still here. Since it is the students who are paying the money, I really want them to get the results that are commensurate with it, but there are moments when I wonder if the students themselves are learning with a purpose. There were many, so I would like to express my opinion.

Purpose of the course

What are the students going to programming school for? It's for changing jobs, right? Why do you want to be a programmer? Because the salary is good? Do you have a service you want to make? Somehow?

We do not recommend attending a programming school if you do not have a clear motive for this area, and we do not recommend changing jobs as an engineer. Engineers may look glittery, but they need to keep studying the technology that keeps evolving at the expense of their private life, and they seem to think that they are "sacrificing their private life". Then it does not continue. That's the industry.

Many of the students are working hard with the noble goal of changing jobs as an engineer at the beginning of enrollment, but the goal is to complete the assignment or graduate from the school after the assignment begins to be imposed in the middle. As for the question itself, the submission date of the assignment is near, so we want you to solve the error and tell us how to implement the function. We don't mind, we're getting paid so we'll teach you how to implement the feature. But is it okay for students who are paying?

Once the portfolio is complete, it is not a good job change. It doesn't have to be completed. The important thing is that Rails apps can hold the basics of Rails, explain what you are implementing, appeal the uniqueness of the application, and talk about your experiences such as ingenuity through portfolio creation. .. Can you explain the functions implemented by people at the interview? By the way, if you can't explain the functions that you should have implemented in your portfolio, you can think that there is basically no adoption.

If you are thinking of taking this course, or if you are currently taking it, why not reconsider this area, including your motives for changing jobs?

The mentor's story is neither absolute nor correct

I don't want to say that much, but there are mentors who openly teach wrong knowledge and anti-pattern implementations. There are people who are part-time college students or active engineers (laughs), but there are also cases where even those who can work properly make mistakes, and as a result of teaching while studying the fields they are not good at, they make mistakes. .. Therefore, I would like the students not to take what they have been taught, but to thoroughly verify and back it up by themselves afterwards. Nothing is about mentors being unreliable, but human knowledge is deteriorating as technology evolves. There are many cases of anti-patterns or deprecations, even if the knowledge was correct at the time. This is also a story that can be said for technical articles, and I think that a note appears at the beginning of the article if Qiita is also over a year old. It is the same even after I start writing a program as a job that I need to verify whether the knowledge I gained through this research is really correct and whether it is the best, so I would like you to develop such a habit from an early stage.

Current market story

Engineers are currently understaffed. Rails engineers are no exception. So is it an environment where inexperienced engineers can easily change jobs?

The answer is no. The reason is simple: inexperienced engineers will have to pay for training after joining the company. We use the resources of in-house engineers to train them. Do you understand? Hiring an inexperienced engineer means that, for a limited time, it will be even more labor shortage. Please think that the more inexperienced human resources are, the more desperate they are to hire.

In addition, it is now a corona sword to revenge. While corona is popular, many companies are adopting remote work. Inexperienced training is very difficult during this remote work. If you work nearby, you may be able to give careful attention to education, but if you are remote, you may not notice that the other person does not appeal to you, or you may not notice it because you are away from your desk in the first place. It can be said that it is the worst environment because it is difficult to ask questions because I do not know. ~~ Well, I've never been in charge of training, so I'm expecting everything I've just talked about. ~~ So I think every company is reluctant to hire inexperienced people.

By the way, these do not apply to companies that sell human resources themselves. I think that you will be welcomed there depending on your motivation and physical strength. For those who want to become an engineer for anything, I think it's not a bad choice to close your eyes on the treatment and environment and then join such a company to gain experience.

About "People who are self-taught and create a decent portfolio are more likely to succeed in changing jobs"

I would like to mention the story mentioned at the beginning, but I personally think so. This is related to the "problem-solving ability" necessary for changing jobs as an engineer. If you are self-taught, you have to find and solve everything by yourself, how to study, how to write a program, and how to solve each problem. Those who can reach the portfolio completion through such a process inevitably have high problem-solving ability. On the other hand, school graduates have no problem-solving ability if they leave everything they don't understand to the mentor. From a corporate perspective, it's easy to see which one you want to hire.

Knowledge of blunt programming will be lost in later training, so problem-solving ability, self-propelled ability, and motivation and interest are required for inexperienced people. These tend to be in short supply for school graduates, and because I think the environment is doing so, "people who are self-taught and have a decent portfolio are more likely to succeed in changing jobs." I am thinking.

Summary

There was some content that deviated from the story of the school, but it is almost as described here. There are many benefits to attending a school if you have the money, but the over-blessed environment can ruin you. If you go to school, think about what you are going to do and what you want to do there, along with your motivation for changing jobs as an engineer, and make sure that you use it properly. Once again, graduating from school does not mean that you can become an engineer, and no one needs just graduated from school.

After that, there are many environments where you can learn various things without using a separate school. It can be a free programming learning service or a local technical community. There are many local communities in Ruby, from urban to rural areas, so it's cheaper to join the local community and ask questions and learn, rather than paying for a mentor to teach, and the quality is good or naked. You may be able to get to know various circumstances and even talk about hiring through the participants there. it's recommended. So it may be a bit hard to say, but it may not be suitable for programmers because I do not have enough ability to look up the information I need when I think that I can not study properly unless I go to school. Hmm.

Recommended Posts

I quit my programming school mentor
I started programming diary
Programming and high school math