[RAILS] Side business x AWS talks about a life-changing engineer

Introduction

I was wondering what to write, but it's been about a year since I started my side job, so I'd like to write about how I started, what I'm doing, and the merits of trying it. The reason why ** side business x AWS ** is because my strength was that I usually touch AWS while doing side business, so I mixed not only side business but also ** AWS **. Saw. I hope it will be helpful for those who are thinking of starting a side business, especially those who have changed their roles in their main business and can not write much code.

Self-introduction

In our main business, we have a team called Cloud Architecture Grp in a department called SRE, and we are promoting cloud nativeization of our own service COMPANY. Since AWS is mainly used as a cloud platform, there are many opportunities to come into contact with AWS services on a daily basis. Besides such a main business, three companies are doing side businesses. (Venture of about 20 people) Each

--SaaS for long-term care establishments --SaaS for eating out --Meeting improvement SaaS

So it's an area that has nothing to do with the company lol Even in the side business, the main is touching around AWS.

I had an opportunity to talk with Mr. Nishitani of AWS (@ keisuke69) at the company before, and I mentioned it a little, but it was omitted in the article, so let's dig a little deeper. I think. The content I talked about is summarized in an article here (Part 1, Part 2).

The reason for starting a side business

I have been invited to change jobs since about two years ago. (Thank you for continuing to invite me) At that time, my main business was rather fun and I had no reason to quit, so I was grateful but refused. (I was originally an app engineer, and I was at a loss when I was just thinking about making an app ...) Meanwhile, when the ban on side jobs was lifted at the company in November last year, the company that was invited to change jobs at that time told me that "it's okay if it's a side job" and started. [^ 1]

[^ 1]: Isn't there a lot of people around here, such as Lancers, CrowdWorks, and direct communication on twitter?

What are you doing at your side business?

The main content is close to the main business, and the existing architecture on AWS is improved according to the Well-Architected Framework. After that, I am also working on fixing bugs on the application side and adding functions. Other than that, I try to make a prototype when creating a new service, and receive consultation when creating a service on AWS.

To be a little more specific, I was doing something like this.

--Redundancy to improve service fault tolerance --Implementation of measures to improve security --Improved CI/CD flow --Implementation of WebAPI linkage between services due to service division --Introduction of APM [^ 2]

[^ 2]: I'm touching AppDynamics in my main business and Datadog and New Relic in my side business, so it's fun to see the strengths and weaknesses of each.

I don't have much coding in my main business, I just calculated money and listened to everyone, and I wasn't an engineer, so I'm having a lot of fun.

How much do you do a week?

It's about 20 hours a week. Most of the work styles for a week are about 10 hours on weekday nights and about 10 hours on holidays.

Why are there 3 companies doing it?

To be honest, I didn't plan to do 3 companies either. When I first started, there was only one company, but since April I have been working from home, and since I have no time to commute to work and go out for drinks every day, I have more time to spare, so I have a side job with the second and third companies. I started. In both cases, I was asked by a former colleague, but while listening to the contents of the service I was trying to provide, I was very interested in what kind of configuration it was working on.

Characteristics of each company that I saw when I tried a side business

I was asked how the three companies are actually doing it, so I wrote a little reason. First, the three companies have the following two characteristics.

1. The base used is almost the same

--Cloud-> AWS --Server side-> Ruby on Rails --Client side-> React --CI/CD-> CircleCI test with Rspec, Deploy with Capistrano [^ 3]

2. The phase as a company is near

Everywhere was on the early stage, and I had the impression that they were facing the following problems.

――It has become necessary for customers to actually start using it and improve fault tolerance and security. ――It became necessary to arrange the operation and monitoring surroundings. ――The number of developers has increased, and it has become necessary to easily prepare the development environment. --It has become necessary to apply bug fixes frequently. --Multiple verification environments are needed

At first, it was SaaS in a completely different area, and I thought it was a different company because it was a different company, but since the base ** used ** and the phase ** as a company ** were similar, almost every company had the same problem. Was there. What I did in one company to solve those problems can be reused in other companies, so I saved time by incorporating it as a template within myself. Templates have the meaning of Infrastructure as Code, but we have also prepared templates for understanding the current situation and talking about what to do in the future. Roughly speaking, each company did the following things.

  1. Have AWS IAM issued and create a configuration diagram of the current service
  2. Identify the problems of the current configuration
  3. Identify what requirements are required due to the characteristics of the service
  4. Creating a configuration diagram and CI/CD flow that meets 2 and 3
  5. Create a plan to achieve 4
  6. Plan execution

[^ 3]: Capistrano may be convenient at the beginning, but what I'm doing is connecting to an EC2 instance with ssh, git clone and bundle install, so it's hard to think about making it redundant in production. That's right ...

Benefits seen as a side business at three venture companies

1. You can run a feedback loop between side business ⇔ main business and side business ⇔ side business

Since the product scale and the phase of the company are different, you can take advantage of each strength.

-** Side business to main business ** --Sharing of verification results of new technologies that cannot be used immediately in the main business -** Main business to side business ** --Sharing perspectives such as security, fault tolerance, and performance -** Side business to side business ** --Sharing solutions to similar problems

It's nice to be able to find out what is strong and reinforce what is lacking when applying it to other companies, rather than simply reusing and sharing knowledge in one direction.

2. More opportunities to move your hands

In my main business, my role changed and I had less chance to move my hands, so I'm grateful that there is a side business as a place to output. I can't do this kind of thing by myself ...

3. You can see the back side and characteristics of other services without changing jobs

This is because the services of the side business that I am doing are different, but each service has its own characteristics and is interesting. For example, in the case of a conference improvement service, the joint editing function when writing minutes, in the case of eating out, the function of transferring and processing files by FTP from the POS cash register, and in the case of a service for long-term care establishments, the visibility of characters You can see a world that you cannot understand from your main business, such as your commitment.

4. Also, I can get a lot of money ...

(I can't write this, so please ask me directly lol)

Demerit

I'm not honest. However, people who dislike it may be a disadvantage because holidays are almost filled with side jobs. I'm having fun, so I don't really care about that. ** But recently broke up with her because of it ... ** Well, it's mainly here that my life has changed. For the time being, I would like to find her by referring to the recently written this article. (Ah, but is it Christmas Eve today ...)

in conclusion

If you are wondering whether to do a side job, you should definitely do it! Also, if you have an app engineer who hasn't touched AWS yet, please try it! I wasn't interested in infrastructure at all, but I think my range as an engineer has expanded.

Recommended Posts

Side business x AWS talks about a life-changing engineer
A story about a new engineer reading a passion programmer