
「プログラマーって、実際どんな仕事なの?」
「プログラミング以外に覚えておかないといけないことってあるの?」
そんな疑問に答えます。
プログラマーはプログラミングだけが仕事じゃない
僕もプログラマーを目指した頃はシステムエンジニアとプログラマーの違いがわからずにいて、実際どんな仕事をしているかわかりませんでした。
プログラマーってプログラミングをしてればいいのかというと実際はそうではないことの方が多いんじゃないかと思います。
それは何を作るかによって変わってくるのでしょうが、
少なくともプログラミング以外に作ったものをテストする作業があります。
単体テストですら他の人に任せる現場は、これまで経験したことがありません。
つまり、プログラムのコーディングだけやってればいいという現場は稀なのです。
プログラミング以外の仕事の方が多い現場は多い
テスト以外にも設計書やテストケース表などのドキュメント作成があるところがほとんどです。
設計書などのドキュメントはアジャイル開発などでは、作業の割合としてはそんなにないのかもしれませんが、テストケース表ぐらいはあるんじゃないと思います。
ウォータフォール型の開発では、ドキュメントの数はかなり多いです。
そして、システムの信頼性が求められるほど開発規約が多く、個人の個性の部分は殺されみんな同じ手法、同じ要領でドキュメントやコーディングをすることが求められます。
そうなると規約が少ない自由度の高いシステム開発が良いように思えますが、自分で決めなければならないことが増え、より思考力と決断力が必要となってきます。
それはそれでストレスがある程度あるので一概に規約が何もない状態が良いとは言い切れないのです。
当たり前なんですが、そもそも規約は規約を設けるメリットがあるから存在します。
開発するにあたって煩わしかったり、無駄に工数がかかっているような規約もありますが、先人の知恵が詰まっているので、無闇に違反していいものではないです。
でも、規約にただ従う側は、規約の目的とか作るに至った思いとかが伝わらないことが多いので、やはり意識の違いが出てくるのが現状だと思います
本当であれば、その溝を埋めるためにも新任者には、規約の目的などを丁寧に説明する機会があれば良いのかなと思いますが、そこまでしてくれるところはほとんどないです。
メーカー系だとドキュメントのある場所を教えてあとは読んでおいて見たいな乱暴なところの方が多いです。
この辺は、最初に教えてくれる人の人望にかかってくると思います。
丁寧に教えてくれる人に当たったら、もの凄くラッキーです。
ドキュメント作成に欠かせないOfficeソフト
多くのプログラマーはドキュメントを作成する機会が多いので、コーディング以外にOfficeソフトが使えるのは必須条件です。
事務系の求人では「パソコンが使えるか」とか「エクセルやワードが使えるか?」なんて条件があるのを見かけますが
プログラマーはエクセルは使えて当たり前で、現場によってワードとパワーポインタの使用が求められます。
つまりOfficeソフトは使えて当たり前で使えない前提はありません。
とはいえ、Officeソフトは直感でほとんどの操作ができるので
プログラマーを目指すような人であれば、操作に困難を覚えることがないと思います。
ちょっと突っ込んだ機能は必要になった時に覚えればいいです。
Officeソフトの代表といえばMicroSoftのOfficeになります。
他にも似たようなソフトがありますが、現場でOffice以外のソフトを使っているところを見たことがありません。
一生使えるソフトといっても過言ではなく、購入して損はないのでMicroSoftのOfficeは購入することをお勧めします。
以前は数万円した固定ライセンスのOffieしかありませんでしたが、今ではOffice 365 サービスという年単位のライセンスもあります。。
Office 365 サービスは試用期間があり、最新のOfficeを1ヶ月無料で使えるので、Officeを持っていない人や古いOfficeソフトを使っている人は試して見たらどうでしょうか。
関連記事
プログラミング以外の仕事を減らすならアジャイル開発
アジャイル開発ではドキュメントがほとんどないと言われます。
特にWeb系のサービスや小規模なシステムではアジャイル開発を採用しているところが多いです。
プログラマーという仕事は、何を作るかによって必要となる知識や仕事内容が大きく変わってきます。
プログラムだけしていたいという人はアジャイル開発がいいのかもしれませんが、代わりに常に最先端を追い続ける思想であることから、常に最新技術の調査などに時間を費やすことになります。
「どうやっていいかはわからないけど、とにかくやれるかやってみよう」といった感じでしょうか。
アジャイル開発を行っていた人からは、「勉強にはなるけど、それはそれで結構きつい」という言葉を聞きました。
最後に
僕の時代は、今ほど景気が良くなかったのでどんなシステムを作るとか、どの役割の位置にいるとかは選ぶことができなく、システムエンジニアとして人が足りていないところに配属されるだけでした。
でも、今はある程度は選べる時代であるので自分の進みたい道を選ぶといいと思っています。
未経験であるのであれば、最初に学ぶ言語が重要です。
ドキュメント作成が苦手でWeb系に行きたいのであれば、PHPやRuby。
大規模なシステム開発がしたい場合は、JavaやC#等の言語が良いでしょう。
この二つはWeb系でも使われ汎用性が高い言語です。
自分の将来にあった言語を選ぶといいでしょう。