argius note

プログラミング関連

技術力を向上させるために

私もまだまだ未熟ですが、技術力を向上させるためにやってきたこと、経験したことを、教わる側の立場も踏まえて書いてみようと思います。おそらく、大部分、「あたりまえ*1」のことしか書いてありません。

知ったかぶりは良くない

知っている人が知らない人に教えるとき、「この人はどこまで知っていて、どこが知らないのだろう」と思っていたりするので、知らないのに「知っている」と言ってしまうと、「これを知っているならこのくらいまでは理解できるだろう」と思って、的確な指示が出せなかったりします。「分かったふり」も似たようなものです。
どうしても分からないから、という理由でそう言ってしまうのなら、諦めてしまう程度の覚悟ではこの先やっていけないので、違う道を探したほうが無難でしょう。

聞き上手、調べ上手になる

上の話に通じるところですが、分からないなら(検索サイトで探すなどして)調べるか先輩に教えてもらうかしましょう。ただし、どちらも技術が要るものです。私の考えでは、どちらも「相手の考えを読んでみる」ことだと思います。
検索のコツは、「この情報は、きっとこういう風に書かれている」と考えることです。ただし、これには色々なサイトを見て、一般的にどんな情報が提供されているかを把握する必要があります。また、キーワードが技術の中でどういった位置付けにあるかをある程度知っている必要もあるかも知れません。
教えてもらうのは、「どういう風に質問したら答えてもらいやすいか」を考えることです。あとは、「自分がどこまで理解してるのかをなるべく正確に伝える」ことも重要です。もちろん人間として通常のコミュニケーションが取れることは大前提ですが、人間関係は簡単な問題ではないので、仕方の無い場合もあります。

基礎を固める

特定の技術を究めることも良いと思いますが、どんな技術でも基礎は重要となります。なぜなら、余程革新的なものでない限り、技術はその土台となる1つもしくは複数の技術で構成されているからです*2
これは、この手の技術に限らず、他の様々な分野でも同じことが言えると私は考えます。どの分野にも、「基本形」というものがあります。技術の高い人は、「基本形」を地道に習得し、完全に自分のものにしようと努力し、身に付けていきます。理解する速さは人の能力によって変わりますが、皆が皆、能力が高いとは限りません。ですが、技術力のある人の多くは、「基本形」を身に付けています。
基礎は、新しい技術を学ぶ際に、理解をより早く、より確実なものにしてくれます。

本を読む

ノートPCでWebサイトの情報をオフラインで読むのも悪くはありませんが、定番となっている本は読んでおきましょう。一度に読破する必要はなく、理解できるまで何度も繰り返し読むことのほうが大切です。

適度に出力する

学んだことは、入れっぱなしではどんどん忘れていってしまいます。知識にある程度の蓄積ができたら、何かしら出力(アウトプット)しましょう。自分で何かを作ってみたり、本当に読ませる訳じゃないけど、学んだことを文章で説明してみたりと、学んだことを使ってみましょう。
入力と出力のバランスを大切に。

興味を持つ

これはあれば簡単だけど、ないと難しいものです。それが好きになれば、少しぐらいの苦労は全く辛くありません。あまり好きになれなくても、せめて興味を持ちましょう。それができないと、やることが苦痛にしかなりません。苦痛に堪えながら続けてもきっと身につかないでしょう。

先を読む力

これも色々な分野に関連しますが、「こういう実装にしたら、今後どういったことが起きるかを想像する」ようなことです。技術以外でも、「今後こういった需要が増えることが予想されるから、こういう商品を提案しよう」なんてことも考えられます。
ただ、これはマスターするのは難しいので、日々精進です。(マスターしたら、自分でいくらでも仕事が作れてしまうでしょう。)

その他

他にも、良い習慣を身に付けることの重要性を説いている方もおりますが、私はそれを実践できていないので、ここでは触れませんでした。

*1:彼ら曰く。

*2:これは何かの受け売りかもしれない。思い出せないけど。