Web開発で挫折を感じた
今私がしているバイトである、Webの画面開発。データベースをいじったりしているわけではないから原理的に難しいことはないとは思う。しかし、プログラムビギナーの私。しっかりと挫折といいますか、にっちもさっちもいかなくなったのでその経験をここに残しておきます。
1.Web開発って難しい
自分が仕事をする前の想像よりも現実は甘くないというお話でした。プライベートでの勉強でHTMLとCSSの勉強はしていた。しかし、Webでロジックが複雑に絡み合うようなプログラムを構築したことはない状態で仕事開始。
ひとまずはフレームワークの勉強をしながらページを作っていく運びでした。1ページずつ、画面構成とロジックが完全に完成したものを作っていく形での開発です。これが大変でした。
自分がまかされたのは大きなフォームに条件を入力し、検索を行うページでした。まず、画面デザインの実装から。といっても別のフレームワークで動いていたものをBlazorに移植する仕事だったので、デザインは前のシステムを踏襲。そしてロジックへ..... ここからが大変だった......
ロジックとしてはそんなに難しいことは求められていなかったと思う。ロジックとしては入力データをまとめて、データを検索するようのメソッドに投げるだけ。これだけ。本当にこれだけなのだが、2週間も悩みあぐねてしましまた。完全に行き詰まりになってしまったのです。納期はあるけど間に合わない。進まない。お金だけ勤務先からいただいているこの状況。とても、とても焦りました。
2. 行き詰まりの原因
今回の行き詰まりは何が原因なんだろうか。これはおそらく以下の3点に起因すると思う。
a. Web開発の経験不足
b. DIなどのWeb特有のロジックの不慣れ
c. Blazorの情報源
aとbはエンジニアのスキルの問題。cはネットでの情報の探し方の話になります。まぁ、aとbに関しては私の研鑽が問題なのでここではcに関して書いていこうかと思います。
4. IT知識の情報源
英語に臆するな!!
コレに限る。プログラムに関しては(現代は他の分野でもそうでしょうが)インターネットが主な情報元になります。殊プログラムに関しては、アメリカでの発展が著しく英語の文献が一番リソースとして多く、質も高いものが多いです。更に今回使用しているフレームワークであるBlazorは新しい技術なので、日本語の文献はほぼない状態でした。 なので、英語のサイトに情報を探しに行くことに。
ここで重要なのは翻訳にあまりたよならない事にあると思う。自力で読めない単語などは仕方がないにせよ、変な翻訳サイトは見ないに限ります。実際、機械翻訳で情報が日本語化されたサイトはそこそこありました。しかし、機械翻訳の質はお世辞にもいい元は言えない状況で、かえって情報が錯綜することもしばしば。海外の質問サイトを見ているほうが全然ためになる印象です。
特にStackOverflowと呼ばれる海外の質問サイトはよくお世話になりました。
5. プログラム開発に行き詰まったときは
結局ボロボロの状態で仕事が全然進まない状態は、上司に相談をし仕事の振り方を変えてもらい一段落付きました。開発の仕方を完成のスタックではなく、完成へのステップアップの方式に変えてもらったのです。これが私にはとてもあっている開発方法だったようで、今では順調に仕事をすすめることができています。
ここで述べたいのは、プログラムを始めたばかりで行き詰まってる私と同じような境遇の方。
アプローチの方法を変えてみませんか?
ということです。プログラムにおいてゴールへの経路は一つではない。上司の方は完成を積み上げて行くことが得意でしたが、私に取っては画面を作り上げてからロジックへとステップアップをしていく方が性にあっていました。人にそれぞれに最適な開発の方法があると思うのです。行き詰まってどうしようにもなくなったら、方法を変えてみることが意外と有効かもしれません。押してだめなら引いてみろ。結構重要だなと今回の騒動で学びました。
6. ノートって便利
今回の仕事で、自分の思考を全てノートに書き起こすことでひらめきが生まれることが多々ありました。このひらめきが必ずしも問題解決をもたらしてくれるものではありません。ですが、格段にノートを使っていないときよりも脳が動いてくれているのですよね。そもそもノートに書き起こしていないとその無駄なひらめきさえ起きなくなってしますので。自由に考えた、思いついた内容を書き殴れるノート。コレが結構作業効率を上げてくれると感じました。
1. 思考のループ化
2. 頭の煮詰まった状態の解消
この2つには存分にその効果をノート発揮してくれます。思考を紙面上、ノート上に固定することで自然と思考が別の方向に切り替わってくれるのですよ。おすすめのテクニックです。
今回の大きな経験を自分への備忘録も兼ねて書きました。ではまた。