私は大学・大学院とハードウェアを学んできました。
それは私自身がハードウェアのほうが好きだったのもありますが、そもそも「プログラミング」というものがよく知らなかったので興味を持つ機会がなかったからだとも思います。
そんな人間がソフト系部門に配属されてどうなったかを書いてきます。
結論は、3年目くらいから仕事を十分こなせるようになり、今となってはソフト系の人材になれたことをラッキーだと思っています。
配属を伝達されたときの心境
普通に凹みました。
配属面談では、ハードに対する熱意を伝えていたので、思い通りにならないとしてもまさかソフトウェアの部門になると思ってもいませんでした。
「これから俺がプログラミングやって役に立てるのかな」という不安
と
「今まで習得してきたハードの知識やスキルが無駄になるのか」という落胆
が半々でした。まぁ結果的にはどちらもそんなことはなかったのですが(後述)。
配属先の先輩からは「これからの時代ソフトウェアだから悪くないよ」と慰められました。
当時はあまり意味が分かりませんでしたが今となっては、「まさにその通り!」と思います。
苦労したこと
配属当初は、プログラミングに対する知識も興味もない人間でした。
大学でプログラミングの講義は少し受講していましたが、楽をして勉強していなかったので、覚えてたのはint、floatとかif文、for文くらいで関数とかクラスの知識は全くでした。
配属後は謎のカタカナ用語の多さに苦労しました。
デバッグ、ビルド、コンパイル、メソッド、プロパティなどなど。
しかし知らない分野の勉強において、知らない単語のオンパレードはどの分野でも当たり前。
ただプログラミング用語の学習は、普通の暗記と決定的に違う厄介な点があります。
それは、概念・考え方(形がない)を指す単語が多い点です。
プログラミングの概念周りの用語の理解には今でも苦労することはありますが、初めはその比ではないです。
単語の意味が分からないと先輩に説明されても上手く吸収できない悪循環に陥ります。
初めは「カタカナ用語をひたすら覚える」に時間をかける価値があると思います。
おすすめの勉強方法
1.簡単な本を読む(○○の絵本シリーズがおすすめ)
2.自分用「知らない単語リスト」を作成する
3.機能ごとに小分けしたソフトをたくさん作る
1番目は説明不要でしょう。未経験なうちは何買っても勉強になります。ただ難易度が高くてあまり読まないという失敗はありうるのでプライドを持たず簡単なものを買うことをお勧めします。
2番目はかなり即効性があります。打ち合わせや人の説明で知らない単語が出てきたらメモって時間があるときに本やネットで調べる。それをエクセルの表などに可能な範囲でジャンル分けしてリスト化しましょう。私はこれでカタカナ用語たちを克服しました。
もっと早くリスト作成を決断してればよかったと今でも思います。
3番目は今でも新しい言語を触りはじめるときや不慣れな機能を実装する際にはやっています。
例えば、ボタン押したら
・カウントが増えるだけのアプリ
・背景の色が変わるだけのアプリ
・リストに順番に現在時刻が追加されていくだけのアプリ
などです。とにかく「こういう機能(表示)ってどうやって作ってるんだ?」と思ったら最小単位でいいのでその機能(表示)を持つアプリを自分で作ってみましょう。
ソフト部門に配属されて良かったこと
時代にマッチした人材になれた
今は、現在のトレンドである人工知能の研究をしています。
この分野に今現在関われていることをものすごくラッキーだと思っています。
もし自分が望んだとおりの配属であれば、このトレンドもただ遠くから眺めている別のエンジニアになっていたことでしょう。恐ろしき配属ガチャ。。。
ハードの知識を持っているので重宝される
これは個人的には意外でした。自分にとって当たり前のことを話すだけで「おぉー!」って言われたり、人の課題を解決したりできることがあります。
ソフト系の部門はソフト特化の人が想像以上に多く、それ故にハードウェアのことを全く知らない人が多いです。
ソフトのスペシャリストで超人かと思っていた先輩が、トランジスタの回路記号が何なのかわからなかったりで逆に驚いたこともあります。
「あぁこの人も人間なんだ」と安心しました笑
プログラミングの面白さを知れた
ハードと違い、少し変えれば大きく動作や結果が変化するのがソフトウェア。
また「少し変える」が非常に容易なので気分で色々変えられる点が魅力。
趣味、、、とまではいかないですが、アプリの仕様やプログラムを打っている時間は案外楽しいものです。
まとめ+同じ境遇に置かれた方へ
どうにかなっているどころか、配属ガチャにはものすごく感謝しています。
何度も言いますが、配属当初は本当に凹みました。
しかしある程度理解するとなんでも魅力を感じれるのがわたくし「好奇心旺盛マン」のいいところ。
3年目くらいでコツを掴み、その後は色々なアプリを作れるようになりました。今では元気にAI(Python)やアンドロイド(Java)などやっています。
もちろん苦労はしましたが、結果的にハードもソフトも分かる人材になれたので周りにも重宝されています。
もし自分と同じでハード、ソフトの垣根を超えた望まぬ配属を言い渡され、落ち込んでいる人がいればこう伝えたい。
ハードとソフト、両方できればかっこいいので、苦労して貴重な人材になろう。
コメント