CodePolaris 2021アドベントカレンダー 2日目の記事です!

以前もPHPカンファレンス北海道の懇親会でお話しした のですが、私は文系の学部で大学を卒業しています。プログラミングの勉強を始めたのは、結婚して子供を生んでからです。大学の情報処理の授業で初歩的なHTMLだけ習っていましたが、1人ボッチで市販の書籍とインターネット上の情報だけでプログラミングを学びました。
フリーランスを経て、2人目の子供が小学校に入学するときに弊社にパートタイムで入社し、現在は社員になってマネージャー兼エンジニアをしています。

女性の独学エンジニアとしては成功ルートの部類だと自分でも思うので、「何をしたのがよかったのか?」を振り返ってお伝えしようと思います。

ポートフォリオを作るなかれ、オープンソースソフトウェアにコントリビュートしよう(自分のライブラリをオープンソースとして公開だとなお良し)

できるだけ安価にプログラミングを勉強しようとしたとき、オープンソースの言語・オープンソースのライブラリから始めることになるでしょう。
SymfonyもLaravelもCakePHPも、EC-CUBEもWordPressも、なんならPHP自体もオープンソースです。つまり、これら全て、ソースが公開されているのです。
大抵のライブラリやフレームワークはREADMEにissueリストへのリンクがついています。自分の学習しているライブラリやフレームワークのREADMEからissueリストに行ってみてください。
issueリストを眺めてみて、 good first issue というラベルがついたissueがあればしめたものです。(初心者向けのissueという意味です) 勇気を出して「これ、私やってみます!」と声を上げましょう。もし行き詰まってしまっても、issueで質問すれば、大抵のメンテナーはサポートしてくれます。(行き詰まって質問する前に、次の項の「エラーメッセージを読もう」を忘れずに!)

やや逆説的ですが、コントリビュートチャンスを見つけるために、各種ライブラリやフレームワークを使い倒して、なにかシステムを開発してみると良いでしょう。その際、システムを完成させることよりも、ライブラリの使い方に習熟すること・バグを見つけるためにやっていることを忘れないように!

いきなり英語でコメントのやりとりが発生する海外のオープンソースに突撃するのはハードルが高いかもしれません。基本的に日本語でやりとりされているEC-CUBEは個人的にオススメなコントリビュート対象です。

エラーメッセージを読もう

プログラム言語のエラーメッセージは英語で書かれていることが多いですが、文法的には単純です。そんなに難しい単語も使われていません。中学・高校の授業で習った程度の英語力があれば十分です。
英語がどうしても苦手な方は、最初はGoogle翻訳やDeepLに入れてみる、でも良いです。
「わかりません」「動きません」の前に目の前に表示されているエラーメッセージを英語として読み解いてみると、意外と自力で解決できることは多いのです。

working out loudを身に着けよう

Working out loudとは? https://workingoutloud.com/ という世界的に認識された仕事のやり方であり、スキルです。
(日本語の記事でわかりやすいのは、こちらのブログ記事 https://blog.studysapuri.jp/entry/2018/11/14/working-out-loud だと思います)
作業を進めながら、わかったこと・わからないこと・できたこと・詰まったこと等をどんどん表明しましょう。
プログラマ・エンジニアとして就職してない場合は、Twitterがオススメです。Twitterという公開の場で呟くのが怖ければCodePolarisのSlackで練習してみてもいいかもしれません。

ユーザーサポートや業務知識を進んで取りに行こう

最後に、エンジニアとして就職した後のことですが、よほど分業がしっかりした大企業でない限り、周囲の先輩エンジニアはユーザーサポートに苦しんでいるかもしれません。また、業務知識(作る対象のシステムで扱うビジネス領域)との折り合いにも苦しんでいることが多いです。
入社時点ではプログラミングの知識や能力ではおそらく周囲のエンジニアと差がある状態だと思います。これらの専門のエンジニアが苦手とする分野を積極的にカバーすることで、皆から一目置かれる存在になることはできます。
私自身、入社時点ではリスティング広告のことをほぼ全く知らなかったのですが、ユーザーサポートと業務知識の仕事を取りに行った結果、開発部の中で誰よりも詳しくなり、今では皆に教える側になっています。

いかがでしたか?私の体験談が駆け出しエンジニアの皆様に少しでもお役に立てば幸いです。
明日は @maiamea さんです!