サカナ未遂

プログラミング、筋トレ、子育て

ベタープログラマになる為に

今日は「ベタープログラマ」を翻訳した柴田先生の講演を聞いてきました。
優れたプログラマーはどういうものか、どういったキャリアを築いていくかが主な議題でした。
特に印象に残っている要点を忘れないようにメモです。

 

・知識への投資は常に最高の利息がついてくる

 

・ソフトウェア開発は一生続けられるキャリアであり、素晴らしい旅であり得る。
しかし「Helloworld!」で始まった旅は中間管理職への昇進で終わる。

 

・正しく動作しないコードはガラクタである

 

・保守できないコードは負債である

 

・同じ開発を10年やっても成長しない。常に新しいことに挑戦しないといけない。

 

・優れたプログラマは人が理解できるコードを書く

 

・ソフトウェアは腐る、それはテストコードがないプログラムである。

 

・読んでわかるコードにコメントを書く必要はない。

 

・会社は自社で使う技術のサポートしかしてくれないし、最悪なにもサポートしてくれない。
自分の専門性が時代遅れにならないように維持することを会社に頼ることはできない。

 

・一冊の良い本を選べは他の人が何十年もかかって習得してきた見識を数日で得ることができる。

 

・勉強しなくても会社の開発はこなせるため学習習慣を失う。しかし学習しないとレベルが下がっていく。

 

などなど当たり前のようで、現在直面している問題に対しての話もたくさん聞けました。
今後も自分の技術を向上しつつ、キャリアを積んだエンジニアの講演会、技術勉強会に顔を出して行きたいと思います。

ブログに技術記事を書く理由

プログラミングなど、勉強しているととても助かるのが技術ブログ。

私くらいのレベルだと、何かしら不明なことがあった場合、Qiitaとかを検索すると、

だいたい解決してしまいます。

 

自分も勉強結果をアウトプットしたいと考えても、調べて出てくることを

書いても仕方がないと思って過ごしていました。

でも、別に技術サイトに投稿するわけでもないので、自分のブログにアウトプットしていくことにしました。

じゃあ日記にでもつけとけよとか言われるとまぁそうなんですけど、"いつか誰かが何かのきっかけで見るかもしれない"という緊張感があるので、適当なことは書けない、という気持ちになるのため、あえてブログに書くことにしました。

技術のこともさることながら、ブログを書くことも初めてなので、ブログの書き方、技術的な記事の書き方を徐々に学んでいこうと思います。

できれば週一くらいで更新したいとは思いますが、あまりこだわらずコツコツ続けていこうと思います。

 

Rubyのinjectでハマったのでメモ

 アラフォーでRuby未経験ながら、Ruby技術者認定試験を取得することにしました。

 

まだ始めて一週間ほどですが、いきなりハマったとこがあるのでメモ。

a = [1,2,3]
puts a.inject{|ret,n| ret * n}

 と、ある模擬問題であったけど、injectにパラメータがない。

パラメータを省略した場合、何になるのだろうか?

勝手な予想だけど'0'だと思い、'0'に何を掛けても'0'だと思った。

しかしputsの結果が'6'となる。

これが理解できなかった。

injectの引数を指定しないと初期値は何なのか?

Rubyの参考書とかを見ても、injectはだいたい引数付きで、

indject(0)とかになっている。

結局公式リファレンスにたどり着いた。

module Enumerable (Ruby 2.1.0)

 >初期値 init を省略した場合は、 最初に先頭の要素と 2 番目の要素をブロックに渡します。

こう書いてあった。

だらか上記ソースは 1 * 2 * 3 となり6になるというわけですね。

昔からの癖で、本に書いてないとすぐハマるけど、公式リファレンスを最初に

確認するようにしないといけないなぁ。