いま某大学で情報について学んでいる3回生から就活の相談を受けていて、その人から「これからアプリ開発をしていこうと思うが何から手をつけていいかわからない」と質問が来たので、送ったメモの転記。
いきさつ
「いま大学もリモートワークで、就活の相談もままならない情報の3回生が友達の息子にいるので、ちょっと相談に乗ってあげてほしい」と父親から連絡来たので、1時間ほどZOOMをしました。
で、そのときに「情報出身でSIer系志望なら自作アプリとかあると結構アピールできるよ」とアドバイス。
情報系の学部出身の大学生がみんなプログラミングをバリバリ書けるというわけではなく、授業と研究以外でコードを書かなかったという人も多々います。なので、研究が本格的に動き始める前の就活シーズンだと、過去のプログラミング経験を聞いたときに「授業でJSPのWebサイトつくった」だけというレベルの人も普通にいます。
私も情報系の大学出身なのですが、FizzBuzz書ける人半分いるのかな?くらいの体感でした。どちらかというとサブネットマスクの計算方法とかビット演算をできる人のほうが多いのでは?
そんなわけで、「自作アプリ作っておくと面接のときにデモもできるし、コードについての理解も深まるので良いよ」とアドバイスしたのですが、後日 「アプリ製作についてまったくわからず、どこから手をつけていいかわからない。」とメールが来たので、ちょっとまとめて返信しました。
Web
正直、先方のスキルがあまり把握できてなかったので、レベル別に。
1. HTML・JavaScriptを書いたことがない
このレベルだと、まずはHTMLやJSの書き方をドットインストールで学ぶのがオススメ
- https://dotinstall.com/lessons/basic_website
- https://dotinstall.com/lessons/basic_javascript_v4
- https://dotinstall.com/lessons/omikuji_js_v5
前提知識が書いてあるものの、いったん無視して進めても大丈夫かな?という感覚。
わからないタグや関数はググればいいので。
作ったものはGitHub Pagesで公開。ついでにGitHubのアカウントもつくれるし、サイトの公開だけであればGitの知識無くてもいいので。
- https://prog-8.com/docs/github-pages
2. プログラミングが書ける
Reactのチュートリアルを一通りやってみる。React公式の三目並べをつくるチュートリアルはよくできてて、日本語で解説されてる上にステップバイステップで解説されてて良い。
- https://ja.reactjs.org/tutorial/tutorial.html
Webアプリをしっかりとつくっていこうと思っている人には、このReactチュートリアルのページを渡しがち。なんちゃってプログラミング教室みたいなときはjQueryでお茶を濁すのだけども。
そして、このレベルならGitでバージョン管理までできると良いですね
- https://backlog.com/ja/git-tutorial/
3. クラウドでばりばり開発してると言いたい
ここは努力目標。
ReactのアプリをFirebaseにデプロイする
- https://zenn.dev/h_yoshikawa0724/articles/2020-10-06-react-firebase-deploy
nodejsの知識が必要なので、ちょっとハードルはあがる。しかしながら、面接のときに「GCPでWebアプリデプロイしてます」とデモを見せれると出来そう感でてきますよね。
さらにログインやDB管理までできると、実現の幅が広がるのでつくれるものも増えます。
- https://future-architect.github.io/articles/20200819/
スマホアプリ(Android)
私も正直詳しくないですが、最近は Kotlin を使って開発することが多い雰囲気。
- https://developer.android.com/kotlin/androidbasics?hl=ja
英語混じりではあるが、はじめはここからAndroid Studioを使ってサンプルアプリを作ってみるのが良いでしょうか
- https://developer.android.com/courses/pathways/android-basics-kotlin-two?hl=ja
私が昔かじったときはAndroidのアプリをつくって公開するところまではこのページだけで行けた記憶
- https://developer.android.com/studio/intro?hl=ja
React Native や FlutterのようにAndroid/iPhone共にアプリを作れるものも。
iPhone向けはもっと詳しくないですが、Swiftとかでつくれるはず。
まとめ
上記を送って、「参考にします!」と返ってきました。
うまいことやってほしいところ。