ki-ki-blog Written by ⚽kaz±

エンジニアたるものコードは書けないのはだめ?:仕様が書ければOK!

Engineering SE

エンジニアとして、日々開発に関わっているが、実はコードを書けない。。。
エンジニアたるもの、やはりコードを書けないとだめ?
現役エンジニアに話を聞いてみたい。

今回はこのような悩みについて解説いたします。

これを書いた自分はこんな人です学卒後、組み込みエンジニア職に従事。
これまでコードを作る側、コード作成を指示する側の両方の実務経験あり。

この記事を読む利点エンジニアとして、コードを書けないのがマズイかどうかは、職種によるため、必ずしもエンジニアはコードを書ける必要はないが、書けるに越したことはないことを知ることで、今後プログラミングを学ぶか否かのきっかけをつかむことができます。

エンジニアたるものコードは書けないのはだめ?:仕様が書ければOK!

エンジニアたるもの、コードは書けないとだめなのかという議論がよくおこりますが、コードを書く人へ作業指示、つまりは仕様書や設計書が書ければ、コード自体は書けなくても大丈夫です。

そう考える理由は以下です。

  • 要はプログラミングする人への指示(仕様書、設計書作成)さえできれば開発は進むから
  • プログラミング自体を外注すれば済む話だから
  • 昨今はNoCodeも流行りとなりつつあるから

具体例をもとに解説していきます。

エンジニアでコード書けなくても、仕様書、設計書を書ければよい

一言でエンジニアといっても、

  • 決める系:仕様を決めるエンジニア
  • 作る系:コード実装するエンジニア
  • 確かめる系:テストするエンジニア

と、職種は複数あります。

この中でも、コードが書けないとキビシイのは、「作る系」だけですよね。

だって、

  • 決める系のエンジニア:仕様書にて、プログラマーへ実装の”指示”が出せればよい
  • テスト系エンジニア:テストができればよい

となり、プログラミング言語が必須なのは「作る系」だけなので。

「決める系」で必要なことは「ソフトで何ができるのか」の理解「決める系」のエンジニアにとって必要なのは、仕様書を書く技術、即ち「ソフトウェアで何ができるかの理解」かと。

たとえば、

  • ここは〇秒待ってから画面表示するようにしよう→ソフトの出番
  • 〇状態のときにユーザが操作しても、操作を無効にしよう→ソフトの出番
  • 〇機能はこういう判定がOKだったら許可されるようにしよう→ソフトの出番

こんな感じです。

このときに必要なのは、プログラミング言語の知識ではなく、

  • ソフトではこういうことができる
  • なので、仕様でそこを細かく規定しよう

このような、「ソフトで何ができるのか」の理解かなと。
それができれば、たとえコードを書けなくても、仕様書を書けるので、コード実装はプログラマーに任せればよいのです。

なので、エンジニアでコード書けなくても、仕様書、設計書を書ければよいのです。

実際に仕事をしていても、コードは全く書けないが、ソフトウェア担当に仕様指示を細かく出すことができ、設計レビューでも設計の穴、つまりはコードの詳細部分を指摘できるエンジニアは存在します。

そして、そのようなエンジニアは、たとえコードが書けなくても重宝されますので、そこまで仕様を適切に書ければ、コードは必ずしも書けなくてもよいなと感じております。

エンジニアでコード書けない場合でも、外注すればOK

コードって別に書けなくても、最悪は外注すれば済む話ですよね。

なぜなら、

  • 顧客との折衝:外注できない
  • 要求に基づいた仕様書作成:外注できない
  • 仕様書に基づいたコード実装:外注できる

こんな感じで、コード作成以外の作業ってなかなか外注が難しいですが、仕様書さえできれいれば、コード実装は外注可能ですので。
仕様書さえかければ、

  • 何をコードで実現したいかの指示:仕様かくエンジニアの仕事
  • それを実現する手段(コード実装)を考え、具現化する:プログラマーの仕事

こんな感じで、別にコード書けなくても仕事は進みますので。

また、世間ではこのような意見があることも事実です。

なので、エンジニアでコード書けない場合でも、外注すればOKです。

実際の開発現場でも、「忙しい→とりあえず早く仕様作って実装は外注しよう」。こうなることはよくあります。

そして、コード実装してくれる会社、即ちソフトハウスは星の数ほど存在しますので、そういう意味でも、エンジニアは仕様さえかければよいのかなと感じております。

コード書けないエンジニアはNoCodeツールを使うのもあり

これは業界によるのでなんとも言えませんが、現在Web系だと、bubbleのような、プログラミング言語を知らなくてもアプリ作成可能なツールもでてきていますよね。

このように、今後は、コードが書けなくてもアプリやシステムが作れるツールが出てくることが予想されます。

ビジネス系YouTuberもそれを予言していますね。

なので、エンジニアたるもの、コードは書けないとだめなのかという議論がよくおこりますが、職種によっては書けなくても大丈夫なのです。

まずはプログラミングを学習し、最低コードを読めるようになろう

これまで、コード書く人へ作業指示、つまりは仕様書や設計書が書ければ、エンジニアでも、別にコード自体は書けなくても大丈夫であることを解説しました

が、いうまでもなく、プログラミングはできれば学習し、最低でもコードを読めるようになりましょう。

なぜなら、コードを読めるに越したことはないからです。

エンジニアとして、コードを読めるに越したことはないです

これまでは、エンジニアはコード書けなくてもOKだといっていたのに、プログラミングを学習しろと言われてもよくわからないですよね。

どういうことかと言いますと、

  • エンジニアはコードは必ずしも書ける必要はない
  • でも、書けるに越したことはない
  • 完全にコード実装自体はできなくていいので、最低でも、コード自体を読めるようになろう

と、いう意味です。

そして、コードを読めるようにするには、やはりプログラミングの学習をしようという話になるのです。

なお、学習方法についてはこちらでも解説しております。
>>【プログラミング勉強方法】目的意識を持ち、入力⇔出力の繰り返しです

手っ取り早いのはプログラミングスクールを利用すること

プログラミング技術は、スクールを利用するのがてっとり早く、爆速でプログラミング技術を身に着けることができます。

なぜなら、初心者にありがちな、「わからないことがあるけど聞く人がいない・・・」を回避できるし、カリキュラムがややスパルタ的に組まれているスクールが多く、否が応でもプログラミングをやらざるを得ない環境だからです。

スクールについてはこちらで解説しております。

注意:独学に注意プログラミング初心者で、技術をつけるべく、書籍を購入して独学をしようとするのは危険です。

なぜなら、わからないことを多く、聞ける人もいなくて挫折する可能性が高いからです。

そのあたりについては、こちらでも解説しております。
>>【大体これ!】プログラミングで挫折する人ってこんな人【3つある】

これまで解説した通り、エンジニアなら、コードが読めるに越したことはないので、多忙な方は、プログラミングスクールを利用することで、短期間で基礎を学ぶとよいのかなと。

今回は以上です。