http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-1720-X
書籍案内|gihyo.jp …技術評論社
この本を読むと答え見つかると思うよ
もうちょっと姿勢などではなく仕事上での具体的なお話を聞けると嬉しいんですが…
Yahoo! JAPAN
URLはダミーです
言葉の意味としては
プロ=プログラムを仕事としている人
素人=趣味でプログラムをしている人
やっていることの違いは(一概には言えませんが)
プロ=顧客のある要求(あるいは設計)に対して、プログラムをコーディングする。
素人=自分の要求、実現したい動作に対してプログラムを設計、コーディングする。
だと思います。
スキルは関係ありませんが、プロとしてやっている人のほうが豊富なのは当然ではないかと
またちょっと抽象的な質問をしてしまったので補足します。
自分はWebページ製作(一応仕事)でPHPを使っています。プログラムは独学なのでよく分からない処理が出てきた
ときいつも”ここんところプロならどうするのかなー”とか考えます。そんでちょっとでもプログラマーの人って
を考えてるのか知りたくて質問しました。よろしくお願いします。
個人対組織っていう大きな違いがあるかな?
個人ではチーム開発で得るパワフルなコミュニケーションや
相乗効果を得ることは出来ないんじゃないかな
確かに一人じゃ弱いというのは痛感してます…。面白そうな本ですね、参考にさせて頂きます。
なるほど。まずは”何が出来るのか”という情報を集めてシステムを組むのはそのライブラリーの組み合わせ。あってますか?(汗
http://www.hatena.ne.jp/1083569622
プログラマーの方に質問です。プロと素人の違いってなんですか?できれば業種(システム開発、WEBアプリケーション、ゲーム開発、etc..)も教えて頂けるとありがたいです。.. - 人力検索はてな
URLはダミーです。
私自身ゲーム開発関係でアマ(同人&シェア)と仕事(プロ)との両方で制作をする機会があるものですが、
私の数少ない経験から「ここんところはプロとアマは随分違うなぁ」と感じた点は、
1) プロはダメ出しをスタッフとは全く関係ない(権限のある)人間が適当に出して鬱になることがある。
2) プロは納期を守らないと死活問題だが、アマは納期が守れないときは愛嬌で乗り切れる。
3) アマは納得がいくまで全体を見回す余裕があるが、プロは途中参加などとにかく自分がどの部分をやっているかわからないのにわかったように完成させないとならない。
4) アマはスタッフを実力で認めるが、プロは役職等で頭を下げないとならない場合がある。
5) プロには保守義務がある。
簡単な返答で申し訳ないです。
1,2,5は多分どの業界でも一緒なんでしょうね…。3は少し意外でした。それでも正常に動くものが作れるのがプロたる所でしょうか。
4は悲しいですね…がんばってください!!
asahi.com:朝日新聞社の速報ニュースサイト
URL はダミーです。先ほどは失礼いたしました(はてな初心者なのです)。
プロとアマに技術力的な差はないと思います。技術力そのものは興味の深い人ほど強い。ただ、プロは品質について責任度が高いところが違いかな、と。技術的にあっていようが間違っていようがお客様が納得してくれる品質が大切。ので、見るに耐えないソースを書く人もプロ。お客様に対して責任があるから。そこがプロとアマの線引きかな、と。
なので、プロと呼ばれる人になってもお悩みのように「こういう時どうするんだろー」と言う時は google で調べますw
ただ、いわゆる Linux のようなオープンソースの住民についてはこの線引きが難しいかも知れませんね。お金以上の他の何かに責任感を持てるならばその人は既にプロなんでしょう。
自分もgoogleで調べますw
ただ時々ホントに何をやってるのか分からないときがあるんですよね。
複雑な処理をしててスゲーなーってアドレスを見るとPHPって書いてある。
あれ、これってPHPできるの?っといったような。
そしてそのPHPもオープンソースですね。
わたしはネットワーク系&アプリケーション系です。C/FORTRAN/86系アセンブラ/R系アセンブラ/Script言語/PERLを扱います
プロフェッショナル=職業にしてる人
素人=趣味でやっている人
が定説なのですが、仕事をしていて、HTMLがかけるだけ、バグ出し中心のデバッガしかできないのに、”自称プログラマ”の人がかなりいて自分の中では受け入れがたいですね(^^;
仕事でプログラムを組む人の場合、会社から言われた通りの物を作って、それを収めたら終わり、無理な納期で不完全なものを収めて終わりと言うのも比較的多い業界なのですが・・・
・仕事抜きにして、フォローができること。
・分からないことがあっても自分で解決することがで来ること
・動けばいいのではなくて、工夫して、準最適解的なものが作れること。
・プログラマとして、これだけは誰にも負けないと言うものがあること。
これらのあたりが一人前のプログラマの条件だと思っています。
>>分からない処理が出てきたら
プログラムでわからない処理が出てきた場合は・;・・
1.サンプルを探す
2.見つからなければ他言語で同等の処理をしているものを探す
3.それでもなければ、自分の知っている知識を繋ぎ合わせて、実現できるようにする
と言うところでしょうか
ポイント&のっかりありがとうございますm(__)mプログラマーさんだったんですね。
>一人前のプログラマの条件
こういった人間が集まってプロジェクトを作るから素人じゃ到底及ばないシステムが作れちゃったりするんですね。
自分もワカンネー!って言う前にまずとことん自分で調べてみることから始めてみます。
あと準最適解的なものを作るという事についてもうちょっとお話聞ければ嬉しいです。
URLはダミーです。
ほかの方も説明されていましたが、
顧客に有償できちんと動く(これが重要!)プログラムを提供するのがプロだと思います。プロにはその責任と義務があります。
悪く言えば素人だと、そのプログラムがたとえ動かなかったとしても逃げられます^^;
私の中の解釈でいえば、製作物に対する責任の有無です。ちなみに、システム開発などをやってます。
趣味で作れるプログラムは楽しかったな〜と思いますよ。今でも新しい言語にチャレンジするときは「これは素人だから〜」という気持ちではなく、プロ意識を持って吸収しようという姿勢でいます。
自分も作ったものの動作については責任を持つつもりです。なので比較的簡単なPHP以外に今は手を出しませんし。
けど自分がプログラマーだなんて言えませんね。WEBデザイナーとも言えません。なんか恥ずかしくてw
正直時々給料を貰うときに罪悪感を感じる事があります。
URLはご参考。
業種としてはシステム開発、主に法人向けの業務アプリケーションです。プロという観点だと一番言われるのが品質ですね。ひとつのバグで多大な損害賠償になるケースもあります(特に企業相手の場合は相手の経営を阻害する可能性があるため)。かつ納期と生産性。低コストで高品質の製品を作るのが義務です。
また自分がいいと思ってるものを作ってもだめです。顧客がいいと思うものを作らないとだめです。それを考えないといけない。だって金を払ってるのは顧客ですからね。プロはもらった対価に対して相当のあるいはそれ以上の効果を出さないといけません。このへんのシビアさと責任が一番の違いではないでしょうか。
リアルなお話ありがとうございますw
シビアですね…ごめんなさい、責任持つとか言って失敗したときの事は考えてませんでした。給料天引きで済むかな…。
>自分がいいと思ってるものを作ってもだめです。
ただ自分がよくないって思ってるもので相手を説得するのは難しいのも事実なんですよね…。
Yahoo!
わたしは、Webアプリ、制御アプリetc.を生業にしていますが…プロと素人の違いはそれを生業にしているかどうかだけだと思います。
プロと呼ばれる人の中でもスキルetc.ピンキリですし、素人の人でも同様でしょう。
確かにそうなります…自分もへたれですがWEB製作のプロ、と言う事になってしまうわけで。
なんかやりきれなさは感じてます。
こんな人たちもいますが・・・(一応ダミー)
いろいろありますが、どの業種でもプロなら一番大事にしなければいけないのは納期でしょう。
趣味ならおそらく完成度が一番大事なんでしょうけれど。
お金をもらってプログラムをしている以上、有言実行(それ以上)です。
あと、ビジネス系とゲーム系で違うものもあります。
(自分はゲーム系なので偏見があるかもしれないですが)
ビジネス系は仕様通りにつくればいい。
仕様を満たしているのであれば、「動いたソースはいじくるな」の世界。
ゲーム系は仕様をいい意味で裏切らないといけない。(演出などで細かい仕様は決まっていなかったりもする)
ハードの性能ギリギリまで使うので、どんなソースでも徹底的に無駄を省かなければならない。
こんなところでしょうか。
趣味で作ってるときにはあまり必要ではなかった、バグの予測能力などが重要視されたりします。
自分でわからなかったときの対応はプロでもアマでもたぶん同じですよ。
本読んだりヘルプとにらめっこしたりネット上で探したり。
ただ、前述の納期の話があるので、出来ないなら(かつ重要でないなら)「切り捨てる」という選択肢が。
X氏スゲーw
>ゲーム系は仕様をいい意味で裏切らないといけない。(演出などで細かい仕様は決まっていなかったりもする)
ここらへんやっぱりクリエーターって感じですねw
>本読んだりヘルプとにらめっこしたりネット上で探したり。
やむを得ないですかね。これをやってるときの自分が嫌いw
ちょっと休憩。飯食ってきます。
URLはダミーです。
今年の一月まで コンピュータ会社でSEしてました。企画やPMもやっていました。
勿論、使っていた言語(プログラム)もDBも一通りはわかりますし、プログラムもくめます。
sleepyhead さんが仕事としてphpプログラミングをしていらっしゃるのはすでにプロだと思います。
お客様(ユーザー)と実現する内容を決めて請け負ってそれに報酬をもらうということでプロと考えて良いと思います。
スキルの点では、ネットの世界でアマチュアの人たちの知識を垣間見ることが多くなりましたが、ある知識で切ると、会社員で仕事にしていても、突出したアマチュアの人もそれに及ばないこともかなり多いと思います。
つまり、仕事にしているから(プロ)といってそれに精通しているかどうかは別物では無いかと思えます。
ただ、今会社をやめて PHPなどのプログラムを趣味で作ったりして気づくと、会社で仕事を請け負っていた頃とは大きく差があります。それは、自分が気が向かないときにやるかやらないか。 プロとして仕事をすると請け負っていた時はそれなりに結果を出す必要があります。胃が痛くなろうが、いやだろうが、自分をそれに向けていきます。それが契約ですし、それが自分の評価につながります。
また、独学の方に比べると好きな知識だけでなく、興味を持たない分野などの研修もありますから、知識が比較的万遍無いような感じもあります。
また、sleepyhead さんがこんなときプロはどうしてるのかなあ と感じられるような行き詰ったときのために、仕事として請け負うのであれば、その筋の情報源を自分で確保することをオススメします。
世には同じ志を持った人たちの情報交換の場は沢山あります。
確かに…よくワカンネーとか言いながらそれでお金貰ってるんですよね(汗
しまった、もっと早く覚悟決めるべきだった。
情報源を確保してなかったのも本職じゃないし…とか思っていてしまったので。
情報交換の場、探します。
http://www.msn.co.jp/home.armx
MSN Japan
プロと素人というのは対語ではないと思うので比較しようがないと思うのですが、
プロ・・・職業にしている
アマ・・・趣味でしている
玄人・・・精通している
素人・・・ビギナー
僕は、こういう認識です。
ちなみに、Webアプリケーション開発やってます。アマ時代から数えて20年以上プログラミングやってることになりますが、未だに自分のことは玄人だとは思えてません。
自分は素人でありながらプロとして始まってしまったという所でしょうか(汗
経営/ITコンサルタント、業務管理システム企画開発、新規事業企画―株式会社インターゲート
歴然と違うと感じているのは、異常系に対する考え方です。報酬を得ている・いないに関わらず「もしこうなったら・・・」に対し対策してある、あるいは対策しやすい設計・コーディングしてあるか否かでプロ意識を強く感じる方とそうでない方がいます。実際、異常系をきちんと織り込むとソース量は約3倍くらいになりますね。今までの感覚では。
具体的なお話ありがとうございます。自分もそこら辺はあるんだろうなーとは思ってました。
しかしソース量は約3倍ですか(汗)
@IT - アットマーク・アイティ
URLはダミーです。
プロは常に責任が付きまといますし、アマはそれが無い。差はその程度ではないでしょうか?。すごいアマもいれば、酷いプロもいます。ちなみに私もプロのはしくれです。
多分業種による差異なんて、それ程無いと思いますよ。
自分は酷いプロ候補ですwそうはなりたくない。じゃぁ、どうしよう?ということです。
http://www.hatena.ne.jp/1083569622#
プログラマーの方に質問です。プロと素人の違いってなんですか?できれば業種(システム開発、WEBアプリケーション、ゲーム開発、etc..)も教えて頂けるとありがたいです。.. - 人力検索はてな
デザイナーさんが使うようなソフトを作ってるプログラマーです。
職業プログラマー歴5年程度なんで、それほど上級プログラマーではないです。
私個人の意見ですが、皆さんと同じように、
プロ=お金をもらってソフトを作成する人。
アマ=趣味でプログラムを作る人
と思っています。
ですので、どんなにスキルの無い人でもお金を稼いでいれば、
一応は、プロに当てはまるのかと...
でも、お金をもらう以上、意識、姿勢にも違いがあると思います。
そういった意識、姿勢は、プログラムにも反映されていることが多いです。
自分の作った部分に責任を持つ以上、メンテナンスをしやすいようにしたり、
自分がチームから抜けてしまった際に、後任の人が困らないように、
わかりやすいコードを書いたりといった具合ですね。
ちなみに、趣味で自分の使うプログラムを作ることなどもありますが、
その時は私は、アマチュアです。
仕事の時と、趣味の時で、プログラムの書き方がちょっと違いますが、
その辺りが、ご希望の答えに近いと思いますので、列挙してみます。
趣味で作るときは
・誰かが見ることを想定せずに書く
コメントが極端に少なかったり、変数名が非常にいい加減だったりします。
・多少、変なところがあっても気にしない。
他のクラスのprivate関数とかをfriendを使って、
無理やり使ったりしても気にしなかったりします。
・最初に、ちゃんとした設計をしない。
なんとなくで、作り出して、「あ、ここ別クラスにした方がよいかな?」
ってな事を、その時の気分で変更したりします。
(これに関しては、小規模プロジェクト(2,3人程度)なら、
仕事でやっている場合でも、やってしまうことがあります。)
・リファクタリングをしない
趣味の時は動いていれば良いので、あまり自分の作ったコードを見直さないです。
趣味で作るときという部分全て現在自分がやってる事に当てはまります。
特にコメントが少ない、変数名が変などは自分でも分からなくなるくらいに。(汗
URLはダミーです。
業種はWebサイト構築です。
プログラマーに限定して答えるなら
プロ 何を捨てるか判断できる人
アマ とりあえず何でも機能を盛り込もうとする人
または、技巧に走る人
同業者さんでしょうか。
とりあえず何でも機能を盛り込もうとする人がクライアントだったりするわけで
納得できない物を作ってしまうのもプロ…(泣
http://hp.vector.co.jp/authors/VA019685/
WILD FANCY ALLIANCE
業務系のシステムを開発しています。比較的、最近は比較的、LANを使った販売管理系が多いかな。
作業工程数が客先コストに直結するのがプロで、素人は好きなときに好きなように気の向いたまま作るということなのではないでしょうか?
職業プロですが、掲題のサイトで、ゲームを作っています。これは素人(趣味)としての作業です。
そして作業行程数を減らしてよい物を作れというのがクライアントw
ゲーム製作がんばってください!!
レスです
準最適解というのは遺伝的アルゴリズム(GA)などで、最適でなくても、できるだけ最適に近い答えであることを言います。
アルゴリズムに、これが正解と言うものがなく、同じアルゴリズムでプログラムを作っても、プログラムが全く一緒になることは在りませんよね?
例えば、1〜nを計算をするソフトを作らせたときに
b=0; b=b+1 .....b=b+n;
と書く人も居れば
for(a=1,b=0;a<=n;a++)b+=a;
と書く人も居るし
b=(1+n)*n>>1;と書く人も居るわけです
ポリシーにもよりますが、高速なプログラムを組むように要求された場合、
考えられる限り最も高速なエラーの無いプログラムを他人に見易くかければ、要求に対して準最適なプログラムが書けたと言うことができると言うわけです。
>ゲーム系は仕様をいい意味で裏切らないといけない
ゲーム系に限らず、要求仕様に対して予想以上にいいものを作ってやろうって言う意気込みが大事ですよ
>>本読んだりヘルプとにらめっこしたりネット上で探したり。
>やむを得ないですかね。
これやらないと、自分の身につかないですよ(笑)
レスありがとうございます。説明の方は理解できました。URLの方はなんじゃこりゃ、というのが正直な感想です。
いつか理解できるように…なるでしょうか(汗
富士ソフト株式会社|ITを変える、ITソリューションベンダー。
(あ、URIは回答と一切関係ありませんので ^^;)
基本的にソフト業界的にはプロと素人に違いはないです。
素人でも誰でもプロになれる(ソフト人足的な物であれば。ですが。)のがこの業界の特徴だと思います
…とゆーのも「人月」と言う形で請け負う工数を計算する習慣がはびこっていますので、人手集めて酷使する所ほど儲かると言う状況ですから。
勿論、特殊技能を活かして渡り歩いている人も少なくはなく、人足商売が全てではないですけど、それでも多くは人足商売同然だったなぁ(^^;
ソフト業界のお話はよく耳にします。自分にとっては”プログラムが組める=魔法が使える”というくらい
すごい事なのでなぜそういう状態になってしまうのかなといつも思うんですが…
dummyさんのプロフィール - はてな
技術系アプリを作っています。
組織としてプログラムを作るという観点では、
保守性と拡張性を考慮することがプロとアマの違いかと。
自分しか分からないようなコードは、極力書かないこと。ロジックの流れが分かりやすいようにすること。モジュール分割は適切に。設計書などのドキュメントをきちんと残すこと。
おぉ、作業行程書にまんま写させていただきますw
みなさんの意見とても参考になりました。どうもありがとうございました。
最後の方レスがグダグダになってしまいました。スミマセン。
なんか仕事ガンバローって気になりましたw
まずそれはあると思います。
自分も仕事でプログラムを組まなければならない場合がありますが自分の作ったものには責任を持つつもりです。
ってことは自分もプロ?