一般記事

新人プログラマよ,困ったときはこう聞け!~エンジニア特化型Q&Aサイト「teratail」のトップランカーたちが語る,確実な力を付けるための“質問力”

この記事を読むのに必要な時間:およそ 6 分

「プロになった」と意識した瞬間

編集部:teratailのトップランカーに至る経緯として,どこかのタイミングで自分が「プロになった」という意識を持ったと思います。それを感じたエピソードはありますか?

ShoheiTai:無駄なコードをなくすっていうのは当たり前にやっていたんですが,記述方法とか重い関数を使っていないかなどをすごく気にするようになったところでしょうか。あとフロント側の技術も好きで,表示速度を突き詰めるために,Qiitaの関連記事なんかは常にチェックしていますし,⁠海外SEO情報ブログ」ってサイトをよく参考にしています。

けっこうストイックに,この画像の読み込みが無駄だとか,読み込みにどれだけ時間取っているかとか,ミリ単位のギリギリの戦いをするのが楽しくて,GTmetrixやWebPageTest.org,GoogleのPageSpeed Insightsなんかで評価項目を確認しては,それをベースに調べて改善して,といった感じでフロントエンド高速化を研究しています。

編集部:フロントの速度はUXにも大きくかかわってくることもありますしね。表示される順番や,ミリ秒単位の速度にまでこだわってユーザビリティを追求するのは,フロントエンドならではの醍醐味かもしれないですね。ryunixさん,argiusさんは?

写真2 ryunix氏

写真2 ryunix氏

ryunix:私はけっこういろんな案件を転々とすることが多いので,案件の途中で参画しても,新規の参画でも,なんとなくパッと全体が掴めるようになったときですかね。まったく初めてみるようなコードでも,こう動いているんだろうなとか,全体にどう影響するかなどが見えてきた気がします。

argius:私の場合は,コードを動かさなくても,ある程度動きが読めるようになったことですかね。

編集部:頭の中でシミュレーションされるような感じですか?

argius:まぁそうですね。その精度が上がっていく感じです。いきなり上がるというよりは,徐々に精度が良くなっていくって話ですけど,それを実感できるようになったときですね。

編集部:なるほど,やはりargiusさんにはこれまでの経験の重みを感じますね。

トップランカーたちの情報収集・情報発信方法

編集部:皆さん,最新のプログラミング動向をどのように追っているんですか?

argius:昔は割に雑誌が多く出てたので,月刊誌とかをよく読んでいましたが,最近はgihyo.jpやInfoQなどの技術系サイトをRSSとかで定期的にチェックするようにしてます。

ryunix:私は,がっつりやりたいときは書籍を購入して勉強します。あとオンライン上の「vimrc読書会」っていうのがあるんですが,それにはもう3ヵ月くらいずっと参加していて,毎週鍛えられています。

編集部:vimまわりはオンラインでの読書会が行われているんですね!それは鍛えられそう…!ShoheiTaiさんはいかがですか?

写真3 ShoheiTai氏

写真3 ShoheiTai氏

ShoheiTai:僕もRSSですね。ferretなどの技術系メディアとか。あと,それこそteratailやStackOverflowで話題になっているQ&Aを見たりしていますし,勉強会とかのイベントにも積極的に参加します。

編集部:勉強会への参加,いいですよね。旬な情報も得られますし,新しい人と出会うのもいい刺激になりますし。ちなみにどんなイベントに行ったりするんですか?

ShoheiTai:最近だと「IoTLT」とか人気が出てきていますよね。あとは「ヒカ☆ラボ」とかに行きます。多いときは月に3,4回は勉強会に参加しますし,自分が最近やってみたことなどをネタにしてLT(ライトニングトーク)で登壇することもあります。teratailユーザ会の「集まっtail」でも毎回LTさせてもらってたり。やはり,自分の得意分野を外に向けてアピールするのは大切ですし,しゃべることもけっこう重要なスキルだと思うんです。なので,なるべくそういう機会は増やすようにして,プログラミング以外のスキルも高めていっています。

写真4 レバレジーズ 武藤大佑氏

写真4 レバレジーズ 武藤大佑氏

編集部:ShoheiTaiさんはリアルの場でも幅広く活動されているんですね。情報を吸収するだけでなく,積極的に外へ向けて発信していく姿勢は,今後のエンジニアにとっても重要な能力になってくるので,ぜひ新人エンジニアにも真似してほしいなと思います。

スキルアップのための勉強方法

編集部:最新技術もそうですが,スキルアップをしていく上では,いろんな技術を学んでいく必要があると思います。皆さんはどのように勉強しているんですか?

argius:やっぱり,いいコードをたくさん読むってことですかね。それこそ今はGitHubなどで世界中のいろんなコードを見れるので。あとこれは,昔の自分に自戒の念を込めてって感じにもなるんですが,各技術について,仕様や,仕様まではいかなくてもせめてリファレンスをしっかり確認することが大事だと思います。リファレンスを読みつつ,手を動かして慣れる。できれば每日手を動かすのがいいんですが,まぁ書かなくてもせめて読むってのをやっていけば自然とプログラミングは上達するのかなと。

ryunix:確かにそうですね。あとは聞ける先輩がいれば,どんどん聞いたほうがいいです。入社したときって,とにかくもうわからないことだらけだと思うので,私はどんどん聞きまくって吸収するようにしてました。とにかく聞く,聞くなって言われるまで聞く,私はそれが一番の近道だと思います。

編集部:聞くのは一時の恥,ですよね?

ryunix:そうです(笑⁠⁠。

ShoheiTai:逆引き系の本を読むのがすごくいいです。特に,⁠逆引き大全」のシリーズが好きで,PHPを始めた当初は「PHP逆引き大全516の極意(秀和システム⁠⁠」とかを読んでいました。逆引き系の本を読めば,このプログラミングで何ができるかっていうのが1発でわかるんです。僕が勉強する上で一番重要だと考えているのが,いわゆる「お勉強」にならないようにするっていうことなんですよね。受験勉強みたいに嫌々やらないっていう。僕がプログラミングをやり始めたのは「おもしろい」と思ったからなんですが,本を真面目に最初から読むと,難しい用語がいっぱい出てきて,あれもこれも理解しなきゃってなると,その結果この技術つまんないってなりそうなんですよ。それは一番怖いなと。

プログラミングは今後も仕事としてやってくことなので,楽しくなければ話にならないし正直勉強もはかどらないと思うんです。最初はコピー&ペーストでいいから逆引きからやって,とにかく動かしてみる。そしてある程度書けるようになったら基礎のところを勉強してく,というのがいい方法なんじゃないでしょうか。

写真5 レバレジーズ 木下雄策氏

写真5 レバレジーズ 木下雄策氏

編集部:動いたっていう感動が大事ですよね。

ShoheiTai:そうなんです。そうやって楽しくやったほうが没頭できます。

argius:やっぱり興味がある分野で楽しくやるっていうのはとても重要ですよね。

バックナンバー

プログラミング

  • 新人プログラマよ,困ったときはこう聞け!~エンジニア特化型Q&Aサイト「teratail」のトップランカーたちが語る,確実な力を付けるための“質問力”