こちらの記事は、Lydia Hallie 氏により2017年 11月に公開された『 Advice From A 19 Year Old Girl & Software Developer 』の和訳です。
本記事は原著者から許可を得た上で記事を公開しています。
この投稿は「私は毎朝4時に起きて20キロ走に行きます...」といった、まるで優れた開発者になるためには、ある種の超人になる必要があると思わせるような、”インスピレーショナル”な投稿ではないので、ご安心ください。
Instagram(@theavocoder)で私をご存知の方もいるかもしれませんが、私が普段何をしているのか、ソフトウェア開発者になるためにどんな事をしたのかについて共有したことはありませんでした!
コーディングを始めたきっかけ
私はLydiaです。ストックホルムに住む19歳の女の子で、JavaScript(React)の開発者です!私はソーシャルメディアで非常に活発に活動しており、そのコミュニティで私の生活を示すことで、一人でも多くの人々がテクノロジーの世界に入るように励まそうとしています。
私は15歳のときにコーディングを始めました。私はTumblrで健康とライフスタイルに関するブログを立ち上げ、瞬く間に何万人ものフォロワーを獲得しました。私が通常のHTML、CSS、jQueryを使って独自のレスポンシブレイアウトを作り始めたのはちょうどこの頃です。私はその当時、巷で購入できるテーマがどれも気に入らなかったので、思い切って自分で作ってみることにしたのです!それ以降、私は自身のスキルを向上させ続け、より知識を得たことによって、開発への興味は高まっていきました。しかし、すでにこれが世間ではコーディングと呼ばれていて、それによって生計を立てることができるとは考えていませんでした。私は自分のデザインをゼロから作ることを楽しんでいましたし、人々が私の作ったレイアウトを気に入ってくれて、喜んでそれにお金を払ってくれるとは思ってもいませんでした!
私は18歳まで高校に通っていていましたが、高校は大嫌いでした。私は自分の将来にどう考えても役立ちそうもないことに、相当な時間を浪費しているように感じていました(古代ギリシャ語とラテン語、あなたのことですよ!)。私は学位のために一生懸命勉強しながら、多くの個人的なサイドプロジェクトに取り組み、さらに他の人の指導やサポートでとても多忙でした!人々は私のことを、これまで出会った中で最も勤勉だけれども、最もリラックスした人だと表現していますが、それは私自身の考え方を完璧に表していると思っています。ですが、これについては後ほど改めて説明します!
高校を卒業した後、私は大学に行かないことに決めました。それは私にとって、とても恐ろしい一歩でした。なぜなら私は洗脳されて、それが成功する未来を得るための唯一の方法だと考えていたからです。私の周りの人たちは皆、最高の大学へ行きました!それまで私は高校で最高の成績を取り、最終的には良い大学へ行けるようにと多くの時間を費やしてきました。その間、私は本当に何年もの人生をただ無駄にしていたのでしょうか?ええ、ほとんど間違いないでしょう。でも、後悔はしていません!周りの人たちのほとんどの人たちは、理解してくれず、私が大きな間違いを犯していると考えましたが、私を理解してくれ、支えてくれた少数の人たちが、本当に私を勇気付けてくれました。
私はずっと自立しています。18歳の時に一人で別の国に移り住み、十代の頃は一人で旅をし、将来を良いものにするためにいつも忙しく働いてきました。社会が私を求めているからといってプレッシャーを感じたことは一度もないし、私はいつも自分のことをしてきました。大学には行かないと決めた後、でも代わりに自分の110%をプログラミングに捧げ、フロリダ州のTampa Bayで3ヶ月間のコーディングブートキャンプにも参加しました。これは、しなければならないことではありませんでしたが、いくつかのルーチンをこなし、同じようにプログラミングを楽しむ人々に囲まれ、今までそんな機会はなかったので、とても助けになりました。私は徹底的にコーディングに没頭しました。(私の大好きな)いつものやり方からは常に外れ、コーディングのスキルを向上させるために個人的なプロジェクトに時間を費やし、多くの新しい技術を学びました。
そうしたらどうなったと思いますか?たった3ヶ月の間で、とんでもない数のリクルーターが私に、彼らの会社で働くことができるかと尋ねてきたのです。それは私はLinkedInのプロフィールを作成し、私が特に力を入れた作品をそこに載せられるようになった後の出来事でした。仕事の経験が全くない19歳の少女としては、とにかく圧倒されるようなものでした。私は理解できませんでした。彼らは私のプロフィールを読まなかったのだろうか?私は大学にも何にもいっていないのに、なぜこんなに多くの企業が私を欲しがるのだろうか?と。
なぜなら、プログラミングは学校で学ぶものではないからです。コーディングはプログラムを書くことで学びます。ほとんどの企業にとって、あなたが大学でプログラミングを勉強した、と書かれた素敵なプロフィールは関係なく、優れたコーディングスキルを持っていると示せることや、その人がコードを書くのが好きかどうかを気にするのです。
でも誤解はしないでください。もしあなたが大学での生活が好きだったり、単にあなたの人生にもっと安全なパターンが必要なのであれば、大学に行くのは間違い無く良い決断でしょう。ですが、プレッシャーを感じる必要はありません。プログラミングの世界は厳しい所でもあります。しかし、それぞれが使うプログラミング言語によって互いに批判しあい、徹夜してコードを書かなければならないがために睡眠を2時間しか取らず、ジャンクフードを食べて一日中椅子に座る。そんな世界だと思われがちですが、これは全く事実ではありません。
#(仕事以外の)日常生活
ブートキャンプが終わった後、私はストックホルムに戻りました。私は人生の中でこの新しい一幕が始まり、自分が成長し続けるのを待ちきれませんでした。そこで私は今、普段どのようなことをしているのでしょうか?
私は、朝起きたらストレッチをするようにしています。この記事の一番最初に述べた典型的な”インスピレーショナル”な投稿(LinkedInでは至る所にこのようなのを見かけて気が狂いそうになります!)のように聞こえるかもしれませんが、これはとても重要です。何時間も何時間も椅子に座っているのにもかかわらず、体の手入れを一切しないならば、間違いなく体は壊れてしまいます。また、ストレッチをすることで、心拍数が増加し、より多くの酸素が脳に取り込まれるようになるため、とてもよく目が覚めます。
私は、1日に最低2時間はオンラインのプログラミングコースを観るようにしています。私はオンラインコースを観るのが大好きです。なぜなら、いつも新しいことが学べ、インストラクターが最も簡単にコードを書いていくのを見て刺激を受けるからです。私はそれと似たようなプロジェクトを別に進め、工夫を加えるようにしています。そうすることで、ただインストラクターがやっていることを単純に真似することがなくなります。また、ベッドから出たくない気分の時でも、何か建設的なことをしていると思いたい場合にも最適です。;)
私は、1日に最低でも4時間は個人的なサイドプロジェクトに取り組むようにしています。それらは私をとても不快な気分にさせます。私はいつも、今まで使ったことのない言語や技術を使うようにしています。そうすることで、その言語や技術の経験が得られるからです。でも正直な所、その結果はひどいものになってしまうこともあります!嘘をつくつもりはなく、一生懸命努力すれば、必ずそこに辿り着けるとも言いません(もしかすると辿り着けるかもしれませんが、要点はそこではありません)。ただそれよりも、何か新しいことを学ぶということは、しばしば感情のジェットコースターを意味するという事実を強調したいのです。やる気を失い、到底それを理解できるようになるとは思えなくなり、自身のコーディングスキルに疑問を抱くこともあるでしょう。もしあなたもそうなら、おめでとうございます!あなたは普通の人間です!こう言った感情を持つこと自体は、ここでは重要ではありません。それに対して何をするのかが最も重要なのです。調べたり、人に聞いたり、Stack Overflowで自ら質問をし(そして世の中の多くの人のヒーローになり)、解決策を見つけるまで試し続けるのです。それができなくても、全く問題ありません。しばらくして、またそのコードを見た時に「どうして私はあの時こんなこともできなかったの?!」と思う時が来るでしょう。
私は、1日に最低でも記事を2つ読むようにしています。私は異なる視点から物事を見るのがとても好きです。記事の内容はどんなものでも良いです。特定のコーディング上の問題の解決方法、JavaScriptが時々ダメダメである理由、今最もクールな新技術など、さまざまです。あくまで特定の考え方にとらわれないということが重要なのです。
私は、1日に最低でも5つのCodeWars Kataを解くようにしています。CodeWarsは、コーディングを始めたばかりの時だけでなく、何年もコーディングを続けてきた時でも、あなたの親友です!CodeWarsが提供する問題の解法はいつもとても有益で、他の人が提供した解法をスクロールしていくだけで自分の構文を大きく改善することができます。もう1つの大きな利点は、コーディングの面接に行くと、多くの場合CodeWarsで出されるものとよく似た質問をされることがあるということです。
私は、ジャンクフードは食べないようにしています。栄養のあるものを食べることで、注意力が保て、何よりも幸せになれます!非常に健康的な朝食と昼食と摂るようにしたことで、エネルギーとモチベーションがもっと湧いてくるようになり、私のコーディング能力は本当に改善しました。手早く簡単なものには寄らずに、長期的に考えてみてください。体が良くなればなるほど、心も良くなり、コードも良くなります。
さらに: コーディング中でもストレッチや考えにふけることはできます!
ここまでで私が全て「〇〇する”ように”している」と言っていたのにお気づきでしょうか?それは、単純にそれができない時に、それをすることを自分に強制しないためです。個人的なサイドプロジェクトに取り組まないことや、ジャンクフードを食べた時に、自分を悪く思いたくはありません。自分の110%を出すことに集中していますが、私も人間です。たまには単にコードを書きたくない、疲れていて、一日中ただNetflixを観ていたいような時もあります。でもそれは全く問題ありません!リラックスとハードワークの適切なバランスを見つけましょう。これは、先に説明した「私が今まで出会った中で最も勤勉だけれども最もリラックスした人だ」という周りの人々の評価と繋がっています。
たとえ1日中働かない日があった時でも、自分に罪悪感を感じないようになるまでには長い時間がかかりました。特にInstagramを始めてからは、コーディングをしている人たちの投稿を常に見ていたので、自分も同じようにしないといけないような気分になり、そうして休む時間が一切なくなりました。ですが、一旦リラクゼーションを人生の重要な一部とし始めると、全てが良くなりました。私はとても幸せな気持ちになり、たくさんの仕事をする意欲が高まりました。
#結論
こうした記事を書くことで、何人かの人がテクノロジーの世界に関わるようになり、それが思っているほど怖い場所ではないということを感じてくれればと思います。プログラミングは、映画の世界で描かれるような超知的なスーパー人間だけのものではありません。プログラミングは、何かを作るのが好きな人、自分の殻を破るのが好きな人、向上するのが好きな人のためのものなのです!
最後に、以下が私からのアドバイスです:
- あなたが自分自身を強く推して、コーディングへの情熱を示すことができる限り、実際に大学にいく必要はありません!
- できるときはいつでも自分の110%を出し、自分の名と、自分ができることを世界に示しましょう。ですが、健康を常に優先しましょう。睡眠はとても大切です!
- 自信をなくし、自分はコードを書くのが本当に苦手だと感じるのはごく普通のことなので、落ち込まないでください。誰もが往々にしてそう考えるのです。
- いつも自分が昔と比べてどれほど大きく成長してきたのかを意識しましょう。自分がどれだけ成長したかは忘れがちですが、例えば1ヶ月前の自分と比べてみてください!自分は、自分が思っている以上に成長できているはずです。
- 自分の書くコードが悪いコードだと、他人のを見て思わないようにしましょう。実際には違って、非常に有用なものである可能性が高いです。
もし質問があれば、是非Instagramからメッセージを送るか、LinkedInで私を追加してください!
翻訳協力
Original Author: Lydia Hallie
Thank you for letting us share your knowledge!
この記事は以下の方々のご協力により公開する事が出来ました。
改めて感謝致します。
選定担当: yumika tomita
翻訳担当: siho1
監査担当: @nyorochan
公開担当: @aoharu