photo credit: Alexander Rentsch via photopin cc
気持ちの切り替えが必要です
プロフィールにも書いていますが、僕は元々組み込み系のプログラマでした。
プログラミング言語の習得はC++ → C → Javaという感じです。
しかし現在は完全にWeb系のプログラマにシフト完了しています。
その過程で気づいた大事な点を3点上げたいと思います!
組み込み系とWeb系ではあらゆる点で異なります。
書き出したらキリがないので、今回は以下3点を取り上げます。
- あまり理屈を考え過ぎない
- 時には諦めも必要
- 1にも2にもスピード感
それでは早速見て行きましょう。
あまり理屈を考え過ぎない
CやC++は、理屈どおりに動く言語です。
初心者を悩ませるポインタを始めとして、メモリ管理からハードウェアの制御まで何でも出来ます。
逆にWeb系の言語は、いかにフレームワークを使いこなせるかという話になります。
細かいことを気にする必要はありません。
全部フレームワークがよしなにやってくれます。
もちろんフレームワークの処理をちゃんと理解しているに越したことはありませんが、知らなくても十分使えてしまいます。
要するに、取り敢えず動くものを作りたければ、フレームワークで用意された処理を叩くだけで出来ます。
理屈を考える必要は無いのです。
たぶんここが組込系のプログラマには気持ち悪い点でしょう。
「自分のあずかり知らない所(フレームワーク内)で勝手に処理が動いている」
これは割り切るしかありません。
もちろん余裕があれば、フレームワーク内部の処理を追っても良いでしょう。
時には諦めも必要
上でフレームワークについて書きましたが、逆に言うと、
フレームワークで用意されていない機能は、どう頑張っても実現出来ません。
最初から、出来る事が決まってしまっています。
組み込み系は違います。
頑張れば何でも出来ます。
もともとはOSを作るための言語ですしねw
プログラマの力量さえあれば、出来ないことはありません。
ということで、出来ないものは出来ないという諦めも必要です。
もちろん自分で新たなフレームワークを作ったりすれば出来るのでしょうが、普通の職業プログラマでそこまでする人はまずいないでしょう…。
1にも2にもスピード感
別にWeb開発に限った話ではありませんが、今の時代はとにかくスピードが大事です。
- フレームワークで用意されているものを最大限活用する
- 出来ないものは諦める、もしくは代替案を用意する
この2つを実行すれば、必然的に開発スピードはあがります。
一晩で世の中を変えるサービスを作ることも出来るかもしれません。
これは僕が一番大事にしている点です。
まとめ
それほどハードルは高くありません。
むしろ最初に組込系の言語をやっていると、”プログラム”というものの理屈を理解出来ているので、いきなりWeb系の開発から始める人と比べると、だいぶアドバンテージがあります。
現に、僕もWeb系に転向して3年弱ですが、今では普通にバリバリ開発しています。
何事も始めるのに遅すぎるということは無いということですね!
今回は以上です!
sib ntsib dua!!