• 締切済み

社会人のプログラマーの方へ

情報科学部の4回生の者です。 就職活動も終わり、もう残りは卒業研究のみとなりました。 2015年からはヒヨっこのプログラマーになる予定です。 社会人の方にお聞きしたいのですが、例えばAndroidに関するアプリの業務に配属を命じられたとします。 もしAndroidの知識を持っていなかったら当然勉強しなければいけません。 その際、早く技術を身に着ける必要がありますが、みなさんはどのようにお勉強されている感じでしょうか? 企業に入った以上はお金をもらうことになるので、1か月くらいかけて1冊の本を勉強するというのは無理です。 ご教示お願い致します。

みんなの回答

  • tachin
  • ベストアンサー率29% (136/458)
回答No.6

 もうプログラミングはほとんどしていないおじさん劣化SEです。  業界を数回転職しております。    業界の構造はご存知かと思いますので、あえて書きません。また、IT企業と一くくりに言う風潮がありますが、従来のソフト開発企業と自社サービスを展開している企業も既に多くあり、一概に同じ業態とは言えなくなって来てます。    ご回答者の中には、新人にプログラミングをさせる企業はないとの回答もありましたが、下層下請けになると、そんな事ありません。一応教育期間はあるところもありますが、教育なんてレベルでない企業は多くあります。派遣型ですと、履歴に嘘書いて人売りの営業と同行して、元請けに面接なんてのもあります。そうなると、本当に困るわけで、必死で勉強しながら開発するなんてのは普通に存在します。  ただ、Andoroid関係となると、そういうのは少ないのかなあとは感じますが。。。。    どのような教育体制が敷かれているのでしょうか?。  そこは確認取ってないのですか?。   >1か月くらいかけて1冊の本を勉強するというのは無理です >  これから、そんな局面幾らでも出てきますよ。  勉強しながらやっていけないとついていけないのは明白と言われても仕方が無い業界です。    今は多少マイナーな言語と言っても、局地的にしか使用されて無い技術なんてそうはないと思います。  都心であれば、書店に本は幾らでも比較できるだけ売ってますし、ネットで調べる事もパクルこともできます。  私の新人の頃は、局地的な技術だったため、マニュアルはメーカのさっぱりのものでしたので、先輩のコードが唯一の学習材料でした。当然ネットなんてありませんから、調べる事もできませんし、市販本もないのですから、遅くまで仕事です。  相応に大きな会社でしたので、教育期間はありましたが、その時の言語は、数年後にやっと使用するプロジェクトでというものでもありました。3年目くらいから、課外プロジェクトに参加する事も多く、それこそ複数他社の方と協業するようなプロジェクトに投入される事が多く、助けもしてくれない自分でなんとかするしかないプロジェクトもあり、悩みながら開発したものです。    

回答No.5

54歳 男性 管理職をしています 新入社員にいきなりプログラム作成業務はさせません その人の力量を見極め、社内の教育から始めるのか それともセミナーに行く実力があるのかを見ます 私の会社の設計部門は1年間は業務に入れません 有る程度の力量があれば、テーマを与えてソフト開発をさせています。 よほどの力量が有る場合です 全くなければ一からの勉強になるので、社内教育やセミナーに行くのが普通です ただ、プログラム経験者なら言った事の理解が早いので、即開発メンバーに入る人も 中にはいます。 早く覚えたいなら10万位自腹で投資して家で勉強する事です 自分のお金を投資してのですから、身に付かないと無駄な投資になりますよね

  • hue2011
  • ベストアンサー率38% (2801/7249)
回答No.4

実際に仕事をしていないと理解しづらいのですが、学校と仕事は違います。 学校、というのは教科書があってその内容を理解し、覚えるのが主です。 教科書に準じた試験があって、それに「正解」をすれば評価してもらえるのです。 実社会はそういうことはありません。あてれば100点をもらえる正解なんかありません。 ・・・ こんな小言は普通聞き飽きてるでしょう。 聞きたくもないでしょう。 たとえ話をします。 運転手の仕事をすると考えてください。 今度、富士山の3合目までいくのだ、と指示を受けるとします。 あなたはこれまで富士山なんか行ったことはありません。 できませんといいますか。 恐れもなく「了解しました」と言うでしょう。走れることは疑いませんね。 でも勉強はする。このとき何を勉強しますか。 まず富士山付近の地図を買ってきて見て調べますね。いくための道路が何種類あってどこを通るとどうであるというシミュレーションを頭でしてみますね。 ここは雪がふるときはこうやろう、雨のときはこうしよう、と計画します。 最低このあたりのことはします。 まさか「自動車での富士登山入門」なんていう本を探してきて読もうとしませんよね。 仮にそんな本があったとして、読み終わらなければ走れないと思いますか。 本で覚えようとおもうなら、「車で成田山にいく方法」「高尾山走行のこつ」「つくば山交通の注意」みたいなものをそのたびに買って読まなければいけないことになります。 「首都高の走り方」「国道を走る」「私道通行の注意」もいちいち読まなければなりません。 「首都高の走り方」を1冊ひとつきかけて読んでいるような運転手には誰も仕事を依頼しません。 プログラムの仕事をするのにこれを適用して考えてください。 何を作ってくれ、というのは正解があるわけではありません。機械も決まっていなければ言語が決まっているわけでもありません。 言語なんて、両方の指で数えられないくらいありますし、シェルのスクリプトまでいれたらどんだけになるか、数えたこともありません。 これは、通ったことのない道のほうが通り慣れた道よりはるかに多いというのと同じことです。 そのうちのどれかを選択し、計画をたてるのです。自分がするのかお客様がするのかはわかりませんけど。 さて、Androidというのはメジャーなもんとして語られますけど、所詮Javaです。 Androidの本を読む前にJavaには慣れていなければいけません。Javaはフリーの処理系ですからいつでも自宅でも学ぶことができます。 Java開発を知っているなら、Androidというフレームワークの特徴だけを押さえればいいのです。 ところで、開発言語は数種類程度の人種というか文化種があります。JavaはC系列です。 ですから、C言語、C++言語を熟知していれば、Javaを習得することはわけありません。 PHPも同系列ですので、楽にできます。 その空間だけで発生した決まりごと、廃止された継承事項を整理すればいいだけです。 iPhoneの開発はMacのxCodeというものですけど、これはC++というよりC#に近い、クラスだけではなくインスタンス化したオブジェクトを継承するのがメインの処理系です。 綺麗にできているため、ほとんどコードを書かなくても動作します。 AdobeにFlashという動画系のオブジェクト言語がありますが、この構造は、オブジェクティブCそのものです。 複数のレイヤーを考えて組み合わせるということは、スレッドタイプのプログラム開発と同じことです。 別のスレッドでキーインで停止を要求された場合、スレッド群がどう反応し、どう交通整理をして表示を止めるか、という連動が強化されています。 シーケンス図はマッピングされ、仕様書がそのまま動作につながる仕組みになっています。 Web開発は、実行言語だけではなく、表示用のマークアップ言語のHTMLは常識として覚えておかなければ、JavaでもPHPでもまともに開発できません。 このHTMLはCSSという環境設定言語を抱えていて、使わなくてもできますが、使えばプログラムをどっと減らせることができます。 Webデザインは、一種のグラフィックデザインという側面もありますが、いちいち美術学校やデザイナースクールに通っている人は知りません。 でも、デザイン系の修行をしてきたひとが業界に入ってきてxCodeやAndroidを学ぶということはあります。 ずっとデッサンをやってきた人を低くみるのではなく、デッサンしかやってこなかった人でもWebサーバー開発は簡単にできるということです。 言語なんてそんな程度のものなんですよ。 さあ、ひとつのWebサイトを作った時にどれだけの言語や開発系が混ざっているでしょうか。 HTML,CSS,javascript,jquery,PHP,… それからサーバー上にdaemonとして常駐させたApacheだとかMySQLだとかqmailだとか。 こんなことを気に病んでいる開発者がいると思いますか。 この話は、運転免許を取得したら、トヨタでもホンダでも三菱でも日産でもドライブできるというのと同じことです。 それぞれのメーカーによってギアの位置が微妙に変わっていること、立ち上がりや停止の制御のコツが違うということだけは覚える必要がありますけど。 「トヨタ入門」「ホンダ入門」という本を探して読む人なんていないでしょう。 本を読むな、ではありません。 基礎を固めておくべきだと言っているのです。 「早く泳げるコツ」をいくら読んでも北島にはなれません。プロになると言うことは北島と競争できる程度の実力を要求されます。 それはじぶんで泳がないと得られない能力なのです。 学校でCは不得意だったけどAndroidは頑張ろう、だったら挫折は目にみえています。 基礎ができていないのに応用編を使いこなせるわけがないからです。 在学中に最低でも自分のホームページぐらいは開設している程度の開発体験を持つように努力しましょう。 スマホでそれを見る場合、Androidがなくても表示制御はできるはずです。 ではAndroidはどういうことをしたいときに必要なのか、と考えたら、心から理解できることがでてきます。 こういうのをスキルとか底力といいます。 在学中に作ったホームページを、公開エリアに置いておけば、就職面接時にそれを自分のポートフォリオにできます。 ときに、私は今現場でプログラムをする立場にはいませんが、やれと言われればなんでもできます。 大概の言語は大丈夫で、今日発表された新しいスクリプト言語がある、といわれてもすぐにそれを使える自信があります。 言ったように、言語は数種類の文化種があるだけですから、そのどれであるかが判断できたら、まず間違いなく使いこなせることを疑わないからです。

totti1041
質問者

お礼

ありがとうございました。 前半は分かりやすく、なるほどと思いましたが、後半はちょっと質問からずれているような気が…。 長文ありがとうございました。

noname#217907
noname#217907
回答No.3

会社も製品(アプリ)に責任を持たなければならないので、まともな会社なら必要な技術のない者に、ただ作れということはないです。必要な品質が不足していたり、納期までに完成できなければ会社は損害を受けてしまうからです。 その社員がまだ必要な技術を持っていない部署へ配属するなら、社内の研修だったり、社外の研修だったり、上司や先輩の指導(OJT)があります。 その上で、学んだことは確実に身に付け、学んだ知識を前提により深い技術を自分で勉強します。 >1か月くらいかけて1冊の本を勉強するというのは無理です。 必要になってから勉強するのではなく、この先必要になることを、自分で考えて前もって勉強するのです。 言われた仕事だけやれば良いという人なら関係ない話ですが、あなたのように、前向きに「早く技術を身に着ける必要がありますが、」と考える人なら、自分の会社にどんな業務があってどんな技術か必要か、これからどんな技術が必要になるかを考えて勉強しています。 今、直接関係ないことを日常業務以外で勉強するというのはなかなか大変なことなのですが、私はその技術関連の資格試験に合格するということを目標にして勉強したりしています。

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.2

>1か月くらいかけて1冊の本を勉強する 他の街に引越しした時に、その街の事を全て 知り尽くしてなくても、住むのに支障が無い のと同様に、1冊の本を全て理解してからで ないと仕事が何もできない訳ではありません。 急いで知っておくべき所から始めて、次には それに関連する事といった具合に調べる範囲 をどんどん広げていくのでかまいません。 #最初から、全てを自分一人で調べてやれと #いった仕事の出し方はされないはずです。 引越しを繰り返すと、何をやるべきかという 事の把握と、作業の手際が良くなるのと同様 に、仕事の経験を積めば、技術を身につける 際に何から勉強すれば良いかが判る様になり ます。 自分の最初の頃は... 何冊もの本を手当たり次第に読んだり、PCに プログラムを入力して動かしたりといった事 を、毎日夜遅くまでやってましたけど... #本を読むことは昔から苦にならなかったし #新しい事を知る事ができるのは楽しい。

  • shorinji36
  • ベストアンサー率17% (406/2382)
回答No.1

現役プログラマです。とにかく暇さえあれば勉強です。 仕事が終わってからも勉強、休みの日も勉強。セミナーがあれば参加し、終わったあとの飲み会で常に人脈を広げる。 時腹を切って参考書を買い、自己投資は怠らない。 一人前になるまでは新人に休みなどありません。 だから皆、一人前になる前に辞めちゃうんだけどね。

関連するQ&A