【極めるのは危険!?】プログラミングで大切なのは○○だ!
はい、どうも!
フリーランスエンジニアの南だいすけです!
今回は【極めるのは危険!?】プログラミングで大切なのは○○だ!について解説していきます!
これは結構初心者はやりがちで実は過去の私もしていましたw
現役フリーランスエンジニアとして様々なことを経験してきた今だからこそ
プログラミング初心者向けにプログラミングで大切なことを
今回もわかりやすく解説していきます!
耳で聞きたい方はこちら↓
実務のプログラミング
はじめに実務のプログラミングについてです。
みなさんがエンジニアとして就職したらどんな自分の姿を想像しますか?
大体の方がイメージされているのは
ガシガシコードを書きまくっている姿ではないでしょうか?
しかし実はこれちょっと違います!
私はiOSエンジニアなので
一番経験が多いiOSアプリを例に話しますが
iPhoneアプリの新規開発の場合、
まずはじめに画面から作っていくことが多いです。
まぁ画面がないと何もできないですからねw
期間としてはここで1〜2ヶ月です。
ここでの作業はもちろんコードも書くのですが、
主にstoryboardでButtonなどのパーツをおいていき、
レイアウトが崩れないようにしっかり指定していきます。
なのでここで必要なのは仕様通りの画面を早く、
汎用性が高いようにいかに作れるかということで、
コードの知識というよりは画面を作る知識になってきます。
またレイアウト指定も初心者からすると難しいところで、
正直これの正解はググっても出てこないことが多いです。
ではどうすればいいのか。
答えは簡単でたくさん経験することです!
ここは経験が多くなっていくうちにエラーなどが起きても、
「あーあそこちゃんとしてないからだ。。!」とわかってきますし、
自然とある程度何も考えなくてもこことここを設定しよう!となります!
またロジック部分で難しいところは本気で難しいですw
業界10年以上の方でも1個のタスクに丸1日かかるケースも全然あります!
なのでif文やfor文の練習を何回も繰り返すよりもtableViewだったりcollectionViewを使った画面を作りまくった方がいいです!
また初心者のうちはちょっとしたバグの修正だったり、
Textの大きさや色の変更などから触られてもらえるので、
そう言った感じでなれていけばいいです!
逆にこのようにはじめのうちはif文などは全く書かなくなるので
忘れないように個人的に書き方の復習をしておきましょう!
またGitの使い方やターミナルの基礎的な知識も必須なので、
そちらも押さえておくといいでしょう!
Gitについては過去の記事で押さえておきたい基礎用語などをまとめています!
\記事はこちら↓/
もちろんコードを勉強することは無駄ではありませんが、
それよりもアプリを作る全体像が理解できており、
わりかし初心者でも参入しやすいUIの部分の作成をすんなりできた方がポイントが高いです!
つまりはじめのうちはプログラミングを極めよう!と思うより、
全体を幅広く理解していく方にフォーカスを当てた方がいいです!
そうしていくうちにわからないことがどんどん出てくると思うので、
その都度調べて理解を深めていきましょう!
一番必要なことは?
結論からいうと実務で一番大切なのは幅広い知識です!
何か実装するときに「あ!それやったことあります!」と言えると強いですね!
また一度やったことがあったり調べたことがあるものは
実装に至るまでの調べるキーワードを知っています。
そうすると言わずもがな実装スピードが上がるので重宝されます!
なのでプログラミングにおける深い知識も大切ですが、
「プログラミング言語にめちゃくちゃ長けているエンジニア」と
「一人称で仕事はできるがある程度知っていてどんなものでも調べればできるエンジニア」
の方が活躍しやすい傾向にあるということは覚えておきましょう!
またプログラミングは若干趣味の域にもなりえます。
そういう方でしたら全然問題ないのですが、
私の仲間でもプログラミングが趣味で、
四六時中コードを打っていても苦でないどころか、
むしろそれが楽しいという方はたくさんいます。
こういう方と比べると、
圧倒的にインプットの量もアウトプットの量も勝てないので、
やはり前者になるのも並大抵の時間を費やしただけではなれないことがわかります。
だったら勝てるところで勝負する方が賢明です!
具体的によく実装で使うコードなどをまとめておくといいです。
例えばタップしたら表示領域が広がるViewの実装だったり、データが返ってきてない場合はそのViewを表示しないなどです。
私はもっと初期の頃はTableViewを作る手順をメモしていました!
メモに書かれているコードをコピペして手順通り進めれば作れると言った感じです!
特に初心者の頃はstoryboardでの処理、
例えばdelegateとdataSourceをつなげるなどは
忘れてパニクりがちなのでおすすめです!
こうしてたくさん作って経験していくうちに知識が定着していきます!
なのでとにかく経験し幅広い知識を身に付けていきましょう!
知識を貯めていこう
さいごに知識を貯めていこうです。
何度も言っていますがエンジニアはこれが一番大切です!
知っている=ググり力にもつながりますし、
面接・面談などでも深い知識までは聞くことができないので、
「〜についてどう思いますか?使ったことありますか?」と言われても
「〜だと思います!」と自分の意見を言うことができます。
嘘はいけませんがやはり「わかりません」は避けたいですよね?
こうなるためにインプット・アウトプットを習慣化することが大切です。
習慣化においては個人的には5分でも毎日することがおすすめです!
大切なのは毎日することです。
毎日の中に溶け込ませることでそれが自ずとルーティンとなり、
作業自体が辛くなくなるからです。
またアウトプットに関しては個人的にメモに書くだけでもいいのですが、
せっかくならQiitaやnoteにまとめてみましょう!
これも毎日繰り返すことを2週間くらい繰り返すと、
毎日積み上げてきたものを壊すのが怖いと言う心情になり、
より毎日のアウトプットが楽になっていきますよ!
またその発信したアウトプットは今後のポートフォリオにもなりますし、
自分のコンテンツにもなるので一石二鳥です!
そして私もそうですが自分が辛かった分、
過去の自分と同じ境遇の方の力に少しでもなれたら最高ですよね!
私を含めプログラミングと出会って大きく変われたと言う方は少なくないはずです。
毎日少しずつ積み上げてインプット・アウトプットを繰り返し、知識を蓄積していきましょう!
さいごに
最後まで読んでいただいてありがとうございました!
少しでも読んでくださった方の力になれたのなら幸いです。
本来なら自分のやっている情報商材の案内などをするところなのでしょうけど、私はやっていないのでYouTubeチャンネルとTwitterの紹介させてください!
YouTube:
Twitter:
これからも役立つような情報を発信していきますので、
気に入って頂けたらスキやフォローをしていただけると嬉しいです!
コメントも大歓迎です!お待ちしています!
ではまた次の記事でお会いしましょう!
この記事が気に入ったらサポートをしてみませんか?