読者です 読者をやめる 読者になる 読者になる

timakin.log

╭( ・ㅂ・)و ̑̑

教養としてではないプログラミング╭( ・ㅂ・)و ̑̑

お前なんかハッカーじゃない╭( ・ㅂ・)و ̑̑

こういうプレゼンを第9回若手Webでした。すごくエモいプレゼンを
若手精鋭の皆々様の中で、ましてSmartNews様のオフィスでやるとか恐縮千万だった。

お前なんかハッカーじゃない╭( ・ㅂ・)و ̑̑

この記事ではプレゼンに関する詳細と、最近良く見るプログラミングそもそも論に乗じるポストをする。
ただ、僕自身としては謙虚とかではなくまじで本職の方々(おっさん)の指針になるような何かを言える立場には無いと実感しているので、
そこは他者にお任せしたい。代わりに自分の体験から、教養としてのプログラミングから、仕事としてのプログラミングへの溝というか、その門に立つに当たって思った感想を述べていく。

プレゼンに関する補足

BOSSについて

これなんですが、上長ってわけじゃなくて、メンターや先輩社員全員を指します。
本当に仲良くさせていただきました。隣でパイナップルや納豆食っててもなぜ怒らないでいてくださったのかわからない。
感謝の念しかなくて、一人に絞れないほど様々な方に、部署横断的にお世話になりました。
あと後述の某R社ポストでBOSSパクリがあった。絶対に流行らないと思ったから書いたのに、スベる被害者を増やしてしまった。

ググる前に聞くなよボケ問題

大丈夫流石にそこまでアホじゃないです。
心持ちの問題で、ググる前に聞くくらい前のめりで質問したい欲を持たないと、
「うーんもう少しググったり考えてから聞こう…...」でズルズルいって、2時間経過とかあるので、
もうググる前に聞くくらいの勢いを持って丁度いい、ってことです。

インスタンスすらわからんならすぐ聞けよ問題

後述です。

某R社を5日で首になったとかwwwくっそwwww

笑えない。

全然笑えない。僕は3年前おおよそこんな感じだったのだが、本当に良く社長やメンターは
僕に席を用意してくれたままでいたと思う。感謝の念しかないし、貢献できなかったことに対する、申し訳なさみたいなものがある。
まだ「文系エンジニアです!雇って!」みたいな輩(昔の僕みたいな)が蔓延する前だったので、多少多めに見てくれたのだろう。いやほんと勤務時の僕の態度とか思い出すとまじで赤面しかない。絶命したくなる。

クビになったこの知り合いについて

今回のクビになったこの人は、知り合いでもあるので言及したい念にかられた。
全体の所感としては、痛み分けな感じじゃない?と見ている。

まず、当人のレベル感でいうと、傍目から彼を見ていて、うーんまあたしかにGitとかバックエンドの開発は難しそうにしていたなあ、というのが見ていて思ったこと。
Gitでまともに開発ができないのって、Gitを知らないか、既存プロジェクトへのアサイン経験がないかだと思うんですが、前者だとしたらそれ、ドットインストールすらやってないってことですから、それはだめなきがする。
この記事を見るに、やれる資源を徹底的に消費した感じはしない。だってドットインストールですら初期の方でunix操作入門あるので。CLIツール使ったことなくて、GUIだけで過ごしてきたっていう人が多いことに、僕わりと最近驚いてます。エンジニア力が足りないとかじゃないんですよ。あの黒い画面かっこいいじゃないですか。

「個人開発をやっていた」というのも、個人開発環境で、フレームワークで生成されたものに見た目上の付加価値を与えるということをしていて個人受託とかではなく、普通に「個人で勉強してた」というのの延長線上な気がする。
だから、面接の時に盛ったとかそういうのは存じ上げないが、能力に関するミスコミュニケーションはあったのかもしれないな、と思っている。そこは彼に一因ある。

もしこれが全部会社側の要因のように見えたら、それは彼が被害者意識を強く伝えてしまった結果かもしれないので、そこを誤解させないようにして、もっと別でチーム開発を鍛えてから別のインターンに行った方が、、、と、知り合い(前日にあってたくらいの距離感)という目線から言いたい。

某社側について

ただ、じゃあ某R社の件で会社側に非がないのかというと、それも違う。
就職目的でインターン生を取っているとはいえ、「うーんわかんなかったらググってね」程度でメンタリングしてたのだとしたら、良い印象は持たないな、と思う。
インターンは子育てする期間じゃなくて、お前ら学生を見極める期間だぞ」なんて意見もあるのだが、同時に「学生が会社を見極める期間」でもある。

即戦力が欲しいんだ!!っていうのは、会社経営してる側からしたら最もだと思うのですが、エンジニアで即戦力な人は、学生で即戦力なんていらないわ〜って言ってる、バンバン中途で超優秀な人が入ってきている会社で技術力アップを目指すから、難しいなと思います。弟子入りみたいな感じですよね。

てか今書いて気づきましたけど、ここら辺わりとむずいですね。わりと最終的にどっちが譲るのかって話になりそう。

某社は学生インターンを多々雇っているので、わいわい言ってる学生があそこに多いのも知ってる(でもサンプル数一桁ですごめんなさい:D)。
そこで感じたのは、「ググってね」という接し方が悪いというより、「ググってね」って言ってわからない人を、「君は即戦力だね!!いいね!!」と言って持ち上げた挙句すっごい勢いで切り捨ててしまう捨て駒感と、それを踏まえて一向にいい人だけ採用するために門戸狭める方針を固めないことに原因があると思っています。
捨て駒感と言ったのは、この会社からお誘い通知が来るエンジニアがやたら多いので、そういう印象を受けたということです。

なのでこの件は、両者ともにミスコミュニケーション問題が絡みあってあんまよくない結末を迎えてしまった感があります。

プログラミングは楽しいかね?

僕は楽しいです。今は。
でも本当に嫌いな時期がありました。

Hello, World!で画面に文字が表示されるのが面白い?僕は面白くありませんでした。むしろこの調子で学んでてエンジニアになれるのか超不安になりました。
多分これはジェネレーションギャップ的なところもあるのですが、小3の時にホームページ(ビルダーで作りました:D)を持ってはいたので、むしろこんなまどろっこしい遠回りをしなくちゃいけないのか、とHTMLに辟易した覚えがあります。そういえばビルダーの下の方に出てたHTMLも怖くていじれなかったなー。

某社で勤務してたとき、納期や下請けの都合上ストレスが溜まってる人を見て、僕はなんて世界に来てしまったんだ、絶対仕事にしないと思いました。

最強に嫌だったのは、ググってもググっても説明ヘッタクソな文章にしか出会わないことですよ。
ググるより先に聞くことが大事ってのは、ある種「ググって最初の3記事くらい読んで、公式ドキュメント読んだら、それ以上ネット上からはいい答え出てこないでしょ」っていう諦めから来た教訓でした。そのせいでメンターにはご苦労おかけして申し訳ないのですが、でもそれくらいが時間を無駄にせず、かつ一応調べましたと言えるラインなのかなと、肌感で感じています。

そんで、僕は上記の彼を応援しつつ、ちょっと不安なのは、そういう闇に深入りしてないままエンジニアっていいよね、って言ってないかな、という点が気になるからです。

意識高い系(企画したい系)へのヘイト

僕がそういう闇でもがきつつ今こうしてエンジニアとして生きようと思ったのは、僕を突き動かした、かつて所属していた学生団体というところの経験があったからです。学生団体ってなんでしょうね。自戒を込めた結果自己収束する究極体かなんかだと思ってるんですが、僕も以前籍を置いていたので、言いにくいところはあります。

ただ、他人の論理よりも自分の論理の方が優れているということで競い合い、かつその結果生まれた成果物(空論)に対しての大人からの評価は、「いいね学生っぽいね」というなんとも温いものだったのは事実です。僕は当時読書癖があって、大学1年の頃はその活動か、1日読書をしているかしかなく、何千冊という本を読んでいた分、触れた知が自分を経由して形になっていない虚無感を覚えました。(こう書くと本は冊数じゃない云々という話があるんですが、それは自己反省してノイローゼになりかけたので勘弁してください:D)
井の中の蛙というのを実感せざるを得なかった。自分が何も物を残せておらず、本当に怖くて堪りませんでした。

ただ、そこの危機感があったからこそ、あくまで続けてこれたんではないかなと思ってます。

教養としてのプログラミング

最近はCode.orgやら、様々な公的な支援のもと、プログラミングが教養としてみなされるように活動がなされているようですね。
すっごい賛成なんですが、現状のままだとこの結果生まれるものって、良くても「働くエンジニアは、こんな道を延々と進んでてすごいな!」って価値観が定着する程度だと思ってます。「クリエイティブな手段だ!プログラミング最高!」は、プログラミングの意味不明さへの憎悪ドリブン開発をしたことがないか、そこを乗り越えた人が言える、極端なポジショニングからの発言だと思っています。もちろん最初から憎悪の種を植え付けたら、スライムにイオナズン的な話で確実に死をもたらすので、門戸を広げて職業観を変えてく一歩でしかないな、そっから何人か職業としてエンジニアを選んでくれれば、大成功ってくらいに心に留めておくべきでしょう。

「1ヶ月くらいでプログラミング勉強したいんだけど、なんかおすすめの資料ある?」

いつもこの質問への答えは決まっています。「ドットインストールやってみるといいよ〜わからなかったら言って〜」です。
ですが、僕はこの質問に対して明らかな負の怨念を抑えつつ、発言しています。その怨念は、「Why あなた オンラインで受けられる講座すら調べない?」とか、「それがあったら苦労しない」という考えもあったりするのですが、それよりも僕個人の学習背景から特に生まれる怨念が一つあるのではないかなと。
つまり、「お前、片手間1ヶ月でエンジニアって本気で言ってんのか」という想いです。
こっから多少感情的になると思うので、読みにくさに関して前もって謝罪させていただきます。まず、この質問の際、「自分で作れる力はいらないんだけど、いざというときエンジニアとコミュニケーションは取りたくてさ」と言われると、僕は悔しさと憎しみに支配されます。僕が今まで見てきたエンジニアの方々のデスクは、技術書がいっぱい積んでありました。その前にはエラーに苦しみレガシーコードに苦しんでいる方々の姿がありました。本当に実力勝負でしかない世界で働いている人の姿は、混沌としていましたし、それを知らずに片手間でできると思って、質問の重みを知らない人がいた時に、僕の心に芽生えるのは殺意しかないです。清濁全て飲み込んで学んできたものを、そんなショートカット的にできるとも思えないし、そんな事実があったら信じたくないという、自己肯定感があるのかもしれません。

そういった「エンジニアの方とコミュニケーションとる」って、どういうコミュニケーションのことを指しているのかがまずもって不明です。コードも書けない地位だけの偉そうなビジネス野郎に虐げられる父の姿を見ているので、感情的になってしまいます。技術トレンドなんてすぐ変化するじゃないですか。設計なんてそんな柔軟にできないじゃないですか。「これをこういう仕様で実装してよ、ユーザーの意見だから」って言って、全部反映させてたらエンジニアがユーザーの声を聞く時間なんてないのに、そのエンジニアに対して、「もっとユーザー目線で」とか言ってくる偉そうな技術かぶれになる気なのか?あるいは人月でエンジニアの価値を測るプログラミングわかっる〜系経営者になりたいのか?と。

なぜエンジニアになりたいのか、と聞いた時に、「作りたいものがあって」とか「こういう問題意識があってさ」って言われれば、いくらでも薦めますし、仲間ができたわいわい!って感じで嬉しいです。でも、前述のタイプに関してはナイフのように鋭い意思をもって対さなければいけないと思ってます。

教養としてではない、仕事としてのプログラミング

僕はまだ、このテーマを書くにあたってふさわしい人間ではないと思います。だってまだ大学4年ですよ。経歴はさっきのスライドや、以下を見てもらえればわかります。


About Me | timakin.log


timakin (timakin) · GitHub

ご覧の通り、僕は社会人としてフルタイムで働いた経験がありません。
インターンとして学生の立場からコミットする際、技術的な学びには限界があります。本番環境のDBをいじれない、大規模なデプロイには関わらないとか、ありますよ。そりゃ大きな企業側からしたら当然です。その決定には全く不満はないです。むしろそれ以前のところで大手を振って学ばせていただいて、本当に感謝です。僕に授業でFORTRAN教えてくれた大学に対しての感謝は微妙ですけどね。

でも、僕ら「教養としてではないプログラミング」の一歩手前にたった人間が意識すべきなのは、自分が学んできた技術が豆粒のような基礎固めでしかないのかもしれない、という可能性です。職業としてのエンジニアに対しての評価軸で、僕が一番危惧しているのは、コンピューターサイエンス的素養です。これは文系エンジニアなんてことを言い訳にできるのは、学部をはっきり意識する大学生の身分までなんだろうな、という自覚があるからです。だからこそ、しっかりCSを学んで、フレームワークやライブラリの移り変わりに(特にフロントエンド)左右されずに、自分はエンジニアだと胸を張れるようにしなくてはならないのだと思います。

いやでもどうなんだろう、DHHに前メールを送ったことがあって、「エンジニアとして過ごしてくにはどういう立ち位置がいいんでしょう...」的なことを聞いたら、「俺レーサーだけど?:D」って返信されてなんとも言えない感じになったことはあります。

最後に、僕はこうしてエモくて自分の技術レベルからして偉そうに聞こえる話を書いたのには、エンジニアとしての意見表明をしなきゃなという勝手な使命感が端を発しています。周りのエンジニアは恐ろしいほど優秀です。今いるTranslimitという会社は、10名規模の会社なのにみんな楽しそうに8ヶ月で1000万ダウンロードかましたBrainWarsというアプリを運用してます。割とこの職場の方はブログを書くのですが、とんでもない技術力をお持ちでありながら、意見表明しないエンジニアは超いっぱいいます。バンバン技術ブログ書いていく人はいるんですが、もっとエモい領域で、共通項の多そうなテーマで意見発信していけば、まだ未熟な僕でも伝わるんではないかなと思っています。これから先もエンジニアの立ち位置を考えつつ締めて、コードを書く手に戻したいと思います。

╭( ・ㅂ・)و ̑̑