sei-kondoのブログ

名古屋のWeb系ベンチャー企業でエンジニアをしています。

仕事のモチベーション

先週同僚と仕事のモチベーションは何か、という話をした。改めて考えてみると、私のモチベーションは大きく以下の2つだと思う。

1. 技術への興味・関心

2. 意味のあることをしたい

「技術への興味・関心」については、おそらく殆どのエンジニアがそうであろうから特筆することはない。「意味のあることをしたい」というのは、私にとっての"根源的な欲求"に近い。

子供の頃から、「どうせやるなら、ちゃんとやりたい」というのが私の行動の根源にあったように思う。

前半部の"どうせやるなら"には、「仕事は生活のために仕方なくやるもの」、という意味合いを含む。そして、"ちゃんとやりたい"が接続することで、「仕方なくやるものだが、責任を持って、より良い成果を出したい」という意味になる。

 

私はたとえ"やりたくないこと"であっても、このモチベーションに基づいて行動をしている。開発プロジェクトを進める上で言いづらいことも言うし、メンバーが面倒だと思うことも引き受ける。Bizサイドとのコミュニケーションが億劫になりがちな場面でも、基本怯まない。

 

色々面倒なタスクを抱えがちだから、私は憂鬱な気分で仕事に行くことも多い。"やりたくないこと"をやれるというのは、結構仕事の本質だったりする。自分がやりたくないことは、他の誰かもやりたくないことが多い。でも、そこで行動したからこそ得られた経験や成長があったりするのだ。だから、そんな面倒を抱える自分のことは嫌いではない。

 

知識0でHP制作を受託した話

新卒で入社した会社を1年で退職した後、どうにも就職活動をする気が起きずにフラフラしていたのが2021年の春頃だった。

そうであればフリーランスになろうと思い立ち、HP制作なら出来そうかなと考え、クラウドワークスで案件を探した。人間時間があると意味の分からない行動に出るものである。

調べてみると実績がないと案件は受注できないことが分かったので、ポートフォリオを揃えることにした。HTMLとCSSなんて全く理解しておらず、インターネット上のコードをコピペして、ツギハギしてそれっぽい架空のサイトを作った。

当時の私:「大学の講義でもあったし、HTMLとCSSは多少分かるぞ。評価は最低で落単ギリギリだったけど..!」

そのポートフォリオを引っ提げて、片っ端から案件に応募した。全く受注できなかったので、営業メールも1件毎に工夫して、50件以上は応募した。そうして、何とか1件だけ受注したのが飲食店のHP制作だった。

今思えば初心者にはかなり難易度の高いHPだったと思う。HTMLとCSSも殆ど理解していないのに、JavascriptやWPの構築も含まれていたためPHPも必要だった。

当時の私:「JavascriptPHPってなんか聞いたことはあるが...」

こんな状態で仕事を受注するのは常識的に良くはないだろう。とはいえ、これが私にとってのプログラミングとの出会いだった。プログラミングが面白くて、案件そっちのけで勉強していたのを覚えている。そこから色々あって、現在はWebエンジニアとして働いたりする。

HPの案件は、無事スケジュール通り納品することができた。クライアントからは高い評価を頂いていた思う。次の案件も複数紹介して頂いた。私はプログラミングを本格的に学びたかったので、継続はしなかった。

※なお時給換算したら、100円くらいだったはず...

2年半ほど経っていますがまだそのHPはアクセスすることができて、お店からお知らせも継続的に投稿されているようだ。久しぶりにアクセスしてみたら、何だかエモい気分になった。

2023年に読んだ技術書全22冊

すでに年が明けて数日経過してしまったが、2023年に読んだ技術書を振り返っておく。 おそらく何冊か漏れているように思うが全部で22冊あった。

流し読み

2~3日で全体感をさらったもの。詳細までは理解できていないが、いずれも一応知見にはなったと思っている。

AWSコンテナ設計・構築[本格]入門
コンピュータはなぜ動くのか 第2版 知っておきたいハードウエア&ソフトウエアの基礎知識
プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識
INSPIRED 熱狂させる製品を生み出すプロダクトマネジメント
Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用する
達人に学ぶDB設計徹底指南書: 初級者で終わりたくないあなたへ
Web API: The Good Parts
詳解Go言語Webアプリケーション開発
Goならわかるシステムプログラミング 第2版
OAuth徹底入門 セキュアな認可システムを適用するための原則と実践
Amazon Web Services基礎からのネットワーク&サーバー構築改訂4版
EMPOWERED 普通のチームが並外れた製品を生み出すプロダクトリーダーシップ

読破

1ヶ月程度じっくり取り組んだもの。

メタプログラミングRuby 第2版
Rubyによるデザインパターン
マイクロサービスアーキテクチャ 第2版
コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方
Gradual Modularization for Ruby and Rails

挫折

難易度が高かったり、意欲がなくなり途中までしか読めなかったもの。

Rubyのしくみ -Ruby Under a Microscope
コンピュータの構成と設計 MIPS Edition 第6版 上
基礎からの新しいストレージ入門 基本技術から設計・運用管理の実践まで
プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける

個人的に良かった本トップ3

以下の3冊は特に読んで良かった本。

No.1 メタプログラミングRuby 第2版
この本を通して、Rubyの知見が一気に高くなったと感じる。何よりRubyが好きになった。Rubyが好きになったので、たくさんのGemのソースコードを読むきっかけになって、これもまた自分の技術力の向上に繋がった。Rubyを扱うプログラマにとっての必読書だと思う。

No.2 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方
私はハードウェアの知識が皆無だったので、前半部分の論理回路を学ぶのが新鮮だった。機械語がどのようにCPU,メモリで実行されるのか、解像度が非常に高まった。最近はコンパイラやプログラムの実行環境についての知見を高めたいと思っているので、この本である程度ハードウェアのイメージが持てるようになったのは良かったと思う。

No.3 フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識
実務で手に取る回数がかなり多い本。恥ずかしながらCORS, CSRFがこの本でようやく理解できた。セキュリティ周りはネット上のブログだと筆者が曖昧な理解のまま提供されており、分かりにくかったりする印象がある(※勝手な印象)。技術本の良さは、何より情報にある程度信頼がおけるところだろう。この本はハンズオン形式で理解しやすく、 私の普段の実務にも生きる内容が多かった。

2024年に向けて

2023年はエンジニアとして2年目の年だった。上記の本や実務などを通して、ある程度エンジニアとしての基礎的な技術力は身についた実感がある。とりあえず不足している知識が多いため幅広くキャッチアップした(できた)1年だったなと思う。

今年は逆に、技術領域を絞ってそれらを深く学んでいこうと考えている。