[LINUX] [Inexperienced work / self-study] Story from receiving a job offer from an in-house developed company

Author's profile

Less than three years of programming experience Self-study

How long did you apply

About 70-80 companies including applications via agents. Of these, about 15 companies have passed documents. We received three informal offers. (One company is not developed in-house.) I declined all the selections, so maybe I've only decided about one or two companies. Job hunting period 1 month from early October 2020 to mid-November 2020

Overview

Programming becomes fun while automating Excel files managed in-house with VBA without permission, and job change to WEB engineer

Specific learning method

Basically, I learned almost everything based on output (I've been trying to input as well these days). So the first step is to find out what you want to do and how to achieve it.

★ Specific example It's annoying to apply the same filter every time in Excel, so I'd like to install several buttons and activate the filter that I often use when I press the button. Suppose you think. I think the following are things that you don't understand when you assume the early stages of learning. (It is assumed that you know the basic usage of Excel.)

1.How do you install a button?
2.Where do you write the program?
3.I don't understand programming in the first place

I think it looks like this. So you can see where the problem to be solved before programming is where to write the program and how to install the buttons. So first check it.

In fact, the action I took after this was to record a macro for the time being so that I could call it by pressing a button. (Macro recording is a function that allows you to memorize and execute procedures operated with the mouse or keyboard during recording. Of course, I don't know how to record macros at first, so I will investigate.)

Up to this point, I understand that I have installed the buttons and run the program.

Next, we will find out how to edit the recorded macro. Then you will know where to write the programming. After checking how to edit, I will play with it a little. For example, if you record a macro that filters with the name "Tanaka", suppose that a code like this is output.

    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$B$5").AutoFilter Field:=1, Criteria1:="Tanaka"

Then, why not change the "Tanaka" part to your favorite character? I think it will be. It's pretty rough, but at first I just repeated that kind of thing. For the time being, in order to record a macro of similar movements and make the movements you actually want to do, I wonder which numbers and letters should be tampered with and touch them appropriately. At this point, all the details are ignored. I don't know how to debug, so I just edit the code, save it, press the button to execute it, and if an error occurs, edit it again.

At first glance, it may seem inefficient, but since you can achieve what you want to do in the shortest time, you can enjoy the fun of running the program you wrote in the shortest time, and the probability of frustration will decrease. think.

He said that he became a super copy and paste programmer who can realize what he wants to do just by copying and pasting the source code that worked like this. However, since I am repeating such things, I remember running VBA for more than half a year without using any functions. (I knew the existence of the function, but I don't know why it was necessary + I can't use it because I don't understand the return value and the return value) If I continued for more than half a year like that, I had more opportunities to modify the code, and one day I realized that there were about 10 of the same processes, which I was famous as a super copy and paste programmer. (Notice earlier)

At that moment, I knew the need for a function. At the same time, I found it strange that I couldn't understand the return value and the return value. I was shocked by it and I was addicted to refactoring for a while. The code is getting shorter and easier to maintain, and refactoring has become a lot of fun.

Then, after about a year, I finally learned [function]. Then I went into the world of web applications.

The same thing is done even if it becomes a WEB application. Decide what you want to make and find out what you don't know to make it. Try it little by little. At first, I don't understand the meaning and copy and paste. do not mind. The highest priority is to move. If you repeat this, you will suddenly find the moment when you can understand what you have been copying and pasting. Isn't that the time of growth?

Current skills

It's been less than three years since I started programming, and I strongly wanted to become a more robust plug-rammer, so I started changing jobs. The activity period is written at the beginning.

Language and technology used for development HTML / CSS (scss, bootstrap) / PHP / Python / Ruby (Ruby on Rails) / JavaScript (Vue.js, JQuery) / VBA / DB (MS SQL, PostgreSQL, MySQL) / AWS (EC2, S3, Route53) / Sakura VPS / centOS7 / Nginx / Apache / Ajax / docker / git

Of course, each skill is not a big deal, but by combining the above technologies, the WEB application has reached a level where you can make what you want from scratch.

What I made

・ Sales, inventory, expense management app ・ Homepage (Full scratch with PHP)

What is your portfolio?

Unfortunately, it is still in operation in the company and there are places where various passwords etc. are written solidly, the source is not open to the public, and when selecting documents, I put the Youtube URL so that I can understand the movement of the entire WEB application somehow. There is.

Impressions of job hunting

If the interviewer is not an engineer and has no technical knowledge, the skills he has acquired will not be evaluated and it may be difficult to judge whether he is good at communicating during the interview. It tends to be fun because the interviewer is a technician.

For those who are about to start programming

Small ones are fine, so please start with what you want to make. In particular, VBA for Excel and GAS for spreadsheets do not require environment construction and are highly likely to be used in current business, so I recommend them. Programming is fun only when you have what you want to make. I think you feel that way. I think most people who can start programming with such motives as having a good salary, wanting to work freely freelance, or having good remote work will be frustrated. Some people say that programming is not a purpose but a means to make money, but of course there is such an aspect, but it is simpler and fun. I think that a more interesting future will come into view as the number of such people increases in society as a whole.

Recommended Posts

[Inexperienced work / self-study] Story from receiving a job offer from an in-house developed company
Story that an inexperienced person made a masked solver
A story about a war when two newcomers developed an app