はてなキーワード: GCPとは
例えばInstagramやFacebookに近しいものとか。
インフラはできればAWSで作る。Firebase(NoSQL)で作ってAWS(RDS)に移行するなどできればもはや完璧。
フロントはWebでもモバイルでもいいけど、WebであればReact, Vue、モバイルであればFlutter, Swiftを使う。
WebであればSSL化、モバイルであればApp Storeに掲載までは必須。実績として見れられるものがあることが大事。
ここまでが最短で半年くらい。
あとはこれを材料にフリーランスを探せば良い。やったことないけどココナラを挟むという人もいるらしい。
これだけの実績があれば月単価50万なら案件ゴロゴロ見つかる。
いきなり60(年720)は見つからなくとも、50スタートで経験積めば60はすぐにいく。
なんだかんだ人が足りないというところは山ほどある。
完全に独立した技術スタックになりつつある、しかし出来る人間が非常に少なく胡散臭い優秀なフリをしたエンジニアが数多くいるように見える。
さらにとっつきやすさから新人も参入しやすくカオスな雰囲気を感じる、自分の周囲を見た感じでも技術スキルは低めの傾向が見える。
トンカチを持ってそれを振りかざすことを目的にしちゃってるような人間が多いように見えるし、そうでない人間はそもそも技術へのキャッチアップが低い傾向にある。
昔からそんなに変化がない、AWSやGCPの運用や設計もやることがある。
WEBアプリケーションのフレームワークが無いと仕事できない、とにかくDBが大事でプログラミング能力はフレームワークの使い方に寄っている。
DBが大事なのでプログラミングスクールだろうが独学だろうが、勘所を掴むのは困難で実務ありきで成長する必要がある。
大量のトラフィックを扱う人は分散のための設計なども心得ているものの、大抵は場当たり的な対処しかしていない。
IaaS登場以前は空気が乾燥した寒い部屋で黒い画面相手に定形作業をしていることが多かった。
昨今SREと呼ばれるようになり地位が向上しつつあるが、業務内容も広がってきておりIaaSの設計能力が大きく問われるようになってきた。
WEBフロントエンドほどではないが、仮想OS、IaaS、コンテナなどそこそこのテンポで技術が進歩している。
この他にも過去の名残だったりIaaSを触る都合、社内SE的な仕事もしたりする、相変わらず深夜対応もある、辛い…
年1回、必ず新機能が出てくるので定期的に技術をキャッチアップ出来る必要がある。
国内に限定すると技術スキルは高めの人が多い傾向が見えるが人間としては癖の強い人が多い傾向も見える。
(ちなみに少ない観測範囲だが海外勢は微妙な技術レベルの人間が多かった。)
給与レンジはピンのほうはそんなに高くないがキリのほうはそこまで低くない。
ここ20年ぐらいで台頭してきたITエンジニアとは別種の雰囲気を持つ印象、詳しいことは分からない。
技術力はあまり重視されない、コミュニケーション能力や簿記などの会計知識が重要視される。
給料は低め。
---
WEBフロント、バックエンド、SRE、アプリあたりは幾つか交差する領域がある。
時代の流れが早すぎて自分の強みが一瞬でコモディティ化されるという現象が多々ある。
オンプレではAuth系の設計実装は複雑で管理も大変だったものが、今ではAWSだGCPだのクラウドで2日勉強すれば実装できるようになってる。
AIなんてもっと酷い。今まで自分たちでコツコツ作ろうとしていた機能とかオリジナル機能と思っていたものが日進月歩で世に出て今までの努力はなんだったんだっていう事がある。
実体験はないけど1年かけて作ろうとしていたものがプレスリリース直前に上位互換サービスが出たなんてことあるかもしれない。
なんであんなに炎上するのか僕にはよくわからない…アイマス初めて6年経つけれどもこんなに「やめたい」と思ったような気持ちにさせるのは初めてだ…15万以上の課金してる人から見れば無課金や微課金勢にはアイドルを愛する権利などないといいたいのだろうか?そこまでして、自分の私生活を潰してまで上位を狙う人の気持ちがわからない…ゲームはあくまで娯楽でありのめり込むようなものではないということを小学校や中学校、高校で教わらなかったのだろうか?ゲームサーバーの冗長化や運営に対する補填を求める上位者たち…GCPが通信障害を起こしたのがきっかけで運営を袋叩きをするP(プロデューサー=ファン)達…「システムは障害が起きる前提でアーキテクトを構築するもの」とつぶやいた人がいるが違うと思う障害が起きる前提で考えてると冗長化しなければならず、ミラーサーバーにアクセスするためにはスイッチングというものが必要である。それを踏まえて考えてみるとGCPが大規模障害を検知したときにはAWS(または各社Webサーバーなど)に流す措置を行う際に、スイッチングにトラフィックが大きくなり(簡単に言えば交通渋滞のようなもの)スイッチング自体に負荷がかかり大規模障害になりかねないというのもわからないのだろうか??BNSがそこまでして新規にWebサービスと契約はせずそのままにすると思う。ゲームは重要インフラでもないしあくまで娯楽として楽しむものだと個人的には思ってる。「ミリオンPは頭がミリオンだ」と揶揄されることが多いが、今回の一件でさらに表面化したのではないかと思う…
この期間に、様々なプロジェクトに関わり、多くのことを学びました。
今回は、私が経験した技術的な話を中心に、はてなでの仕事について振り返りたいと思います。
はてなでは、主にRuby on Railsを使ってWebアプリケーションを開発していました。
はてなブログやはてなブックマークなどの有名なサービスはもちろん、社内向けのツールや新規事業のプロトタイプもRailsで作っていました。
Railsは、高速に開発できるというメリットがありますが、それと同時にコードの品質やパフォーマンスにも気を配る必要があります。
私は、テストやリファクタリング、コードレビューなどの技術的なプラクティスを積極的に取り入れることで、Railsの開発をより効率的で安全に行う方法を学びました。
例えば、私が担当したプロジェクトでは、RSpecやRuboCopといったツールを使ってテストカバレッジやコード規約をチェックし、GitHub ActionsやCircleCIといったサービスを使って自動化しました。
また、Pull RequestやPair Programmingといった方法を使ってコードのレビューを行い、バグや改善点を見つけたり、知識やノウハウを共有したりしました。
また、はてなでは、AWSやGCPなどのクラウドサービスを活用してインフラを構築していました。
私は、DockerやKubernetes、Terraformなどのツールを使って、コンテナ化やオーケストレーション、インフラストラクチャ・アズ・コードなどの技術を実践しました。
これらの技術は、開発環境と本番環境の差異を減らし、デプロイやスケーリングを容易にするという利点がありますが、それと同時に複雑さやトラブルシューティングの難しさも増します。
私は、モニタリングやロギング、アラートなどの技術的な仕組みを整備することで、インフラの運用をより安定的で信頼性の高いものにする方法を学びました。
例えば、私が関わったプロジェクトでは、DatadogやCloudWatchといったサービスを使ってシステムの状態やパフォーマンスを監視し、SlackやPagerDutyといったサービスを使って異常や警告を通知しました。
また、ElasticsearchやFluentdといったツールを使ってログの収集や分析を行い、原因究明や改善策の検討に役立てました。
## チームでの協働
はてなでエンジニアとして働くことで、私は多くの技術的なスキルや知識を身につけることができました。
しかし、それ以上に大切だったのは、チームで協力して問題を解決することでした。
はてなでは、エンジニアだけでなくデザイナーやプロダクトマネージャーなどの他職種とも連携してプロジェクトを進めることが多かったです。
私は、コミュニケーションやフィードバック、ドキュメンテーションなどの技術的ではないスキルも重要だと感じました。
私は、自分の意見や提案を積極的に発信することで、プロダクトやサービスの品質や価値を高める方法を学びました。
例えば、私が参加したプロジェクトでは、SlackやZoomといったツールを使って日常的に情報交換や相談を行い、BacklogやJiraといったツールを使ってタスク管理や進捗報告を行いました。
また、FigmaやMiroといったツールを使ってデザインやアイデアの共有やフィードバックを行いました。
私は、はてなでエンジニアとして働くことがとても楽しく充実していました。
しかし、私は自分のキャリアについて考える中で、新しい挑戦をしたいという気持ちが強くなりました。
私は、自分の興味や関心のある分野にもっと深く没頭したいと思いました。
## おわりに
彼らに感謝する気持ちを込めて、このエントリーを書き終えたいと思います。
基本はPHPer歴長め CakeとかLaravelとか触ってて、フロントエンドはVueが一番長かった
最近はTerraformでGCP/AWSのインフラ構築したらKubernetes触ったりGoとかScalaを触ってる
現在の年収は650万で、年収を更にあげたく副業のためにエージェント登録してみた
ただ、8~18時が基本本業で埋まってるということで、なかなか厳しい世界になるのは予想していた 一応フレックス制で間1~2時間とか抜けれることは抜けれる
言われたことはこんな感じ
いやーやっぱ厳しいなぁ、副業やりたいってバイタリティだけじゃどうしようもない世界だったわ
なんか知り合いの話聞いてるとコネかこっちから制作会社に営業かけてるような人多かったから、そういう方向で頑張るしかないのかな
意欲だけはあるんだけど、ぶつける場所がねえわ
自炊した書籍のPDFデータとかをOCRに噛ませる→更に音声合成システムに噛ませてオーディオブック化するっていうのを試してる
テキスト化までは成功してて、試しにvoiceboxに読ませてみたんだが流石に誤読が多すぎる
adidasもエーディーアイディーエーエスって読むからなんのこっちゃってなった、まあそういう用途は想定されてないわな
Amazon PollyかGCPのText to Speechのデモ試したら良い感じだったからこっち試そうかな
毎月400~500万文字くらい無料らしい、そこそこぶ厚めの技術書でも文字数は10万とかだったりするからまあ事足りるかな
明日はそっち試してみよっと
・色んなこと満遍なくやりたい
・やべー案件に何年も磔にされたくない
これが多様なサービス、アプリを作ってみたいという話なら高単価SESに行くしかない。
かなりの経験を積んだベテランじゃないと入れない世界で出身学部も見られるから相当に厳しいと思う。
フロントやバックエンド、インフラなどもやってみたいという話なら自社でウェブサービスを運用している上場企業に正社員で入るのがいいだろう。
ただし正社員ということはリリース日には何が何でもサービスインさせる立場になるということでもある。定時退社の社風であっても進捗上がってないなら稼動上げて対応ということは普通にある。
派遣で入ればそういうことは無い。上場企業ならコンプラ厳しいからね。でも数ヶ月程度、長くて数年のスポットになることがほとんどなので長期的にはどうなんだろうな。
ここでは俺の経験を踏まえて「自社でウェブサービスを運用している上場企業に正社員で入る」という前提で話す。
アピールすると良いのは使える言語、インフラの知見、構築と運用の経験。
全部が強い必要は無い。どれか一つが強くて他はまあなんとか程度でいい。逆に言うと全くダメですが一つでもあると厳しい。
使える言語では、C#,Javaを大きめな規模のバックエンドとして使ってるとこが多い反面、対応できる人はフリーにも派遣にもたくさんいるのでちょっと弱い。SIer出身でコード書いてたなら当然できるよね、というレベル。
今ならtypescript(javascript), pythonあたりができてgo あるいは Rust勉強してます、というのがけっこう強い。
分かってると思うが言語が使えるというのは、まっさらなPCを与えられて主要なウェブフレームワークをセットアップしてローカルホストを立てるとこまでを含む。
JavaならSpringboot+gradle+JUnit、PHPならLaravel、pythonならdjango、typescriptならNode+React+knex、あとJestかDreddも入るかな。
インフラ知識では、クラウド、オンプレ両方のメリットデメリットを把握しているとよい。
AWS,Azure,GCP,Oracle Cloudのどれでもいいけど実際に使った経験があるとよい。俺は個人でGCPを契約してkubernetesとVM、LBを使っている。
ネットワークの知識は薄くでも持っていた方がよい。HTTPとかcookieとかセッションとか知りませんCORSって何ですか?レベルでは無理。まあここら辺はウェブサービスを作れば必ずやるので大丈夫だろう。
LetsでSSL証明書を作ってopensslで検証してnginxに適用してHTTPS化ができるならアピールになる。
dockerはもうそろそろ使えて当然のレベルになってきているので必須。実際ウチではdockerが分からない使えない人は面接へ進めないようになっている。
構築と運用では、予算内に収まるような構築と運用、サービスインした後のトラブルシューティングの経験があるとよい。
常にコスト意識を持っていることが必要。クラウドは油断すると100万程度すぐ飛ぶ。コスト意識が無い人を運用担当として採用することは絶対にない。
トラブルシューティングで重視されるのはベンダー対応よりもエンドユーザー対応の方。
サービスを早急に復旧させること、そのためにどういう仕組みが必要なのか、構築するところから語れる知見があるとよい。もちろんそこにもコスト意識は必要。
CI/CD、PrometheusやDatadogによる監視とアラートについて語れるとよい。
CI/CDを扱うということは当然gradle,maven,yarn,シェルスクリプトは書けて使えてwebpack,minify,Jenkinsのコンフィグもできるということである。
どうだろう、かなり雑に書いたが雰囲気は伝わると思う。
あ、git使えないは論外。もし使えないなら今すぐ使えるようになるか諦めるかのどちらかで。
GAFAとかGAFAMとか言われるけど、Googleだけ実は何もしてなくない?
AmazonはAWS、Appleはシリコン含めていろいろやってる
Googleって墓場に象徴されるようにやってもやっても失敗してる
Google+とか壮大に滑ったしGoogleレンズもクソ滑ってるくせにメタバースとかVRには来ないっていうね
GCPもAWSに比べて高いし全然進化ないし、G SuiteもOpenOffice全然更新しないからやる気なさ過ぎって批判されてる
Stadiaは荒らすだけ荒らして撤退とかいうクソみたいなムーブメント
Pixelを定期的に出してるけど一向にiPhoneに勝てる気がしないし、というかスマホ系はもうやること無くない?
ほいノ
高専行こうと思えば行けたんだけど、実家離れるの怖くて偏差値45の工業高校へ。
18歳までフリーター。
18歳〜21歳まで定時制に通った。
英語は個人的にそこそこ勉強したけど、数学なんかはⅠの後のAが半分も終わらなかったレベルのバカ校。
この時期は暇で、なぜかやる気に満ち溢れてたから、TOEIC700近くとか日商簿記2級とか色々資格を取った。
24歳でうつになって、30歳くらいまで日雇い・派遣↔無職を半々くらいでリピートしてた。
やってる仕事は大したことなかったけど、幸い仕事中にPCをめちゃくちゃ使うのでやりたい放題だった。
この時にプログラミングを始めた。
ここで年収どんどん上がった。
36歳でうつが再発して辞めて今に至る。
基本は、仕事で使えそうなもの・必要なものをその都度吸収していった感じ。
Webが中心ではあるけど、組み込みとかのハードが絡む分野以外は結果的に広く浅く手を出してる、つもり。
Excel VBA | 1年 |
VB.NET | 半年 |
JavaScript(Node.js) | 4年 |
HTML | 1年 |
SQL | 4年 |
GAS | 3年 |
C# | 1年半 |
TypeScript | 2年 |
Java | 半年 |
C++ | 半年 |
ラダー、FB(三菱、シーメンス) | 1年 |
実務経験があるって胸張って言えるのはこれくらい。
大体習得順。
他には、Python、Julia、R、Fortran、Rust、Go、Dart、Shell、Deno、CSSなんかは少しずつかじってる。
最近はWebに関してはほとんどJS(TS)で済む感じになったので楽。
なんでPLCが最後やねんってツッコミは置いといて、Web系寄りでラダーも触ってるって人は観測範囲ではあんまりいないので、それが俺の数少ない強み。
RDBはPostgreSQL、SQL Server、MySQL、SQLiteの順で実務経験あり。
NoSQLはFirestoreが実務経験あり、実務なしだとNeo4jとか。
PaaSはGCP(Firebase)、AWSの順で実務経験あり。AzureはADとVM周りをちょっと触った程度。
Dockerはよく使うけどKubernetesとかまでは行ってない。
後は産業用の通信プロトコル的なやつを無駄に色々触ってる。Modbus TCPとかORiNとかCC-Linkとか。PLCもそうだけど、あの辺は日本とドイツとアメリカが未だに既得権益で幅利かせててまじで闇深い。その代わりそれをブレイクスルーできればめっちゃ稼げる分野だと思う。
閑話休題。
フリーターでどんな仕事してるか知らないけど、仕事で一日の半分が無くなっちゃうじゃん?
以下、俺の場合ね。
次長クラスの人が「この製造番号でクレームがあったんだけど、作業当時どんなことあったか覚えてない?」みたいなことをわざわざ現場まで何度も聞きに来るんだよ。
作業したのなんて半年前だったりするから一々覚えてないっすよ、って言ってるのに何度も聞きに来るから、イラッとして仕事用のPCで勝手にExcelで業務日報を付けるようにして、イントラのファイルサーバーに置いて「そういう時はこれ見て下さい。次長の貴重な時間が勿体ないです」って言ったのよ。
それだけでめちゃくちゃ喜ばれる。
で、今度はその次長が「この製造番号どれくらいの時間で作業終わった?」みたいなことを現場までわざわざ何度も聞きに来るから、俺はその時またイラッとして、Excelでストップウォッチもどき作って製造番号とか工程ごとに時間計測して記録して、やっぱりファイルサーバーに置いて「これ見て下さい」って言ったのよ。
それでまた、めちゃくちゃ喜ばれる。
最初はプライベートな時間も結構使ってやってたんだけど、そういう周りに喜ばれる効率化を繰り返してると、少しずつ業務時間内で自分のスキルアップに直結する時間を作れるようになる。
自分でこれ面倒くせーな、効率よくできねえかなって思ったら、じゃあどうやって?てのを考える。
ちなみにPCがなくても、たとえばメールアドレスさえあれば今の時代カイゼンはできる。
大きな会社に勤めてるとかだと使うのが難しいんだけど、IFTTTとかが良い例かな。
これはiPaaSっていうサービスの一種で、まあ言葉の意味は覚えなくて良いんだけど、要は「イベントAが発生したら別のイベントBを起こせ」っていうのを登録して、自動化できるWebサービス。
例えば、あなたが日雇いの会社にいて、毎日違う現場に働きに行くとする。
で、出勤前、現場到着時、勤務終了の時にLINEで毎日報告しなきゃいけないとする。
で、その報告を受けた事務方は、Googleスプレッドシートにその都度入力する。つまり、それだけの為の事務員が一人いる。
面倒くさいし、お金がかかる。
そこで、「特定のグループでLINEを受信したら(イベントA)、特定のGoogleスプレッドシートに情報を記録せよ(イベントB)」っていうのをIFTTTに登録すると、少なくとも事務員の入力の手間は省けるってえ寸法だ。
IFTTTはたくさんイベントを処理させたい場合は有料になっちゃうけど、個人で試すぶんにはクレカ登録しなきゃいいだけだから試してみるといいよ。
月1000円で学べる。コスパは圧倒的。
入門コース(学習に180時間と公称してる)がしっかり理解できていれば、Webで大抵のものは作れる。
ただし、大筋は問題ないんだけど、細かい部分で最新技術をキャッチアップできてない可能性があるので、そこは注意した方が良いかも。
https://www.nnn.ed.nico/pages/programming/
N予備校の入門コース終わらせたら、基本情報技術者か応用情報技術者を取る。
そしたら、職歴書の作り方次第で中小企業の社内SEにはまず転職できる。
中小企業の社内SEは、ITリテラシーの低い社員が多い中で「Excelのセルの色が変わらなくなっちゃったんだけど!」とか「複合機が紙詰まりって言ってるけどその紙が見つからない!」とかクソイージーなクエストをこなすだけでおちんぎんが貰える、人によっては天国、人によっては地獄のような職業だ。
ごめん、流石に言い過ぎた。実情は色々と面倒くさい。DXとかバズワードを聞きかじったクソ重役から突然言い渡される重めのミッションとか。
けど安定なのは間違いない。
N予備校の入門コース終わらせたら、基本情報技術者か応用情報技術者を取る。ここは社内SEと同じ。
生産技術ってのは、誤解を恐れずにすげえ簡単に言えば、カイゼンばっかりやってる人たちのことだ。
あんまり詳しくは言えないんだけど、俺が最後にやっていた仕事は言わば生産技術だった。
で、中小企業の生産技術は、Webに強い人材をかなり欲しがっている。有り体に言うとIoTとかね。
IoTは最近、セキュリティの強化がかなりクローズアップされていて、そのせいで二の足を踏んでる企業が多い。
そこに滑り込むのはアリだと思う。
よく「T型人材」って言われ方をするけど、どっちのスペシャリストの言うこともある程度分かる「橋渡し」的な人材になると途端に貴重になって需要が増すので、上昇志向があるなら「Web+何か」の組み合わせでお金稼ぐのが良いんじゃないかな。
ま、橋渡しって自然とプロマネとか任されがちで、裁量大きくて大変なんだけどね。
質問あればどうぞ。頑張って。
GCPが儲かるだけなんじゃないの
リアルエンジニアのワイがなぜMacでないといけないのかを説明しよう。
Macしかできないことは、WindowsにWSL2があるいま、それただひとつ「iOSの開発」だけだ。たかがiOSというなかれ、今の時代、コンシューマサービス(B2C)を作るならiOS対応は必須なのだから仕方ない。
iOSのアプリ開発ができて、AWS/GCP/Azureにsshログインしてサーバ開発しようとしたらMac「でなければならない」のである。
B2Bのビジネス系ソフトしか作ってない人にはわからないと思うけどね。
なお、単にAWS/GCP/Azureにsshでログインしてvimでぐりぐりとサーバ開発するだけなら、MacよりもWindows WSL2のほうがはるかに優秀だ。
・画面の解像度が高い。一番小さいMacbook Airでも2560 x 1600あるから、デュアルディスプレイにしなくても足りる。sshの画面を4枚開いても全然余裕がある。なおワイの場合、この画面だけでMacを選んでいるといっていい。
・色がきれい。フォントがきれい。ワイはWindowsも(C#開発がどうしてもあるので)使うが、Windowsは画面が汚くてそれだけで非常にストレスになる。
Googleの社長ピチャイちゃんが生産性を上げようねという話をしてるチャイ。
GoogleはGAFAMと呼ばれる企業郡の中で最もまったりした会社だチャイ。Microsoftもまったりとしていると言われているチャイね。逆にAmazonとFacebook(現Meta)はモーレツな社風でスピード最重視なところがある会社として知られてるチャイ。
Googleは深く考えて考えて考えて考えて考えてピョンと出す会社だチャイ。良く言えばよく考えられているチャイけど悪く言えば全てが遅い会社だチャイ。技術は凄いけど製品としては微妙かなというものがよく出てくるのはそういう理由もあるチャイね!
オフィスがいつまでもMSに勝てないのもGCPがいつまでも低迷してるのもGoogleの顧客の声を聞いて改善を回していく力の弱さが現れた結果とも言えるチャイ!
暇な社員が大勢いて生産性が低いという点を問題視して改善していこうとするのはさすがピチャイちゃんチャイ!$GOOGLは買いだチャイね!
cloud functions で開発しているが以下の解消法が不明で効率がとても悪い。
以下調べて分かったこと
https://stackoverflow.com/questions/67202735/sharing-code-between-two-gcp-python-cloud-functions
に、同じ疑問についての質問があった。