初心者プログラマーがインターンで学んだプログラム以外の事

ajike intern  

こんにちは。2011年10月17日~2012年1月27日までインターンとしてお世話になっておりました岩元です。

本日はインターン期間を終えたとあって、これまでのインターン期間をまとめようと思います。まず、アジケでインターンをすることになった経緯ですが、私は大学3年の夏から就職活動をしておりました。しかし、ほとんどの学生が経験するような自己 PR や SPI の勉強に対して「こんなことをして社会に出ても役に立たないだろう」という不満を感じており、ひねくれものの私は SPI そっちのけでプログラム言語の勉強をしていました。

 私がはじめてwebに興味を持ち始めたのは大学3年の夏のことです。私は農学部に所属しており、大学の研究室の関係で造園設計のコンペを行っていました。コンペ制作の時Photoshopを使う機会があり、元々何かを作る事が好きだった私は制作活動に没頭しました。しかし、その”造園設計を行うということ”が自分の本当に作りたかったものかと言うと、それは違います。物を作ってその作ったものに対して愛情を注ぐ事は大変面白く没頭できるものでしたが。私が作っていたものはあくまで造園という形式の域をはみ出す事がありませんでした。その時、私の将来について方向性を決めるような本に出会いました。それが「スティーブジョブズ脅威のプレゼン」と「スティーブジョブズ名言語録」です。

単純な私は彼の物作りの姿勢に惚れ込み、これをきっかけとしてプログラミングをするようになりました。

最初は独学で勉強を始めたのですが、効率よく勉強をする為にプログラマーのアルバイトを探し始めました。そこで自身のポートフォリをサイトを作ってアジケのアルバイト募集に応募し、面接で粘りに粘ったがその結果は不採用でした。しかし3ヶ月間インターンとして勉強して力がついたら採用考えてもいいよとのことでした。

そのような経緯で私はアジケでインターンを始めることとなりました。

■  インターン開始当時の私

  • PHP を使って簡単なbotを作れる
  • html + CSS の構造は理解が出来る。(これは面接前にガッツリ書いた)
  • j-Query をたしなむ程度に理解している(これも付け焼き刃でポートフォリオに組み込んだ)
  • MySQL の簡単な理解。
  • Objective-C の本を一通り読んだ。(簡単な電卓を作れる程度)

以上

インターン全体を通しての感想

インターンの初期はPHPを勉強し、モジュールを使いこなせる用になる事を目標とし勉強しました。次にそのモジュールをつかい、簡単なログインフォームの開発を行い、技術的な面も学びつつ画面仕様書や作業工程、subversionの開発環境構築といった今後の仕事で使うような技術を習得する事ができまました。そしてインターンの集大成として最後にiPhoneアプリの開発をしました。ただプログラム言語を習得するのは自分の家でもできますが、仕事につなげられるような技術、効率の良い勉強方法などといった独学では学べないような内容まで勉強できた事を考えるとアジケインターンはとても有意義な3ヶ月間であったと思います。

10/27 (木)~ 10/28(金)【基本学習】

■内容

「PHPによるWebアプリケーションスーバーサンプル」第2版

「PHPによるWebアプリケーションスーバーサンプル」活用編

この2冊を頭に入れてコードとして書いては動かすの繰り返しです。

先輩プログラマーの神崎さんからは技術書に書いていないような実践的な所、言語の学習方法の指示までもだして頂きました。

■出来るようになった事

「初見の技術は難しいもの、毎日寝る前と、起きた時に見れば、見慣れる」by自分

生意気にも持論の確立。

「エラーの検出方法」「関数の学習方法」「メソッド名まで全部覚えない。こういった機能がある事を意識しておくと、よく使う機能は自然と覚えてきます」といったアドバイスを頂き、今後の勉強にも役に立ちました。

11/2(水) ~ 11/5(金)【暗号に対する慣れ】

■内容

 j-Query とPHP + MySQL を使って簡単なログインフォーム

本で読んだ事をカスタマイズして実践に移しました。

■  出来るようになった事

  1. PHP から MySQL の操作
  2. Subversion を使っての開発(今までエディタでコードを書いていたためすごい便利)
  3. Ajax を使ってのデータの受け渡しをします

 

 

11/6(水)11/7(木)~11/24(木)【プログラマ人生を送る上で大事な事】

共通的に利用する技術と、これから新しい技術を習得し開発を独自で行なっていく上で大事な事を勉強しました。

■  出来るようになった事

  1. リモートサーバーのコマンドからの操作
  2. 画面仕様書の作成
  3. コーディング規約に沿ったコーディング
  4. Unixコマンド、シェルスクリプト
  5. Subversionのアップデートをクロンによる自動化

この期間、技術的な事はもちろん勉強したが、どんな言語を使うにしてもコーディングをしていく上で大切だと思える”プログラミングをする際の姿勢のようなもの”を神崎さんに教わりました。

 

 

11/28~1/19【初開発を経験してみる】

【目標】

現在弊社ベビシェアの企画にて行なわれている「いたずらグランプリ」のiPhone化をリリース。

これが今回のアジケで行ったインターンの集大成と言えます。

【学んだ事】

今回の開発を通して自分で調べる力、自分で今後新しい技術を身につけていく力を身につけられたと思います。初めての言語で模索が多かったが、この先プログラマとして他人に教わるよりも、自分で勉強して行く事が多いのでその練習としては大変実りのあるものでした。ひとつの開発フローを経験した事でアプリ開発における心がけを多いに学べました。開発初期の段階で画面仕様書、画面設計、データ通信仕様書、モックの作成などが不完全だった私は、後で予定が狂い作業効率が下がってしまったというのが反省点で挙げられます。しかし、全ての機能を実装し終えたときの達成感はたまらないものがありました。

総論

今回アジケのインターンをして思ったのは、教わった事の多くが、実際のプログラム言語を何か教わると言うよりも、それを仕事として今後扱っていく方法を学んだというのが私の実際の所の感想です。とある機能の実装方法などはgoogleで調べればどこにでも載っています。しかし、プログラマーの経験に基づいて得られた知っておくべきノウハウという物は簡単に手に入れる機会は無ありません。そういった点を考えると今回のアジケでのインターンはとても有意義な物でした。

これから私はプログラミングにおける何らかの専門分野を身につける事が大事だと思いました。技術的な強み。例えばiPhoneアプリの開発と言えば岩元だ!!と言ったような…笑。そうすると一緒に仕事をする人間も私を使いやすいだろうですし。それに加えて、自分の行なっているタスクをどのくらいで終わらせるかの感覚を身につける事が今後仕事をやっていく上で肝心だと思います。このような考え方が出来るようになれたのも、インターンという貴重な経験のおかげですね

いい話っぽくなりましたか?。

Read More →