現役エンジニアが語る!エンジニアとして成功するために知っておきたい大事な9つのこと

これからエンジニアというキャリアを目指している方向けに成功するための大事な9つのことを現役のエンジニアが語っています。プログラミング初学者、未経験者は学習を始める上で知っておきたいことが詰まっているでしょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

本稿は、Codementorブログ記事を、Codementorより了解を得て日本語翻訳し掲載した記事になります。

CodementorのSteve Klabnik氏(以下Steve氏)は、オープンソースプロジェクトのコントリビューターとして知られており、2014年には1900以上のコントリビュートを行っています。

今回は、Steve氏よりこれからエンジニアを目指している方に「エンジニアとして成功する上で大事な9つのこと」を紹介していきます。

 

1. 常に1つのことに集中する

自分が新しいことを学ぶときはいつでも、やるべきことを分解して取り組むようにしている。

プログラミングをする際、作業によっては複雑に構造化して考えるものがあるだろう。1つのタスクを消化するためにもあらゆる方法があり、選択するだけで迷ってしまう。

ただ、何をするにもプラス面マイナス面はあるわけだから、1つのことに集中し、それに向かうことが大事なのだ。

 

2. 人々はそれぞれいろんな考えを持っている

プログラミングを知らない人の中には、簡単なことだと思っている人もいる。そういった人は、アセンブリのコーディングをすればあとは全てコンピュータがやってくれると勘違いしている。

本当のWeb開発者は、マークアップ言語・プログラミング言語を書き、スタイルを当ててあらゆるデバイスやシステムに応じて作っているのが事実である。もちろん相当難しいことだ。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

3. 80%の仕事で十分だ

同じ車というものを作る上でも乗用車とレースカーでは必要な機能が違うだろう。

レースカーに搭載されている機能すべてが乗用車でも必要になるということはほとんどない。それは逆も然りだが、つまり80%くらいの完成度で十分なのだ。残りの20%の機能というのはほとんどの人が使わないし100%完璧を目指すのはよろしくない。

残りの1%のバグを追いかけても時間を浪費するだけなのだから。

 

4. 「ググる」能力を高めよう

多くのプログラミング初学者は、「ググる」という仕事を過小評価しすぎている。私の仕事ではよくプログラミングをする時間よりも何か検索していることの方が多かったりする。

 

コラム

実は私も!?独学で損する人の特徴

「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ 独学には向き不向きがあり、実はスクールが向いている人も大勢います。

そんな方のために参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
  • ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
  • ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、 スクールが向いているかもしれません。
お試しのつもりで、まずは一度 無料相談 に参加してみませんか?

現役エンジニア・デザイナーに何でも気軽に相談できる30分すべて無料で できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

5. 分からなければ聞く、分からない人がいれば助ける

プログラミングは、社会的な活動要素が多い。もし知人のサポートが無ければ自分は良いプログラマーにはなれなかったと思う。周りの知人は何かしら得意分野があって何か聞けばすぐに教えてくれる。逆に彼らから質問があればサポートするようにしている。

 

6. 技術は常に変わり続けている

テクノロジーは常に変化しており、プログラマーも言語主義者でいてはならない。

もし私が1980年代にプログラミングを始めていたら間違いなくアセンブリ言語を利用していただろう。しかし今ではほとんど使われていない言語だ。

これは全てのテクノロジーに当てはめることができて、Ruby on Railsも誰も使わない将来が訪れるかもしれない。

 

1時間でできる無料体験!

7. オープンソースに貢献しなくても問題はない

私にとってオープンソースに貢献したりドキュメントを作ることはより自分をステップアップするために大事な要素だけれども、ほとんどの人はドキュメントを読むことすら退屈に感じるだろう。

だからオープンソースに貢献するよりも自分にとってのゴールに向かうことが大事なのだ。

私のケースを少し話そうと思う。

私がRailsのコントリビューターになりたいと思った時に、当時あった未解決のイシューに全て目を通したことがあった。その中から一つピックアップし、解決案を提出したらそれが受け入れてもらえたのだ。その体験が自分にとっては本当にワクワクするもので

より自分の技術のレベルを上げるために難題にチャレンジし、

 

8. プログラマーは失敗の連続である

もしあなたがテスト駆動開発をした場合、「red, red, red, green, red, red, red, green」といった反応を見ることになるだろう。どういう意味かと言うと、作業のほとんどがエラーの連続であるということだ。

もちろんエラーばかり表示されて先に進めないと気分も下がるだろう。ただ、完璧にいかなくても上手く動かなくても焦ることはない。それがプログラマーの仕事なのだから。

 

9. 諦めない

プログラミング初学者からすると、何が難しくて何が簡単なのかイメージしづらいだろう。だから簡単だと思っていたことが本当は難しい実装であったりする。もちろんその逆も然りだ。

XKCDのイラストはそれを見事に表現している。

tasks

Q. ユーザーが写真を撮ったらナショナルパークにいるかどうかチェックしてもらってもいいかい?

A. お安い御用。数時間あればできるよ。

Q. あ、あと鳥の写真かどうかチェックしてほしいんだ!

A. それは研究チームと5年くらい時間が必要だな。

 

同じような質問にも見えるが、開発の難しさは大いに異なる。開発経験がない人からすれば、何が難しくて何が簡単なのか分からないかもしれない。

ただ、それは難しいプロジェクトを完成するごとに自分で理解してくるもの。そして、解決案やこうすれば良いといった勘はやっていく中で身につくものだ。

もちろん初めの頃は極めて大変かもしれないが、やっていく中で簡単に感じていくものだろう。

[お知らせ]TechAcademyでは初心者でもエンジニアになれるオンラインブートキャンプを開催しています。これからエンジニアを目指す方はぜひご覧ください!

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう 厳しい試験を通過した講師 があなたの相談に真摯に向き合います。

「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」

こんな気持ちでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する