はてなキーワード: Githubとは
「頭の悪い人の喋り方」みたいなQuoraの投稿がこの前バズってたけど、うちの上司はあそこであげられてたのの1/3当てはまる。
性格が致命的に悪いとか、嫌がらせをするとか、わかりやすい害を与えてくるひとじゃないんだけど、一緒に働いてて益がないのがつらい。
頭が悪いというのがどんな感じかというと、社外とのミーティングや面接のときに全く無意識に社内用語(略語。知らない人は絶対わからない)をバンバン使ったり、いつの間にか飲み会の幹事を押し付けられてて会場調べで数時間いなくなったり、ちょっと調べればどの会社の人かわかる状態(GitHubアイコンとTwitte IDが同じ、会社の記事をよくシェアしてる)のTwitterアカウントでガンガンネトウヨ発言してたり、そういう感じ。
この上司と週1で1on1してるんだけど、当然一度も問題が解決されたことがない。なんなら自分が上司の愚痴を聞いてあげる会になってしまうことが2回に1回くらいある。
いい点もあって、直接的なもの言いをしたり何度も同じ話をしても気分を悪くすることがない(逆に何回も言わないと伝わらないことが多いが)。あと、腹芸ができないので「これは機密情報、人事情報だから言えない」みたいなのがない。だから「うちは業界の中では給料が低い」「もっと給料がほしいので昇格させてくれ」と月1ペースで言うようにしている。言わないと昇格しないところがつらいんだけどw(いままで他の上司は言わなくてもちゃんと仕事してたら目をかけて昇格させてくれていた)
言うだけ損はない、と言う気持ちで毎回言っている。この感じだと「うちの会社だと、上限としていくらまでもらえるんですかね」くらいのことは聞いても角が立たない気がするので、今週の1on1で聞いてみようと思う。
この期間に、様々なプロジェクトに関わり、多くのことを学びました。
今回は、私が経験した技術的な話を中心に、はてなでの仕事について振り返りたいと思います。
はてなでは、主に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といったツールを使ってデザインやアイデアの共有やフィードバックを行いました。
私は、はてなでエンジニアとして働くことがとても楽しく充実していました。
しかし、私は自分のキャリアについて考える中で、新しい挑戦をしたいという気持ちが強くなりました。
私は、自分の興味や関心のある分野にもっと深く没頭したいと思いました。
## おわりに
彼らに感謝する気持ちを込めて、このエントリーを書き終えたいと思います。
NotionかVScodeかどっちかなあ
youtubeの面白いコメントをランキング形式で表示するサイトを作った。
以下が特徴
URLはこれ
SOUL’d OUTの楽曲動画についてたネタコメントを見てこんな面白いコメントがYoutubeに眠っているのかと感動してもっと面白いコメントを発掘したいと思ったため。
そう思ったのが数年前で、最近になってChatGPTに相談してみたらなんかやりたいことが実現できそうな気がしてきたから作った。
ChatGPTに以下のことを教えてもらいながら構築した。
思いのほか自分が面白いと思うコメントは集まらなかった。あんまりうまくいかないなという感想。でもたまに面白いコメントが拾えているので、スコア計算式やフィルタリングを工夫すればもう少し改善するかもと思った。
ChatGPTに相談しながら作ってみると驚くほどすんなりと事が進むので驚いた。昔作りたかったけど作り方が分からなくて諦めてたものがまだあるので順次作っていこうと思った。
色んなメモツールとか試してて、ようやく重い腰を上げて、 Obsidian に移行してみて試してみてたんだけど、
数日前から日本で話題になってたVSCode の拡張機能の GistPad に変えることにした。
GistPad は簡単にいうと GitHub の Gist を VSCode で分かりやすく管理できるツールなんだけど、
保存すると同時にコミットしてくれたりするので、 GitHub 使ってる人ならすごい取っつきやすいと思う。
VSCode の拡張機能なので、Pritter とか textlint とかの拡張機能も使えるし、Obsidian よりも色んな機能が使えるはず
日本語の情報が少なかったり、iPhone とかでの使い方とかはまだ試していて何が正解か分からないけど、
無料でこれだけできるのは、めっさ便利なので一回試してみて欲しい。
https://github.com/lostintangent/gistpad
https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gistfs
そこそこのWeb企業が基本的に経験者しか採用しないことについて、教育コストを他に転嫁しているとか、IT業界が先細りする行為で未来を潰しているみたいな言い方をされているときがある。
自分もこれについて課題意識はあって、ここ数年Web企業での採用活動と実際の業務に関わりながら、色々考えたので少しまとめてみたい。
ここではいわゆるキャリア採用ではなく、新卒採用やポテンシャル採用の話をしていると前置きしておく。
Web企業でよく求められるスキルは以下の3つだが、これを満たすような人材はもれなく経験者である。
この3つの条件とそれを満たす応募者について、この記事では以下の様に呼称する。
当然レベル4以上はそう多くなく、それを求める企業では応募者のほとんどは書類選考で落とされてしまう。それでも毎年雇いたいレベルの人が来る(来てもらえるように色々やっている)ような企業ではこの採用基準を下げる意味はないため、いわゆる「経験者しか採らない」と言われる状態になる。
一方で世の中はそんな人気企業ばかりではない。それらの企業ではこの基準を落とすのだろうか?自分の感覚としては「一部を諦める」みたいになっていると感じる。つまり、チーム開発の経験はないとか、自社では使ってない言語の経験しかないとか、コンピュータサイエンスはよく分からないなどを許容するという方式になっていそうだ。よってレベル3以上あたりを狙って、レベル2~4くらいのグラデーションで採用する。
よって、本当の未経験者がWeb企業を受けるためにはまず最低レベル2、できればレベル3に到達する必要がある。そこまでしてようやく「面接に到達する資格がある」という状態であり、おそらく有名な企業では軒並み一次面接で落とされてしまう。
一方で満たしている人は本当に全部満たした上でプラスアルファが多数あるみたいな状態で、多数の有名企業の内定を取って手のひらで転がして悩んでいる。
このような一部の外れ値のような人はどんどん内定を取るが最終的に選ぶのは一社なので、それ以外の企業は内定辞退され辞退率が上がる。すると「それなりに合格は出しているのに人は足りない」みたいな状況になってしまう。
自分は応募者に基本的にレベル4以上を求めている。これは教育に対して年単位で割いているほどの余裕がなく、教育を施しても難しい問題を解決する能力が身につかない可能性のある人を採用段階で落とすことで「当たりを引く確率を上げる」ためである(誤解の無いように言っておくと、単に既にできる人は更に色々と(しかも早く)できるようになる可能性が高いというだけで、レベル4未満は絶対ダメとかそういう話ではない)。
今の会社では新卒であっても入社後半年もすれば手取り足取り教える段階ではなく、社内で自走していけるようになっていると感じる。
これが健全でないと言われればそうであろうと思う。
コンピュータの世界は恐ろしいほどに親の資本力に左右される。レベル4以上の人は早ければ中高生の頃からコンピュータと関わりがあり(自分専用のPCがある、部活動で触る、地域の習い事で……etc)、更に大学に進学して関連分野を学んでいる。これを親の資本力と関わりないと言うのは難しい。
更に地方よりも都会の方が、コミュニティの発達においても、そこに集まってくる人材のレベルについても圧倒的に勝ると学生時代に感じていた。これも当然都心に住居を構える/一人暮らしさせられる親の資本力とは切っても切れない関係にあるだろう。
レベル2くらいに到達することは全くの未経験からでも十分可能である。例えばJava・JavaScript・PHP・Ruby……なんでもいいので一つ選んでちゃんと勉強し、いくつもプロダクトを作ってみればよい。現代ではこれはPCが一台あればできる。動画講座も安価で手に入るし、大抵のことは検索すれば出てくるし、Twitterにいるエンジニアはみんな教えたがりだし、ChatGPTだってある。PC自体もそんな高価な物ではなく、中古で買えるやっすいThinkPadで十分できる。
しかしレベル2~レベル4までの間の壁があまりにも高い。コンピュータサイエンスの広範な知識を身につけるには基本的に大学に行くのが一番コスパが良いと思っているが、誰しもが大学に通える経済力を持つわけではない。チーム開発はやはりどこかのコミュニティに参入できないと難しい。手っ取り早いのは企業のバイトで雇われることだが、これは鶏と卵問題だ。
本来ここの教育は企業が担うべきではなかったか?そういう意識が学生時代から漠然と自分の中にあった。これをやらずに、レベル4以上しか採用しませんというのは他のどこかに教育コストを押し付けていたり、更なる格差拡大に繋がっているのではないかという後ろめたさを感じていた。
企業に入ってもまだしばらくは上記の意識を引きずっていたが、最近は別の考えになってきつつある。
まず、Web企業の使う技術は割とオープンになっていることが多く、隠すインセンティブがあまりないため、企業間での教育はおそらくかなり共通化できる。企業内に囲い込んでから教育を施す意味があまりなく、入る前から知っているという人も多い(Web企業の研修が知っていることばかりでつまらないと思った人も多いのでは無いか)。
これを実現する一つの手段として、入社前の広い母集団に対して何かしらの形で援助を行っていることが多い。例えば以下の様なものだ。
これらは広義の教育であると考え始めた。それらの中で企業はスポンサーセッションなどを通して採用枠をアピールするし、実際それ経由で就職する人も居る。
もちろん支援企業に就職しない人の方が多いが、最終的にどこかWeb企業に入ってくれるなら、これはWeb業界全体で人材教育を行っていると言えないだろうか。
次に、大変残念な現状として「学生時代から触れているのにいまいち地力が伸びていない人」とか「そもそも触れていない人」がその後ぐっと伸びるという事例はかなりレアだと感じる。つまり、未経験ですが頑張りたいです!という人を雇っても伸びず、「これくらいやっています」という人は更に伸びるという(ある意味当たり前の)現実がそこにある。
故に先に挙げた広い範囲での教育を進めていくと、選考よりも前の段階でたくさんの機会をどんどん与えていくことになり、自然と「やったがあまりうまく行かなかった人」とか「機会はあったがやらなかった人」がどんどん可視化されていく。すると選考の段階では今後も投資の価値がある可能性の高い人材が自ずと絞れてしまい、経験者のみが採用されていく状態になるのではないだろうか。
自分はこういったことを考えているうちに、積極的に未経験を雇って教育するよりも、選考よりずっと前の段階から様々な教育機会を提供していく方がお互いにとって幸せなのではないだろうかと思うようになった。
学生は自分の興味ある方向にスキルを伸ばしてそれがマッチする企業を選べば良いし、企業はある程度既存社員を使った教育コストを下げつつ優秀な社員を雇えるようになる。そもそも選考前の段階でエンジニアリング楽しくないなと思う人は素直に向いていないので、参入するのを辞めたほうがよい。
さっき言ったような教育への投資はまだまだ経済的に豊かでない層に届きづらい現実があるように感じている。
実際に自分が大学院時代に奨学金を探すと、地方メーカーが自社への就職を前提に出している奨学金などが多く、国から借りる以外にはあまり選択肢がなかった。
もっと広く機会を提供できると良いなと思っているし、奨学金とかは(下手な条件を付けなければ)かなりフラットな教育への投資であると思うので、企業が給付型奨学金を実施することに対してもっと何らかのインセンティブを付けられないだろうか。
また、イベントやコミュニティはどうしても都心に偏りがちで、地方では開催されなかったりWeb企業の影が薄かったりする。これも年に1回とか2回とかでいいので地方のコミュニティと何かやって、細々とした縁を持てるようにしていけないだろうか。
C++使っててメモリの開放を意識しないレベルでよく今までやってこられたな
俺は採用担当だけど最近はAWSの資格がボーダーラインになってることが多い
資格自体は持ってなくてもいいけど、そこが最低限って感じで実務レベルはほしい
中途だと「未経験ですがやる気だけはあります」「Github見たい」「持ってないです」も多い
今はよほど田舎じゃないと、フロントだけとかバックだけってのは食っていけない時代だから
全方位を水準以上で、かつある部分に特化した人ってのが市場価値がある
久しぶりに転職をした。
理由は「上司がクソ・年収も上がらない」という至極単純なもの。
自分は人手不足と言われているエンジニア業界でも、人が居ないと嘆かれている言語のエンジニアである。
正直に言って、今までは求人に乗っかればそれなりに内定を取れたので、そんな感じでいくだろうとタカをくくっていた。
ところが、今回の転職はめちゃくちゃ難航した。
約半数の選考に進み、スキルチェックで落とされたのが3社、面接で落ちたのが2社、内定獲得したが辞退したところが3社。
打率3割は高いと思うかもしれないが、経験者なら誰でもOKのSESなので自慢にならないんだ。すまんな。
最終的には良さげなところを見つけ転職は幕を閉じたが、かけた期間はおよそ6ヶ月。
それをぼちぼち忙しい業務の合間と土日に行っていたので、もう身も心もすっかり摩耗した。
ようやく落ち着いて新しい環境にも慣れたので、これから転職したい人の参考になればと思い増田しておく。
敗因は色々あるが、気づきとしては「経験者として求められるスキルレベルが上がっている・スペシャリストが求められる」「難なく通るような会社はだいたいヤバい匂いがする」あたりだろうか。
仕事でそれなりやってます、といったレベルでは到底NGで、いわゆるつよつよエンジニアを求められている気がした。
自分は中間管理職も担っているので、テックリードだったりスペシャリスト役はやりたい人間に任せている。
今回はそれが完全に裏目に出た。
スキルチェックのための課題を出されたが、正直ついていけない。
必死に調べて時間の許す限り食らいついたが、ことごとく落ちた。
技術面接で、こんなこともやってないんですか?これ知らなかったんですか?と詰められたときは帰り道で泣いた。
スキル不足を理由に落ちた会社からは、「○○エンジニアをしながら、採用やメンターをやっている人は珍しいと思う」と微妙なフォロー付きのお祈りメールが届いた。
タイミング悪く、課題期間に家族の大病や本業のトラブルなども重なり、あの苦行は何だったんだという思いで正直だいぶメンタルにきた。
同じ○○エンジニアとして勝負したいのであれば専門性は必須で、ギークな彼らに頼り切りだった自分が悪い。
そんなのは十分分かっている。
が、自分がこれまでに歯を食いしばってやってきた、周りのエンジニアが誰一人やりたがらない管理業務をこなしてきたことすら、全否定されたような気分になってしまった。
これにはすっかり参ってしまって、しばらく立ち直れなかった。
カジュアル面談の時点で、自分のスキルレベルにあまり自信がない、具体的にこういうことは出来ていない等伝えてみたが、
「あー別にそこは入ってから勉強してもらえれば良いんでー」との言葉を真に受けてしまい、ウハウハで応募してスキルチェックで落ちた。
こちらとしては、その時点で「今は応募しても落ちるかも」と言ってほしかったのだが。
公用語が英語という会社も増えてきているように感じた。外資はもちろんだが。
どうせなら、社内文化に力を入れているような良い組織に入りたいと思ったものの、そういった会社は公用語を英語にしている所が多かった。
先方も「今は」ペラペラじゃなくていいけど...等と言っていたので、つまり良い会社はどんどん英語がスタンダードになっていく可能性があるということ。
それはつまり、自分が再度転職する時には、自分は「日本語しかできないクズ」として、グローバル化を目指す会社からは置いてけぼりを食らうということでもある。
読み書きはそれなりに自信があるが、ペラペラしゃべれるタイプではないので、今後は英会話必須かなと漠然と不安にはなった。
むしろ、そうこうしている間に、英語力もコーディングスキルも高い若者がどんどん出てきて押し流されるんだろうな。
ポートフォリオだけで内定をくれるような、驚愕のエクストリーム選考もあった。
Offerまでに5次面接、スキルチェック課題に技術面接、適性検査だリファレンスチェックだとあれこれ対応し疲れ切った身には、あまりにも麻薬的に思えた。
もう、そこに決めてしまおうか、、、と何度も頭をよぎった。
どこでも良いわけではないので、転職○議で口コミをチェックすると、、、、
まあ、お察しだった。
そもそもでいくと、対して吟味せず内定をくれるということは、よほど先方の感触が良いか、よほど人が足りてないかのどちらかである。
だいたい後者が多い。
人が足りてないということは、当然忙しいし要求も多い。
選考途中で音信不通になった会社もおり、本来ならばこちらからリマインドするところだが
「向こうが忘れてるってことは記憶に残らない存在なんだろう、じゃあ実質落ちたも同然」と思ったので、見なかったことにしている。
自分は最終的には「今までのキャリアも尊重しつつ専門性を高めていくポジション」として収まった。
その会社は前任が栄転し、空いた枠に人がほしいというのと、まずは専門性を伸ばして欲しいけどいつかマネジメントもやってほしい、といった期待値だったので、それなら伸びしろも丁度良いと思いここに決めた。
年収は上がったし自由度も高くなり、人間関係も良好で、転職としては大成功と言える。
何より社長と話のテンポが合い、「増田さんは本当に採用してよかった」と言ってもらえたのが大きい。
手前味噌だが、自分はエンジニアの中ではかなりとっつきやすいタイプである。
コード一行の専門性こそ低いものの、いつも機嫌が良さそうとか難しいこともわかりやすく教えてくれるとか褒め上手だとか、凪のようなメンタルしてるとか、落ち込んでるとふらっとやってきてオフィスグリコをおごってくれるだとか、そういう面で自然と他部署に頼られることが多く、一度組織に溶け込むと途端に重宝される。
結果、気難しいスペシャリストを束ねてビジネスを遂行する立場になるのだが、「人間性」みたいなぼんやりしたスキルは外からは判断しづらい。
じゃあ初めからマネージャーとして応募すれば良かったじゃないかと思われるかもしれないが、マネとしての実績も非常に中途半端なので、自分みたいなよわよわエンジニアだとしても、エンジニアを一旦名乗っておかなければ箸にも棒にもかからない。
○○エンジニアという同じ採用枠で見ると、自分は「経験年数だけ長く、大したコードも書けない、マネジメントもなんだか中途半端で、今更ポテンシャルを買えるような年齢でもない、どう扱ったらいいか分からない無駄に年食っててヘラヘラしてるだけの中途半端なおっさん」だということが、今回の転職活動ではっきり分かったのはショックでもあり、良い気付きだった。
これから転職を考えている人には、自分の強み弱みを客観的に分析・言語化して、自分に合ったところを探すことを強くおすすめしたい。
世の中の人材は常に流動しており、各組織には今ほしいエンジニアのタイプというのがあり、そこにマッチしないと永遠にハマらないジグソーパズルになってしまうから。
また、転職時に慌てないためにも以下の行動をおすすめしておきたい。
・自分の今の実力が分かるサンプルアプリをGitHubに公開しておくこと。草は頻繁に生やさなくても良い。
・Qiita、Zenn、個人ブログなどで技術について定期的にシェアすること。いざ転職時に大量に書こうと思うとつらいし、現職で見つけたハマりどころなど書いておけば後々役に立つ。自分は辞めたあと自分のはてブにめちゃくちゃ助けられた。
・Twitterでは発言内容に気を付けること。仕事の愚痴じゃなくても、ネガティブな内容が多い人はそれだけで印象が悪い。つよつよエンジニアの中には仕事の愚痴もガンガン投稿している人がいるが、色々な採用担当に話を聞くと皆口を揃えて「どんなに有名だったりハイスキルな人でも、公の場で後ろ向きな人は採らない。絶対トラブル起こすから」と言っていた。
・転職ド○フトやFin○yなどこちらからアピールする欄がある媒体では、自分の人となりが溢れ出る内容を書きまくること。
たとえばスキルレベルの話や、それをカバーするような強みのアピールはかなり有効だった。
追記:スキルレベルを教えて欲しいというコメントがあったので身バレしない範囲で応えると、「一人でアプリケーション作れるけどそこ止まり、部下同僚を束ねてテックリードするのは無理」「今はキャッチアップが追いつかないのでライブラリやOSS活動的なことは一切してない」。
あとはここで例外発生して落ちることを考慮してないとか、ここではメモリを解放しないとだとか、そういう系が引っかかったらしい。
自分は言語の細かな特性を熟知してないから気付けず落ちた感じ。
のんびり買い物に出てたらめちゃくちゃ反響があったようで驚いている。
祝福してくれた人、各々の観点で意見を述べてくれた人、批判的なコメントも含め、皆さん関心を寄せてくれて本当にありがとう。
なぜか増田をC++エンジニアと断定して、メモリ解放を考慮できないレベルの低い40代おっさんを批判している人が多いようだけど、これでもエンジニアの端くれなので、こういう部分から特定されないよう多少のフェイクを入れました、、、C++面白いよね、でも違うんだ、ごめんな、、、
ただ「自分のレベルが低い、第一線でバリバリやってりゃ学んでるはずの知識を蓄えてない」という、自分自身の問題には変わりないので、君の指摘の本質は自分の考えとも一致している。おじさん頑張るよ。君も達者でな。
次に「応募する求人がそもそも合ってない、最初からPMやEM行っとけば良かったのに」という意見。
実はPMEMは何社か話を聞きに行ったし、応募もしたんだ。でも落ちた。
やはり、そっちにはそっちを極めてきたプロがいる。
採用する立場で言えば、「エンジニア出身でマネジメント経験のある40代おっさんを、今更新米PMとして雇うか?」というところで、答えはNOなんだと思う。
明らかにテックリードを求めている求人は除けたけど、その業界内で求められるエンジニア像が、求人票の表記以上にスペシャリスト寄りのものが多いと感じた、というのが現実かな。
いくつかのコメントにあった「組織の潤滑油として機能するキーマンみたいな人、エースでもないのに居なくなるとなぜか途端に回らなくなる人」というのが、僭越ながらまさに自分だったんだろうと思う。
文面から人柄の良さが出てる、増田を雇いたい、上司になってほしいと言ってもらえたのは素直に嬉しかった。ちょっと泣けた。
どっかの誰かの匿名ダイアリーに、そんな風に好意的な気持ちを表明できるあなた達も素敵な人だよ。
これ以上の追記はしないでおこうと思う。
あとはみんな好きに言ってくれーい!