Shibuchaaaan

好きな麺とお酒と、たまに仕事の話を書いてます。

未経験から転職したエンジニア6ヶ月の若手が詳細設計書作成でつまずいている事

f:id:s-miki694:20191212205852p:plain


お久しぶりです。

 

元気にエンジニアやってます、しぶです。

 

つい先日から、新規画面の詳細設計を担当させて貰っているのですが

今、滅茶苦茶に躓いています。

 

世の中、デキるエンジニアばかりではないことを痛感します。

少しでもデキるエンジニアに近付きましょう…!

 

これは自分の備忘録として、悩める若手エンジニアのため、そして、若手が何に躓いてるのか分からないベテランエンジニアの方々のために書いておきます。

 

感じている事

基本設計(のような表)から詳細設計書に落とし込んで作成するのが難しい。

 

どんな設計書を書いているの?

新規に作成する、ユーザー検索画面の詳細設計書。

ここでいう「詳細設計書」は、実際にコーディングする際に参照する資料のことです。

どのタイミングでどんな処理をするのか?その順序は?必要なパラメータは?エラーが起きたらどうする?

などが書いてあります。

 

技術的な前提

  • PHP(Phalcon,Twig)
  • JavaScriptjQuery
  • 外部APIを使用してユーザー情報を取得する必要がある

 

どこが難しい?どこが分からない?

ここが多く、雑多で、悩みどころなので一旦冷静になろう。

整理します。

 

  • 処理の流れが分かっていない

社内のライブラリがある中で、何をどこに使って、どうやってデータのやり取り&表示をするのか?

twig,jsからどうやってコントローラに繋げているのか?(yaml等の設定ファイルの動き)

 

  • 処理を書く際に考えなけれならない事が分かっていない

検索するのに閲覧者の権限チェックは必要?

それってどの資料見たら分かる?

外部APIに渡すパラメータは本当にそれで合ってる?

エラーが起きたときどうする?

取得件数が想定と違うときどうする?

そもそも想定されていない取得件数って何件のこと?

 

  • 実装の想像がつかない(上記と被りますが)

外部APIの設計書を見ても、どんな実装になるのか想像できない。(そういうコードを見たことが無い)

 

  • このチームでの「正解」がわからない

自分一人だけの開発ではないので、好き勝手できない。

どのくらい細かく書けば良いか分からない。

そもそも設計書の書き方がザックリとしか分かっていない。

既存の設計書をコピーして書き換えたら、型が違うらしい!(これはショックでしたw)

 

 

これらを解決するには?

では、解決策を考えていきましょう✌︎('ω')✌︎

 

  • 処理の流れが分かっていない

 

まず、こちらを参考に画面全体の処理の流れを整理。

qiita.com

めっちゃためになりました。ありがとうございました…!

 

その上で、メモを見ながら簡単な機能を作ってみました。

理解してない社内ライブラリは使わず、PHP側で用意した文字列を表示するだけの流れを

Twig+JS+PHP

で作成。

これで、やりたいことや必要なことが結構理解できました。

 

まずは全体の流れと工程を把握して、

標準関数をメインに使って処理の“流れ”だけを作ってみることが大事ですね。

 

  • 処理を書く際に考えなけれならない事が分かっていない&実装の想像がつかない

 

これは先輩に聞くしかないです(笑)

一人で悶々と悩んでる時間が無駄なので。(自分への戒め)

 

でも、ただ聞くより

 

・この処理はこんな流れで、

・あのパターンからこのパターンまでは考えた!

・この他に考えるべき事ってありそうですか?

・それか、これの参考になりそうな画面他に知ってます?

 

を考えて、整理してから聞くとなお良しです。

先輩も、その質問聞いている間は自分の時間を奪われているので。

 

  • このチームでの「正解」がわからない

 

これはチームの雰囲気によりますね。

 

最初に全部、分かりやすく教えてくれるところも…あるのか?まぁあるかも知れないですね。

 

私のチームは、一通りのマニュアル的なドキュメントは揃ってるけど細かい部分が慣習なので、いちいち聞く必要があります。

 

そんな時は、率直に

「これどうすれば良いですか?」

でも良いんですが、

せっかくなら少し考えてみましょう。自分の糧になります。

 

・他の設計書で似たような処理を書いているところはあるか?あるなら、そこはどうなってる?

・何も参考に出来るものがなければ、自分で自由に作ってみる。

そして、その理由をそれっぽく文章化する。(なんでそう考えたの?って聞かれてきちんと答えられるように)

 

この辺やって『自分なりの仮説を立てて相談』すれば、自分の為にもなるし、

聞かれる方も

「ここは分かってるけどあそこが分かってないんだな。」

とあなたの思考を理解することができます。

 

 

以上、状況の整理と解決策をまとめてみました。

 

ほぼ自分用です(笑)

 

やっぱ文章にすると思考の整理ができて良いですね。

 

若手って全部を分かろうとして頭の中がぐちゃぐちゃになってしまいがちなので、

「もう訳わかんね〜〜!!!」と嫌になったら一旦整理しましょう。

 

下手すると、私なんかは全体を3分の1ずつしか理解できてない、なんて事がザラにあるので…😂

 

ではまた!