皆さんこんにちは!
プロトソリューション IT部門沖縄の比嘉と申します!
今回は、2024年度新卒部署研修の内容をご紹介させていただきます!

目次

・IT部門新卒研修の目的
・プロトソリューションの研修制度について
・IT部門沖縄の部署研修について
・研修内容について
・新卒社員の声
・最後に

IT部門新卒研修の目的

まずは研修の目的についてご紹介させていただきます。
今年度のIT部門新卒研修の目的は以下の2つを設定しました!

・タスク細分化とチーム開発における報連相の重要性を理解し、ITエンジニアとしての土台を固める
・プログラミング言語(Dart/Flutter)の基礎や概念を理解する

詳しくは下記でご説明いたしますが、社会人基礎力とエンジニア基礎力を身につけ、実際に現場配属となった際にスムーズに業務に取り掛かれるようになることを目的としています!

┗ 24年度新卒社員のお二人

プロトソリューションの研修制度について

プロトソリューションでは4月入社後、約3週間は同じ年に入社した同期全員で、社会人としての基本的な心構えやビジネスマナーなどを学ぶ人事研修を実施しています。この人事研修が終了すると部署配属となり、それぞれの部署で部署研修が行われます。
部署研修では業務内容や専門スキルに特化した研修を行うことで、業務にスムーズに取り組めるよう研修内容が構成されています。

IT部門沖縄の部署研修について

今年度、IT部門沖縄では2名の新卒が入社いたしました!👏
IT部門沖縄の部署研修は4月中旬から5月末までの約1ヶ月半を予定しており、研修の内容は前述させていただいた目的をもとに、2つの構成に分かれています。

1つ目は「チーム開発」や「エンジニアの働き方」、「サービスの品質を守るためには」などエンジニア基礎力の部分について学びます。ここで実際の開発現場に配属された時の心構えや、具体的なタスク管理方法について学習します。

2つ目はプログラミング言語を学習します。IT部門沖縄では現在Flutter開発に力を入れており、Flutterが部署内で一番HOTな技術といっても過言ではありません!!そのため新卒研修でもFlutterを通してプログラミングの基礎力を固めていきます!

基本的な教育は担当の先輩社員が行い、技術的な面ではその技術に特化したメンバーにも協力していただくことで、技術力だけでなく先輩社員との交流も図っています。

└ 見守る先輩社員😊

研修内容について

具体的な研修内容は以下のようになっています!

・エンジニア基礎力編
 ┗ エンジニアとしての成長とは?
 ┗ Webサイトが表示される仕組みを理解しよう!
 ┗ チーム開発で重要なこととは?
 ┗ サービスの品質を守るために
 ┗ タスク細分化について(ワーク:カレーライスを作る際にどのようなタスクがあるのか!?)
 ┗ 開発タスクにアサインされたら
 ┗ データベース基礎講座!

・プログラミング基礎力編
 ┗ モバイルアプリ開発について
 ┗ Flutter基礎①(環境構築)
 ┗ Flutter基礎②(Dartによるプログラミングの基礎学習)
 ┗ Flutter基礎③(じゃんけんアプリ✊を作ってみよう!)
 ┗ Flutter演習(UI構築、状態管理、天気予報APIを利用したアプリの構築)
 ┗ Flutter最終課題(要件に沿ったアプリ構築に挑戦!タスク分解から設計、実装、テストまで一連の開発フローを経験する)

┗先輩社員によるデータベースについての説明

新卒社員の声

Sさん
現在は、Flutterを用いたアプリ開発の研修を受けています。最初はついていけるか不安でしたが、根気よく取り組むことで解決できることを実感しており、日に日に研修が楽しいと感じています。
また、これまで楽しく研修を受けれたのも先輩社員の方々が親切に教えてくださるおかげです。先輩社員の方々に支えられていることに対する感謝を忘れることなく、研修を頑張ることができました!

Kさん
部署研修開始から一ヵ月が経過しようとしていますが、日々多くの学びを得ることができ、楽しく研修に取り組むことが出来ています!
私が特に研修で印象に残っているのは、タスク分解ワークで「米を炊く」というタスクの抜け漏れを起こしてしまい、完成品がカレーのみになってしまったことです。ワークを通してタスク分解の難しさを実感すると同時に、無意識に行っていることは、見落としが発生しやすいということに気づかされました!
一ヵ月という期間で、これだけ成長を感じることが出来ているのも、PSの魅力の一つだと感じています!研修に関わってくれた方々には本当に感謝しかありません!ありがとうございます!

最後に

プロトソリューション IT部門沖縄の新卒研修紹介はいかがだったでしょうか?
この記事を読んで、少しでもプロトソリューションに興味を持っていただけたら幸いです!

最後までご覧いただきありがとうございました!!

2025年度新卒エンジニア採用ページはこちらから
株式会社プロトソリューション | プログラマー/システムエンジニア (protosolution.co.jp)
株式会社プロトソリューション | AIエンジニア (protosolution.co.jp)

はじめに

ご無沙汰しております、プロトソリューション・オフショア開発のMKです。

私がベトナムに渡航して早3年。

ベトナムの開発拠点も前任者の代から数えて7年が経ち、今年は第2草創期と位置付け、100名体制を目指して新たな気持で頑張ります。

この3年間・・・

色々ありましたが、最初はとにかくがむしゃらに組織拡大を進め、その結果44名までいきましたが、そこで品質問題が噴出してしまいました。

リーダー層が安定しないまま拡大を急いだため、いくつかのプロジェクトが炎上し、私自身もかなり疲弊しました。

それが1年半前の話です。

悩んだ挙げ句、管理が行き届くようにするため、一度プロジェクトとメンバーの数を削減。

その後、とにかく「品質重視」を言い続けた結果、今年度はベトナム拠点から一定レベル以上の大きな障害をゼロに抑えることができました。

また、障害対応が減った分、提案活動に時間を割くことができ、2千万円弱の追加開発も受注できました。

まさに「急がば回れ」です。

この経験から組織拡大と品質は必ずセットで考え、各サブチームには柱となる日本人ベテラン・エンジニアが不可欠だということを身にしみて感じました。

プロトソリューションが提供できる場

1.逆張りの海外拠点

ご存知の通り、ここ数年は円安が続いています。

円安とは円の価値が下がることなので、日本から見ると相対的に海外人材の人件費は上がりました。

ですので、我々のようなベトナム人中心のチームにとっては逆風です。

順当に考えれば開発拠点を国内へ戻すべきでしょうし、多くのIT企業がそうしていると聞きます。

しかし、弊社としては、円安は一時的なものと捉えており、長期的には国内のITエンジニア不足が続くことは分かっているため、敢えて海外拠点に投資し続けています。

オフショア事業は厳しい状況(正直赤です)にありますが、会社の心意気に感謝しつつ、この状況を少しでも軽減すべく私も試行錯誤しています。

2.多くの開発案件

プロトグループは国内最大級の中古車情報サイトを運営しています。

システム面では、大規模かつ長年にわたってツギハギで拡張してきたため、メンテナンスが大変難しい状態です。

裏を返せば、ベテラン・エンジニアにとっては、レガシーシステムの整理とモダナイズという、今までの開発経験を大いに活かせる場があります。

実際一歩ずつですが、パブリッククラウドへの移行と合わせて、システムの刷新を進めています。

画像に alt 属性が指定されていません。ファイル名: mikame_san_02.png

仕事を通じて得られるもの

1.人材の希少価値

「技術」や「マネージメント」は一通り経験し、キャリアの三本目の柱として「海外経験」はいかがでしょうか?

ベトナムで働くことは、単に地理的な移動以上の意味を持ち、自己実現やキャリアの飛躍に繋がります。

なぜなら「文化的背景が異なる海外チームのマネジメント」ができる人材は今後必要とされるからです。

先日、ある人材紹介会社の担当者から聞いた話ですが、日本国内で海外人材のチームを作ったものの、彼らをまとめ、日本の商習慣へうまくアジャストできる人材がいなくて、いくつかのIT企業が悩んでいるそうです。

2.仕事上のタフネス

前述の「多くの開発案件」に関して、サービスが大きく影響範囲も広いため、現行機能の移行漏れが発生しないよう、厳しい品質基準が要求されます。

障害が起きた際などは、顧客からお叱りを受ける場面もあり、私自身、何度も心折れかけました。

ただ他方で、これを乗り越えれば、どこでも通用する人材になれる気がしています。

最近では品質も上がってきたので、以前ほど会議で詰められることもなくなりました。

正直、面倒で大変な調整も多いですが、皆がやりたがらない仕事にこそ価値があるのではないでしょうか。

3.生活面のタフネス

厳密に言うと仕事ではありませんが、海外生活は不便なことも多く、その分人間的にも逞しくなれます。

日本ほどインフラが強くないので、たまに停電、断水、冠水が発生する
バイクなどによる道路の混雑がひどい
対人交渉では英語やベトナム語を駆使して切り抜けなくてはならない場面もある
医療費が高い
など挙げると切りがありませんが、当然良い面もあります。

通勤電車がないなど、時間を有効活用して仕事に集中できるため、僕自身50歳を目前にこういった環境に身を置けたのは良い決断でした。

また、個人的な話ですが、既に他界している祖父が戦時中、台湾銀行に勤めていたことがあり、墓石に「台湾へ雄飛」と彫られているのですが、人生の思い切った決断ですらこの一文か、と虚しさに駆られたことがあります。

長い人生のうち、数年海外にいたところで大したことはないはず。

実は弊社は商用ビザで拠点運営しており、3ヶ月に1度は日本に戻れるので悲壮感も少ないと思います。(日本滞在は1~2週間)

そしてもう一点、多くの日本企業では海外赴任手当があり、上記のリスクをとって働く人達に対しては、それなりの対価も支払われる、というのは意外と見落とされがちなことでしょう。

チームの雰囲気

一時期と比べ賑やかさは減りましたが、その分、仕事中の私語が減ってメリハリのついた雰囲気になってきたようにも感じます。

画像に alt 属性が指定されていません。ファイル名: mikame_san_03.png

最後に

ここまで読んで頂き、ありがとうございました。

ベトナム国内では、日用品からバイク・車に至るまで、日本製品は高品質で知られており、我々はITの分野でも、その「Japan Quality」を実現したいと考えています。

自社の社員が私1人なので、「これから一緒に組織を作っていこう」と思って下さる方は歓迎致します。

設立7年のベトナム拠点にて、第2草創期のメンバー募集!

いつもチーム運営をサポートして下さっているハイブリッドテクノロジーズ社にこの場を借りてお礼を申し上げます。

株式会社プロトソリューション’s job postings

はじめに

はじめまして。中山です。

プロトソリューション東京支社のAIテクノロジー推進室に所属し、データサイエンティストとして働いています。普段は親会社のAI開発支援業務をしております。

今回は自分のプロフィールや入社経緯や入社後のことなど、諸々のストーリーを紹介します。

プロフィール

・出身:岐阜県

・最終学歴:名古屋大学 情報学部 自然情報学科 複雑システム系

・趣味:野球観戦(中日ドラゴンズ)、ゲーム(任天堂系、ドラクエ、テトリス)、

    お笑い、漫画・アニメ、Vtuber

私は岐阜県瑞浪市というところで生まれ育ちました。最寄り駅まで車で30分、バスは1時間に1本、近くにコンビニは1軒(車で5分)という結構な田舎ですが、それなりに楽しく過ごせました。

小学生の頃はずっと野球をやっていました。あまり上手ではなかったのですが、チーム全員が同じクラスの友達でしたし、野球が好きだったので楽しくできていました。

そんな地元の友達とは違う中学校に入学したため、中学では野球部に入らず吹奏楽部に入部しました。中高一貫校だったので5年ちょっと吹奏楽でコントラバスパートを担当していました。あまり上手ではなかったのですが、みんなで音楽をするのが好きだったので毎日のように部活へ行きました。

大学に進学すると決めたので高校3年生の春に部活を辞め、勉強モードに入りました。情報系の学部に進学すると決めた理由としては、特にやりたいことがなかった時に当時の担任から「情報系はどんな分野とも繋げられる。大学でやりたいことを見つけてもいいと思う。」という助言をいただいたからです。

色んな人の助けもあり、無事大学に合格することができました。

大学入学から入社まで

大学では数学・物理・化学などの基礎科目、C・Python・Rなどのプログラミング言語、機械学習のアルゴリズムやデータサイエンスを主に学びました。4年生の時の卒業論文では画像認識の技術を使用した研究を題材にしました。

その中で自分が一番興味を惹かれたのはデータ分析です。データ分析の入門としてよく見るタイタニック号の乗客のデータがとある講義で扱われた時、これだけのデータから色んなことが分かって面白いなと思ったことがきっかけです。

データを上手く活用すれば、新しいことがたくさん分かって楽しいのではないかと思い、就活ではデータ分析の業務ができるところを探しました。就活していた頃はコロナ禍が続いており、ほとんどの就活イベントがオンラインで行われていたため、どの企業に対しても自分が働いているイメージが湧いてこない状態でした。そんな時にプロトソリューションのデータサイエンティストの1Dayインターンシップのチラシを見て、オフライン開催ということで思い切って参加してみました。

実際に参加してみると、会社のことなどを直接聞くことができ、自分が働いているイメージを持つことができました。その時に会った先輩社員の人柄や能力に惹かれて選考を希望し、5月ごろに内定をいただきました。

その後大学を卒業することができ、2023年の4月にプロトソリューションへ入社しました。

今やっていること

入社後は、まず2週間ほど会社のことや社会人のことについての研修を行なったり、1週間沖縄へ出張に行き、本社の方々との交流を深めたりしました。そして4月の終わりから、親会社のAI開発支援業務に従事させていただいております。

私は主にAIのプロトタイプ開発を担っており、大体月に1件の案件をいただいております。例えば、車両の画像からその車が前期型か後期型か見分けるAI(画像認識)や、チャットのやり取りの中で不適切な表現を検知するAI(自然言語処理)、サイト上のユーザーの行動から今後ある特定の行動をするのかを予測するAIなどを今まで開発しました。

自分が開発したAIで実際に使用されているものがまだないので、役に立っているのか分かりませんが、1ヶ月かけて色々試行錯誤して良い精度のAIを開発できた時にやりがいを感じます。これからも十分な精度のAIを開発し、1つでも多く使用されるように努めていきたいです。

大学で学んできたことを活かすことができたり、自分のペースで業務を進めることができたり今の業務は自分に合っていると思います。

今後やりたいこと

今後は元々やりたかったデータ分析の業務をもっとやって、データ分析に関する技術や知識を身につけたいと思っております。データを使うことで今まで分かっていなかったことを新たに知ったり、業務効率をあげたりできたらよいなと考えています。

また、データを自分で使うことに加えて、使う前の段階であるデータ分析基盤の構築にも深い興味を抱いています。これに関連する技術を身につけ、実践的なスキルを磨くために、積極的に勉強を進めていきます。

最後に

自分は今までずっと好きなことをして生きてきました。今後もそうしていくと思います。「好きなこととできることは違う」とよく言いますが、「好きなこと」を「できること」にするために努力を続けていきます。

最後までお読みいただき、ありがとうございました。

 

データサイエンティスト

 

ITエンジニア

 

東京支社では、一緒に働くデータサイエンティストを募集しています

データサイエンティスト、システムエンジニア、その他多数募集中!

 

はじめに

こんにちは。プロトソリューション沖縄本社で無人受付システム(ラクネコ)のカスタマーサクセスとして勤務している新垣です。
SaaSのカスタマーサクセスに参画して以前の投稿から約2年が経ちましたので、簡単に私の経歴と現在の状況・ラクネコのカスタマーサクセスを通して面白いと感じた部分をご紹介させていただきます!

(まずは私の経歴から)新卒入社し、WEBのプログラマーからプロジェクトマネージャーを経験しました

私は2012年度の新卒としてプロトソリューション沖縄本社に入社しました。
高校生の頃にWEBに興味をもち、就職先を決める際、車が好きで学生の頃から車図鑑のように『グーネット』を見ていたのでプロトソリューションに興味を持ち、会社見学や面談を通してプロトソリューションに決めました。
入社してOJTが終わるとWEBの開発チームに配属され、経験を積むにつれプログラマー〜プロジェクトマネージャーを担当しました。
WEBの開発チームに移動してまもなく東京支社に勤務するお話を頂き、興味があったので即決で勤務地を東京に移しました。上司や先輩、ベテランの開発ベンダーさんやお客様にご指導頂き様々なプロジェクトを通して沢山の経験をさせて頂きました。この経験を通して私はお客様と要件詰めなど、ヒアリングを重ねて大枠を作っていくことが好きなんだと感じました。(現在は沖縄に戻り沖縄本社で勤務してます!)

現在は自社サービスのカスタマーサクセスとして奮闘中

WEBサービスに携わった後、当時すでにリリースされていた無人受付システム(ラクネコ)のカスタマーサクセスに参画するお話を頂きました。当初、製品に関する質問に対し仕様の回答や不具合発生時の調査をするカスタマーサポートをイメージしていましたが、実際に業務を通してカスタマーサクセスについて学んでみると、役割期待が違うことを知りました。

何社かお客様とやり取りした結果、お客様によって様々な導入課題があることがわかりました。
(来訪者が高齢の方が多く無人受付に慣れない。社員数が多く来訪者の種別も多くなり管理が複雑..等)
ラクネコで課題を改善したいのに別の課題が発生し、業務負荷が変わらないのは本末転倒です。
その為『お客様が何を実現したいのか』をしっかり抑える必要があり、ヒアリングを通して状況と課題感を理解すること。また、最大限ラクネコを活用頂くためラクネコの仕様を隅々まで把握して、どのように活用したら課題解決に到れるかをチームメンバーと話し合ってお客様が運用できる方法を検討しました。
おかげでお客様からは手厚いサポートに感謝して頂くこともあり、それがチームメンバーにとっても励みになっています。

お客様が増えるたび、運用事例が増えラクネコの新たな発見がある!

多くのお客様とお話することで下記のような良い発見がありました。
・導入支援の際、アイディアをお客様から頂くこともあり、ラクネコの活用方法の理解が広がる
・どういったニーズがあるのか知ることができる
・お客様の声を参考に新機能や機能改善を一緒に考えることができる
とくに活用方法の理解が広がる部分は個人的に面白いと感じてます。
企業への来客を想定した受付システムでしたが、シェアオフィスや美容室でお客様の受付としても活用されており、活用方法のアイディアが広がっていく感覚が面白いです!
また、既にご利用中のお客様へ新しいアイディアを共有した際、喜んで頂ける点もやっぱり嬉しいです。

今後やりたいこと

現在ご利用頂いているお客様の状態を把握し、必要なタイミングでアプローチを掛けていくのもカスタマーサクセスの役割です。
状態把握の仕組みがまだ整っていないので、データ収集→分析→状況察知→お客様へアクションの流れを作っていきたいと考えています。
また、基本的な操作に関する不明点を減らせるような施策も考えていきたいです。
分析については最近話題のAIツールも利用して有効な仕組みを作っていけると良いですね。

プロトソリューションは沢山の業種が活躍してます!

私が開発を経験して現在カスタマーサクセスを担当しているように、プロトソリューションではいろんな業種があります。
その為、各々の専門分野・得意分野のメンバーからアイディアがあつまり推進している事業もあり、興味があればその分野にアクセスすることができるのは、プロトソリューションの良いポイントだと思ってます。
開発をしたい方、設計をしたい方、プロジェクト管理をしたい方、研究開発をしたい方、カスタマーサクセス、SaaS営業などなど..少しでも興味を持っていただけたら他のストーリーも覗いていただき、プロトソリューションについて知ってもらえると嬉しいです!

長くなりましたが、最後まで読んでいただき、ありがとうございました。

はじめに

プロトソリューションの仙台本社で勤務しております、Obaraです。
以前に、プロジェクトを通じてー皮むけたというストーリーを公開しておりますが、2023年4月から新しいプロジェクトに変わって日々研鑽に励んでおりますので、環境が変わっての仕事内容や学んだことなどをご紹介いたします。

Wantedlyプロフィールはこちら

入社までの略歴

高校の商業科で経理とIT系に興味を持ち、その分野が学べる仙台の専門学校に進学しました。地元は隣の県ですが、地元より仙台愛の方が強いです笑
エンジニア関連のことはあまりメインでは学んできておりませんでしたが、就職活動をする際に、IT業界がこれから大きく成長していく可能性に魅力を感じたのと、システム開発にカッコいいイメージを持っていたので、エンジニアの道に進むことを決意しました。

プロトソリューションに入社

新卒で入社して現在11年目となりました。
就職活動時に、仙台の企業でWEBに強いというワードに惹かれて、アイソリューションズ(現:株式会社プロトソリューション)に入社しました。
入社してすぐ、外部研修で2カ月ほど基礎を学び、研修から戻った後も社内研修で自社サイトの改修をしながら開発についてのノウハウを身につけていきました。学生時代にあまり開発の経験が無かったので、入社してからのしっかりした研修や先輩方の手厚いサポートがあるのは本当に良かったです。

今やっていること

クルマ関連の新規アプリで使用しているAPIの開発を担当しております。
プロジェクト全体として見ると、複数拠点かつ多数のパートナーさんが関わる大規模な開発で、私自身も今までの中でトップクラスに大きいプロジェクトとなりました。その中のAPIチームリーダーとして、プロジェクトの後半くらいから参画となりました。
チームにはベテランのメンバーが数名おり、あるべき形をしっかりチーム内で示していただいているので、分からない中でもメンバーに随時確認してリリースまで進めることができました。今現在も次のリリースに向けて着々と開発を進めていただいているので本当に心強いです。

苦労したこと

今まで、プロジェクトの初期や区切りのタイミングで参画することがほとんどでしたので、案件を進めつつ人間関係を徐々に構築して理解度を深めていっておりましたが、今回は大規模プロジェクトの後半に急遽参画となったため、その状況の中で最初は連携や各種確認・調整に苦労しました。特に参画当初は技術的にも分からないことが多く、他チームから確認依頼をもらった際に、依頼の詳細内容がよく分かっていないまま、とにかく確認を進めていかなければ!と気持ちだけ先行しておりました。複数回の確認やり取りが続き、効率が悪いことをしておりましたね。。
進めていくうちに、知っておくべき情報が自分の中で整理できてきて、気づいたら基本的な確認はメンバーに見てもらわなくても、自分で解決できるようになっていました。まだまだ、技術や言語の知識として足りていないところも多いので、今も日々学び中です。

得たこと

大きく2つあります。

①知識が増えた
過去API開発に携わることはあまり無かったのと、今まで触れたことが無いアーキテクトについて、今回携わったことで知識が増えました。また、AWS環境での構築で初めて使用するAWSサービスもあったので、AWSでの開発理解度が増えたことも良かったです。AWSの知識をより深めておこうと空き時間で参考書を読んでいるのですが、その中で「あ!あれもコレも今使ってるサービスじゃん」「このサービスってこういう制限があるんだ~」など、既にある程度の中身を理解できていたことに嬉しさを感じました。

②関わりが増えた
APIは多数のサービスから参照されるため、各関連チームとの連携がとても重要でした。
参画したタイミングはリリースに向けてバタバタしている時でしたので、初めましての方とすぐ問題についての会話や調整をしなければいけない場合もありました。たまに上手くいかず意見がすれ違う時もありましたが、最終的には協力した体制の中で進めることができました。
ここまで多くの方と関わりを持てる機会はあまり無いので、とても良い刺激となりました。

今後やりたいこと

今後も引き続きどんどん機能追加していくので、新機能公開に向けてAPI開発の推進を行っていきます。そしてサービスを使った皆様に感動を届けられるよう、より良いモノを作っていきたいと思います!

最後に

プロトソリューションに入社し多くの挑戦機会があり自分自身を成長させることができました。数年前まで全く自信のなかった私でしたが、今はリーダーとしてチームを引っ張っております。
周りの方々に支えられ、助け合いながら、一丸となって業務に励んでこれたからこそだと思っております。今後もそういった仲間たちと一緒に仕事をしていくのが楽しみです。

最後までお読みいただき、ありがとうございました。

ITエンジニア

ITエンジニア

仙台本社では、一緒に働くITエンジニアを募集しています

社内インフラ、その他多数募集中!

はじめに

ソリューション開発部2に所属している上間と申します!

主な業務内容としてはグーネット沖縄・グーバイク沖縄・グーホーム・グーホーム賃貸のPLで、サイトの運用と開発を行っています。

営業の方からAWSの費用を少しでも抑えられないかと依頼があったため、そちらの紹介をしたいと思います。

やること

指定の時間になったらAWS Lambdaで複数のEC2サーバーを起動・停止させます。

以下がざっくりとした概要になります。

1. IAMポリシー・ロールの作成

2. Lambda関数の作成・実装・テスト

3. Amazon EventBridgeで Lambdaを実行する時間を指定

1.IAMポリシー・ロールの作成

まずはIAMのポリシーを作成しましょう!

IAMのコンソールを開き、「ポリシー」を選択します。

次に「ポリシーを作成」を押下し、「JSON」タブを選択します。

ポリシーエディタに以下を記述します。


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:Start*",
                "ec2:Stop*"
            ],
            "Resource": "*"
        }
    ]
}

「次へ」を押下し、ポリシー名を入力して「ポリシーの作成」で作成完了です。

本記事では例として「ServerStartStop」をポリシー名とします。

作成したポリシーをロールにアタッチします。

IAMのコンソールから、「ロール」を選択し、「ロールを作成」を押下します。

信頼されたエンティティタイプは「AWSのサービス」、ユースケースは「Lambda」を選択し、「次へ」を押下します。

許可ポリシーは先ほど作成したポリシーを検索し、選択後に「次へ」を押下します。

ポリシーと同様にロール名と説明に何をするロールなのかを分かるように記述をして「ロールを作成」で作成完了です。

2.Lambda関数の作成・実装・テスト

Lambdaのコンソールを開き、「関数」を選択します。

次に「関数の作成」を押下し、「一から作成」を選択します。

関数名の入力と実行ロールを「既存のロールを使用する」にします。

作成したロールを選択後に「関数の作成」で作成完了です。

作成した関数の実装になります。

「コード」タブのlambda_function.pyに以下を記述します。

「region」には起動・停止したいEC2サーバーのリージョンを記述し、「instances」にはインスタンスIDを指定してください。

「Deploy」を押下し、コードを保存します。

※ 後ほどのテストで実際に起動・停止を行うので、開発など停止していいインスタンスを指定してください。


import boto3
import os
region = 'ap-northeast-1'
instances = ["i-xxxxxxxxxxxxxxx","i-xxxxxxxxxxxxxxx"]

def lambda_handler(event, context):
    ec2 = boto3.client('ec2', region_name=region)
    action = event["Action"]

    if action == "Start":
        ec2.start_instances(InstanceIds=instances)
        print('started instance')
    elif action == "Stop":
        ec2.stop_instances(InstanceIds=instances)
        print('stopped instance')
    else:
        print('Lamdba function could not be executed.')

Lambdaの設定は完了となりますが、実際にテストをして起動・停止できるか試してみましょう!

「テスト」タブにて、イベントアクションを「新しいイベントを作成」にします。

イベント名を設定し、イベントJSONには以下コードを記述します。

【インスタンスを起動する場合】


{
  "Action": "Start"
}

【インスタンスを停止する場合】


{
  "Action": "Stop"
}

「保存」でテストイベントを保存し、「テスト」を押下すると実行されます。

EC2のコンソールから対象のインスタンスを確認して、起動 or 停止していれば成功となります!

3.Amazon EventBridgeで Lambdaを実行する時間を指定

EventBridge のコンソールを開き、「ルール」を選択します。

次に「ルールを作成」を押下します。

まずはサーバー起動のルールを作成しましょう!

名前を入力し、ルールタイプは「スケジュール」を選択します。

問題なければ「続行してルールを作成する」を押下します。

起動したい時間に設定します。私は朝の9時にしたいので、「cron(0 0 ? * * *)」で設定します。

時間はUTCなので、時差を考慮してください。

設定したら「次へ」を押下します。

ターゲットタイプは「AWSのサービス」を選択します。

ターゲットを選択では、「Lambda関数」と作成した関数名を設定し、「次へ」を押下します。

タグについては今回は設定せず、「次へ」を押下します。

確認画面になりますので、問題なければ「ルールを作成」を押下します。

これでサーバー起動の設定は完了です。

停止のルールも同じように作成すれば全ての設定は完了となります!

これで時間通りに自動でサーバーの起動・停止できるようになりました!

最後に

私は9時に起動・18時に停止の設定をしました。

その結果、24時間起動だったサーバーが9時間の起動になりましたのでかなりコストの削減になりました!

関数を複製し、他のサーバーに適用するともっと削減できるかと思いますので試してみてくださいー!!

参考

EC2インスタンス起動/停止をLambdaで自動化してみた

一つのLambdaで複数のEC2 インスタンスを起動・停止を行う

プロジェクトマネージャー

プロジェクトマネージャー

沖縄本社では、一緒に働くITエンジニアを募集しています

AIエンジニア、システムエンジニア、その他多数募集中!

はじめに

みなさん、初めまして!
2023年4月よりプロトソリューション ソリューション開発部沖縄に新卒社員として入社した比嘉拓登と申します!
今回ストーリーを執筆する機会をいただき、とても嬉しく思っています。
以下では、私の自己紹介とPSに入社してからの変化についてお話しさせてください!

プロフィール

・出身地:沖縄県北中城村
・趣味:アウトドア全般、ものづくり、ドライブ
・沖縄国際大学 産業情報学部 企業システム学科 経営コース 卒業

生まれてからずっと沖縄県の北中城村で育ちました。昔は田舎感が濃い地域でしたが、
最近は大型ショッピングモールや隠れ家的なお店が増えて、とても住みやすい”トカイナカ”になっています!

学生時代は、小学校3年生から高校3年生までバスケットボール部に所属していましたが、
実はバスケよりも卓球が得意です!
大学に入学してからは、サークルや部活には所属せず、1人でできる趣味に夢中になりました!
アウトドア全般が趣味で、特に自然の中での遊びや、キャンプに魅了されています。
また、ものづくりも好きで、主に、趣味で使う道具などを自作して楽しんでいます。
学生時代は趣味に夢中になりすぎて、学業が疎かになる時期もありましたが、しっかりと立て直して、経営や企業システムについて学びました!

プロトソリューションに入社した理由

プロトソリューションに入社した理由は以下の2つです。

・未経験の私でも、エンジニアとしての経験を積むことができ、キャリアスタートにぴったりの環境だと感じたこと。
・挑戦により自己成長できる環境だと感じたこと。

学生時代、就職活動に消極的だった私は、大変そうだけど「これも1つの経験としてやってみよう!」という想いで就職活動を開始しました。働くなら、自分の技術や知識に価値がつく技術職として働きたいと考え、技術職の中でも特に興味があった、ITエンジニア職に絞って就職活動を行いました。

しかし、未経験で、技術も経験も知識も無い(やる気はありました!)私を採用してくれる企業はあるのかと不安が大きかったことを覚えています。

そんな中でプロトソリューションの存在を知り、説明会や選考に参加。
研修内容が充実しており、未経験でもエンジニアとしての経験を積む事ができる事。そして、定期面談等で意見を取り入れてくれる場があり、自分の意思で挑戦できる環境である事を知り、ここでならエンジニアとしても、人としても成長できると感じ入社を決めました!

入社してから今まで 〜変化〜

2023年4月に入社し、現在入社3ヶ月目です!

入社直後の4月に、人事研修を受けました。この研修では、社会人基礎力やプロトソリューションの理念について学びました。ディスカッションやグループワークを多く行い、論理的思考や、課題解決力を身につけると共に、同期との親睦を深めることができたと感じています。

大学時代は1人活動を好んでいたこともあり、同期と仲良くなるイメージはできていなかったのですが、
人事の方や、個性豊かで優しい同期との交流を通じて、人との関わりの楽しさを再認識することができました!素敵な同期に出会えたことに感謝です!!

そして、5月には部署研修が行われました。この研修では、Flutterを使用したモバイルアプリケーション開発と、PHPを使用したWEB開発の学習を行いました。Flutterに関しては初めて触る技術だったため、戸惑いもありましたが、先輩社員の方々が課題解決の考え方や、論理的思考について丁寧に指導してくださったおかげで、理解を深めながら学習を進めることができました。また、詰まった際には、同期にも相談し、技術の理解を深めていく事ができました。先輩社員の方々、同期には感謝しかありません。

そして、現在、6月になりテストチームに配属され、本格的に業務に取り組んでいます。新しい環境での業務に少し緊張もありますが、目の前の業務に一生懸命取り組みたいと思っています。また、テストの業務を通じて、テスト視点からサービスについて学び、将来のキャリアに活かしていきたいと考えています!

テストチームでの業務の様子↑

これからやっていきたいこと、将来像

まずは、1人前のエンジニアとして技術力を身につけ、プロトソリューションのサービス向上に貢献できる人材になりたいです!そのためにも、常に新しい技術やツールに目を向け、自己学習を行い、自身のスキルを高めていきたいと思っています。

また、将来的には、自身のアイデアが反映されたサービスを立ち上げ、運用することが目標です。そのためには、開発者としての技術力だけでなく、上流工程で重要となるコミュニケーション能力やマネジメント力など様々なスキルが必要となります。そのため、業務内外問わず様々なことに積極的に挑戦し、幅広い知識と経験を積みながら、サービス開発におけるさまざまな側面に関わっていきたいと考えています。

入社して2ヶ月と半分。わからないことだらけで涙目になることもありますが、
日々成長を積み上げていき、目標を達成できるよう精進していきます!

最後までご覧いただきありがとうございました!

プロジェクトマネージャー

プロジェクトマネージャー

沖縄本社では、一緒に働くITエンジニアを募集しています

ITエンジニア、システムエンジニア、その他多数募集中!

はじめに

初めまして、プロトソリューションの前原と申します。

2022年に入社し、AIテクノロジー推進室という部署でAIやアプリ開発などに携わっています。

現在は、スマホアプリの開発に奮闘中です。

開発で使っているFirebaseがとても便利でしたので、

この記事では、Firebaseの機能のひとつであるFirestoreをローカルで立ち上げて、Flutterと連携するまでを紹介していきます。

Firebaseをローカル環境で実行してみよう

早速ですが、手順を紹介していきます。

注意点として、Flutterの環境構築はこの記事で解説していません。

外部の記事にやり方はたくさんあるので、この記事では割愛させていただきます。

最初のステップとして、Firebaseのプロジェクトを作成します。

名前は任意で大丈夫ですが、この記事では「firebase-demo」とします。

Google アナリティクスは扱いませんのでオフに設定して、プロジェクトを作成します。

Firebaseプロジェクトが作成できました。

次に以下のコマンドを実行して、Flutterプロジェクトを作成します。

アプリ名は任意で大丈夫です。


flutter create firebase_demo

Firebase CLIをインストールして、コマンドラインからFirebaseを実行できるようにします。


npm install -g firebase-tools

Firebaseにログインします。

ログインには、Googleアカウントが必要になります。

 
firebase login

次にFlutterFireをコマンドラインで実行できるようにします。


dart pub global activate flutterfire_cli

FlutterにFirebaseの構成を追加するため、以下のコマンドを実行します。


flutterfire configure

今回は、iosを選択して進めますが、

Flutterは、android、macos、webにも対応しているので、ぜひ他のプラットフォームでも試してください。

 
? Which platforms should your configuration support (use arrow keys & space to select)? ›
      android
  ✔ ios
      macos
      web

FlutterでFirebaseを使うためのプラグインを追加します。


flutter pub add firebase_core

Firebaseに追加したプラグインの構成を反映するため、再度コマンドを実行します。

プラットフォームの選択は、上記と同じiosにします。


flutterfire configure

FlutterにFirebaseの構成ファイルをインポートします。

lib/main.dartに、Firebaseを初期化するコードを加えます。


import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

 main() async {
    // Firebaseを初期化
    WidgetsFlutterBinding.ensureInitialized()
    await Firebase.initializeApp(
        options: DefaultFirebaseOptions.currentPlatform,
    )
    runApp(const MyApp())
}

アプリを起動します。

正常に起動できたら、FlutterとFirebaseを連携する手順は完了です。


flutter run

 

次のステップは、ローカル環境でFirestoreを立ち上げるまでを紹介します。

Firebaseに、Firestoreを追加します。

以下のコマンドから、FirestoreとEmulatorsを追加します。


firebase init

FirestoreとEmulatorsを選択して進めます。


? Which Firebase features do you want to set up for this directory? Press Space to select features, then ? Which Firebase emulators do you want to set up? Press Space to select emulators, then Enter to confirm your choices. (Press <space> to select,
 <a> to toggle all, <i> to invert selection, and <enter> to proceed)
 ◯ Authentication Emulator
 ◯ Functions Emulator
 ◉ Firestore Emulator
 ◯ Database Emulator
 ◯ Storage Emulator

エミュレータで使用するFirebaseの機能を追加します。

この記事では、Firestoreを選択します。

エミュレータを立ち上げます。


firebase emulators:start

コマンドラインのリンクからアクセスして、エミュレータが表示されたら成功です。

選択したFirestoreが、Onになっていることが確認できます。

データを追加してみます。

Start collectionをクリックして、項目を入力後にSaveします。

データが追加されました。

Firestoreのエミュレータはデータの保持ができないため、停止するとデータが消えてしまいます。

データを残したい場合は、エミュレータのデータをエクスポートして次の起動時に読み込む必要があります。

エミュレータを実行したまま、別ターミナルを開きます。

以下のコマンドを実行し、データをエクスポートします。


firebase emulators:export ./emulators_data

次の起動時に、エクスポートしたデータを読み込むときは以下のコマンドを実行します。


firebase emulators:start --import ./emulators_data

ここで上記2つのコマンドを毎回やるのは大変ですので、インポートとエクスポートを同時に実行できるようにします。

以下のコマンドを実行することで、エクスポートとインポートが同時にできるので、データ保持を意識せずFirestoreを使えます。


firebase emulators:start --import ./emulators_data --export-on-exit

最後はFlutterに、ローカルのFirestoreを読み込む処理を追加します。


void main() async {
    // Firebaseを初期化
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp(
        options: DefaultFirebaseOptions.currentPlatform,
    );
    // ローカルのFirestoreを読み込む
    if (kDebugMode) {
        try {
            FirebaseFirestore.instance.useFirestoreEmulator('localhost', 8080);
            debugPrint('Use local emulator.'); } catch(e) {
            print(e); }
    }
    runApp(const MyApp());
}

lib/main.dartに、エミュレータ起動時のコードを加えます。


firebase init

Flutterを起動すると、ローカルのFirestoreを読み込みます。


flutter run

 

まとめ

FlutterとFirebaseを連携させ、ローカルのFirestoreを起動するまでを紹介しました。

Firebaseは使いやすくFirestore以外にもプッシュ通知やストレージ、機械学習など幅広く活用できるので、ぜひ使ってみてください。

  

  

SaaSエンジニア

SaaSエンジニア

仙台本社では、一緒に働く自社プロダクト(SaaS)開発エンジニアを募集しています

社内インフラ、その他多数募集中!

プロジェクトマネージャー

プロジェクトマネージャー

沖縄本社では、一緒に働くITエンジニアを募集しています

AIエンジニア、システムエンジニア、その他多数募集中!

はじめに

はじめまして!プロトソリューション ソリューション開発部沖縄2の比嘉と申します。

今年の4月からプロトソリューションに入社し、現在部署研修中の新卒社員です。

今回は私のストーリーをご紹介致します!

自己紹介・入社までの略歴

私は、琉球ゴールデンキングスのホームタウンである沖縄県沖縄市で生まれ育ちました。

小学生の頃からバスケットボール部に所属していたこともあり、よくキングスの試合観戦や会場設営などのお手伝いをさせていただいたのを覚えています。

高校時代では、大学受験のため最後の大会を目前にバスケットボールを引退し、部活一筋だったこれまでとは一転した、勉強一筋の日々を過ごしました。(のちの大学受験には失敗しましたが、受験勉強の過程で学ぶことの楽しさを知ったことで、生涯学び続けられるような業界、IT業界に興味を持ったのだと感じています!)

大学進学後、1年次は地元の大学で法学や経済学を学んでいましたが、本来学びたかった情報学を学ぶため、2年次で情報系の通信制大学へと編入し、ITに関する勉学に励みました。

プロトソリューションを選んだきっかけ

私が通っていた大学では、半数以上が社会人学生だったこともあり、就職活動の支援や情報も少なく、私が臆病な性格だったことも相まって、就職活動のスタートダッシュでかなり出遅れてしまいました。。。

それでも、同じIT業界で就職活動をする友人との会話からプロトソリューションという会社の存在を知り、説明会や企業研究を進めていくなかで、1つの部署でフロントエンド、バックエンド、インフラと幅広い技術を経験できる点に魅力を感じ、プロトソリューションを志望することにしました。

今やっていること

プロトソリューションに入社してすぐに、東京支社、仙台本社の同期と共に、社会人基礎力を身に着けるための人事研修が始まりました。

人事研修では、ビジネスマナーや情報リテラシーについて学んだり、グループワークやディスカッションでお互いの考えを共有しあったりなど、社会人として必要な考え方や価値観を学ぶ、とても有意義な時間を過ごせたと思います。

人事研修が終了してから現在までは、プログラミング技術を学ぶ部署研修に励んでおります。

学んだ技術のアウトプットを目的とした課題では、同期と不明点を相談したり、先輩社員に質問したりすることで、日々学びを深めています。

これからやっていきたいこと

これからの目標として、第一に現場に入っても問題なく業務についていける技術力を身に着けたいと考えています。

また将来的には、私が関わったサービスで誰かに感謝、感動を与えられるエンジニア、リーダーに成長したいと思っております。

実現するにはまだまだ勉強が必要ですが、目標に向けて精一杯努力していきます!!!

最後までお読みいただき、ありがとうございました!

プロジェクトマネージャー

プロジェクトマネージャー

沖縄本社では、一緒に働くITエンジニアを募集しています

ITエンジニア、システムエンジニア、その他多数募集中!

ページトップへ戻る