私は、まったくの未経験からプログラマになりました。
もともと、大学のコンピュータや数学と関係のある学科にいたわけでも、コンピュータ関係の専門学校に行ったわけでもありません。
ほんとうに、まったくのズブの素人でした。
Windows3.1時代のことで、最初に使ったのはVB(Visual Basic)2.0です。
私は、俗にVBあがりといわれる人種です。
最初は、派遣社員としてキャリアをスタートしました。
右も左もわからずに入って、いきなり現場に放り込まれたので、もう必死に勉強するしかありませんでした。
もし役立たずだと判断されれば、契約を更新してもらえません。
すぐ無職です。
なんとかかんとか、ちょっとは役に立つと思ってもらい、3年ほどVBを経験しました。
VBできるならVBAおっけーだよねってかんじで、VBAも何度かやりました。
その間に、根があたらし物好きなので、同じことばかりやってるのに飽きて、プライベートでオブジェクト指向を学びました。
その後、CやC++をちょっとかじって、それからJavaを本格的に仕事としてやるようになりました。
そうなると、のんびりやってただけのオブジェクト指向の知識では足りず、さらに勉強を重ねました。
プライベートでの勉強で基礎くらいはできてたので、これは比較的すんなりでした。
そしてここから、UML、デザインパターン、設計原則、そしてその先へと、どんどん深みに進んでいきました。
現在では、SmalltalkとかObjective-Cとかも趣味で勉強してます。(なかなか進みませんけど)
XPのアジャイルプラクティスを学び、なんとか実践できないかと試行錯誤するうち、日本の業務アプリケーション開発の現場では、全てのアジャイルプラクティスが実行できるわけではないということも理解しました。
実行できるもののうちいくらかは、長い時間をかけて開発チームに浸透させることにも成功しました。
そして、業務用Webアプリケーションフレームワークのアーキテクトという仕事を経験することもできました。
デフォルトではStruts上で動作し、レンダリングにはVelocityを使います。
O/RマッピングにはiBatisを使用します。
フレームワークのコアは、ビジネスルールをCommandとしてチェインするものですが、Command自体が複数レイヤーを成していて、DI(Dependency Injection)風にチェインを注入するというものです。
StrutsやVelocity、iBatisなど、依存プロダクトは取り替えがきくようになっています。
…そして現在は、まぁそこそこいい報酬をいただいてるフリーエンジニアです。
文系出身、専門卒、あるいは高卒の技術者の方、どうです?
ドカタの方のような地道な日々を送っていませんか?
残業時間をステータスにするような、おかしな文化に首まで浸かってたりは?
技術者として、ビジョンを持ってますか?
数学や情報工学を正規に学んだ方と同じキャリアパスを歩むことはできません。
その方達は、もっともっと面白い仕事をして、それに見合う良い報酬をもらっているのかもしれません。
それでも、私たちもがんばれば、その分だけおもしろい仕事はできます。
がんばるというのは、残業がんばるとか、無理難題をがんばって引き受けるとか、そういうことではありませんよ。
せっかくの膨大なエネルギーも、あさっての方向に費やしたのでは意味がありません。
面白い仕事をした上で、それに見合うだけの報酬を貰って下さい。
それには、何をがんばればいいのか?
学んで下さい。次に学んで下さい。それから学んで下さい。
この仕事には、体力も気力も特別いらない。ふつうにあればいい。
知識こそが力です。
Knowledge is power.
まぁ、チーム開発が円滑にできる人格(コミュニケーション能力かな)とかも、大事ですけどね。
知識こそが力・・・、いい言葉ですね!
返信削除仕事って言うのは面白くなくてはいけないし、面白くする努力をしないと、人生がつまらなくなってしまいますものね。
ありがとうございます。
返信削除ですよね。
みんなで、楽しい人生を作り上げていきたいものですね。