フリーランスITエンジニアのすすめ

フリーランスITエンジニアの働き方についてのブログです

フリーランスに対するよくある質問と回答

同じような質問をよくされるので回答を含めてまとめました。

 

どうやって仕事を見つければよい?

サラリーマンエンジニアと話すと必ずされる質問ですね。

基本はこれまでに培ったコネクションを利用するのが良いかと思います。それがない人はエージェント。ただ、エージェントはマージンが高いのでお勧めしません。

稼ぎたければコネクションを開拓&維持していくのが大事です。

 

事務処理面倒じゃない?

確かに面倒くさい。特に青色申告は結構大変。でも誰でもやっていることなので、やってやれないことはないはずです。必要経費と割り切りましょう。

どうしても面倒くさければ税理士さんにお願いすることもできます。

 

単金交渉の仕方

これについては、ほかの人のやり方をよく知らないので自分も聞いてみたいです。

自分は再参画時とかに、単価を釣り上げてましたね。延長交渉時に単価交渉をするのは特別な理由がない限りちょっと勇気がいりますね。理由を突っ込まれますし。

 

ぶっちゃけ儲かるの?

要領次第かなと思います。周り見る限り、稼げてる人もいれば稼げてない人もいます。ただそれでも、中小ソフトハウスに所属しているエンジニアと比べればだいぶましかなと。

よくいう売上一千万についてですが、これについては要領さえよければ超えるのは難しくないのではないかなぁと思います。

通常のエンジニアなら月に60~100万、PMとかになると100~200万くらいでしょうか。それ以上稼いでいる話も聞いたことはありますが、ちょっと状況が特殊な方でしたね。

 

法人化したほうが良い?

みんな状況が違うので何とも言えません。ただ、稼いでいる人はたいがい法人化してますね。

 

ほかに質問があればコメント欄にどうぞ。

 

職場におけるコミュニケーションの「正しさ」

エンジニアは本当に面倒な人間が多いです。プライドの塊で自分のやることが少しでも否定されようものなら烈火の如く怒りだす。そんな人間ばかりです。

通常の社会人ならこのような人間は組織内でやっていけないのかもしれませんが、エンジニア界では「職人気質」という言葉でなんとなく許されてしまっているように感じます。

ところで今日このようなツイートが流れてきました。

 

 

このツイートに対するリプライもを見てみると、「営業くんが正しい!」という意見と、「営業くんの配慮が足らない」的な意見が半々くらいです。

 

で、私個人の意見はというとですが、まず人間関係がからむ問題について「何が正しいか」という切り口で考えてしまうとあまり良くないんじゃないかなぁというところです。

この営業くんの行動自体についてですが、お客さんに正確に回答するためにAさん以外のエンジニアに意見を聞いたわけであって、その点ではやっていることは正しいわけですよね。中途半端な回答をお客さんにしてしまうわけにはいかないわけで、回答の正確性を高めるための行動であり何も文句を言われる筋合いはないんですね。

その意味ではやっぱり「正しい」わけです。

 

では、「正しい」から「適切」であるかというとそれはそれで違うと思うんですよね。「正しい」と「適切」にはギャップがありますが、この場合その間になっちゃうかなと。Aさんは気難しい人なのかなぁという印象ですが、相手の人格を見抜いた上でその感情に配慮することは社会人として大切なスキルです。この例ではAさんに質問せずに他のエンジニアに意見を聞きに行ったことで、「俺の意見は当てにならんということか?」と思われてしまった可能性があります。そこに何かしらの配慮があれば、Aさんが嫌な気持ちになる必要はなかったでしょう。

 

ただ、営業くんは正しいことをしたわけですし、「そこまで配慮する義理はねぇんだよ!」という意見もあるかもしれません。それはそれとして個人的にはアリだとは思います。しかし、そのスタンスで仕事を続けていけば、周りとの人間関係が悪くなりますし、仕事の成果が上げにくくなるでしょう。長くその会社でやっていくつもりなら、仕事の仕方としてお勧めできません。

 

とはいえ、私が営業くんの上司なら、「お前のやったことは間違っていない」、「わざわざ他のエンジニアに確認したのはえらい」くらいしか伝えないかもしれません。「Aの感情に配慮すべきだった」というところまでは言わないですね。だって、新人がそこまで気を使うのは無理ですし、彼にとっても酷でしょう。そこまで彼に要求してしまったら、彼も「やってられんわ」と思うでしょう。

しかし、彼も私もフリーランスだとしたら「エンジニアの気持ちを一番に考えろ」というかなと思います。人に嫌われちゃうと商売にならないですからね。そこは会社員とフリーランスの優先度の違いかなと思います。

 

ちなみに、私が周りのエンジニアとコミュケーションする際には以下のように心がけています。

  • メンツを潰さない
  • 相手の意見に突っ込みを入れる場合にはすごく慎重に
  • 褒める

エンジニアはプライドの生き物です。同僚のエンジニアと仲良くしていくためには、そのプライドに最大限配慮する必要がありますね。フリーランスが同僚に嫌われてしまっては仕事がもらえません。

 

 

 

 

 

 

 

 

 

本書きました

突然ですが、本を書きました。

 

 

Kindle Unlimitedで読めますので、Unlimited契約している方はよかったら読んでみてください。

大雑把な内容としては、

  • フリーランスならリスク背負っている分1000万くらいは稼がないとね
  • エージェントやSESから仕事請けている身分だと1000万はきつい
  • 自分で営業しなきゃダメ

といったところです。

巷のフリーランス本だと、エージェント経由で仕事をもらうのを推奨してたりしますが、ある程度以上稼ぐには相当なはいスキルじゃないとダメだと思います。

一方で、自分のコネで仕事を開拓できる人だと、そんなにスキルなくても大台突破はできるんですよね。(実際、自分や周りの人も大台突破してるし)

まぁそんな感じのことをまとめました。

 

 

 

SIerってそんなにダメですか?

みなさん「自社開発WEb企業」が大好きですよね。最近流行のプログラミングスクールに行っている方々も、「自社開発Web企業」を目指しています。
一方でSIerは不人気です。技術力もつかないし、キャリア的にも終わりみたいな感じで言われています。テック系Youtuberもそう言ってますよね。
でも、みなさん、本当にSIerのことが分かってますか? 

SIerの技術力が低いわけではない

SIプロジェクトは規模が大きいのもが多いです。数百人、数千人のエンジニアを動かしていくわけですから、やり方を考えないと大混乱してしまいます。
大人数で仕事を進めていくためにはどうしたら良いでしょうか。
ルールを決めて分業するしかありません。
分業が進むと、大半のプログラマは、単純作業に従事することになります。ここのプログラマがそれぞれ頭を使うことが要求されてしまうとプロジェクトが回らないからです。
その代わり、技術的な問題を扱う専門のチームがあり、ここに優秀な人材を集めます。
技術のスペシャリストを一箇所に集め、ここで全体の方針を確定させるということです。プロジェクトの脳になるわけです。
賢い人間に頭を使わせて、考えることが苦手な人間にはひたすら手を動かしてもらいます。

なので、SIerが技術が低いわけではなく、大半の人間は技術力を要求されるポジションにつけないというのが正解です。

SI=低スキルと語る方々は、この頭を使うチームがあることを知らないのでしょうね。

 

SIでこそ身につくスキルもある

上述したように、SI案件ではどう足並みを揃えるかが大事になってきます。したがって、コンセンサスを得るための調整スキルや、方針を他者へ伝えるためのドキュメンテーションスキルなど、SI案件でこそ重要になってくるスキルもあります。

これらのスキルは要素技術とは異なり賞味期限というものがありません。エンジニアはどうしても「スキル=システムを構築するための要素技術」と考えがちですが、これらのスキルもシステム開発を行う上で大事なものです。

 

以上、色々と書きましたが、SIerってダメですかね? やっぱりWeb系企業じゃないとダメなんでしょうか。イメージ先行で毛嫌いされているところが大きいと思いますし、Web系企業に就職しないと技術がつかないということはないと思うんですよね。

なんとなくWeb系企業就職希望という方は、これを機にSIerも就職先として検討してみてもいいのではないでしょうか。

 

 

 

 

年末年始にコード書く前にやることがある

どうやらエンジニアたるものは年末年始にもコードを書いてないといかんようです。

 

昔からこのような休みの日にもコード書いてるぜマウンティングがTwitterでちょくちょくトレンドに上がってくるわけですが、やっぱりみんながコード書いてない時にコード書くとドヤ顔したくなっちゃうもんなんですかね。

私はもちろんこの年末年始はコードなんて1行も書いてません。書かなかったことに罪悪感もありません。書きたかったら書けばいいし、書きたくなかったら書かなくてもいいんじゃないかな。といったスタンスです。

コード書くより大事なことっていっぱいありますからね。家族もいますし。

 

とは言え、休日にでも余暇の時間を削って技術スキルを高めるくらいの覚悟がないと、この先やっていけないのではないかと危機感を持つフリーランスエンジニアの方もいるかもしれません。今回は、これについてフリーランスエンジニアブログとして言及していきたいと思います。

 

休みにコードを書くより、どんな案件に携わるかの方が大事

そもそもなんですが、案件によって獲得できる技術経験値は大きく変わってきます。なので、休みに勉強するかどうかよりも、日中の仕事で何をやるかの方が、スキルアップという観点では大事です。時間的にも仕事としてコードを書いている方が長いですし。

 

余暇を削ってコードを書くことは、「稼ぐ」ことに直結しない

次に、余暇を削ってまで技術を磨くことによって、「稼ぐ」能力が向上するのか?

これについては正直なところなんとも言えないです。確かに技術力が高い方が稼げるのは事実でしょうが、フリーランスだと技術スキルをあげること以上にやるべきことがありますから。例えば、このブログに以前から書いているようにコネクション作りがそれにあたります。いくら技術スキルが高くても商流が深ければ稼ぎは少なくなりますから。あと挨拶とかですね。プロジェクト離任時に挨拶していかないフリーランスが多すぎますw この辺りでもずいぶん差がつくと思うんですけどねぇ。

 

まとめ

元ツイートで言いたいことは、普段からアンテナを高くしておけよ! ってことかなと。その点に関しては私も同意です。ただ、じゃあ年末年始にもコードを書くべきかってとこについてはどうかと言われると微妙かなとも思います。

どちらかというと、むしろこういう長期の休みなんてそうそうないわけですから、旅行とか普段できないことをやってみて、一般消費者がどう考えているのかとか非エンジニアの感性を学ぶことに費やした方がいいのではとか思ったりしています。

 

 

 

 

 

実装技術だけ抑えても自走できるエンジニアにはなれない

久しぶりの投稿です。

日々、新しい技術が登場し、キャッチアップするだけでも精一杯ですね。IT系インフルエンサーの方々も、新しい実装技術を抑えているかどうかでエンジニアとしての価値が決まるといった論調ですし、「とにかく技術を追い求めていくこと」ができるエンジニアの姿勢として評価されてる時代かなとは思います。

ただここで少し考えておかないといけないのは、実装技術を多少知っていることが、即、いいシステムを作れることに繋がらないのが現実で、ことシステム開発全体においてはそれよりも大事なことが多くあるということです。

今回はそれについて述べていこうかなと思います。

 

 

要素技術を抑えても上流工程はできない

例えば、vueやreact、それにruby on railsを完全にマスターしたら、システム開発の上から下まで全て任せることができるかというと、そうではないです。

なぜならば、それらは飽くまでも実装技術であり、実装するものがあらかじめ確定していてこそ活用する機会があるものだからです。

もちろん作るものが詳細に確定している場合ならば別ですが、実際のシステム開発を経験したことがある人間ならわかると思いますが、まず明確な仕様を確定することが一つの関門なのです。要求をどう要件化していくか、どう基本設計として落とし込んでいくか。つまり上流工程なわけですが、これができないと「自走可能」なエンジニアとは言えないと思います。

 

上流工程ができるエンジニアになるには

どうすれば上流工程ができるようになるのか。これはやはり「経験」が物をいうというのが大きいと思いますが、最低限「知識」として抑えておかないといけないものがあります。特に、業務フローやデータモデリングはほぼ必須のスキルでしょう。これがかけないエンジニアには上流工程を任せることはできません。

なぜか、IT系インフルエンサーはここの分野について語らないわけですが、彼らはもしかすると上流工程に関わらなくていい身分だったのかな??

ともあれ、これらの技術をどうやって身につければいいのか。一番簡単な方法は書籍で勉強することです。特にデータモデリングの書籍は様々なものがありますので自分のレベルにあった物を選べばいいと思います。

あとは色々な現場もモデルを読むこと。なければ、自分で整理すること。データ構造を整理しそれらの関連を明らかにすることで業務の理解が深まるはずです。

 

まとめ

「自走可能」なエンジニアになるためには実装技術同様に、上流工程スキルが必要です。実装技術は日々新しいものに置き換わっていきますが、上流工程はそうでもないので、投資対効果は実は上流工程の大きいのです。

上流工程を抑えて「自走可能」なエンジニアになりましょう!