#はじめに
もうすぐ新社会人として(あるいは異業種からの転職で)プログラマやSEになられる方、あるいは、今現在インターンされている方向けに少し経験談をお話ししたいと思います。
アドバイスができるほど、経験豊富ではありませんが、新人SEから抜けた今だからこそ、新人の頃を振り返って記録として残そうと思いました。
上記の方々には、こういう考え方もアリだよ!程度の参考にしていただければと思います。
#新人になる前にやったこと
【プログラムの流れを理解する】
ロジックを考えるにあたって、プログラムの流れは重要な要素だと思います。
そしてそのロジックは、業務上プログラムを書く上でもっとも大事な部分になります。
このロジックが適切な流れで書かれていないと、データ不整合・速度低下の原因になったり、
そもそも実現したい内容が上手くできなかったりします。
なので、プログラムの流れを理解するという勉強は基礎として最初に学びました。
いわゆる「フローチャート」で学んだ知識が今につながっています。
新人になってプログラムの流れは、すでに組まれているシステムのコードを見て学びました。
他人のコード(特に金銭が発生しているシステムのコード)はとても有益です。
学生時代に書かれていたコードは参考にはなりますが、経験にはなりません(でした)。
なので、アルバイトやインターンで働いている方は、その勤務先で書かれているコードを色々見てみてください。
勉強になりますよ。
【一つの言語に慣れる】
学生時代、アルバイト時代、新人時代、現在、趣味。
ここまで色んな言語に触れてきました。(COBOL・C・Java・C#・Ruby・Swift etc...)
その中で僕は、Android開発をしていることもあり、Javaに深く慣れることを努力しました。
一つの言語を極めなくても、慣れることが大事です。
慣れると何がいいかというと、
-
どの言語でも基本的なものは変わらないので可読性が上がる。
- 仕組みや使い方が違っても、言語間の根本的なものは何も変わりません。なので、何がしたいのかが理解しやすくなります。
- 例えば、If文やFor文とかは、書き方が違うだけでやることは一緒ですね
- Web言語も例外ではないです。やることは同じです。
-
デバッグ時に何が原因でエラーが起きているのかを理解する速度が速くなる。
- 何がダメなのかは直感的に分かるようになります。(またこのミス、、、と思うこともしばしば)
ちなみに、PHPも業務上触れる機会があったので触れましたが、知見が無いので書くことは現時点ではできませんが読むことはできます。(この部分はどうしたいんだな~という感じです。)
なので、追記したり、修正することは多少できます。
【コードを見ない日を作らない】
これは正直どちらでもいいのですが、基本、毎日コードを見たり書いたりしてます。
仕事柄、見ない日はないのですが、仕事とは別に趣味の範囲でコードを書いたり、
調べ物をしたりしています。
前述した通り、他人のコードでも参考にはなるので見るのもオススメです。
別にコードと友達になる!というわけではありませんが、見ない日を作ると、
コード勘が薄れそうで怖いから、習慣でやっているだけです。
【なんでも良いので何か作る】
これはとても大事です。
何かアプリでもシステムでも良いので、自分で仕様定義して、
DBリレーションを考えたり、UIを考えたりするというのは、この仕事にとってとても大事な感性になります。
この感性が足りないと、仕事でも、これで何を実現したいのか、使用する上で何が都合悪いのか、
このUIで本当にお客様に使いやすいのか、無駄なデータ関係を作っていないか etc...
いろんな物事が実際の仕事の「フィードバック」に繋がってきます。
「フィードバック」はとても大事です。これが浅いと自分の評価がはっきりと言って落ちます。
まずは、あなたが今欲しい・必要なものを自分で作って見ましょう。
公開しなくてもいいし、ただ単純に自分が作りたいものを作るだけです。
それが最終的に「アイデア」に繋がります。
因みに今から僕たちが考えるアイデアは大抵あります。存在します。誰かが実現しています。
それでも自分なりにそのアイデアをアレンジして組み上げていくのは大いにアリだと思います。
なので、まずは「制作」しましょう。
【プログラミングテストをひたすら受ける】
Paizaなどがオススメです。ランクAは試験時間が長いので、ランクB辺りを周回する方が経験になります。
番外編
-
資格を取る
- 国家資格を取るのが一番良いです。国家資格という看板が分かりやすいし、何より試験金額が安い。
- 他のベンチャー試験は、大抵、5桁いきます。(学生さんは例外かもしれません。)
- 社会人になってからはかなりコツコツにどうしてもなるので、学生の間に取っておいた方がベストです。
- 基本情報 → 応用情報 の流れがオススメです。
- ITパスポートはあまり意味がないかも。(それくらいはわかってて欲しいと思われる)
- 国家資格を取るのが一番良いです。国家資格という看板が分かりやすいし、何より試験金額が安い。
-
英語を理解する
- ドキュメントが英語ってことはザラにあるので、覚えておくことに越したことはない。
- 大抵のトラブル解決方法は、「Qiita」か「StackOverFlow」である程度解決するので、覚えておいて損はない。
- 後々を考えてわかるようになった方がいい。いやマジで。
終わりに
経験豊富ではないので、自分なりに今までやってきたことを踏まえて、
身になったと思ったものをピックアップしてみました。
あくまで一例なので、自分達なりのやり方で切り開いていくことが大事ですが、
僕たちの時代には、今ほど情報が流通していたわけではなく、自分達なりにやるしかありませんでした。
そうできたのは、家族の支えなどがあったからでしたが、この記事がそっと支えになってくれるような記事になってくれれば嬉しいです。
自分自身が嫌になることが多い職業ですが、それでも何かを作り上げるのはとても楽しい職業なので、是非、頑張って行きましょう!
長文失礼しました。これから色々OutPutしていきます。(サボり癖が治らない、、、)