今日もまた1つ成長したので寝る

Webアプリ開発2年生かなたの成長記録です。

#17 想像していたエンジニアと現実のエンジニア

想像していたITエンジニア

  • 時間に自由
  • クリエイティブ
  • システム作って不労所得

現実のITエンジニア

  • 時間に自由じゃない。打ち合わせあるから合わせる必要がある。
  • クリエイティブじゃない。プロダクト作る人は別にいる。
  • 工数商売だから不労所得はない。

IT業界はどこも問題抱えてる

先日、自分がキラキラに見ていたIT企業が人事が辞めたことで話題になりました。

 どこの企業も課題を抱えています。キラキラなところなんて本当はないんだろうなって最近思ってます。ベンチャーサービス残業まがいなことやってたり、大企業は1~3年目社員の離職率の課題を抱えてたりします。自分のところも離職率の問題を抱えています。この業界でキラキラなんて夢のまた夢です。19歳にしてそれを知れているだけでも収穫だと思ってどうにか心を保っています。

IT業界のチームプレイ

IT業界のチームプレイや集団生活は出来る人間にとっては割に合わないです。

  • 出来るヤツに仕事が集中する
  • 問題をつつくとつついた人間が問題解決を求められる
  • 自ら誰かを助けようと動く人間はいない
  • 自己啓発しているフリをする

少なくとも自分の環境はこんな感じです。前向きな人間が求められていて前向きな人間が沢山お金もらうのは確かですが、前向きな人間の消耗の仕方が異常です。「割に合わない」って言葉が一番しっくりきます。

 

それでも、IT技術の問題解決力が凄いのは事実です。Webアプリ開発が楽しいのも事実です。お金がもらえることも事実です。これから自分がどこに身を置いて、どういう生活を手に入れたいのか一度考えてみようと思います。

#16 無理に自己啓発をする上司

無理に自己啓発をする上司

課長から以下のような社内メールが飛んできました。

 

お疲れ様です。〇〇です。

資格取得目標を宣言します。

資格名 :〇〇試験
取得時期:8月末

皆さん、自己啓発や資格取得の勉強はちゃんとしていますか?

日々の業務もあると思いますが、それが全てにならないよう自分自身を成長させましょう。

 

といった内容です。ちなみにこの課長は半年前まで精神病で休職をしていました。誰に指示されたのか分からないですがやらされ感満載だし、無理をしてそうです。試みとその目的は分かりやすく、「社員に自己啓発をさせるための刺激作り」といったところでしょう。

自己啓発を発信して良い人

ja.wikipedia.org

自分は自己啓発を発信して良い人と悪い人がいると思ってます。その区別の基準は、「人が見ていないときに手を抜く人かどうか」にあります。紹介した課長においては人が見ていないときに手を抜くタイプなので、どうしても無理している感が滲み出てきます。そして、そのタイプの人間が自己啓発を発信しはじめると、皆が無理をして自己啓発をする空気が作られます。成長できる環境でも居心地が悪いのはこれが理由で、この空気に当てられると人は病みます。

楽しい自己啓発とは

自己啓発がプレッシャーとなり人を追い詰め破壊してしまうことが色んな業界で起きていると思っています。本来、自己啓発とは「邁進するもの」だと自分は考えています。ただただ突き進む感覚でとても高揚があり、セックスと同じかそれ以上の快楽が得られるものだと思います。人に進めるものではなく静かにやってるのが健全だし、自己啓発をやらせるように進めてくる人間は本当のところは自己啓発が苦手だろうなとも思います。意識高い系のTwitterにストレスを感じる理由もこれです。「無理して頑張らなきゃいけない」感が移ってきます。現代の伝染病じゃないですかねコレ。

自己啓発に対しての自分の考え方を述べてみました。今の会社は成長できる環境ですが居心地が良くないです。こういった企業風土も含め社会勉強を今日もしていきます。というわけで今日もまた1つ成長したので寝る。

#15 今日ってアレの納期じゃね?って話したら自分に降ってきた回

自分が全然関わっていない案件だけど今日が納期のタスクに気付いてしまいました。納期ガバガバ上司さんが気付いている様子が無かったので、好意で「今日ってアレ納期じゃないんですか?」って教えたところ

「じゃあ、やって提出しておいて。出来るでしょ?」

と丸投げされました。全力で現在持っているタスクを説明して断ったのですが、「じゃあ他に出来る人いるの?」の一点張りだったためしぶしぶやってきました。納期ガバガバ上司さんには言いたいことは山ほどあるのですが、とりあえず自分のレベル上げのチャンスだと思って自分のこれからの対策を書いておきます。

納期ガバガバ上司さん対策

  • タスクリストとは別に、デッドラインリストを作って自分の案件以外の納期でもココだけは守らないといけないっていう納期だけは把握しておく。
  • デッドラインリストをもとに2営業日前くらいに納期ガバガバ上司さんへリマインダをしておく

そのマネジメント工数ムダでは?って思うかもしれませんが、納期ガバガバ上司さんがマネジメントしてくれない分は僕がマネジメントした方が世界平和につながります。なんなら僕がプロジェクトマネージャーになって納期ガバガバ上司さんは作業者になってもらった方が適材適所だと思ってます。マネージャー需要凄い感じるのでプロジェクト乗っ取るくらいの勢いでいきます。

#14 サブリーダーとして求められていること足りないこと

ブログ数日さぼってましたけど、エンジニアはさぼってないです。連続リリースなどもあり疲弊が凄かっただけです。とりあえず仕事を上手くやらないと他のことに集中できないので仕事をまずは上手くこなします。

サブリーダーとして上手くいってない

サブリーダーになって1か月たちました。今上手くいっていない要素としては

  • レビューが追い付かなくて誰かの作業が止まる
  • 問題が解決できずに上司に丸投げしてしまうことがある
  • お客様と話す機会が増えて、説明がうまくいかないことが多い
  • タスクとリソースを明確に洗い出せていない

あたりです。

サブリーダーとして上司から求められていること

  • 「実装」「単体テスト」などの一部の工程を丸投げ出来ること
  • 丸投げしている工程で発生する問題の90%くらいを解決出来ること
  • 与えたゴールに対しての細かいスケジュール管理が出来ること
  • 一部機能単位で有識者としてお客様からの問い合わせに対応出来ること

あたりです。

とりあえず先読みする力ないし先を見せる力が無いなって思います。先が見えないと自分の下で一緒に作業してくれてる方も不安だと思うのでどうにかしたいです。問題解決については2年目で経験不足なのは仕方がないので妥協しながら都度経験として吸収していきます。説明力についてはうーん。ビジネス本は沢山読んでるのでいまいち答え見えずです。

解決策いまだ見えずですが、とりあえずはマネジメントの手法を色々模索してみようかなと思います。

現時点でのPM論PL論

PM論とPL論を考えたから聞いてくれ

PMのやること

  • 納期の管理
  • 人の管理
  • 品質の管理
  • PJ内の秩序の確立

PMに必要な力

  • 納期や人を管理する道具への理解力(Excelでも自社ツールでも)
  • リソースを常に把握して足りないところに割り振る力
  • 顧客と納期交渉が出来る

PLのやること

  • 問題解決
  • 見積もり
  • 設計
  • 顧客との会話(お客様からの風当たりをすべて受ける)

PLに必要な力

  • プログラミングの知識理解
  • システムへの知識理解
  • プロジェクトへの知識理解
  • 見積もりへの知識理解
  • 設計への知識理解
  • 顧客にシステムがどうあるべきか説明できる

自分は「PMには技術力は要らない」派です。Twitterでよく言われる「技術力無い人間がPMに当てられてる」っていうのはPMに必要な力は上記で上げたものだけと思われてる場合だと思ってます。管理する道具の使い方を覚えて線引くだけならだれでもできると考えているためです。でも実際、多くのプロジェクトはPMやPLの仕事内容って混ざってるので、問題解決を要求されることだってあります。

スーパーマンになりたい

今自分のプロジェクトはスーパーマン待ちの状態です。1人で勝手に成長してくれて、責任感があって、納期や品質は自分で管理してくれて、問題解決はお手の物、顧客と会話だってできて、なんなら気づいたらPMとPLの仕事両方やってくれてる。そんな人間を求めてます。勇者かスーパーマンかよ。もしかしたら他の現場もそうかもしれません。

でもそんな人間になってやります。なんたって需要があります。評価されるネタがあるだけIT業界には未来があります。今はサブリーダーですが近いうちにPMやPLもやります。また、実力が足りない部分は必ず出てくると思うので、そこは素直に行くことで周りに助けてもらえればと思います。やってやります。

インプット量が足りない回 #12

インプット量が足りない回

お仕事で「やばい実力不足だ」と感じる回数が最近増えてきています。というのも最近の仕事は内容が変わってきていて

  • 2人のエンジニアの管理をする必要がある
  • 自分も並行してタスクをこなす
  • どんどんPM寄りに裁量が増えている

といった部分があります。今の職場のような早くPMのキャリアを積める環境にはなかなか出会えないと思うのでここは経験を積みに行こうと思います。がしかし、成り行きの早さが問題で自分の実力不足が目立ちます。そのため仕事でアウトプットをして仕事外では全力でインプットをする必要があります。

今日の成長

  • 「見積りのすべてがわかる本」を読み始めた

とりあえず今週の土日は予定が無いので勉強したいと思います。まずは勉強すること洗い出してからですね。がむしゃらにやるだけじゃダメっぽいですこの世界。求められてることをまずは的確に勉強していきます。

ソケットって何!?ってなった日 #10

#10ということもあり、そろそろブログを毎日書くことにも慣れてきたのでブログのデザインを少しいじりました。といってもやったことはWeb開発者ツール開いてクラス調べてはてブCSS記述できるところにスタイル入れ込んだだけです。細かいことは後々やればいいと思ってるので社会人はまずはスピード感重視です。

 System.Net.Sockets.SocketExceptionに詰まった

テストしてたらSystem.Net.Sockets.SocketExceptionエラーで詰まりました。.NETのシステムエラーじゃんググったらすぐ解決できるだろうと思ったら、ソケットの問題と言われました。

 System.Net.Sockets.SocketException

docs.microsoft.com

 ソケットって何!?

「ソケット通信」という単語は聞いたことあるけど、僕はソケットがなんなのか全然理解してませんでした。そのため勉強しました。とりあえず読んだのは以下ブログ。

知ったかぶりをしていたソケット通信の基礎を改めて学んでみる - Qiita

調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 - Qiita

ざっくり概念だけまずは認知。OSI参照モデルではセッション層部分。アプリケーション層とトランスポート層の間を上手いことやってくれてる人だという程度の理解で先に進む。あと.Netを使ってる身としてNamespaceのドキュメントは読んでおこうとこちらも認知。

System.Net.Sockets Namespace | Microsoft Docs

問題は解決しませんでした…

結局System.Net.Sockets.SocketExceptionは解決しませんでした。まぁテストは代替案があってそれで担保できたのでOKです。デッドラインを決めて調査することは重要だと思っているので気になったことは家で調べます。

今日の成長

  • ブログにデザイン付けました
  • ソケットについて概念だけ勉強しました
  • System.Net.Sockets.SocketExceptionエラーを経験しました