経験者でもフリーランスになるのに抵抗を持つワケ

記事
IT・テクノロジー

大学での学び

本当はサービス・アプリ開発を勉強したかったのですが、
成績悪く3年次のコース選択で落ちたことで(自業自得
コアな技術ばかりに寄った授業に。

・アルゴリズムとデータ構造(C言語) ←KMP法未だに理解できず
・ソフト実験:アセンブラ開発(C++) ←ここ挫折ポイント
・ハード実験:半・全加算器を論理回路で作成 ←\(^o^)/

学んでることが何の役に立つのかイメージが湧かなくなり、
プライドの高い自分は、しっかり抱え込んで精神病んで中退となりました。
(とりあえず中小企業に一度入るのですが、需要あれば話します。

会社での学び(組み込み機向けのデータ開発)3年

手書きで注文書作る超絶アナログな現場から、
プログラミングなりITなり何らかで改善することがしたい一心で転職。
(手取りは4万ほど減

エンジニア派遣会社に所属してとある大企業の中に潜入。
ありがたいことに大学で未熟だったコーディング技術が
向上するとても良い機会になりました。

そして、実のところ開発技術以外で困ってることが多い実態も見えました。
・ソース, バージョン管理(VSS, Git)
・案件管理(Redmine, ほか社内開発されたものも)
・テスト仕様書などのドキュメント・工程の標準化(Excelベース)

ただ、ここで習得した言語(ツール?)はとても多かったです。

・VBA, WSH: C/C++と違いプロジェクトと実行データを
        別管理する必要がない
・バッチ: コマンドラインツールを活用してデータ処理を自動化
・コマンドラインツール 7zip, ImageMagick, etc

会社での学び(サーバー評価・CICD)2年


自分の現在の役割は、人の手を介してしかできない作業を
いかに自動化するかに重点を置いた業務内容です。

ただし、その自動化のためのツールも十分にテストができてないと
当然導入は許されないのです。

大規模会社には運用専門部署というものもあり、
開発者はツールを作るだけでなく、手順書も整備しなければならない。

組織として開発するなら、
受注から納品までに様々な工程を踏むのです。
・予算, 工数, 納期
・変更点レビュー, DRBFM
・コーディング
・単体試験, 結合試験
・サーバーなら負荷試験も必要
・手順書整備
・顧客説明会

完全なサービス・ツールは存在しない(テストもまたしかり)

・どれだけ様々なイレギュラーを想定しても足りない。
・こんな使い方する人おらんでしょ?(をやる人がよくいるのが組織

人手が欲しいメンバーと無駄に雇いたくない会社

今の会社で学べたことは、
ITのポテンシャルがどれだけ∞だろうと、
それを作る人が働く職場の風土が品質に顕著に表れることです。

個人で技術を高めることは自信向上と選択肢を増やすことにつながり、
仕事自体をやりやすくなるのは事実ですが、多くの犠牲を払ってるのです。

そう考えると開発技術のみに集中できる部署にいられる恩恵は大きいとも
思えてくるのです。

少し口は悪くなりますが・・・
・納期遅れはPM部署の責任
・バグがあっても顧客に説明・謝罪するのは営業部署
・会社にぶら下がろうと思えばいくらでもぶら下がれる

フリーランスは全部自分(当たり前?

以下をすぐにできるようになれというのは前述で依存・転嫁できたことが、
すべて自分に降りかかってきます。

・営業: まず自分で仕事を貰うための売り込み、ブランディング
・調整: 複数抱えたらマルチタスクで動く
・技術: 使えるものをすべて使ってなるべく短納期で仕上げる
・説明: 十分要求を満たせていることを知見のない相手にわかってもらう
     もしくはこまめに連絡とって相手のイメージを吸い上げる

・・・これは大変です。

ただ各々がどれだけ大変かを知れたのも今の企業に勤めてからなので、
遠回りとはいえよかったかなと思います。

これを考えたくないといいつつ、やらなければ独り立ちはできない。
なので私はココナラを使いました。(ダイマ
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す