見出し画像

プログラマーまたはITエンジニアになりたい君たちへ(随時更新中)

先日見た番組で、中学生がなりたい職業の4位がプログラマー・ITエンジニアだという。

何年か前まで日本のプログラマーといえばIT土方なんて揶揄されていて決して人気のある方でもなかったと思うんだけどこの躍進はなんだろう。

と思いながらも、これからプログラマーになりたい方に対し、多少なりとも実際どういうものかというのを伝えていきたいと思う。
というのも、これは他の記事でも書いているけどプログラミングができれば職業プログラマーになれるわけではなく、そこには独特の生態とかコミュニティがあるのでその辺りが参考になればと。

なおあくまで僕の周りだけの話なので、そうでなくてもプログラマーやっている人は沢山いるし、あくまで参考程度に。

--------

未経験では入れません

僕が新卒だった20年前はいい時代で、未経験でパソコン持ってないなら貸してくれるくらいの手厚いサポートが付いていたけど現代は未経験では新卒でも入社できません。
少なくとも僕が面接をする時はソースコード持参をお願いしていて、それをもとに質疑応答をしています。

そこで何故こういう処理にしたのかを答えられなかったり、偶に正直な人もいて、教授にこうしろって言われたからこう書きましたなんていう人もいる。
画像処理やAR、VR系だとライブラリが殆どやってくれるのでパラメーター変えて変化を記録していただけ、という学生もいました。

プログラミングは仕組みを理解し、課題を解決することに意味があるので、最低限自分がどういう意図でどういうコードを書いたのかは説明できないとだめです。

そういう意味でもエンジニアとして就職するために何を身に着けねばならないか、学生の頃から考えておく必要があります。

学歴は意味をなしません

かれこれ20年プログラマーやってきて、学歴を聞かれたことが数えるほどしかないし同僚の学歴を気にしたこともないです。
一方で実績や腕前はすごく影響します。

文系でもなれます

プログラマーというと一見理系の仕事に見えますが、課題解決という視点で見ると必ずしも理系の仕事とも限りません。
研究系のコード書く人なら理系オンリーだろうけど。
なにより僕が文系です。四則演算ができれば全く問題ありません。

それなりに稼げますが、何もしなくても稼げる仕事ではありません

現在の需要がある状況であれば、年収1000万円を狙うことも十分可能です。
ですが、社員をそのままやっていれば稼げるかというとそうでもないです。
個人的な感覚としては、カリスマ美容師やお笑い芸人のようにトップのほんの一握りだけが高収入を享受できるのに比べれば、それよりは可能性が高く、適切な努力を怠らなければ天賦の才能がなくても到達可能な業界です。

この「適切な努力を怠らない」というのが難しいのですが。

大企業に入るのが正解とは限りません

日本の名だたる大企業のIT部門に就職したのになんだか想像と違っていたという話はよく聞く話です。

大きく歴史のある企業になればなる程、過去に作ったシステムのメンテナンス業務が多くなるため、必然的に最新の技術に触れるのは入社したメンバーの中でも一握りになりがちです。

あとは決済権を持つ人間の頭がどれだけアップデートされているかによるのですが、人間が高齢になると頑固になって新しいものを受け入れられなくなることからも分かる通り、高齢の経営者だと自身のアップデートができるのはごく少数、となりがちです。

勿論、膨大な資金を持って大きなシステムを組み上げるチャンスもあるわけですから、大企業に入るのが必ずしも失敗とは言えません。
ただ昨今はクラウド化もあって、小さな企業でも少ない初期投資で大きめのシステムを組むことだって可能だということを忘れてはなりません。

個人的には、大企業の中でもITサービスを生業としている企業の方が良いかと思います。

数学も大事ですが国語と英語が同じくらい大事です

実際の現場で一緒に仕事をしていて、リテラシーが無いのは本当にまずいです。
数学的な計算はプログラムがやってくれるのでまだ誤魔化しが効くのですが、文章の読み書きができないのはモロに出てきます。
stackoverflowなどの海外のフォーラムを見ることもよくありますし、英語のドキュメントを読むことも日常茶飯事なので英語も普通に必要です。

英語が分からないエンジニアはよく海外のフォーラムに行くことを敬遠しがちで、結果としてちょっと調べただけでギブアップしたりします。
公式のドキュメントを読もうともしません。
そうすると問題がいつまで経っても解決しません。

何より、メソッド名や変数名が英語力が無いと書けません。
書いてもダサすぎて結構恥ずかしいことになります。

そんなに高いレベルは求められないですが、英検3級程度の英語力は欲しいところです。

独特の生態があります

全角スペースを見て悶絶し、半角カナを見て発狂するみたいな独特の生態があります。
この辺りはプログラマーあるあるでググれば出てくるので調べてみればと。

意外と大切で、この辺りが「向いている、向いていない」にあたるので、共感できないとプログラマーとしてやっていくのは厳しいんじゃないかと思っています。

僕は未経験で入ったので、最初は全角スペースや半角カナを使ってもなんとも思っていませんでしたが、しばらくすると本当に発狂するようになりました。
まあそれはC言語とかコンパイルが必要な言語がメインだったからというのもあるんだけども。

コードが書ける人がイコールプログラマーでないのと同様、フォトショが使えてもイコールデザイナーにはなりません。
要はその職業人をならしめているのはスキルだけではない、ということです。

イデオロギーみたいなものがあります

エンジニアによってはプログラミング言語やプラットフォームに対する信者みたいなものがあり、個人的には宗教みたいだと感じることがあります。

この言語は優れている、あっちの言語はだめだみたいな事を言い出す人もいます。
結局使える環境などもあるので使える物の中でベストなチョイスをするだけなのでは、と思うのですがそうでない人もそれなりにいます。

コミュ力が要ります

プログラマーって一人で引きこもって仕事しているイメージがあるかもしれませんが、実際には数人から、大きい規模だと数百人という集団で開発をしています。

そんな中で必要とされるのがコミュ力です。
別に雑談が楽しくできる必要は無いですが、現在の進捗と見通し、課題点などをまとめて伝える力や、相手の話から意図を汲み取る力などが必要です。

平和な世界ではありません

優しいエンジニアもいれば、個性的なエンジニアもいるし、攻撃的なエンジニアもいます。
精神的に大人のエンジニアもいれば、子供のエンジニアもいます。
結構実力が物を言う世界なので、自分よりも若手から厳しい言葉を投げかけられることだってあります。

Webサービスやスマホアプリなど、公衆に使ってもらう形のプログラムを提供している場合、ネットでボロクソに書かれることもあります。

そういう意味で、メンタルを病んで辞めていくエンジニアも沢山います。

これは腕前を上げれば解決できるとかそういう問題でもなくて、天才だけどメンタルが弱くて引退してしまうような、そんなエンジニアだっています。
バイクでいうとケーシー・ストーナーみたいな感じです。

かと言って凡才の仕事がなくなるなんて事もないので、要は適当にいい感じで、スキルアップもしつつ批判は軽く受け流せるくらいの感じで長く続けていくのが一つの秘訣だったりします。

好きでないと続きません

そのためにはどんなに凹んでもプログラミングしてしまうみたいな、結局はプログラミングが好きかどうかによるんだろうなと思うところではあります。

それとご存知の通り、技術の進歩が他業界に比べると早いです。
なのでテック系のニュースを毎日ウォッチするくらいは好きじゃないとトレンドについていけません。

これは環境によるところも大きくて、テクノロジーが好きな同僚に囲まれて毎日キャッキャウフフしていると次第にそのスタイルが身についてきます。
まあ環境はなかなか選べないので難しいかもしれませんが。

僕は「好きを仕事に」のスローガンには否定的ですが、一方でどんな仕事にも楽しめるポイントはあると思っているので、それを見出せば長続きすると思います。
僕自身、好きになれるかどうかも分からずに未経験で飛び込んで、ここまでやってこれたのですから。

おわり



この記事が気に入ったらサポートをしてみませんか?