見出し画像

エンジニアへの道_Vol.1


エンジニアへの挑戦

2024年2月から、エンジニア未経験の僕が、スタートアップにてエンジニアスキルを身につけていく中での気づきを定期的に共有していきます。

特に、非エンジニア視点での気づきをなるべくわかりやすく記録していく。僕と同じように「未経験からエンジニアへ挑戦している人」の後押しとなれば本望です◎

同じ境遇の仲間はもちろんのこと、熟練エンジニアの方にも僕なりの視点からの気づきを提供していきたいので、幅広い方に読んでいただくことを想定して記事を書いていくつもり。叱咤激励ください。親父にはぶたれたことあります。

もちろん、純粋に読み物としてもお楽しみいただけるようにしているので、エンジニアとは無縁の方でも、息抜き程度に覗いてみてください◎

※写真はすべて僕が撮影したものです

@daikiishiguro

僕のプログラミング経験

僕は、大学の建築学科を出て6年間建築士として働いてきた。

幸いにも、建築デザインの手法の一つに”Computational Design”と呼ばれる、プログラミングを用いた設計手法が確立されており、僕自身、「Grasshopper」や「Processing」を扱った経験があるため、プログラミングに対する素養(親しみ)はある方だと思っていた。

機械に対する苦手意識もないので、「言語ならやればできるんじゃない?」程度の考えを持っていた。

お分かりの通り、これが早々に打ち砕かれる。

鮮やかな伏線回収
バナナがあればコケる
愚か者には天罰が下る
あぁ、素晴らしき世界

@daikiishiguro

いきなり難関にぶつかる

まず、会社から貸与されたMacbookを開き、環境設定から始めた。
これが最初の難関だった。

エンジニア未経験の僕は、オンボーディングマニュアルに則り、ほぼ先輩にやってもらいながら環境設定を進め、問題なく必要環境の構築が終わったと思った矢先、
SouceTreeからチームのGitHubへのPush / Pullができない、、、

「SSHキーを取得して、GitHubに登録したはずなのになぜ、、?」

エラーメッセージとしては、

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

SSHキーを発行&認証しているにも関わらず、SSH接続ができないエラーが発生していた。

エンジニアとして機械と接すると、日々このように”エラー”に直面する。
現実世界で生じる”エラー”の中には、原因が特定不可なものがしばしばあるが、論理世界の”エラー”は特定可能だ。
そしてそれは「エラーメッセージ」として、ご丁寧に機械の方から説明してもらえる。なんと優しい世界!!

(ゆくゆくは、女性の機嫌を損ねた時にエラーメッセージを吐き出してもらえる”易しい世界”になるのだろうか、、、?)

@daikiishiguro

物思いに耽っていると、早速エラーに悪戦苦闘している僕の様子を感じ取ったのか、先輩エンジニアが話しかけてくれた。

「エラーメッセージをよく読むことは、エンジニアとしての第一歩だよ。
 機械はいつだってシンプルだ。問題を難しくするのは人間の方だ。」

先輩曰く、エンジニアは思い込みや自我が強いとうまくいかないことが多いとのこと。遠くを照らせる灯台は、足元に気付きづらい。禅的な世界観だ。(GeekにMonkが多いのは、このためだろうか、、、)

結論から言えば、この解決まで5日かかってしまった。考えられるエラー対処方法は全て試してみた。最初の3日でGoogle検索をしてQiitaを読み漁って試してみたがダメ、エラーメッセージをChatGPTに投げてみて対処コードを書かせてもダメ、先輩エンジニアに相談してもダメだった。

環境設定での躓きは、多くの挑戦者を挫折させてきたと聞いていたが、まさか自分がこの沼にハマるとは思いもよらなかった。最初の村で武器屋に行く前に中ボスに遭遇した感覚。業務時間にも関わらず、生産活動が行えないことへのフラストレーションが日に日に募っていた。

そして、エラー解決へ

エラー発生から4日目の朝、僕は半ばヤケクソになりながらこう思った。

誰も助けられないなら、自分でエラーの原因を予想し、それに対する対処をするしかない

それまでの僕の思考は、
「ネット上のどこかに答えがあるはずだ」
「ChatGPTが答えを知っているはずだ」
「先輩エンジニアが答えを知っているはずだ」
と、どこかに答えを探していたが、
ここで、自分でエラーの原因を考えてみる方針に切り替えた。

エラーの原因を自分で考えながら疑わしい箇所を観察してみたところ、Github側にSSHキーが2種類登録されていることに気がついた。

一つは、Terminal経由で発行したSSHキー、もう一つはSouceTree経由で発行したSSHキー。SSHキーを全て削除した上で、Terminal経由で一つだけSSHキーを作成し登録したところ、無事エラーが解決された。
どうやらこの1つのチームスペースに「SSHキーを2つ登録していたこと」がエラーの原因だったようだ。

※SSHキーの読み分け設定を行えば、複数のSSHキー登録は可能

この経験を通して、エラーを解決する第一歩は、
・思い込みをなくすこと
・エラーメッセージをよく読むこと
・単純な解決策から試す
・自分で原因を考え、試してみること
であると学んだ。

「ふう、やっと戦場に立てるぜ、、、」

今後もこのような気づきを共有していくつもりです。
今日はこの辺で。Have a nice day!


少しでも楽しんでいただけたら、応援コメントください。励みになります!
サポートはもっと励みになります!

写真はInstagram @daikiishiguro でも公開しています。

お仕事のご依頼・写真のご購入も可能ですのでお気軽にお問合せください。

この記事が気に入ったらサポートをしてみませんか?