はてなキーワード: 上流行程とは
FGOのフレーバーテキストやガチャ実装時の紹介文があちこちの資料・ウェブサイトから剽窃していることが判明し絶賛炎上中の件について、ディライトワークスではない別のソシャゲ会社に勤めていた経験から、「こんな感じだったのかなー」という妄想を書き連ねておく。
基金訓練、今は求職者支援制度に名前が変わったみたいですけど、そこの講師をやめたというか、会社ごとやめて転職しました。
何の講師をやっていたかというと、今をときめく(?)Androidの講師です。
転職先にも少しなれてきて、今までのことを振り返って書き留めてみたのですが、せっかくなので発表することにしました。もともと僕だけが読むメモのつもりで書いたので、読みやすい文書ではないですがご容赦のほど。
Androidの講師になるまでは、Javaのサーバーサイドのエンジニアをやっていました。
お客様のところに常駐し、システムの一部ではあるけど、自社メンバーだけで上流行程から担当し、僕はそのチームリーダーでした。
プロパーの方でも仕事がないような状況で、それでも僕らのチームは半年ほどは細々とメンテなどの作業をやっていたのですが、最終的には契約終了になってしまいました。
自社に戻って、何をするのだろうと思っていたら、Androidの講師をやれ、といわれました。
Androidは、暇だった時期に少し動かしてみて、簡単なアプリなら組めるようになっていたのですが、人に教えるほどの技術はありません。しかも準備期間は1週間ほどしかありませんでした。
ビデオ教材と教科書が用意されていて、それに従っていれば最低限の講義はできるのと、最初のうちは純粋なJavaの講義だったので、前半をやっている間に講師はAndroidの勉強をしよう、という、何とも乱暴な計画を立てたのでした。
ほぼ定員いっぱい近い受講者の方が集まったのですが、スキルが全くバラバラです。
JavaやC#,C,C++の経験者がいるかと思えば、人差し指だけでキーボードを打っている方もいます。
講義の最初のうちはコマンドプロンプトを使うのですが、教材には説明がなく、最近の人は知らないだろうと思って説明書を作っていたのですが、まさかコピーペーストのやり方から説明することになるとは思っていませんでした。
それでもやる気のある方はまだましで、どうみても給付金目当てとしか思えない、やる気のない方が何人もいます。
こちらも準備不足の中、生まれて初めて「先生」と呼ばれる仕事を始めることになりました。
基金訓練を始める前は「きちんと技術を教えられるかな」ということばかり気にしていたのですが、講義の運営の方が問題続出でした。
いかにもやる気のない方々は講義中もトイレだ電話だといって抜けてしまう、講義中に当てても「わかりません」しかいわない、かといって質問もしない。当然課題も期限までに出さないので0点しか付けようがません。
そういう方でも、こちらから無理にやめさせたりすることはできないので、何とか講義だけはでてもらっていました。
けど、それがよくなかったようです。
まじめに受講されている方々から「金をもらって受講しているのにあの態度は何だ」「入校条件(キーボード入力)すら満たしていないのではないか」「講義のペースが遅すぎて時間が余る」などの苦情があがり、まじめな方から「就職が決まった」などの理由で辞めていってしまいました。
後に残った、やる気のない方々と、講義を続けていくしかありませんでした。
1度目の皆さんが修了し、2回目の講義を行うに当たって、前回の反省点を改善すべく、いろんな手を打ちました。
最後の手は、会社に怒られるのではないかと正直不安でした。実際辞めていく方が増えたのですが、こういう方は「家業が忙しくなったので手伝う」「体調が悪くなったので療養する」といったもっともらしい(?)理由で辞めていったので会社から怒られるようなことはありませんでした。
むしろ受講生の方の中から、積極的に他の方にアドバイスする方が増えたため、スキルの低い方からも「質問をしにいける人が(講師以外にも)大勢いたのでよかった」といってもらえるようになりました。
今回は、終了後の受講生の方どおしの打ち上げ会に呼んでいただきました。おおむね好評だったのだろうと思います。
未経験だけど、求職者支援制度を利用してプログラマになりたい方向けに、こういう人がプログラマに向いている、こうした方がいい、という条件を挙げてみます。
プログラムの勉強ははっきり言って辛いです。やりたいことが明確になっていないと、なかなか続かないです。
僕は「写経」と呼んでいるのですが、サンプルプログラムを実際に打ち込んでみて、エラーがあれば自分で修正する
という「訓練」をやらないと基礎が身に付かないです。そもそもキーを打つのが苦手、という人はきっぱりあきらめましょう。エラーの原因を自分でぐぐって調べられないような人も、この業界には向いていないです。
いき当たりばったりではなく、最初に手順・段取りを考えてから作業を始める方が向いています。
講義でも、課題作成に何日もかかる課題があるので、何も考えずに適当にやっていると期限までに終わりません。
「きりん、うさぎ、あひる、かば、4つの動物で仲間外れは?」みたいな問題が苦手な人は、向いていないと思います。
単に「読める」ではなく、課題を理解し、既知の技術で解けるものと未知のものに分けたり、繰り返し処理や、複数の似たような処理を一つにまとめるといった作業ができるかどうかです。
さっきの抽象的な考えもそうですが、今までそういうことを意識してやっていない、という方が多いと思います。そういう人は、しんどい思いをすると思います。
「AとBという方法がありますが、ここではAについて説明します」と講師がいったら、Bは自分で調べましょう。習ったプログラムを少し変えてみてどうなるか試してみましょう。それがうまくいかなかったとしても、経験というプラスが残ります。
講師の言うことが理解できたと思ったら、自分で応用問題を考えて、プログラムを書いてみましょう。もしそれが期待した結果にならなければ、どこかで理解が間違っている可能性が高いです。
先ほどの「試してみる」もそうですが、BLOGで実施すると、それをみた方からコメントやアドバイスをもらえることもあります。
いきなり何十行もプログラムを書いて動かなかったとしても初心者はまず動かせるようになりません。少し書いて、動かして動作を確認し、また動かして、を繰り返す方が結局早く完成します。
ちゃんと動く「プログラムの断片」を増やすことは、後で同じようなプログラムを書くときに、「断片」をそのままコピーして使えるようになると言うことです。
一度プログラムを書き始めたら、まずやることはプログラムを完成させて動かしてみることです。プログラムを書いている途中で、同じような処理があるからforで書きたいとか、メソッド化したいとか、思うかもしれませんが、プログラムの初心者はまず動くプログラムを書いて、それができてからきれいに書き直しをした方がいいです。
すぐに解けない課題は、書いて残しておきましょう。書いて整理することで、解けることがあります。今は解けなくても、後で見返して解けることがあります。
特に図に書く、という作業は意識的にやった方がいいです。講師に質問するときも、口で説明するより、図に書いた方がずっと通じやすいことがあります。
自分ができたことで他の人が詰まっていれば、アドバイスしてあげましょう。助けてあげると言うだけでなく、他人に説明すると言う作業は、自分自身の理解をより深める作業でもあります。
もちろん自力で最後まで解くことが重要な課題もありますが、そういうときは講師がそれとなく言ってくれるはずです。
とりあえずアプリを書いたら、同じ講義を受けている人や講師に見せて感想をもらいましょう。
アイコンを書くのが苦手なら、イラストが上手そうな人を見つけて、書いてもらったり、書き方を教わったりしましょう。
訓練を受けているのは同じような環境の方ばかりなので、相手だって同じことを考えているはずです。
紙のノートに講義内容を書いたり、テキストの余白にメモしている人がいますが、それは講義の内容を聞いて即理解できる人が、聞いたことを忘れないためのやり方です。
わからない人は、わかるようになるまで、何回でもノートを書き直した方がいいです。わかったことを継ぎ足して、表現を見直して、時には冗長な表現を削って、自分だけのオリジナルのテキストを作るつもりで書きましょう。当然書くのは紙のノートではなくパソコンをつかいます。
プログラミング以外の世界でもプロや、プロ顔負けの技術を持つセミプロ、ハイアマチュアといった方は自分の作品を世に出すときに恥ずかしがったりしません。不安はあっても、それを上回る意欲を持って、どんどんアプリを書いて、マーケットに載せましょう。
ひょっとすると業界の習慣よりあなたの意見の方が正しいこともあるかもしれませんが、未経験の人が言っても周囲はたぶん聞いてくれません。「私はずっとこのやり方でやってきたしこれからもやる」という意見はひとまずおいておいて、まずは周囲に認めてもらうようにしましょう。
余りに差がありすぎて自信をなくすと逆効果ですが、技術を身につけたければ自分より優れた人から学ぶのが一番です。コミュニティーや勉強会にも積極的に参加しましょう。
オブジェクト指向で書かないと開発速度が10分の1になったけど、まぁ、よくね?って書いてあった。
開発期間を重視したプロジェクトが、数年後まで生き残れているか、という問題と。
開発期間を重視したプロジェクトが、数年後に同じ早さで動いているかwという問題がある。
たいていその手のプロジェクトは、追加開発でどんどん遅くなって、早くなったマシンスピードと相殺される。
東証の問題とかがなぜ起きるのか?といえば、そういう原因もある。
ちなみに、おおざっぱに言えば。速度の大小を決める要因となるのは、全体のコードの20%しかない。残りの80%は機能重視で十分。
その、最悪アセンブラ持ち出してまで高速化する20%と、オブジェクト指向だろうが、なんだろうが、とにかく動けばよい80%を分けるのが『設計』であり『上流行程』
これが、出来ない奴が多すぎる。
全部のコードを高速化するには、優秀なプログラマが不足する。全部のコードを凡庸に書いたら、まず実行速度が今のマシンじゃ足りないサービスになる。
http://anond.hatelabo.jp/20071031230504
今までニッチかもしれないけど、ほそぼそとビジネスを行ってきた
そういって狂喜乱舞するアニオタたち。
どんなビジネスでも上流行程を行うものが下流行程を行うものより多くの利益を得る。
ただ絵を描くだけのアニメーターより、アニメの監督が多くの利益を得る。
アニメを作るより、アニメを作るための資金を調達したものが多くの利益を得る。
当然のことだ。それがビジネス。
じゃー誰が犯人なんだ?
本当は知ってるでしょ。
もう気がついてるでしょ。
ニコニコとかYoutubeに動画をアップしてる君たちアニオタだよ。
誰もがニコニコできるなら法律で罰するようなルールは作らない。必要ない。
そのことを罰を設けて規制しておかないと「問題」が起きるから違法にするんだ。
そして、その「問題」が今まさしく起きているわけだ。
彼らの一部は
「アニメ業界は潰れてしまえ!」「すべてリセットしろ!」と吠える。
子供がお気に入りのおもちゃを癇癪を起こして投げ捨てるのとまったく同じだ。
この子供の行為は大人(アニメ製作者)へのあてつけでしかない。
また他の一部は
黒字化すらしていないニコニコで?広告主は誰が集める?電通ですか?
彼らアニオタが
「ニコニコ動画が閉鎖すればいい」「徹底的に違法動画を削除するべき」
といった結論を導き出すことは絶対にない。
なぜなら、
ソフトウェア企業の経営の文脈で「ものづくり」と言う場合はそれなりに意味が決まっている。
逆の状態がなにか、を考えてみればわかる。
単に部品を集めたり、下請けにやらせるだけのマネージメントなんかをやりたがる会社が多い。
そっちのほうが効率よく儲かるから。
中国みたいに人件費の安い国に対して競争力で勝てないというテーマがソフトウェア会社にはずっとテーマとしてあった。(今もたぶんある)
収支に危機感を持った会社はどんどん上流行程にシフトしていく。
自らはコードを書かないで、下請けにやらせる。
しかもなるべくすでに存在する部品を組み合わせる形で実現させる方向で。
実際にそのやり方は儲かる。
儲かるのだが、こういうやり方では技術を持った人間は育たないし、
プログラムの作成を外国に発注することになるので国内産業が空洞化する。
そういうことへの反省と、ある種の反骨的な決意を込めて「ものづくり」と言っている。