はじめに
これはプログラミング初心者だった僕がものすごい幸運にめぐり合えて実務経験をすることができるようになった2022年の4月から1年間を通して学んだことをまとめた記事です。
この記事の対象者
この記事は、
プログラミング初心者の方
これからインターンに応募しようと思っている方
などを対象にしています。
ただ、「これをするといいよ」みたいなことを言っているわけではなく、あくまで僕のこの1年間をまとめたものなので注意してください。
あと、ベンチャー企業で研究開発に携わっていたので、Web系のことはあまりやってません。
注意
仕事でやっていたことなので詳しく言えないところもありますが、できるだけ参考資料は貼っておきます!
実務経験1年目でまだまだ新参者ですが、この記事が誰かのお役に立てれば幸いです。
1年間を通して学んだこと
4月
- この月は研修期間みたいな感じで、プログラミングの基礎を教えてもらっていた。言語はPython。条件分岐、繰り返し、配列、関数、クラスを学んだ。面白い練習問題を解きながらプログラミングの基礎を身に付けていった。
5月
- GWに何かゲームを作るという課題が出された。最初はオセロを作りたかったが作り方がほとんど分からず断念。次にブロック崩しを作ろうとしたが時間が足りず、ボールが跳ね返る処理と棒を動かす処理しか作れなかった。期限までに1つのものを完成させることの難しさを実感した。
- csvファイルを初めて知り、ファイル操作の方法を学んだ。加速度のデータをcsvファイルに出力することができるようになった。
- Arduinoと加速度センサを初めて触った。
- 学んだことを活かし、大学の実験で使うプログラムを作った。PythonのライブラリのNumpy、Matplotlib、Pandasについて知り、データの可視化の方法などを学んだ。
6月
- Processingを初めて使ってみた。Processingを使って加速度センサから取得したデータの描画をした。
- ここらへんからシステム開発にちょっとずつ関わるようになり、GitとGithubを初めて知った。使い方に慣れるために大学の課題のプログラムをGithubにあげてみるということをした。
- MediaPipeという人間の骨格を検出するPythonのライブラリについて知った。PythonのOpenCVというライブラリに関して、骨格の各点の間を線でつなぐということをした。初めて他の人と一緒に開発をした。関数の使い方を知り、変数名の重要さを学んだ。ここで、大学の授業で少し触れていたこともあってか、画像処理に興味を持ち始める。
7月
- Arduino、加速度センサを使って加速度データの取得ができるようになった。初めて自分1人で調べながら電子工作をした。
- 画像処理の使い方を学ぶために、当時ハマっていたSplatoon2に関係するようなプログラムを作れないか検討していた。
8, 9月
- 骨格検出の方法をいろいろ調べた。AzureKinectを使うという方法を知り、実際にそれを触る。Azure Kienct Body Tracking SDKというものを使って体のトラッキングをして遊ぶ。
- 実験を全部自動でしたかったのでプログラムを書いていたが、すべてを自動化しようとしすぎてうまくいかなかった。TkinterというPythonのライブラリを使ったGUIの作成方法を学んだ。
- Splatoon2に関するプログラムを書いた。ここでクラスの使い方をほぼマスターした。初めて自分で0から考え1つのものを作り上げるという経験をしてとても自信がつき、「プログラミングができるようになったな」と思えるようになった。またgit-flowについて知った。
10月
- STUDIOというサービスを始めて使った。ここからWebに関する興味を持ち始めた。
- 個人的に、PythonのライブラリのFlaskやDjangoについて勉強した。インターネットに関することだったので、今まで勉強してきたプログラミングとは何か違うなと感じた。
- ここで初めてLancersというフリーランスのマッチングサイトみたいなもので案件を獲得した。仮想通貨に関するプログラムを作った。
11月
- 展示会用に電子工作をしたり、宣伝用Webページを作ったりした。
- 深層学習のコンペみたいなものがあると知り、深層学習について学んだ。
- 会社のホームページ制作の手伝いをし始めた。初めて知るものが多く、周りについていくのでいっぱいいっぱいだった。Dockerについて初めて知ったり、JavaScriptを初めて触ったりした。
12月
- 初めて展示会に手伝いで参加した。作ったものを誰か他の人に見てもらうことは難しいんだなと感じた一方で、誰かと協力して作品を作ることは楽しいしやりがいになるなとも思えたいい経験になった。
1月
- Github Actionsを初めて知った。それを使った自動化システムを作った。
- 会社のホームページ制作を手伝った。だいぶインターネットに関する知識がついてきて周りに追いつけるようになってきたなと感じた。
2月
- データ解析プログラムを作った。フーリエ変換や線形補間などのデータの分析のために必要なことを学んだ。
- 1年間の振り返りをした。
3月
- 実験のレポートを書いた。かなり大変だった。プログラムを作るときには先に設計書を軽くでもいいから書いとくべきだった。あと先行研究を先にしっかり決めて方針を立ててから実験するべきだった。いろいろプログラムを変えまくってると頭がこんがらがっていくし、後から参考になりそうな先行研究を見つけて、「先に調べとけばこんなに時間かからなかったのに。。」と思った。
まとめ
この1年間でエンジニアとしてこれから生活していく第一歩が踏み出せたんじゃないかなと個人的には思っています。
エンジニアとして自立、とまではいかないかもしれませんが、少なくとも自分で勉強していく力はつきました。
また、まだまだ経験が浅く、分からないことがたくさんあるのは当たり前なので、何が分からないのか?ということを細分化して考え、それをひとつひとつ調べていくという作業ができるようになりました。
これからプログラミングを勉強する人やインターンに行く人も、これができるようになれば大きく成長できると個人的には思います。
僕も次の1年、楽しみながら勉強して、できることをどんどん増やしていきます!
最後まで読んでいただき、ありがとうございました!