今日も窓辺でプログラム

外資系企業勤めのエンジニアが勉強した内容をまとめておくブログ

Pythonでローソク足と出来高を1つのチャートに簡単に描く方法

今回やること

Pythonを使ってYahoo!ファイナンスの株価時系列データを読み込み、ロウソク足と出来高のチャートをひとつの図に描く方法を紹介します。
データの読み込みにpandas、描画にはmatplotlibを使用します。

続きを読む

「SOFT SKILLS ソフトウェア開発者の人生マニュアル」がブログを書き始めたきっかけでした

読んだ本

まだ年始のお休み中で少し時間もあるので、たまには気分転換に書評というか、読んだ本の感想でも書いてみようと思います。

今回読んだ本は、「SOFT SKILLS ソフトウェア開発者の人生マニュアル」という本です。

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

実際に読んだのは半年以上前なのですが、このエンジニアが影響を受けた本の記事に名前が挙がっていたので思い出しました。

本の内容

この本はエンジニア向けの本なのですが、いわゆる技術書ではありません。タイトルにもある通り、技術面以外のソフトスキルに関することがエンジニア向けに書かれています。
各章のタイトルだけ引用させていただきますと、こんな感じになっています。

  • 第1部 キャリアを築こう
  • 第2部 自分を売り込め!
  • 第3部 学ぶことを学ぼう
  • 第4部 生産性を高めよう
  • 第5部 お金に強くなろう
  • 第6部 やっぱり、体が大事
  • 第7部 負けない心を鍛えよう

感想

紹介したようにこの本は多くの範囲をカバーしているのですが、その中でも特に良いと思ったキャリアについてとお金についての部分の感想を紹介します。

キャリアについて

エンジニアとして大企業で生き残っていくとはどういうことか、スタートアップでの場合はどうか、フリーでやっていくとどうかなど、キャリアに関することが本の序盤で説明されています。
私は現在は大企業で努めていて、会社の中でもどちらかというと保守的な人が多いチームに所属しています。このままあと何年か同じ会社・同じチームで勤め続けて将来的にエンジニアとして生き残っていけるのかと悩み続けていました。

最終的な結論は「このチームにとどまっていてはエンジニアとしては死んでしまう、早く会社かチームを変えなければ。」というものでした。この本だけでこの結論に至ったわけではないのですが、この本から受けた影響も少なくないです。
同じ章に書かれてきた履歴書の書き方なども、レジュメを書く際に参考にした記憶があります。あなたはレジュメを書くプロじゃないんだからプロに頼め、というようなことが書いてありましたが、実際にプロに頼むのはハードルが高いのでLinkedInとかで接触してくる転職エージェントにあってみてレジュメを見せて履歴書をよくするアドバイスをもらいに行ったりしましたね。

第2部では自分を売り込む方法をいろいろ紹介しているのですが、その中の一つが自分のブログを書くというものでした。本を読んだその日に、はてなブログのproを契約してこのドメインも取得しました。ちょうど当時取り組んでいたのがMicrosoft bot frameworkだったので、とりあえずそれについて記事を書こうと書いたのが今年6月の記事でした。
(実はブログ自体は過去にもやろうと思ったことがあって、2015年に1記事だけ投稿していたのですが、過去記事を見ていただくと分かる通り結局そのあと続くことはありませんでした。。)

お金について

第5部は給与交渉や株や不動産投資についてなど、お金について書いてありました。
社会人3年目の私は、お金についても今まで以上に興味を持っていました。この本を読む半年前ぐらいから投資にも手を出したりしていたので、このお金についての章は非常に楽しく読めました。

1年ほど前からスタートアップに知り合いやwantedly経由で遊びに行ったりしていたのですが、そこで話を聞くとやはりどこも給料があまりよくない…というようなことをおっしゃっていました。当時は年収を大幅に下げてでも技術等を学ぶためにスタートアップに飛び込むべきか、と悩んでいましたが、この章を読んでお金について改めて考える機会が確保でき、安易に年収を下げてはいけないと思いなおしました。

最後に

感想で紹介した2つのトピック意外にも、生産性を上げる方法、健康を維持することの大切さなど、ためになることがたくさん書いてあります。
決して安い値段の本ではないのですが、興味を持った方はぜひ読んでみると得られるものがあるかもしれません。

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル


金融データのPythonでの扱い方

はじめに

Udacityというネット上のビデオを視聴する形で受講できる講義を提供しているサイトがあります。
Udacity - Free Online Classes & Nanodegrees

サイトや講義は英語なのですが、その中で Machine Learning for Tradingという講義を見つけました。
この講義は主に3つのパートに分かれています

  1. 金融データをPythonで操作する
  2. コンピュータを使った投資
  3. 取引に使う機械学習アルゴリズム

1つ目のパートを視聴したので、Pythonの基本的な知識の部分で知らなかった点を、実際のデータを操作する中で紹介しようと思います。
2つ目と3つ目はまた後日にでも。。

続きを読む

TensorFlowでボートレースの予想しようとして失敗した話

はじめに

以前は日経平均が上がるか下がるかを予測していましたが、少し気分を変えてボートレースの結果を予測してみようと思い立って実装しました。
結論からいうと、今回は非常に単純なモデルを使い、訓練データに対しては完璧な精度を出したのですがテストデータに対してはどのような賭け方をしても赤字、というような結果になっています。

もし何かの参考になればと思い、記事にしておきます。

続きを読む