初めまして、本日よりタイトルの連載を始めます。
なぜこの連載を始めるのか
13年間個人会社を経営してきました。その間にさまざまな未経験者の方とお仕事を一緒にさせていただくことがありました。その際に、どのように経験を積んでいってもらうか、自分の中でもノウハウが確固たるものになっていない面がありました。この連載を読めば、ある程度プログラムが書けるようになるよ〜 、ということをやりたい。
それを目的として書き始める次第です。
僕も、未経験者でした。
かくいう私自身も、大学時代にインターンで業界入りするまでは全くの未経験者 でした。文学部でしたので本ばかり読んでいて、Perlから入りました。ですので、当時を思い出しながら、まったく経験がない方に寄り添う形で記事が書けたら良いな、と思っています。
いつの間にか悪い意味でも業界慣れしてしまい、なぜプロでない人が悩むのか、という点に思いが至らなくなっていたところがあります。もし至らない点があれば、お手数ですがご指摘いただけると嬉しいです😺✨
本連載の対象読者
・ プログラミングを覚える必要にかられている方
・ 業界未経験または若干の経験の方
・ 独学が比較的得意な方
・ 好奇心が旺盛な方
対象読者は、Web系の企業に入ってこられた未経験者採用の方や、新卒、アルバイトなどの方を想定されておりますので、プログラミングを速習したい方でない場合は、マッチしない可能性があります。あらかじめご了承ください🙇♂️
注意点
Web業界について知識がある方は、本連載は飛ばし、第2回(執筆中)に移動してください。
業界理解
あなたがプログラミングを覚えたい、目的は何か?
まず、何を目的(ゴール)にプログラミングを覚えようとされていますか?
- プログラミングを覚えて、仕事にしたい。(プログラマー・エンジニアになりたい)
- 自分の関わる、あるいは自社のビジネス(非IT系のビジネス、店舗など)を宣伝したい。
などにより、何を覚えるかが結構変わってきます。
- プログラミングを覚えて、仕事にしたい。(プログラマー・エンジニアになりたい)
こちらの場合は、後述のA/Bの2つのルートに分かれてくると思うので、ご自分に適している方をお選びください。
- 自分の関わる、あるいは自社のビジネス(非IT系のビジネス、店舗など)を宣伝したい。
こちらの場合は、あなたがすべきなのはプログラミングではなく、マーケティングの勉強である可能性があります。
自社のビジネスを宣伝したいのであれば、プログラミングを習得しなくても以下のようなサービスを使うことで、
・ サイト
・ 課金システム
を作ることは可能です。
課金ありのシステム
Webページを作れ、課金システムも作れる。法人が経営しており段階的に課金される。その分サポートも受けられる。
無料のシステム。ただし難しい
無料で使えるが、始めるのは難しい。
サポートはない。ただしユーザーコミュニティが存在する。
基本的にこれらの中で目的にあったものを選び、その習得方法を覚えていくことになりますが、これはプログラミングではなくマーケティングの手法を習得するものになると私は認識しています。
(Wordpressはプラグインなどを通じてプログラミングに足を踏み入れていく場合もありますが、基本的にはプログラミングができなくても使えます。)
そのため、以後の本記事は1.の方を対象にします。
エンジニア・プログラマーの違い
両者の領域が被っているのでしばしば混同されますが、基本的にはエンジニア・プログラマーは別の職種だと思っています。
エンジニアは要件定義・設計を担当し、プログラマーは製造・テストを担当すると考えてください。
これらの言葉は今はあまり理解していなくて良いかと思います。
一人でこれらの工程を全てこなす人はエンジニア と扱われます。
じゃあ、プログラマーの方が「レベルが低い?」と思ってしまうかもしれませんが、そんなことは全くなく、与えられた課題に対して、最高の結果を出す という、ある能力に特化したプログラマーもいるわけです。
そうした人たちは自分の仕事に誇りを持っています。わたしも具体的な人が頭に浮かびますが、とても尊敬しています。
一方で、多くの工程をこなせてもあまりよい結果を出せないエンジニア もいる。ということは覚えておいてもいいでしょう。(あるいは、エンジニアに指示を出している側が問題かもしれないが)
プログラマーの仕事
IDE(統合開発環境) を使って、ひたすらプログラミングをします。作成したプログラムを、コンパイラ・デバッガに通して、結果を出力し、要求された仕様に沿ったソースコードを出すことに日々の大半の時間を使います。
コミュニケーションは業務内容によりますがエンジニアより基本的に少なく、作業に没頭するのが好きな人向けの職業でしょう。
要求されたものを作るのがゴールですが、基本的には枠(設計)からはみ出ない形で、最良の結果を出すことを求められています。
エンジニアの仕事
プロジェクトマネージャ や、ビジネスオーナー など、より非システムの領域で、「どう商売を成功させるか」 ということをよく考えている人たちとコミュニケーションをたくさん取ります。話し合い・あるいは事情によりトップダウンの中、決定された要件に従い、システムの設計図をパワーポイントやGoogle プレゼンテーションといったツールを使って書きます。
なお、この作業が多すぎるので、プログラマーに戻りたい... とごちる人を現場ではよく見かけます。
要求されたものを作るというより、ビジネスの権限を持った人たちと一緒に良いものを作る、がゴールになります。
より経営寄りの仕事は?
プロジェクトマネージャーやコンサルタントとして、商売そのものの責任を一部請け負ったりする人もいますが、これは本連載の対象外ですので説明は割愛します。
さて、あなたはエンジニア・プログラマー、どちらの立場でプログラミングを覚えようとしていますか?
プログラマー => Web開発 エンジニア => Web開発 or 制作
プログラマーの仕事を求められている、というのであれば、「Web開発」をする方が大半だと思います。
エンジニアの仕事を求められている、場合は、「Web開発」の可能性も「Web制作」の可能性もどちらもあり得ます。
以下に説明していきます。
Web開発・Web制作は結構違う
Web開発とWeb制作という言葉があります。この2つは結構違います。 以下を読んでいただき、どちらをやりたいか検討してください。本連載で対象とするのは両方ですが、必要とする情報の度合いは、どちらを目指すかで変わってきます。
Web開発の6つの条件
以下に一致するプロジェクト(特定の目的やサイト・アプリなどの成果物の完成を目指して行う活動。)に参加を求められている場合は、あなたは「Web開発」をすることになります。
規模が大きい(50万〜)
開発期間が長い(数週間〜場合により数年)
開発メンバーが数人〜数十人
開発環境が厳格で、VSCode/XcodeなどのIDE・CICDなどを使っている
「フロントエンド」「バックエンド」という言葉を耳にする
営業やマーケターなど職種の分業化が進んでいる現場である
Web開発を行う現場は、自社でIT製品を作っていたり、IT企業として他社から仕事を請け負っているケースが多いです。例外として、コーディング・テストに強みを持っており、その案件ばかりを受託している会社もありますが、数としては少ないです。
Web制作
以下に一致するプロジェクトに参加を求められている場合は、あなたは「Web制作」をすることになります。
規模が小さい(数千円〜50万前後)
開発期間が短い(数週間以内で完結できる)
開発メンバーが1人〜数人
SFTPやアップロードツールなど、非エンジニアでも使える方法でリリースが可能なことが多い
「Wordpress」「FTP」という言葉を耳にする
職種について、クロスボーダーな活躍をする人が多い
Web制作を行う現場は、小さい会社 や、ITにあまり力を入れていない企業のIT部門が多いです。
どっちが簡単なの?
結論からすると、どちらが簡単ということはないです。 先ほどのプログラマー・エンジニアの比較と一緒で、一長一短となりますね。
Web開発は規模が大きい分、未経験者のあなたの責任は小さく、プレッシャーが感じにくいでしょう。反面、2023年現在で、更なる分業化が進んでいるので将来に向けて理解が浅いままになる可能性 があります。Web制作は規模が小さい分、あなたの責任は最初から大きくなりますが、浅く広く開発に携わることができ、Webに関する理解が深くなる可能性 があります。
まとめ
連載第一回は、
・ あなたはプログラマー or エンジニアのどちらの立場としてプログラミングを覚えようとしているか
・ あなたはWeb開発 or Web制作どちらの現場でプログラミングをすることになるのか
の2つの観点について書きました。いきなり実際に手を動かす前の段階の話ですみません。ただ、これを明確にしておくことで、後々、自分のキャリアに不要な連載回を読み飛ばすことが可能になります。
そのため、お聞きしました。次回は、開発するための環境を準備し、実際にサイトを確認するところまでを実例を交えてご紹介します。
この記事が何かのお役に立てれば幸いです。
最後までお読みいただきありがとうございました!