[JAVA] A story about changing skills from COBOL cultivated for 5 years in the late 20s to a Web language

Hello! My name is (@k_eng_m) from Qiita's first post. The following is a brief self-introduction.

--28 years old born in Tokyo --From liberal arts, about 6 years as an engineer --5 years of COBOL at SIer company (experienced in all processes from requirement definition) --Java 1 year at SES company

Most of the carriers have been involved in the development and maintenance of so-called host systems and core systems of companies using COBOL. Currently, I am working with SES companies, focusing on Java, JavaScript (vue.js), AWS, and so on.

About a year has passed since the skill change, so Today, I will leave an article about this ** COBOL experience and an inexperienced and converted to Web language **.

Rather than being completely inexperienced, although he has experience as an engineer ** "I was doing legacy languages such as VB and COBOL, can I change my skills?" ** ** "Is my experience useful after a skill change?" ** ** "Isn't it too late from the age of XX?" ** Those who are thinking about such things, Also, if you are thinking about changing jobs with skill changes in the future, I would be very happy if your own theory and experiences could add something to it.

Background / reason for skill change

I got a job at a certain SIer company as a new graduate. A company that mainly develops and maintains financial projects, and has a high social influence. When I first joined the company, I was confused, saying, "I'll work hard and produce results!"

However, after a few years, the following complaints arose.

--There is almost no coding left to the consignment. The focus is on project coordination and management with customers. ――The work time of document management (design document, evidence) created in Excel is very long. ――Development centered on batch processing lacks the sense of making something.

I'm sure there is an SIer. Lol The appearance of Excel materials and the readability of sentences are more important than the cleanliness of coding.

When I was a student, I faced a reality that was far from the image of an engineer I had envisioned.

So I attended a Java study session that volunteers from the company were working on. By learning JSP and Servlet at the same time, I was fascinated by the versatility of development using Java. I learned the joy of creating web applications that cannot be achieved with COBOL.

If you learn this language, you will gain a lot of experience in various projects regardless of industry.

With that in mind, I decided to change jobs.

To change jobs

Around the spring of the fifth year after joining the company, I started changing jobs. At first, it would have been nice if I could experience Java + α (front language, etc.) by gaining practical experience. Speaking of engineer development work, I think that it is often classified into ** "SIer", "in-house development (Web system)", and "SES" **. Regarding "SIer", I wasn't aiming for this job change, so I interviewed multiple companies for "in-house development (Web system)" and "SES". Below, we will describe the selection results and their impressions.

** In-house development (Web system) **

** Due to lack of skills, everything was put off. ** ** (I created a simple inventory management app in Java as a portfolio, but it's too mundane ...) Moreover, it is almost impossible to join a self-developed company without any portfolio. About technology, "I'm learning by reading a book like this" and "I'm trying to improve myself every day by participating in such a study session" You can't really break through the interview.

In order to join a company that provides services in-house, At a minimum, the following conditions must be met:

  1. Work experience Experience in the programming language and development environment used for the company's own services is strongly required. Few companies require Java experience, and the overwhelming majority require experience with Ruby on rails and PHP. There is no need for COBOL experience.

  2. Creating a portfolio Launched one (preferably two or three) services in the programming language used by the company By committing to GitHub, I think that ** document screening ** will pass for the first time. The key to an interview is how you can talk about your commitment to the service you have created. It is important to tell about your portfolio ** why you create this service, how you devise it, and what points you can contribute to the company's service.

SES### ** We were able to receive informal offers from multiple companies. ** ** I was able to meet a company that can evaluate a certain number of COBOL experiences. The key to choosing an SES company is ** whether the programming language that the company is good at matches the skill set of the field you want to do **. At the interview, you will be asked the following:

  1. Work experience What programming language have you used and what project you have You will always be asked what kind of results you have achieved. It would be nice if there was an episode in which my work was greatly reflected in the numbers and data as a company. ** If you appeal by mixing materials that are easy for a third party to imagine, such as using numerical values, the concreteness of the story will improve. ** **

  2. Qualification Many SES companies confirm their qualifications in order to improve the assignment rate to projects and promote unit price negotiations in an advantageous manner. (I didn't have any relevant IT qualifications ...) If you have it, you can appeal your learning motivation and potential. The less experienced engineers are, the more IPA qualifications (basic information technicians, applied information technicians, etc.) Possession of vendor qualifications (Oracle certification exam (Oracle Master, Java), LPIC, etc.) is a weapon.

I have the impression that the difficulty of joining the company is considerably lower than that of a company developed in-house.

Joined an SES company

From multiple companies, we received informal offers, focusing on server Java, front and infrastructure projects I decided to join an SES company that handles it in a well-balanced manner. After acquiring Oracle certified Java Silver before joining the company, appealing motivation for learning, I have escaped from my life of choosing COBOL, and I am still living at the customer's site, spending my days studying while touching Java.

Will COBOL experience be evaluated in the interview?

** To be clear, it was hardly appreciated. ** ** We interviewed dozens of companies that were developed in-house and SES companies. Probably from the HR staff ** "I know the flow of system development (waterfall model)" "No program, but not an amateur" ** In reality, I didn't get much of an advantage as an experienced programming person.

Even in the same occupation as an engineer, with a programming language called COBOL Web programming languages such as Java, PHP, and Ruby The quality of experience points will vary considerably.

Reflection

I will spell out what I felt I should have done more when changing skills.

――There was too little material to appeal your motivation and posture in the interview

Anyway, I wanted to gain practical experience quickly, so there was too little material to appeal other than COBOL experience, Even if you change jobs in your twenties, there is a limit to how much you can see the potential. At the very least, I should have shown my sincerity by acquiring qualifications and enhancing my portfolio. ** I think that engineers with less practical experience should actively promote their motivation with visible weapons. ** **

--Lack of knowledge of IT industry and programming languages

I'm ashamed to say that I didn't know too much about the programming characteristics of COBOL. What programming languages are there in the world, and what can be achieved with them? I thought that I should have thought about what kind of career I could build as a student. In some cases, as you work, you become aware of the gap between your ideals and reality, and it becomes clear what you want to do. I think it's difficult regardless of the type of business, isn't it?

――I stayed in my previous job for 5 years too long

It was too late to decide whether to continue fighting with COBOL or to try other languages. As a condition for participation in the project, there is a recruitment requirement such as "more than XX years of Java experience" ** In an engineer's career, years of experience with each language, framework and tool are very important. ** **

Obviously, the IT industry is an industry where you can work without a qualification, so no matter how difficult you get a qualification. No matter how great your portfolio is, you can't beat your work experience. If you are wondering what to do with your career in the future, I think you should make time to deal with it thoroughly. Then, look it up, think about it moderately, and actually take action. For example, if you don't decide to change jobs right away, register on the job change site for the time being. I think it's okay to search for a company you are interested in, have an agent evaluate your career, and so on. If you feel that it is different as a result of moving, you can go back to research, think, or stop the action, and that's fine.

** If you put it off, the return will be larger. Age doesn't wait. ** **

Conclusion

** In your late 20s, you can change your skills from COBOL to a web language. ** ** However, I think that there are few companies that can evaluate the experience value as a COBOL engineer so far.

Also, it will be a story at an SES company. What I felt through interviews with each company and what I felt when I saw seniors in their 30s and 40s after joining the company ** If you are in your twenties, you can change your skills even if you do not have a great track record. ** ** ** After my thirties, I got the impression that the achievements in my career, experience as a leader, and the degree of self-improvement are more important **.

In any case, it will be a start from scratch, so I think it will be difficult to increase annual income and treatment in this skill change. I think it's a self-investment in the future, I think I've gained experience, and I'm just trying.

Summary

Through such experience, I have reached the present. I am very satisfied with the current environment where I can learn the technology I want to do and feel self-growth. One year after the skill change, I decided to acquire all the qualifications in the field I wanted to study and solidify the basics, so I acquired the following vendor qualifications.

--July 2019 Oracle Java Silver SE8

--January 2020 Oracle MASTER Bronze 12c

--April 2020 Oracle Java Gold SE8

--June 2020 AWS Solution Architect Associate

From now on, I plan to study the knowledge I want to acquire, such as frameworks, front languages, and Docker.

It has become a long sentence covered with my own theory, but I would like to thank everyone who has read this difficult-to-read sentence so far. .. "Isn't that different? "It was like this at my time! !! If there is a comment such as I would appreciate it if you could let me know.

The last thing I want to say is that ** "regrets that did not act as humans are far more painful than regrets that acted" **! Let's do our best so that we can be strong engineers with each other!

Recommended Posts

A story about changing skills from COBOL cultivated for 5 years in the late 20s to a Web language
A story about changing jobs from a Christian minister (apprentice) to a web engineer
A story about converting character codes from UTF-8 to Shift-jis in Ruby
A story about Java 11 support for Web services
A story about the JDK in the Java 11 era
A story about a super beginner participating in the AtCoder contest for the first time (AtCoder Beginner Contest 140)
3. Create a database to access from the web module
I tried to explain what you can do in a popular language for web development from a beginner's point of view.
From studying programming for 2 months to releasing a web application
How to install Web application for each language in Nginx
How to deal with the type that I thought about writing a Java program for 2 years
A story about making a calculator to calculate the shell mound rate
The story that Tomcat suffered from a timeout error in Eclipse
A story about a university student publishing a product on GitHub for self-appeal in the selection of laboratory assignments
A story about running a program that copies files in Java from a bat file to make the work done every day a little more efficient
About the language to be learned
The story of forgetting to close a file in Java and failing
The story of switching from Amazon RDS for MySQL to Amazon Aurora Serverless
I thought about the best way to create a ValueObject in Ruby
A story about sending a pull request to MinGW to update the libgr version