こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
以前に以下のようなツイートをしました。
よくシステムが分からない人が言うのが、「Javascript」を「Java」と言うこと。
営業さんとかで「HTML,CSSと一部Javaを使いますね」と言っていたら要注意。
デザインとかフロントエンド系で「Java使ったことがありますか?」と聞かれたときも確認が必要です。
ちなみにJSは昔「LiveScript」らしい。
— もんしょー@フルリモートエンジニア|YouTube登録者200人突破 (@sima199407) December 20, 2019
よくシステムが分からない人が言うのが、「Javascript」を「Java」と言うこと。
営業さんとかで「HTML,CSSと一部Javaを使いますね」と言っていたら要注意。
デザインとかフロントエンド系で「Java使ったことがありますか?」と聞かれたときも確認が必要です。
ちなみにJSは昔「LiveScript」らしい。
これについてもう少し詳しく解説していきます!
動画でも解説してます
結論から申しますと、「知識は狭く深く」です。
「エンジニアとの打ち合わせで話がちょっと合わない」
「どうやって説明すればエンジニアが理解してくれるのか?」
そういった意見あると思います。
今回は、こういったところをやった方がいいのではないかというのをお伝えしていきます。
エンジニアが嫌がる事
ポイント1つ目、エンジニアが嫌がる事についてです。
先に言っておきますが、これが全てのエンジニアがそうではないというところはご了承頂ければなと。
一般的にこんなところが嫌だと思われるようなところを3つ程今回厳選させて頂きました。
1.機能の必要性を営業さんが分かっていない
開発してもらう時に色々機能をこういうものを付けたいとか、ああいうものを付けたりとか言うのは分かります。
「こういったところがあれば便利だよね」という意見が会議とかでも出ますし、そういう意見は結構必要だったりします。
しかし、あれもこれも言って欲張っているうちにWebサービスのリリースとか発表するのが遅くなってしまって結果的に、会社に損をさせてしまうという場合もおおいです。
対処法
まずは最低限のものというのを「どういうものが必要なのか」というのを把握するべきです。
後から「これを付けた方がいいんじゃないか?」というところを説明していただけると多分エンジニアも分かりやすいと思います。
2.サービスを使用する技術について説明できない
どういうことかと言うと、エンジニアは
「どのような言語を使って開発をして欲しいか?」
「どういう環境の開発環境なのか?」
というところを明確にしてあげないとエンジニアの仕事が難しかったりします。
こう伝えるとわかりやすい
エンジニアが仕事をしやすいように
「今こういった技術を使ってます!」
「バージョンこれです!」
というところをちゃんとお伝えしてもらえると、割と仕事はスムーズに行きやすいと思います。
例外もある
ここに関して言えば、ゼロベース(何もない状態)のところから、エンジニア主体でどういう技術を使って行けば、スムーズになるかとかそういった打ち合わせというところだったら全然いいかなと思います。
ただ、今ある土台の上でどういった情報、どういった技術を使っていますよというのが、もしあればそこはちゃんと共有するべきかなと思います。
3.最後の詰めが甘い
よくあるのが、なんとなく仕事でプロジェクトとりあえず始まって、最終的な部分が
「調整しておいて〜」
「何かいい感じに!」
とかでパスされてしまうことがあります。
エンジニアとしては「最後どうやってやればいいんだろう?」と結構気になる方が多いと思ちゃったりします。笑
最終的に調整する時に打ち合わせをするとか話し合ってから、何とかするという場面もあります。
しかし、ある程度ゴール明確な目標的なところは作っておかないと方向性が分からないので、最後良い感じに来たのに横に反れたりとかします。
対処法はこれ
そういったところで「どっちに行けばいいですか?」と何回も修正をするより、ある程度1か所を決めておけば、そこに向かって行けるので効率的な方法と思います。
何度も何度もコミュニケーションをするということを結構嫌がる人多いと思うので、明確に決めて貰えるとすごく作業・開発としてはしやすいです。
エンジニアも出来ないことはある
ポイント2つ目、エンジニアも出来ないことはあるについてです。
色々注文つけたりとか文句言ったりとかちょっと偉そうなこと言ってますけど、実は知らないこととか出来ない事も結構多かったりします。
僕は今、エンジニア3年目くらいになりまして、ある程度の技術のこともちょっと分かってきたと思います。でもやっぱり分からないことももちろんあります。
エンジニアの弱い部分
例えば、ビジネス的なところはちょっと弱いかなと、予算をとるとか、こういう稟議ありますとか、こういった仕事の流れというか、いつリリースするのかとかリリースまでの期間などです。
そういった管理職と言うかマネジメントみたいなところは、まだ分かっていないところもあります。
サービスをリリースした後「どうやってユーザーを集めるのか?」「アクセスを集めるのか?」マーケターみたいな視点というのも抜けているところもあります。
全部を理解している人は少ない
エンジニアが出来るのは本当に一部のところで、Webサービスを開発する上で技術は分かるけれども、ほかのところは、色んな場面でベテランの方はもしかしたらカバーできるのかもしれません。
けど大抵の普通の人であれば1つの技術のところだったりとか、保守運用ぐらいのところまでは行けるかなと思います。
ただ全部をカバーするというのは中々難しいのでそこは理解して欲しいかなと思います。
本当にあった話のズレ
ポイント3つ目、実際にあった話のズレについてです。
良くある事例としてTwitterでも言った通り、JavaScriptのことをJavaと言ってしまう営業さんとかいらっしゃるんですけども、これはエンジニアは「うん?」となる場面です。
例えば、営業の人がHTML、CSSの改修の案件がありますという話をした時に、営業さんが「一部Javaも・・・」と言い、「いきなりJavaか?」となります。
話しの流れ時にフロントの部分、デザインの部分の話をしていたのに、サーバーサイド、裏の部分の話をしているから、「もしかしてJavaではなくてJavaScriptじゃない?」と推測ができます。
正式名称で言ってもらわないと色々な言語があったりするので、混乱を招くこともあるので、ちゃんと名称的には言って欲しいです。。。
ちなみに略すとしたら「JS」とかそういった名前で言って頂ければ伝わるかなと思います。
1つの修正は3つの修正?
もう1つの事例として、サービスの開発期間が異様に短い、これも現場でよくあります。
どの現場でもあることだと思うのですけども笑
「ちょっとここだけ直してもらえればいいから」みたいな感じで、直ぐにやって欲しいと言われることあるのですが、これが意外ときつかったりします。
思っている以上に「ここちょっと直すだけ」と言われても「いやいや、裏が色々と動いてる部分があるからそこら辺も修正ないと!」というところがあって、修正自体はもしかしたら難しくはないです。
例えば、「他に影響範囲はないか」とか「後から同じような修正はないか」とか、色々とチェックが入る部分があります。
依頼を受けたその一部のところだけではなくて他の所も結構見ている場合があります。
相手の都合もわかるけど。。
はたから見たら「そんなことは今どうでもいいから、とりあえずここを修正してくれ!」と思われるかもしれないです。
しかし、同じことを何度も繰り返したくないというところもあるので、保守運用というところをエンジニアはちょっと気をつけているので、そこのところをご理解頂けると凄くエンジニアは開発しやすいと思います。
まとめ
1つ目、明確なものがあると話は通りやすい!
技術的なところだったり、目標であったり、期間などがあると仕事はしやすい。
2つ目、エンジニアにも分からない部分は結構ある!
リリース前の予算をどうやって組むのか、リリースしたからの集客みたいなところは、エンジニアでカバー出来る人はそんなに多くはないと思います。
3つ目、JavaScriptをJavaと呼ばないで!
僕からの切なる願いです。Javaと言いたくなる気持ちは分かるんですけども、インドとインドネシアほど違うものなので笑
ご理解頂ければなと思います。
今回のまとめです。
・明確なものがあると話は通りやすい
・エンジニアにも分からない部分は結構ある
・JavaScriptをJavaと呼ばないで!