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.
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).
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?
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.
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.
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.
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.
--Cloud-> AWS --Server side-> Ruby on Rails --Client side-> React --CI/CD-> CircleCI test with Rspec, Deploy with Capistrano [^ 3]
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.
[^ 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 ...
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.
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 ...
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.
(I can't write this, so please ask me directly lol)
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 ...)
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.