自分は20代後半で未経験から組み込み系エンジニアに転身し、その後メーカー勤務を経て、1年前にフリーランスとして仕事を始めました。
「未経験から少しコードを書く仕事をやったぐらいでメーカーに転職できてしまったけど、メーカーでは上から降りてきた仕事を協力会社さんにそのまま投げるという“調整業務”しかしていない。確かに技術力がなくても、手八丁口八丁で仕事はできてしまうかもしれない。でも、このまま技術力がないままでいると、いつか足元をすくわれる日が来てしまう」
そう思い、僕はサラリーマンを辞めました。そして、開発の最前線で仕事をしながらスキルを磨ける、フリーランスという働き方を選びました。
そこから1年以上が経過し、ひと通り開発のワンサイクルを終えてみると、「“自分一人で開発ができる”という自信がついたな」と感じています。
-
-
会社を辞めてフリーランスになって1年|現場・収入・不安のすべて
会社員を辞めて組み込み(家電)系のフリーランスエンジニアとして働き始めてから、無事1年が経ちました。 「フリーランスは自由で稼げる」というイメージを持たれがちですが、実際にその立場になってみると、 ...
続きを見る
不十分な開発スキル
冒頭で書いた通り、自分は20代後半でノースキルの事務職からエンジニアに転身し、その後数年間、開発業務に従事しました。
エンジニアに転身した当初は、未経験者でも受け入れてくれるような中小企業に勤務しており、その頃から「ここで3年経験を積んだら大手企業に転職するんだ!」と計画していました。途中でコロナ禍があったりもしましたが、結果としてなんとか4年でメーカーに転職することができました。
メーカーに転職したはいいものの、IT業界には「多重下請け構造」というものがあります。
大手になるほど、基本的には自分で手を動かして仕事をしなくなるのです。
自分が勤めていた会社も同様で、実際にコードを書いてプロダクトを作るのは協力会社さんであり、社員はあくまでもマネジメントを担当する立場でした。元々文系だった自分は技術的なバックグラウンドも乏しく、協力会社さんが打ち上げてくる課題もよく理解できません。
さらに、昨今のAIの発達や目まぐるしく変わる市場のトレンドを見ていると、
「自分の仕事もいつなくなるか分からない。そうなったとき、大したスキルを持っていない自分は足元をすくわれてしまう」
と、大きな危機感を抱くようになりました。
とはいえ、メーカーで正社員として働き、そのまま会社にしがみついていれば、路頭に迷うようなことはないでしょう。ただ、自分が人生の何にプライオリティを置きたいのかを考えたとき、やっぱり自分は「自分自身でプロダクトを作れる人間」でありたいんですよね。
新卒でノースキルの事務職をやっていた頃は、毎日のように、
「こんな誰にでもできて、世の中にどう役立っているのか分からない仕事をしていて、一体何の意味があるんだろう」
と思っていました。
そういう経験があるからこそ、ちゃんとした開発スキルは身につけておきたかったのです。
開発プロセスを一人で回し切る
これまで携わったプロジェクトでは、開発プロセスがあまりにもカッチリと決まりすぎている現場もありました。
そういった現場では、開発スキルが身につくというより、あくまでも「その現場のプロセスを回すスキル」が伸びていく感覚がありました。
一方で、別の現場ではプロセスがほとんど決まっておらず、何もかもが曖昧なまま進んでいくこともありました。正しい設計や評価のやり方もよく分からないまま、業務だけが進んでいくような状態です。
そうした経験もあり、「ちゃんとした開発プロセスを経験した上で、それを自分一人で回し切りたいな」という思いがずっとあったのです。
現在自分がいる現場は、昨今の組み込み系ソフトウェア開発の現場としては珍しく、自分の手でゴリゴリとコードを書きながら、設計書の作成や評価もしっかりと行います。
そのため、当初狙っていた通りのスキルを身につけることができました。
特に今の現場では、課長さん自身が以前から現場でゴリゴリ開発をしてきた方で、昔から開発プロセスに不満を持っていたようです。そのため、開発上のルールをかなり厳格に決めています。
とはいえ、何もかもを「決めすぎる」わけではありません。
あくまでもこちらにクリエイティビティの余地を残しつつ、「こういうときはどうすればいいの?」という疑問は抱かせない。
そんな、ちょうどいい塩梅で開発が進む現場になっています。
この現場に入ってから、要求分析、基本設計、詳細設計、実装、評価まで、キッチリとしたプロセスの中で自らの手でワンサイクルを回すことができました。
中でも特に印象的だったのが、詳細設計書の書き方です。
「設計書はこうやって書けば良いんだ!」
と、目から鱗でした。
設計書というものは、現場によって書き方がバラバラなのが常です。それに加えて、
「いや、この設計書からどうやってコードに起こせば良いんだよ」
となることも少なくありません。
しかし今の現場では、フローチャートと状態遷移図をひたすら書き、ほぼコードと同じレベルまで詳細化します。
そこまで設計段階で落とし込んでおくことで、実装時に迷うことがほとんどなくなります。
また、設計書をコードレベルまで詳細に記載することで、実装後のレビュー負荷を減らすことができ、結果として工数の削減にもつながります。
評価についても、単体検査から結合検査まで自分の手で行うことで、「評価とは何なのか」が以前より分かるようになりました。
暑い中、別拠点にある実験室まで行き、オシロスコープやパルスジェネレーターを使って評価を行っていました。
そういった経験を積んだことで、今では基本的な評価であれば、自分一人でも対応できるようになりました。
これからどの現場に行っても、自分で設計から評価まで一通りできると思います。
そう考えると、「もう食いっぱぐれることはないのかなぁ」と感じています。
自分で狙ってキャリア形成をしていくということ
何にせよ、
「こういう経験を積めば、自分のキャリアはもっと強固なものになって、より稼げるようになるだろう」
と自分で考え、それに向けて行動していくのは楽しいですよね。
この記事を書いている直近では、納期の関係で80時間近く残業しました。
まぁ、フリーランスなので厳密には「残業」という概念はないのですが。
かなりハードな働き方ではありましたが、ソフトの納入が終わり、自分にスキルが身についていることを実感すると、
「頑張ってよかったなぁ」
と思えるようになりました。
今はまだ、開発プロセスを1回回し切っただけです。実際にやってみると非効率なところも多々あり、課題はまだまだあります。
そういった課題を一つずつ潰していくためにも、あと2回ぐらいプロセスを回せれば、今身についたスキルをより強固なものにできるのではないかと考えています。
そして、直近の課題としてもう一つあるのが、工数の見積もりを正確に出すことです。
ハードワークによってスキルが身につくのは良いのですが、こういう働き方は何年も続けられるものではありませんし、続けるべきでもないと思います。
いくら自分自身の仕事を効率化したとしても、
「何にどれくらい時間がかかりそうなのか」
を正確に見積もり、必要であれば追加の業務をブロッキングしないと、結局早く帰ることはできませんからね。
現状はやりたい業務もやれていますし、チームのメンバーとも本当に仲が良く、非常に楽しく、やりがいを持って仕事ができています。
とはいえ、フリーランスはいつ契約を切られるか分からない不安定な働き方でもあります。
そのため、いつかは正社員に戻りたいなとも思っています。
年齢的に、正社員としての転職は少しずつ厳しくなっているとは思います。
この先どうなるのかは分かりません。
まぁでも、やりたいことを全力でやってみないと後悔しか残らないので、まずは目の前の課題を一つひとつこなしていこうと思います!