本文は51CTO(ID:weixin51cto)からの転載、作者:熊小妹



2006年に、私はプログラミングの仕事を始めました。10年という重要な節目を迎えたとき、この10年間に犯してきた過ちを振り返り、経験を総括し、この職業で奮闘している人々に私の忠告をいくつか述べる必要があると感じました。開発業界の変化は非常に速く、今後10年間これらのアドバイスが有効であり続けるとは確言できませんが、私の言葉が皆さんの役に立つことは間違いないと信じています。働き始めたばかりの新人でも、数年働いてきたベテランでも。


開発プラットフォーム、フレームワーク、または言語を堅持せよ


過去10年間で私が犯した最大の過ちは、ほぼ毎回転職するたびに開発プラットフォームを変えてしまったことです。


私の経歴はJavaエンタープライズ開発から始まり、組み込みCプログラミング、VB・C#・C++によるWindowsデスクトップアプリケーション開発、Objective-CによるiOSアプリ開発、NDKによるAndroidライブラリ開発、そして最後にAndroidアプリ開発へと至りました。


このキャリアは聞こえは素晴らしいですが、実際には雇用者は気にしません。雇用者はあなたが10年の多彩な開発経験を持っていることには重点を置きません。しかし、十分なAndroidアプリ開発経験がないと見れば、Android開発の仕事を得ることはできません。


プラットフォームの転向は履歴書に大きな悪影響を与えます。雇用者にとって、履歴書を通じてあなたが特定の開発分野の専門家であるかどうか、あなたに多額の報酬を払うことが妥当かを検証する方法は実際にはありません。


ほとんどの企業はあなたの過去を気にせず、技術面接のほうがより重要です。これこそ、経験は浅くても専門分野が一致する開発者が仕事を見つけられる理由です。


では、市場の変化にどう適応すればよいのでしょうか。コードを書き続けていれば、自然と市場に適応できます。しかし、新しいスキルにも時間を費やす必要があります。空き時間に新しいスキルを学ぶ時間を確保し、そして希望給与も下げる必要があります。一歩下がってこそ、二歩前進できるのです。


一度、自分が心地よいと感じるプラットフォーム、フレームワーク、または言語を見つけたら、それを堅持すべきです。長期的に見れば、得られる給与も仕事の能力も、頻繁に転職するよりも高くなります。あなたの専門スキルを最も必要とする良い会社を見つけ、そこで着実に働いてください。これは簡単に聞こえるかもしれませんが、私はこれを理解するのに何年もかかりました。

高給のために管理職を目指すな


以前、私はスーツを着て経営判断をする管理者の給与は魅了されるほど高いものだと思っていました。場合によってはそれは正しいのですが、その割合はごくわずかで、経験豊富な開発者の給与は一般的に中間管理職よりも良いものです。


私のキャリア初期の頃、ずっとプロジェクト管理の世界に入りたいと思っていました。管理修士号を独学で取得し、そこで多くの興味深いことを学びました。最終的にスペインのある会社でしばらく開発マネージャーを務めましたが、これは自分に合っていないと気づきました。


開発者だった頃、私はいつも会社に企業文化、特に技術的な要素を含む企業文化が欠けていると感じていました。しかし管理者になってからは、プログラミングスキルが向上しないだけでなく、企業文化における孤独感はさらに強まりました。最終的にそのポジションを離れて技術開発に戻ったとき、ようやく自分の開発業務を再び評価できるようになりました。


コードを書くことに飽きてしまったなら、管理職への転向は解決策ではありません。より良い方法は水平移動です。別の部門に移る、別の会社に変わる、あるいは旅行をする。さらには海外で働いて考え方を解放することも選べます。世界中には多くのテクノロジーセンターがあり、そこでは開発者への要求が高く、視野を広げるのに役立ちます。

しばらく休息を取る


私は昨年まで「失業」を経験したことがありませんでした。10年経って、キャリアを「リファクタリング」するために休息が必要だと感じましたが、それは私が下した最良の決断の一つであることが証明されました。


私は5ヶ月間の休息を取り、仕事を辞め、自ら望んで失業しました。周りの誰もが私のキャリアは終わったと心配しているのを感じましたが、実際に起こったことは正反対でした。


10年間、絶え間なく転職し、慌ただしく有給休暇を消化してきた私は、ようやく「失業」がこれほど「幸せ」なものだと実感しました。実際、私たちのキャリアにおいて「幸福感」こそが最も追い求めるべきものなのです。


私の場合、この4年間ずっとドイツ語を学びたいと思っていましたが、その時間がありませんでした。しかしこの5ヶ月間で、ドイツ語集中コースに参加し、1日3時間学び、ドイツ語レベルをA2からB2に上げることができました。


再び仕事を見つけるのは簡単で、予想よりもはるかに簡単でした。ですから、必要だと感じるなら、長期間の休暇を恐れてはいけません。履歴書の空白期間は、開発者にとって問題視されることはありません。

もちろん、この記事を読んだ後、長期休暇を取る準備があるかどうかにかかわらず、ぜひ以下の忠告を守ってください。


1、ABC: 常にコーディングせよ(Always be coding)


休息中であってもプログラミングを止めないこと。私の5ヶ月間の休息中に、discogs.com APIを使用したAndroidアプリという個人プロジェクトを行いました。これはデータテーブルにレコードを追加・削除するのに役立つ便利な個人用アプリであり、自分の開発スキルを総括し更新する機会にもなりました。


この小さなプロジェクトのおかげで、自信を持って仕事の面接に臨むことができました。多くの新しい人気ライブラリや開発パターンを試し、それらは今日の私の仕事でうまく効果的に活用されています。


もっと早くこれを始めていればよかったと思います。私たちの開発業務は往々にして反復的で、時間が経つほど、蓄積されたプログラミング習慣は変更しにくくなり、自己向上の余地もどんどん少なくなっていきます。


長期的に見れば、個人プロジェクトを持つこと、読書、ブログ執筆、インタビュー参加はすべて、より良い開発者になるのに役立ちます。面白いと思ったら、自分のコードをGitHubにプッシュし、経験をコミュニティと共有してください。

2、開発者コミュニティの一員になろう


大学時代、私はいつもさまざまな部活動やクラブ活動に参加するのが面倒でした。最初の開発職に就いたときも、他の開発者と雑談したりぶらぶらしたりするのが最も嫌いなことでした。


しかし、私は間違っていました。


同業者の集まりや開発グループへの参加はとても面白く、開発者の仲間と知り合うのに最適な場所です。この業界で最高を目指すなら、受動的にならないようにしましょう。隣に座っている人と話し、助けを提供し、経験を共有してください。誰もが自分の経験を話すのが好きです。ましてや多くの潜在的な雇用者に出会えるかもしれません。

そこではコーチを必要とする初心者のグループにたくさん出会うでしょう。初心者を指導したり、練習の機会を提供したり、さらにはイベントをスポンサーすることもできます。


もちろん、他人の開発テクニックを学び、勇敢に実践し、異なる意見を持つ人が話すのを温かく歓迎し、勇気を持って彼らの意見に耳を傾けてください。


3、求人サイトで仕事を探すな


これが私の最後の「知恵の結晶」です。ウェブサイトに掲載されている求人に応募しないでください。

求人サイトの背後には、複雑な人事プロセス、候補者追跡システム、個人履歴書の濫発、混乱したコミュニケーションがあります。これらは多くの企業が人材を見つけられずにヘッドハンティング会社に頼らざるを得ない重要な理由のいくつかでもあります。


優秀な人材はこれらを飛ばすべきです。ネットワークこそが人材を見つける道です。地元のコミュニティの情報にもっと注目しましょう。誰かが重要なポジションを離れるとき、面白い会社が資金調達を得たとき、あるいはある企業が人事異動で人を募集しているとき、最新のファーストハンド情報を得ることができます。


ネットワークを通じて、どの会社の福利厚生が良いかを知ることもできます。各社のほとんどの開発者は誠実に接してくれ、その会社のアーキテクチャが古いかどうか、マネージャーの人柄が良いかどうか、さらには給与条件がどうかを教えてくれるでしょう。


興味のある求人を見つけたら、まず自分のソーシャルネットワークを見てみましょう。自分のユーザーグループやLinkedInの知人ネットワークの中に、すでにそこで働いている人がいるかどうか、または彼らが誰かを知っているかどうかを尋ねてみてください。その後、直接彼らに連絡を取り、その会社のCTO、採用マネージャー、または他の開発者と直接話してください。


ヘッドハンターは良いものですが、彼らに依存してはいけません。彼らの仕事は企業がポジションの空きを埋めるのを助けることだけであり、あなたのために働いているわけではないからです。彼らが紹介するポジションが本当にあなたの探している仕事にぴったり合うなら応募しましょう。合わないと感じたら、こう伝えればいいのです。「ありがとう、でも行きません」と。


著者紹介:ミゲル・ベルトラン
現在Good Hood GmbHのチーフAndroidエンジニア、グーグル・ベルリン開発者チームのリーダー
原文タイトル:Mistakes I Made(as a developer)
記事翻訳:陳小美
原文リンク:https://medium.com/@Miqubel/mistakes-i-made-d2e1dc4e820a#.zcmzaiz67