駆け出しエンジニアだった頃の自分に伝えたいことをまとめました。 内容は、プログラミングのメリット、オススメのプログラミング言語、オススメの勉強法、ITにまつわる業界知識、面接で注目すべきポイントなどです。 気軽に読んでいただけたら嬉しいです。
0
オノユウ @yumaonodera_

ただ思うのが、 「まず何をしたらいいですか?」 に対する回答として、 こういうポジションを取ると稼げるというビジネス面の話は、 駆け出しエンジニアに対してはまだちょっとまだ早いかなと。

2020-03-26 13:23:32
オノユウ @yumaonodera_

駆け出しに寄り添って提案するなら、まずやることは、 ブラウザやエディタのインストールを通じてパソコンの使い方を覚えるとか、Progateでプログラミングのイメージを掴むとか、 まずそこからですよね。 ビジネスマインドは一人でWebサービス作れるレベルになってから勉強すればいいと思います。

2020-03-26 13:23:33
オノユウ @yumaonodera_

駆け出しエンジニアは就活の際、エージェントは使わない方が良いですよ。 なぜなら企業側からみたとき、エージェントから採用する人は採用コストが高いからです。 ロースキルのエンジニアを採用する場合、企業は「コスパ」を見ています。 コスパ勝負ならWantedlyとTwitter転職を活用しましょう。

2020-03-27 21:50:22
オノユウ @yumaonodera_

Web制作会社に就職するなら求められるのは「ポートフォリオ」ですが、 システム開発会社に就職するなら求められるのは「GitHubのコミット履歴」です。 もしPHPとかJS使ってプログラミングして仕事することを想定しているならポートフォリオ作りはほぼ無駄なので、代わりに個人開発をやりましょう。

2020-03-29 20:36:05
オノユウ @yumaonodera_

個人開発といっても単に就職目的ならそれほど手の込んだものを作る必要はないです。 掲示板やSNSなどテーマを決めて、 登録、参照、編集、削除といった基本的な機能を就職先の会社が使っているフレームワークで作るだけ。 完成させて市場に出せたら高評価ですが、そうでなくても十分に評価されます。

2020-03-29 20:42:23
オノユウ @yumaonodera_

Web開発は主に3つの分野に分かれます。 ・フロントエンド(Vue、React) ・バックエンド(Laravel、Rails) ・インフラ(AWS) 最近はツールが進化したおかげで一つの分野にかかる労力は少なくなりました。 だから複数の分野を横断的にこなすことも求められますし、そうした人材は重宝されます。

2020-04-12 12:03:21
オノユウ @yumaonodera_

今の時代的には「フルスタックエンジニア」の需要が高いのかなと。 フルスタックエンジニアとは、 フロントエンド、バックエンド、インフラの設計・開発に加えて、 要件定義やテスト、リリースなど一連の工程を全てこなせるエンジニアのこと。 技術分野で勝負するならこのポジションを目指したい。

2020-04-12 12:20:48
オノユウ @yumaonodera_

プログラミング初心者はProgateやドットインストールなどでまずコードに触れてみることが大切ですが、ある程度コードを書いたら今度はWebの基礎について勉強すると知識に深みが増します。 例えば、HTTP、URL、JSON、APIなど。 ここら辺の基礎は学んでおくとタメになります。

2020-04-15 22:15:46
オノユウ @yumaonodera_

正直、全てのWebシステムはJavaScriptだけで開発できると思う。 バックエンドはNode.js使えばいいし、静的型付けが好みならTypeScriptを採用すればいい。 コードのフォーマットはESLintやPrettierで自動修正される。 フレームワークもいいのが揃っている。 あえてPHPやRubyを使うメリットを感じない。

2020-04-22 22:16:59
オノユウ @yumaonodera_

WebシステムならJavaScript、電化製品ならRust、iOSならSwift、AndroidならKotlin、ゲームならC#。 こういった感じで区分けしていくと、本来必要なプログラミング言語って5つしかない。 もう2020年だし、そろそろ今の時代にあった開発言語にシフトしていっていいと思う。

2020-04-22 22:17:00
オノユウ @yumaonodera_

エンジニアになる以上は、HTML/CSSなどの基本的なコーディング技術に加えて、PHPやJavaScriptといったプログラミングの基礎は抑えておきたいですね。 こういった需要の高いスキルは雇用面・金銭面においてセーフティネットになり得るからです。 #駆け出しエンジニアと繋がりたい

2020-04-29 18:00:57
オノユウ @yumaonodera_

だけど、基本的なプログラミング技術を身につけた後はとうしますか? 選択肢は3つあると思います。 ①より高度なスキルを習得 ②マネジメントやデザインなど別分野のスキルを習得 ③ノンプログラミングツールを習得 これまで①と②だけが検討されてきましたが、僕は③もありなんじゃないかと。

2020-04-29 18:00:58
オノユウ @yumaonodera_

これからのエンジニア論 ①コードを書けるようになる =汎用的なスキルを身につけて、いつでも転職可能なセーフティーネットを築く ②コードを書かずに個人開発 =企業より迅速にアイデアを形にして資産を築く ①は守りの型、②は攻めの型。 攻守ともに鍛えておくと、他のことにも挑戦しやすくなる。

2020-05-03 12:00:25
オノユウ @yumaonodera_

本当はコードを書く以外にもお客様とのやり取りやプロジェクトマネジメントなどができると単価も上がるのですが、駆け出しレベルのエンジニアはまずコードを書けるようになることを目指せばいいと思います。 最低限それができれば、セーフティーネットとしては必要要件を満たしていると思うので。

2020-05-03 12:05:47
オノユウ @yumaonodera_

ケースバイケースですが、 基本的に短時間でコーディングできるようになろうとかあまり考えなくていいと思います。 なぜなら、時間で競う働き方は消耗するからです。 コーディングスピードで価値を出すよりも、技術力磨いて作れるものの幅を広げるほうが幸せになれるはずです。

2020-05-05 10:27:20
オノユウ @yumaonodera_

経験上、HTML/CSS、jQueryだけでクラウドソーシングで稼ごうと思うと、どうしても単価の安さで背比べするしかなくて、結果として時間単位で生産できる量を増やす方向に追い込まれます。 だから稼ごうと思うとWeb制作は意外とハードです。 その点、システム開発はライバルと差別化しやすく稼ぎやすい。

2020-05-05 10:42:15
オノユウ @yumaonodera_

「ゴリゴリのエンジニアになって昇進して稼ぎまくりたい」とかだとコード書ける以上に多くのことを求められますが、 「YouTuberやブロガーになりたいけど食いっぱぐれるのが不安なのでとりあえずエンジニアになる」とかなら、ひとまずHTML/CSS、js、PHPを習得するのを目標にすればいいと思います。

2020-05-09 09:18:26
オノユウ @yumaonodera_

面接で「Web開発がやりたいです。だからLaravelやRailsを使っている会社を探しています」ならわかるけど、 「Rails下火になっていますし、Laravelじゃないと気が乗らないです」だと理由がショボいのと、こだわり過ぎということで、あんまり印象よくないと思います。開発環境へのこだわりはほどほどに。

2020-05-09 18:09:27
オノユウ @yumaonodera_

とはいっても、「技術とかなんでもいいのでとりあえず働かせてください」とか、想いやこだわりが薄過ぎるのもよくないんですよね。 ある程度軸が定まっていないと、会社とのミスマッチですぐ転職しちゃうんじゃないかと思われる場合もありますから。 ほどほどにこだわりを持つのが良い。

2020-05-09 18:13:15
オノユウ @yumaonodera_

とある会社に面接に行った時のことですが、「PHPを2年経験すれば食いっぱぐれることはない」と言われました。 つまり、セーフティーネットとしての技術習得を目指すなら、「2年」が一つの目安です。 適切な場所で、2年頑張れば、ブロガーやYouTuberといった他のことにも挑戦する余裕が生まれますね。

2020-05-10 14:42:32
オノユウ @yumaonodera_

ちょっとプログラミングに詳しくなると、他人の書いているコードに納得いかなくなってきますよね。 ただ思ったんですが、何が最善のコードなのかって人によって考え方違うと思うので、必要以上に他人の書くコードに干渉すべきでないなと。 そう考えると、ちょっと心が楽になります。

2020-05-13 17:28:50
オノユウ @yumaonodera_

エンジニアの面接で個人開発で書いたソース見せるとき、 フロント側の実装をVueとかReactじゃなくてjQueryで実装していると、 「なんでjQueryで実装したんですか?」 って突っ込まれるので、Web系の会社の面接を受ける際は、Vueできるようになっておいた方がいいです。

2020-05-15 15:54:23
オノユウ @yumaonodera_

エンジニアは大変って言うけど、他の職業よりはマシだと思う。 ・12時間スーパーでの品出し ・6時間延々と紙を機械にセットするだけの作業 ・6時間荷物運び アルバイトや派遣やっていたとき、僕は上記の仕事をやってきましたが、 正直エンジニアの方が楽です。

2020-05-15 21:18:06
オノユウ @yumaonodera_

プログラミング初心者でありがちなのが、どっかで拾ってきたコードを意味を理解しないまま流用してしまうこと。 それが原因で不具合を起こすことがよくあります。 コピペするならきちんと理解してから使うのが大切ですね。

2020-05-15 21:19:53
オノユウ @yumaonodera_

フロントエンド(Vue)とバックエンド(Laravel)をやっていますが、今のところフロントエンドのほうが難しい印象です。 というのもフロント側はオブジェクトの扱い方とか処理のタイミングとか実装にあたって色々と考慮すべき点が多いからです。 そしてエラーの原因も把握しにくいから割としんどい。

2020-05-19 17:04:21
オノユウ @yumaonodera_

結論から言うと、 コーディングとWordPressを勉強してWeb制作で実績積んでフリーランスで月5万稼ぐよりも、 LaravelとVue勉強してTwitter転職でWeb開発会社に就職、その後2〜3年経験積んだ後フリーランスとして独立するほうが、はるかに簡単で、おそらく確実だろうというのが今の僕の見解です。

2020-05-23 16:56:38
オノユウ @yumaonodera_

Git関連のおすすめ記事3選 GitHubアカウント作成からプッシュまで qiita.com/folivora/items… 開発ブランチ作成からマージまで qiita.com/Naoki206/items… SourceTreeとの連携 qiita.com/suzutatsu/item…

2020-05-25 21:56:17
オノユウ @yumaonodera_

コードを書きまくればプログラミングできるようになるって言う人いるけど、あれは半分正解で半分間違いです。 意味も理解せず、教材の言うままにただコードを書くだけでは身につきません。 コードの意味を理解した上で、自分でプログラム書いて、実際に簡単なアプリを作ってみることが大切です。

2020-06-04 11:24:36
オノユウ @yumaonodera_

例えば、 BMI計算アプリは、四則演算と文字の出力が身につきますし、おみくじアプリはランダム関数の使い方やswitch文の書き方が身につきます。 for分を理解したいなら、掛け算の九九表を出力してみるなど。 データの保存や取得などを勉強するなら、掲示板アプリやTODOリストを作ってみると良いです。

2020-06-04 11:30:19
オノユウ @yumaonodera_

Progateやドットインストールでの学習など「インプット」の過程においては、完璧に理解せずとも7割ぐらい掴めれば先進んでも問題ないと思います。 ただし、模写コーディングなど「アウトプット」の過程においては、わからない部分をうやむやにしないで、しっかり作り込むことをオススメします。

2020-06-13 10:46:23
オノユウ @yumaonodera_

「はじめに勉強するプログラミング言語として、PHPとRubyどっちがいいですか?」っていう質問ありがちですが、 結論言うと「PHP」です。 理由はPHPの方が求人数が多いから。 幅広い選択肢から就職先を選ぶなら、まず先に「PHP」を勉強するのが得策です。

2020-06-13 13:00:46
オノユウ @yumaonodera_

プログラミング初心者に、CやJavaを勧める人もいまだにいますが、 自分でまともにアプリ作れないうちから、CやJavaを勉強するのは正直オススメしません。 例えるなら、 自転車にも乗れない子供が戦車に乗るようなもの。 挫折するのも無理はないですね。 まずは、HTML/CSS、JavaScript、PHPからです。

2020-06-13 13:17:58
オノユウ @yumaonodera_

ウェブ制作とかプログラミングを学習すると、ポートフォリオ作りたくなると思うんですが、 お問い合わせフォームの実装には注意した方がいいですよ。 中途半端に作ると、謎のスパムメールが届いたり、ハッキングされたりします。※経験済み

2020-06-13 13:24:15
オノユウ @yumaonodera_

プログラミング言語の構文は複雑そうに見えて実は単純です。 業務で主に使うものは、if文、switch文、for文、forEach文の4種類しかない。 冷静に考えてみると、日本語よりも、明らかに単純で分かりやすいはずです。 つまり、日本語が使えるなら、プログラミングもすぐに理解できる。

2020-06-16 09:30:01
オノユウ @yumaonodera_

SESって言っても、いわゆる「持ち帰りの案件」とかもあるので、全部が「SES=ガチャ」ってわけではないですよ。 僕の契約形態はSES(準委任契約)ですが、働く場所は自社か自宅だし、開発環境は自社が完全指定しているので、ほとんどの場合LaravelとVueです。

2020-06-20 16:56:25
オノユウ @yumaonodera_

技術者としての市場価値を上げることが目的なら、契約形態に着目するよりも「開発言語の比率」に注目したほうがいいですね。 面接で聞いた時に、「開発はうちでコントロールしているので大体Laravelですね」とかスパッと言ってくれる会社は安心。 「取引先によって変わります」だとガチャになりがち。

2020-06-20 17:01:54
オノユウ @yumaonodera_

フリーランスで直案件を勧める人をよく見かけるんですが、相当実績があるか、人とのコミュニケーションが好きな人じゃないと、営業はしんどいと思いますね。経験上。 営業で消耗するくらいなら、何割かマージン引かれるにしてもエージェント経由で案件とった方が労力的なコスパは良いと僕は思います。

2020-06-21 18:21:04
オノユウ @yumaonodera_

Web制作で稼ぐのがどれだけ大変かはやってみればわかると思いますが、結局は向き不向きなんですよね。 僕の中のイメージで言うと、 人と向き合うのが好きな人は、ウェブ制作向き プログラムのエラーと向き合うのが好きな人は、システム開発向き という感じです。

2020-06-24 20:41:56
オノユウ @yumaonodera_

ウェブ制作は、システム開発と比べると技術的には簡単なほうだと思います。 ただ、その分単価が安いです。 単に"作る"だけだと稼げないので、直案件とるために営業したり、ディレクションをやる人も多いです。 そういう意味で、良くも悪くもウェブ制作は人と接する力が単価にダイレクトに響きます。

2020-06-24 20:50:05
オノユウ @yumaonodera_

エンジニアを目指す友人とのやりとり① 「おすすめの言語は?」 →HTML/CSS、PHP、JavaScript 「PHPとRubyはどっちがいいの?」 →PHP、就職先がPHPの方が多いから 「JavaとJavaScriptはどう違うの?」 →全く別物。Javaは大規模開発に使うことが多い。JSは画面に動きをつけるために使う。 続く

2020-06-27 19:29:35
オノユウ @yumaonodera_

エンジニアを目指す友人とのやりとり② 「副業感覚で10万稼ぎたい」 →副業で5万稼ぐよりも、就職して20万稼ぐほうがはるかに楽なのは確かだけど、それでもやる気ある? 「勉強のモチベが続かないので、どうすればいい?」 →危機感がないと続かない。あとは目標意識を持つこと。 続く

2020-06-27 19:29:36
オノユウ @yumaonodera_

エンジニアを目指す友人とのやりとり③ 「いきなりは不安だからとりあえずサイト作れるようになりたい」 →それなら期限だけは決めたほうがいい 「おすすめの勉強法は?」 →Progateで苦手意識を克服、ドットインストールで復習、模写コーディングで実践力をつける 続く

2020-06-27 19:29:36
オノユウ @yumaonodera_

エンジニアを目指す友人とのやりとり④ 「テックアカデミーってどう?」 →スクールだから金かかるし、それなら就職して金貰いながら勉強した方が良いのでは? 「デイトラっていう教材どうなの?」 →すごく良い、ただし現在は有料なのでそこら辺は財布と相談 続く

2020-06-27 19:29:37
オノユウ @yumaonodera_

エンジニアを目指す友人とのやりとり⑤ 「プログラミングに向き不向きはある?」 →ない、誰でもできるようになる。ただしエンジニアに向き不向きはある。 「就職時にポートフォリオの提出は必要?」 →必須ではないがWeb制作ならポートフォリオ、システム開発ならGitHubのコミット履歴あると有利。

2020-06-27 19:29:37
0
まとめたひと
オノユウ @yumaonodera_

25歳AB型。性格タイプはINTJ。在宅でエンジニアやってます。海外に移住して穏やかに暮らすのが目標です。