エンジニアになりたいけど、踏みとどまってしまうアナタへ

はてブ

私は今、エンジニアとして働いています。

 

元々は文系人間だった私がエンジニアになるまでの経緯はコチラの記事をご覧ください。

 

今回の記事ではエンジニアになりたいけど、踏みとどまってしまうアナタに向けて、私が実際にエンジニアとして働いてみて感じた「エンジニアのメリット/デメリット」を赤裸々に綴らせて頂こうと思います。

 

本記事に記載している内容はあくまで主観になりますので、あらかじめご了承ください。

 

エンジニアという職種のメリット

エンジニアのメリット

フリーランスという選択肢

ブロガーやデザイナーと並んで、エンジニアはフリーランスの代表的職種です。

 

企業に勤めなくても、自分一人でお金を稼ぐ、という選択肢があります。

 

フリーランスとして働けるということは、自分の裁量で案件を決められたり、好きな時に好きな場所で働くことができます。

 

それにより、仕事に対する充実感や達成感が向上するだけでなく、人間関係や給料に関する不安も解消されます。

 

最近では「副業」や「複業」という言葉も認知され始め、企業に勤めながらフリーランスとして働く人もいます。

 

本職としては企業に勤めているので、一定の収入を確保することができ、フリーランスとしての仕事ではやりがいを追求することもできます。

 

しかし、企業で働いている時のように、何もしなくても案件が存在するわけではありません。

 

自分で営業をしなければいけなかったり、給料が不安定という側面もあります。

 

ただ、ランサーズレバテックなどの仲介サービスを利用することでその不安は軽減することが可能です。

 

時間や場所を選ばない

「エンジニア」という単語を聞いた時に、一番最初に思い浮かぶのは「パソコンさえあれば仕事ができる」だという人が大半なのではないでしょうか?

 

そのイメージの通り、エンジニアはパソコンさえあれば成り立つ職業と言えます。

 

正確にはWi-Fiなどの通信環境も必要ではありますが、常時必要というわけではありません。

 

私は旅が好きなので、日本国内だけでなく、海外へ行くことも多々あります。

 

その際、ネット環境に困ったことはありません。

 

何が言いたいかというと、もし通信環境が必要になったとしても、どこにでも環境は確保されているということです。

 

であれば、必須なのはパソコンのみということになります。

 

特にフリーランスとして働く場合は、パソコンさえ持っていれば、旅行をしながら好きなカフェにこもって仕事をすることも可能です。

 

一方、社員として働く場合は会社の規約によりますし、規模の大きなプロジェクトに参加してしまった場合や、顧客情報などの漏洩しては困る情報を扱う場合はコミュニケーションが必要だったり、セキュリティ環境のしっかりとした場所で働かなければいけなくなるので出社が必要になる場合もあります。

 

最近はリモートワークを推奨する企業も増えてきましたが、まだまだ浸透していないのが現状なので、企業選びのポイントにするとよいと思います。

 

エンジニアの市場価値

ITの急速な成長の影響を受けて、エンジニアの市場価値は年々増していると言われています。

 

特に、スマートフォンアプリのエンジニアは需要が高く、一案件に対する報酬も値上がりしています。

 

また、一括りに「エンジニア」と言っても、実はシステムエンジニア(SE)とプログラマー(PG)に分けることができます。

 

みなさんが想像しているエンジニアは「プログラマー」であることが多いです。

 

プログラマーは開発の工程で、プログラミングを行い、実際にシステムを構築する担当者を指します。

 

一方、システムエンジニアは開発の要件定義から設計、プログラミング、テストまでを一貫して担当する人を指します。

 

プログラマーは技術的なスキルが、システムエンジニアはそれに加えてマネジメントのスキルが必要です。

 

なので、一般的にはシステムエンジニアの方が市場価値は高いと言われていますが、プログラミングのスキルを向上させれば、システムエンジニアと同等の水準、もしくはそれ以上の報酬をもらうことも可能です。

 

コードを書くのが好き、技術的なスキルと向き合いたい、と言う人にはプログラマーが、コードを書くのも好きだけど、システム全体のディレクションをするのが好き、デザイナーやクライアントなど、プロジェクトに関わる人とコミュニケーションを取るのが好き、と言う人にはシステムエンジニアが向いています。

 

どちらのエンジニアを目指すにしても市場価値は高いので、自分にあったエンジニア像を目指すと良いと思います。

 

RPGのような楽しさ

この記事を読んでいる皆さんは、特にプログラミングをしたこともないし、何をしたらいいのかサッパリわかってないけど、でも興味がある状態なのではないかと思います。

 

そんな皆さんに朗報です。

 

この記事を書いている私も、社会人になるまでプログラミングを経験したことはありませんでした。

 

ですが、今となってはObjective-C, Swift, AndroidJava, JavaScript(Node.js, React.js), PHP, HTML, CSSを理解出来るほどに成長しました。

 

これはきっと、エンジニアという業種がRPGに似ていたからだと思います。

 

例えるなら、社会人になりたての頃の私は平凡な農民です。もちろん装備はゼロ。

 

その状態から、私はObjective-Cと言う名の剣を手に入れました。

 

その後、AndroidJavaと言う名の盾を手に入れました。

 

Swiftを手に入れたことで剣の攻撃力はさらに増し、JavaScriptと言う名の鎧を装備することで防御力が増しました。

 

今は、ラスボスに挑戦するにはまだ早いものの、ミニボスに挑戦出来るくらいのスキルを身につけた感覚です。

 

こんなイメージで、エンジニアはスキルを学べば学ぶほど、わかりやすく出来ることが増えていきます。

 

RPGが好きな人は、主人公になった気分で楽しめると思うので、強くオススメします。

 

エンジニアという職種のデメリット

デメリット

アップデートがつきもの

スマホを利用していればアプリやiOS、AndroidOSのアップデートを経験したことがあると思いますが、プログラミング言語やシステム環境にも同様にバージョン/アップデートが存在します。

 

例として、iOSのアプリ開発で私が経験したことをあげてみます。

 

私がiOSエンジニアと働き始めてすぐの2015年はiOS8が発表された翌年でした。

 

iOS8ではUIAlertViewとUIActionSheetというアラートを表示するための機能がDeprecated(非推奨)となり、代わりにUIAlertControllerが推奨され、その対応を行わなければいけませんでした。

 

新規で作成するアプリに関してはUIAlertControllerを利用すれば問題なかったのですが、既存のアプリはリプレイス(置換)の対応をしなければなりませんでした。

 

また、2014年にはiOSの開発言語として新しくSwiftが発表されました。

 

それ以前のiOSアプリ開発はObjective-Cという言語を利用するのが主流でしたが、Swiftの方が記述が楽だったり、ファイル数が減ったり、という理由で現在はSwiftでの開発が主流となりつつあります。

 

Objective-Cは2007年にObjective-C 2.0が発表されてから特にアップデートはありませんでしたが、Swiftはまだまだ開発途中の言語であるため、年に一回ペースでアップデートが行われています。

 

アップデートのタイミングで記述方法が変わったりと、同じ言語を利用しているのに改修が必要になったりするため、iOSアプリ開発者はその度に学習が必要なのです。

 

こうしたアップデートによる学習は、iOSに限った話ではなく、他の言語でも起こり得ます。

 

そのため、エンジニアには新しい技術に対する対応力が必須となります。

 

基本的に独学

「エンジニアになりたい!」という方から、よく教えて欲しいと言われるのですが、残念ながら私から教えられるのは基本的な概念の部分だけです。

 

開発するサービスによってやりたいこと、書かなければいけないコードは異なります。

 

それなのに、その全てを最初から全て教えておくことは現実的に考えてほぼ不可能です。

 

わからないことが出てきたら都度質問する、みたいなこともできなくはないですが、すでにお伝えしているように、エンジニアの業界はアップデートがつきものです。

 

その質問を受ける人にとっても新しい技術が、次から次へと出てきます。

 

そうなった場合どうするかというと、自分で調べて、学ぶしかないのです。

 

逆に、自分で調べて、学ぶしかないからこそ、プログラミング/コーディングには正解がありません。

 

自分にとっては理想的なコードも、誰かからしたらわかりづらいコード、なんてことも多々あります。

 

それは、エンジニアの誰しもが自分なりに勉強して、自分なりの理想のコードを追い求めた証であるとも言えます。

 

「基本的に独学」という考え方に関して、同じ意見且つ、とてもわかりやすい文章で述べられているサイトがあったので、リンクを貼っておきます。

 

他のコラムもおもしろいだけでなく、こちらのサイトはエンジニアとしての基礎知識を理解する時にもとても為になるサイトなので、ブックマークしておくことをオススメします。

 

時には深夜に対応する場合も

みなさんはアプリやWebサービスをいつ利用することが多いですか?

 

大半の人が日中、遅くても24時までと答えるのではないでしょうか?

 

サービスの利用者が減るのは自ずと日を超えてからの深夜の時間帯になります。

 

その為、サービスの大幅アップデートや大規模の改修は、その時間帯を利用して行われることが多いです。

 

もちろん、翌日が代休になったり、出社時間が遅くなったり、深夜手当がついたり、というフォローがあるところが多いので安心して欲しいのですが、そういう働き方をする可能性もあるということは頭の片隅に留めておいて下さい。

 

まとめ

エンジニアまとめ

私がエンジニアとして働いてみて感じたメリット/デメリットをまとめてみましたが、いかがだったでしょうか?

 

今回、メリット/デメリットを列挙する際にメリットの方が自然と多くなっていたのは、エンジニアという職種が楽しいからなのではないかと思います。

 

ですが、あくまでこれは私が思うメリット/デメリットなので、実際にやってみたら全然違った、ということもあると思います。

 

エンジニアに興味がありつつ、一歩を踏み出すことができない。

 

そんな状態でこの記事を最後まで読んでしまったアナタには「とりあえずやってみる」ことをオススメします。

 

やらなきゃ何もわかりません。向いてなかったら辞めればいいだけの話です。

 

Progateドットインストールなど、無料でプログラミングを学習できるサービスもたくさんあるので、まずはそこから始めてみましょう。

 

もし、どの言語を学ぶか悩んでいる人がいるのであれば、まずは「HTML&CSS」からやってみるといいです。

 

また、「Webサイト開発よりアプリ開発に興味がある!」という人には、Androidのアプリ開発から経験することをオススメします。

 

Androidのアプリ開発はJava言語を使うので、もし途中でWeb開発に興味を持った場合にも応用が効きます。

 

というより、そこで悩むのもやめて、とりあえずやってみましょう!

 

この記事をキッカケにエンジニアへの一歩を踏み出し、お互いエンジニアとしてどこかでお会いできることを心から楽しみにしています。

関連記事