日々流れてゆく膨大な情報量の中からおいしいネタを敏感に察知し、ネット界隈を賑わせてくれるWeb業界の異端児・村上福之氏。同氏独自の経験と価値観から、「キャラ立ちエンジニア」の思考回路を紐解いていく。
20代のうちにプログラマーがやっておくべき4つのこと【連載:村上福之】
20代のうちにプログラマーがやっておくべきことを適当に書きます。すごいぼんやり書きます。信じない方がいいですが、思い付くまま書いたので、鼻で笑って読んでください。
1カ月以上、文化が違う国で生活すること
プログラミングの世界は広くて狭い。1日、オフィスでPCに向かってコードを書くといった、非常にむなしい作業が多い。
どうでもいい環境設定でハマって1日潰してしまったりする。引き継いだものの心が萎えそうなスパゲッティコードを直していたり、ドキュメントがいい加減なOSSのライブラリを無意味にいじっている時もむなしい。新しい言語やプラットフォームで、コードを書いている時間よりも、APIを当て物のように毎日検索している時も非常にむなしい。
日々、企画や営業が提案してくる意味不明な仕様変更でイヤになることもある。何だろう、自分のやっていることは? こんなことに自分の人生を使っていていいのか? 自分の人生って何だろう? このように、仕事をする上で思うことは多いはずだ。不毛な袋小路にはまってしまう。
僕の上司は、「だいたい奇数年で壁に当たる」と教えてくれた。つまり、3年目、5年目、7年目くらいだ。たぶん、20代で多くの人が人生の壁にぶち当たる。
乗り越えるにはいろんな方法があるが、世界を見よう。たぶん、海外をダラダラ歩き回れるのは、独身のうちなので、海外をプラプラするべきだと思う。スティーブ・ジョブズもAppleを興す前にインドに行った。
今でも高床式住居で住んでいる人もいれば、さまざまな神を信じている人もいるし、シリコンバレーのようにテクノロジーの権化のような場所だってある。人は、生まれて、時には誰かを愛し、時には子供を産んで、時には働いて、笑って、泣いて、死ぬ。コードでできることは、あんがい限られている。人は人のためにコードを書く。広い世界を見ないと物事の本質が分からない。
生きるとは何か? 働くとは何か? 残念ながら、モニターとキーボードだけでは、答えは出ない。
低レベルレイヤーとハードウエアの分野を理解すること
一部の言語の信者は、ハードウエアのことを考えないでコードを書くので、良くない。
特に今後は、20年前に比べて、ソフトウエアとハードウエアの垣根はどんどんなくなっていくし、環境コストも学習コストも昔より低くなっていく。ボードとデバッガが数百万円したのはもう昔の話だ。『ハルロック』でも見て考えよう。
世界は広いので、個々に専門化した人材で、あなたより安くて優秀な人はいっぱいいる。幅広い考え方を持っていないと、今後はいろいろとつらいと思う。
一度くらい営業っぽい仕事をすること
もし、社内に営業部門があれば、何やかんや理由をつけて、一度くらい営業の仕事を手伝える機会を作った方が良いと思う。20代ならそれが許されると思う。オッサンになると難しい。営業の経験があるかないかで、だいぶ仕事の幅が変わる。
エンジニアをやっていると、どうしてあそこまで営業はアホなのか? 営業は工数とか計算できないのか? 営業はもしかして人間のクズしかいないのか? いろいろ思うところが出てくると思う。
しかし、営業にも営業側の理屈があり、おそらく誰も使わないであろう意味のない機能でも短期間で実装することで売上げに直結したりするし、工数と売上げが直結しないという話もある。
また、開発しただけではカネを生まないこともあるし、カネを生まないとみんなのお給料も払えない。技術と売上の関係をリアルに知っているか知らないかの差は大きい。特に新規開拓から契約のクロージングまで経験すると、仕事の仕方は変わると思う。
サーバ、クライアント、アプリと全部2割くらい理解すること
サーバ、クライアント、アプリを一通りこなそうといっても、100%できる必要はない。何でもそうだけど、どんなテクノロジーも2割のことを知っていれば、8割くらいは対応できる。
20代前半の時は、自分のところだけ見ていればよかったんですけど、だんだん、自分と違うパートのことを考えて仕事しないと嫌われる。ドットインストールをちょいちょいやるだけでもいいと思う。スクーでも、なんかプログラミングの授業が増えてきたらしいし、そこで勉強したらいいと思う。
会社勤めで結局どれだけ稼げる?あなたの適正年収が5分で分かる
typeの「転職力」診断テスト
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ