プログラミングのスキルを上げたい

このQ&Aのポイント
  • プログラマのスキルを上げるためのトレーニング方法や目標についてアドバイスをお願いします。
  • 現在、プログラミングのスキルが現場で使えるレベルになっていないため、スキルアップを図りたいです。
  • 具体的な目標としては、おすすめの例題や日常で使えるツール・ゲームの開発などがありましたら教えてください。
回答を見る
  • ベストアンサー

プログラミングのスキルを上げたい

こんばんわ。 仕事でプログラミングをすることになったのですが、現在は現場で使えるレベルではないので どうにかしてスキルアップを図りたいです。 そこでプログラマのみなさんはどのようにトレーニングしましたか? 私の現状としては、インターネットを参考にしながら .NET frameworkで約1200ステップの1対1ソケットプログラムを 0から作成するのに1か月半かかりました。 (恥ずかしながらコメントも含んでいるのでソースのみだともっと少ないです) ステップ数をスキルの目安にするのは賛否両論あるようですが、 ほかに目安になりそうなものがなかったので記載しました。 また、次の目標としておすすめの例題などありましたらアドバイスいただきたいです。 言語はJAVA・C#・C・VBAなどの中から選ぼうと思います。 例)5000~10000ステップくらいで作成可能な日常で使うツール・ゲームなど。 以上よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.6

質問やお礼を拝見して、プログラムの前に 仕事に、パソコンをどのように活用していくか? ということろがまだ見えていないのではないかなと感じました。 既に回答者方々のアドバイスにあります様に、擬似的なシステムを一度 自分で作ってみることをお勧めします。 一番の事例と思うのが、ご自身が販売店の経営をしているとして 仕入から販売、売り上げ管理をするシステムは一度、チャレンジしてみるべきと思います。 基本は 1、商品一覧のデータベースを準備 2、取引先一覧のデータベースを準備 3、1と2を利用して、日々の注文、売り上げを入力して、出荷品に対して   必要な納品書など自動作成 4、毎月の請求書の作成、入金管理など月次ベースの処理 ほとんどの企業ではすでにシステム化されていると思いますが、どこにでもある基本中の基本です。 この夏休みを利用してレベルアップしたいというのであれば エクセルVBAは、簡単で紹介しているサイトも沢山あります。 業務用というのであれば、以下のサイトを上から順に目を通してみてはいかがでしょうか。 最初のほうは、簡単ですらすらでしょうが、奥へ進むにつれて難易度があがります。 http://www.asahi-net.or.jp/~ef2o-inue/top01.html 私も、若い人に色々と指導をしていますが、プログラミングをマスターすると同時に 自分の仕事について、前工程、後工程を含めて全体を知ってシステムを作成しろと よく言いますね。 とにかく、一から百まで指示しないとシステムが組めないようではダメです。 こんなもんがあれば便利だね、と一言言ったらすべてが出来る社員が良いですね。 出来れば、何も指示しなくても、ああしたい、こうしたいとイメージができる社員が ほしいです。

showsnoopy
質問者

お礼

>一番の事例と思うのが、ご自身が販売店の経営をしているとして 仕入から販売、売り上げ管理をするシステムは一度、チャレンジしてみるべきと思います。 とても具体的な例題ありがとうございます。 参考になるURLまで張っていただいてほんとに助かります。 受け身ではなく、自分から提案できるSEになることが大事なんですね。とりあえず今回はデータベースのひな形を決めてそれらを組み合わせて帳票をつくるプログラムを作ってみます。 ありがとうございました。

その他の回答 (5)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.5

> 知識が乏しくてすみません、疑似業務システムとは具体的にどういうことでしょうか?ちなみに私の身の回りで日々の決まったルーチンワークなどは思い浮かばないので… SE経験があると書いてあったのですが、業務のシステムは未経験のでしょうか? それを簡略化したものを作ったら?と言う提案なのですが。 要件分析とかも未経験なのでしょうか。 なかったら、コンビニのレジのシステムとかでっち上げれば良いんです。一日の売上計上とか、売れ筋分析とかね、色々思いつきませんか。 これが出来ないSEが心配です。 > 画面処理というのはGUI上での操作ということでしょうか? WEBでもVBでもお好きな方で。 と言うか、業務システムは操作しないと始まりませんよね?

showsnoopy
質問者

お礼

返事遅れてしまってすいません。 回答ありがとうございます。 未経験なので名ばかりのSEなんです。 それにしても基本的なことがわからなすぎですね。。 コンビニのレジですか。ちょっと考えてみます。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

すくなくともゲーム開発の組み方とシステムの組み方は違うので、システムの組み方を勉強したほうが良いでしょう。 SEだったのなら知っている知識から簡易的な擬似業務システムは作れませんか? データベースや画面処理やらのイメージはありますよね?

showsnoopy
質問者

お礼

>SEだったのなら知っている知識から簡易的な擬似業務システムは作れませんか?  知識が乏しくてすみません、疑似業務システムとは具体的にどういうことでしょうか?ちなみに私の身の回りで日々の決まったルーチンワークなどは思い浮かばないので… > データベースや画面処理やらのイメージはありますよね? 簡単なSQLくらいならわかります。DBも次の作成する例題に組み込めたら面白いですね!DBについても実践で学びたいです。 画面処理というのはGUI上での操作ということでしょうか?

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.3

トレーニングというわけではないですが、その作られたプログラムの見直し(クラスやメソッドの構成に不適切なところはないかとか、よりよくならないかとか、無駄がないかとか、数ヶ月後に見直して理解できるかなどなど)や単体テスト(ユニットテスト)を導入してみるとかはどうでしょうか。

showsnoopy
質問者

お礼

なるほど。クラスやメソッドの構成はある程度見直しましたが、テストについてはあまり考えていませんでした。漠然とテストすると言ってもどの粒度でどこに重点を置いて何項目テストすればいいのかもわからないので調べてみます。 ただ、やはり作成の数をこなしたいという思いがあるのでもう1つなにか作ってから考えようと思います。

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.2

>仕事でプログラミングをすることになったのですが、 それなら「作るものネタ」はあるんですよね ネタがあるならそれを作ることです ただし,ハードルが高いならば そのハードルを分析して分解することです. 「困難は分割せよ」(デカルト)は至言です. プログラムというと言語の側面に目が行きますが 実際は, 対象を分析して, 実現可能な小さな単位に分割して, 入力と出力の形式を整理して その小さな単位がうまく連続動作するように 構築することのほうが大事だと思います. ぶっちゃけ,言語の種類なんかはどーでもよくって パーツで要求されるものが簡単に書けるものであればいいです 私なんかだと,状況に応じて 既存のツール,エディタのマクロ,Perlの自作スクリプト,VBSなんか を連結させます. プログラムそのものが仕事の目的ではなく それを使って仕事をすることがメインのときは 「車輪の再開発」の暇はないですから. ちなみに主観ですが 日常的に使う「自作ツール」なら コンパイル不要のスクリプト系言語で作るほうが 圧倒的に便利だと思いますよ.

showsnoopy
質問者

お礼

>それなら「作るものネタ」はあるんですよね ネタがあるならそれを作ることです いいえ、今までは名ばかりのSEをしていたのですが、プログラミングの基本がわからないとまとめる立場にもなれないと思うので、とりあえず次に降りてくる製造の仕事をさせてもらうことになりました。なのでどんなものをどれくらいので期間作成するかもまだきまっていません。それまでにPGに慣れておきたく、何か面白い題材がないかとアドバイスを求めて質問させていただきました。 >日常的に使う「自作ツール」なら コンパイル不要のスクリプト系言語で作るほうが 圧倒的に便利だと思いますよ. そうなんですか。スクリプトについてもう少し勉強してみようと思います。ただ、仕事で使っているのを見たことがないのでやはり質問で挙げた言語メインで勉強しようと思います。

回答No.1

トレーニングと聞いて、プログラミングし始めたころにやってたことと言えば 『自分が面白そうだと思うものを、汚くてもいいから完成するまで諦めずにやる』 次に 『作ったものに対してどれだけ綺麗なプログラムにまとめられるかを突き詰めて リファクタリングする』 今はネットもあるし、昔に比べたら比較的悩まずにものづくりが出来ると思います。 でもコピペは絶対にしない。 真似たコーディングをするならば、その部分のみを動作させるアプリケーションを 作って、何をしているかを全て理解する。 やれと言われてやるより、自分が楽しめる手段で学習するのが一番です。私は。

showsnoopy
質問者

お礼

>『自分が面白そうだと思うものを、汚くてもいいから完成するまで諦めずにやる』 そうですね。そこで私は今回ソケットを用いたチャットプログラムを作成してみたんですが、次に何かいいアイデアがないかと考えているところです。 >『作ったものに対してどれだけ綺麗なプログラムにまとめられるかを突き詰めて リファクタリングする』 こちらも自分なりに実施してみました。最初は1つのメソッドの中にすべての機能を入れていたのですが、機能ごとにメソッドやクラスを分割して少しは見やすいプログラムにしたつもりです。 >でもコピペは絶対にしない。 そのとおりですね。コピペは身に付かないと思っているので仕組みを理解することを意識するよう心がけています。

関連するQ&A

  • プログラミングに必要なスキルの身につけ方

    この春から、IT企業で新社会人になるものです。大学では、IT技術を学んできませんでした。 最近プログラミングに関してとても不安に思います。 プログラミングはさまざまな知識を「必要な時に適宜取り出し、必要な形態に整えていく」能力が社会では求められると思います。それでも、仕事をやっていてわからないことなどいくらでも出てくるのではないかと思いますので、全く今までの触れたこともなければどこからその知識を取り出してこればいいかも迷ってしまい仕事が進まないのではないかと思ってしまいます。 この能力はプログラマーにとっては基本的というか必須スキルだと思っています。しかし、現時点の私にはこの能力は残念ながら備わっていないです。(安易にこの業界に飛び込んできてしまったためにこうして悩んでいるわけでもあります。) 某サイトでは、この能力はある種プログラマーの「適正」や「才能」として判断されると書かれていました。しかし、努力と根性次第では平凡な能力しか持たないうえに、適性もない人間でも「並みのプログラマーレベル」まではなれるとも書かれていました。 ですが、正直並みのレベルまでなれるかどうかも不安です。実際にイメージトレーニングをしてみても、この能力が不足しているために仕事についてけるだろうかととても不安になるのです。 質問内容としては、現役でプログラミングをしている方、もしくはそれに近い形で従事している方はたまた過去に従事したことのある方はプログラミングにおいて、「必要な知識を必要な時に適宜取り出し、必要な形態に整えていく」ために意識していること、もしくは使用しているツール、日々の情報収集法、その知識のまとめ方、役に立つサイト、書籍など何でもいいので知っている限り教えていただけると大変うれしいです。 ちなみに、参考までに私が就職しようとしている企業は比較的大きく従業員は2000人近くいるようなところです。そういった、環境面も交えて教えてくださると助かります。 よろしくお願いします。

  • 簡単なプログラミング試験の対策

    今度受ける就職試験で簡単なプログラミングの試験が出されることになりました。 どのような勉強や対策をして臨めばいいでしょうか? 企業からは簡単なプログラミング試験としか言われていません。 私のプログラミングのスキルは簡単なc言語とVBAの知識があるくらいです。 何か参考になるHPや参考書などがあれば教えてください。

  • プログラミング言語の取得方法

    現在はエクセルVBA・HTMLが使っております。プログラミングに興味を持ち、また、スキルアップのため本格的なプログラミング言語を取得をしたいと思います。 そこで、C言語やアセンブラなど様々な言語があるのですが、どれを取得したら良いのでしょうか? また、エクセルVBAなら、エクセル上でセル操作、ファイル操作等ができますが、C言語等を使いこなせると、一体どういうことができるのでしょうか? よろしくお願いします。

  • これから。プログラミング

    現在、エクセルVBAを使用しています。これから、他のプログラミングを勉 強しようと思っていますが、本当に素人で、どのプログラミングが良いのか全 然分りません。それぞれ特徴があり用途によって違うと思うのですが、Jav a,VB、Cや他にもありますが、どのプログラミングが良いのが助言をお願 いします。仕事上、株、先物、為替などのリスクや損益計算、チャートなどを 今後作成する上でプログラミングを使用しようと思っています。

  • SEのスキルを生かしてSOHOをしたい

    のですが、実際それをやっていらっしゃる方います か?大体、月どれ位の収入が望めますかね? ちなみに自分のスキルは、UNIX全般、ネットワーク SQL、C,PERL,CGI,JAVA全域のプログラミングと言った 所です。別に大儲けしようと言うのではなく月々生活 できる程度の収入があればいいと思うのですが・・・

  • プログラミング初心者です。

    プログラミングを始めるため、コンパイラの設定をしています。「setbcc.batを作成する」など、これらのやり方がわかりません。作成の仕方はどうやるのでしょうか? これはあるサイトに説明が載っていて、見たのですが、難しくよくわかりません。どなたか解説してもらえないでしょうか? よろしくお願いします。 ステップ1:メモ帳を使ってc:\に以下の内容のsetbcc.batを作成する @echo off PATH=c:\Borland\Bcc55\bin;%PATH% c: cd \Borland\Bcc55 command ステップ2:マイ・コンピュータからCドライブを開き,setbcc.batのプロパティを表示する ステップ3:[プログラム]タブの中の「プログラム終了時にウィンドウを閉じる」にチェック

  • 動画と音声の処理に強いプログラミング言語は何でしょうか?

    動画と音声の処理に強いプログラミング言語は何でしょうか? カメラとマイクを使った人工知能を持つプログラムを遊び半分で作ってみたいと思っているのですが、どのプログラミング言語で作るかまだ決めていません。 調べたところ、JavaにはJava Media Frameworkなどがありよさそうなのですが、CやC++などにも同じようなものがあるのでしょうか。また他の言語でもっと優れているものはあるでしょうか? プログラミング言語に限らず、音声ファイルをバイナリとして読み込めばいいかもしれませんが、音量や周波数などを取得するために自分でコードを書くのはちょっとつらいのでそれらをしてくれるライブラリがある言語を探しています。また、音声や動画をリアルタイムで処理したいので、それも可能なものがあったら教えて欲しいです。よろしくお願いします。

  • プログラミングを一から始めようと考えている初心者です。

    プログラミングを一から始めようと考えている初心者です。 将来的にはiphoneのアプリやゲームなどのソフトウェアを作りたいと思うのですが、 まず手始めとしてHP作成から入っていきたいと思いました。 しかし、何の言語から手をつけるべきかわかりません。 まずはHTML、CSS、JavaScript、PHP、JAVA、C言語のうちから選ぼうと思っているのですが、 モチベーションを維持しやすくて、独学でも十分理解できそうなもので選びたいと思います。 情報技術者の資格も取りたいのでJAVA、C言語をやっておくと便利かなと思ったりもします。 ぜひ、みなさんの見解をお聞かせください。

  • プログラミングソフトに打ち込むのは何語でしょうか?

    今、プログラミングを勉強中の初心者です。 以前C言語を勉強していました。そのときosはリナックスを使っていましたが、何にC言語を入力していたのか覚えていません。また、Javaを勉強中ですが、実際練習しようとしても何(例えばwordやmemopad)に勉強したJavaを入力したらつかえるのか分かりません。実際仕事で役立つのは、自分が使うパソコンにその言語を対象とするプログラミングソフトが入っていないと意味ないので、役立つのかな?っと思っています。 VBA語はなじみが深くexelVBAで使っています。あと、最近コマンドプロンプトというものがwimndowsに入っていることを知りました。これも文字を打ち込むことでパソコンが動くのでプログラミングソフトといえると思います。でも、memopadと入力しても動くのでいったい何語を対象としているのか疑問に思っています。 ・Java, C,VBAなどそれぞれの言語が使えるプログラミングソフトにはどういうものがあるのか,・コマンドプロンプトは何語を対象としているのか,・2言語以上に対応しているプログラミングソフトがあるのか」という点について教えてください。 ちょっと頭が混乱していて的外れな質問かもしれませんが、アドバイスいただけたらうれしいです。

  • 自分のスキルについて

    ビジネスカテゴリーにしようかとも思ったのですが、コンピュータ関係のスキルなのでこちらに質問します。 転職、就職、バイト、査定等でスキルシートなどに記入する機会があると思いますが、その際の基準ってどうしてます? 例えば、「SQL」なら何処までが「解ります」「出来ます」なのか? 「EXCEL」できます。 「WORD」できます。 「JAVA」「COBOL」「C]「VB」あと、「ワープロ」できる、「パソコン」できる、「ホームページの作成」できる、「インターネット」できる、などなど。 マニュアル見ればどれも「できる」と思うし、でも、そんな程度じゃ「出来ない」なのか? まあ、いつもは適当に書いているのですが、皆さんはどうなのでしょうか?

専門家に質問してみよう