プログラマの一歩
とにかく何もわからないので、何をしていいのかわからないだろう。
全体像が分からないと動けないと感じることだろう(自分)。
なのでとりあえず例を見るべきだ。
恐らく強引にどこかしらの開発現場に行くのが手っ取り早いが、書籍でもいいだろう。
そして、この処理(文、記述)は何がしたいのかを意識するのが大事だ。
一つ一つの処理がたくさん集まって、結局「何かをしようとしている」わけだ。
一つの処理が何につながるのかを意識しよう。
値を持ってきて何がしたいのだと。「目的」は何だと。
ちなみに結論を手短に書くと、
①顧客の要望を実現する
②その為にどんなロジックが必要なのか決める
③そのロジックを実現するための処理を書く
となるわけだ。その端々に具体的なメソッドなりがあるわけだ。
そして、初心者はその目的が漠然としているわけなので、例を見ようというわけだ。
ちなみにロジックとしての目的は結論、
「値(客からの)を引っ張ってきて値(客への)を次の処理に渡す」
ということに終始する。単純に言えば。
その具体的なイメージは入門書籍で得られる。Java入門!という感じの本よりも、コマンドリファレンス的な本のほうがいいかもしれないと個人的には思った。
※参考
Javaちょこっとリファレンス:https://java-reference.com/
書籍:https://www.amazon.co.jp/dp/B07NP6DY24/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
ある程度分かれば実際に使うしかないのでどこかの現場に潜り込もう。
※ちなみに、アルゴリズムとか必要そうに感じるが、先んじて手を出すようなものではない。
実際に使う道具(メソッドとか)に慣れていくことが第一だ。どのみちフレームワークが何とかしてくれるので業務レベルでもアルゴリズムを組むことなどまずない(下っ端が見た感じ)。
アホ脱出の起点
ADHDあるあるだろうが、仕事において自信などない。
今ミスしていないかが最も重要なことで、目の前のことで精一杯。
そして周りと差がついていくという現実。
そんなことはさておき、職場でクソしょうもないエラーが解決できず一人職場に残り、それでも進展がなく深夜に帰路に着いた。
そして色々と気づいた。
自分はプログラマを目指している底辺ITエンジニア(広義)であるが、ポンコツIT人材の例に漏れず自己学習でプログラミングを学び、延々と入口のあたりをぐるぐる回っていた。プログラミング初心者あるあるだ。プログラミング文法がどうの、学習法、考え方だのといった記事ばかり目につき、初心者を極めていた。
しかし上述の残念な夜に悟ったのだ。
「目的のないプログラミングなど無い」
現場の上長にさんざん言われていたが、体感で分かっていなかった。
言い換えると、「思考に軸が必要」ということだ。
スポーツ等体を動かすものを習得する場合、体を動かしていれば何とかなったりする。考えなくとも体が覚えてくれるのだ。周りにやってる人がいるとか、外からの影響で行動を促され、体が覚えていた。という体験はだれしもあると思う。
しかしプログラミングは「論理」の世界であり、
人間に落とし込むと「思考」であるといえる。
思考は勝手には始まらない。自発的に始めなければならない。そして継続するにもエネルギー(原動力)が要る。
そして「思考」を促す原動力が、「目的」だ。
大事なことだが、単に「目的」だと受動的なものでしかなく、単なる日々のタスクとして終了してしまうので、自分の中に落とし込まなければならない。
結局「思考」というのは自発的なものなのだ。自分の中に根付かせていかなければ途絶えてしまう。
スポーツのように、クセ付けることは大きな助けになる。
「根拠は?」と自分に問おう。
どのみちIT現場だと、商品となるシステムはお客さんに出さなければいけないものなので、説明しなければならない。
競合製品ではなく自社製品を買うメリットは何なのか、説明する必要がある。
エラーが起きたら説明する必要がある。客先に出ない立場でも、客に説明する営業に説明しなければならない。
とにかく、日々のタスクの「根拠(目的や、論理、因果関係)」に目を向けることでえらい視界が開けてきたので、流れを止めないためにも今後技術的な記事を書いていきたい。超初心者による技術的な記事。
巷のプログラミング教育とか、とにかくわかりにくいよねと思う。
わかりやすく書いていきたい。
続きを読む