サカナ未遂

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

とあるSES企業を退職し、WEB系自社開発の会社に転職します。

タイトルの通りです、転職します。

 

今年いっぱい在籍して、来年から心機一転新しい会社で頑張ります。

 

今の会社は特に誰も知らないような会社なので、あえて社名は出しませんが、

世間で槍玉にあげられるSESやってる会社ながら、意外とホワイト企業だったと思います。

休んでも有給は後から申請すればいいし、みなし残業40時間分込みの給料なのに一切残業しなくても何も言われないので、とてもストレスなく過ごせました。

だいたい毎月の稼働時間が150時間を切るくらいでした。

 

僕はこの会社は5社目なのですが、前の会社で一緒に働いていた仲間に声かけられて入社することになりました。いわゆるリファラル採用ってやつですかね。

 

前の会社は結構なブラックで、残業代一切出ないし、給料安いし、だったのですが今の会社に転職して年収が100万以上、上がったのはとても感謝しています。

 

じゃあなんでやめるかって言うと、やっぱり自分のスキルに不安を感じることが多くなってきたからです。

ホワイト企業なんですが、やっぱり現場に常駐するわけで、そこはあまり選ばせてくれませんし、現場の理不尽な指示に従わないといけないのはやはりあります。

特にCOBOL使う現場だったり、開発はオフショアに投げて、テスト結果の確認してくれとかの作業やったりと、テンション上がらない現場が多くてこのままじゃイカンと言う気持ちが強くなったためです。

そのあたりの気持ちは下記に書いています。

blog.tera-chan3700.com

 

去年の12月にMacBookPro買ったのでちょうど一年経ちました。

一年頑張ればある程度環境を変えることができるんだなぁと言うのが率直な感想です。

この調子でまだまだスキルアップ目指し、新しい会社でも頑張ります。

 

新しい会社は、まだ所属前なので社名は出しませんが、技術スタックは、

RailsGolang、Vue.js、Docker、kubernetesなどを使うと聞いているので、モダンな開発ができるのではないかと期待しています。

まだまだ小さい会社なので会社の成長の助けになれるように頑張りたいと思います。

スマートウォッチが便利すぎて手放せない

今年買ってよかったものの中で、スマートウォッチが一番かもしれません。

 僕が買ったのはHUAWEI Band2と言うやつで、5000円くらいのやつです。

HUAWEI Band 2 / ブラック  スマートウォッチ ※メタルボディ 防水機能50m 21日間連続使用可能【日本正規代理店品】 Band2/Black

 

スマートウォッチで一番欲しかったのは通知機能でした。

これまで公園で子供と遊んでいるときは、基本的にスマホはバッグにしまっておくので、妻や友達から連絡が来ても気づかないことがよくありました。

でもスマートウォッチは常に腕につけているので、Lineや電話が来るとブルブルと教えてくれます。

そのため大事な連絡などを見逃さずに済むようになりました。

 

スマートウォッチを買うにあたり重視したのは、

・通知機能

・バッテリーの持ちがいいこと

の2点でした。

通知機能については上記の通りですが、バッテリーについても重視しています。

こまめに充電するのは面倒だし、使いたいときにバッテリーが切れていると、もはや何の役にも立ちません。

このHUAWEI Band2はだいたい2週間くらいはバッテリーが持つので、前いつ充電したっけな?ってくらい充電しません。

お風呂と料理するとき以外はだいたい着けています。

さらに目覚ましアラームもあるので(音はなりませんが、ブルブル震えて教えてくれます)、家族で同じ部屋で寝ていても、周りを起こさずに起きることができます。

僕は結構寝覚めがいいので、バンドのバイブ程度で起きられますが、爆音の目覚ましでも起きない人は無理かもしれません。

 

難点はバンドが外れやすく、無くしていまう可能性があるので、そこだけマイナスポイントかなと思いますが、とにかく、起こしてくれる、知らせてくれる、長持ちするの3つがあれば自分は満足なので(歩数や心拍は別に興味がないので)、このバンドはとても気に入っています。

 

"「納品」をなくせばうまくいく"を読んだ

ソニックガーデンの倉貫さんの「納品」をなくせばうまくいくを読みました。

 

リーンスタートアップを土台に、エンジニアがいない会社に必要な技術を提供する仕組み、ビジネスモデルを提唱しています。

わざとだと思いますが、タイトルは若干大げさにつけているかなぁと。
納品がなくしてうまくいくわけがない!と内容を読まずに批判する方もいることでしょう。
私も銀行の巨大な勘定系システム担当していたこともあるので、納品しないなんてありえない、と思って、なかなか読んでみようと思わなかったですが、、、

でも読んでみるとタイトルに嘘はなくて
「納品をなくせば”すべて”うまくいく」とも「”すべての”納品をなくせば~」でもない点がミソですね。
これは本の中でキチンと説明していますが、このビジネススタイルが適するのは、スタートアップ企業など、ビジネスが決まり切っていなく、顧客の要望などによって方向転換(ピボット)を繰り返す必要がある企業が対象です。

仕様を決める→作る〜、の開発フローだと、サービスを開始後にユーザーの反応が悪かった場合、修正に時間もお金もかかり、
・企業は時間とお金が無駄になる
・エンジニアはせっかく作ったものがすぐに仕様変更させられる。
・エンドユーザーは使いたいものではない
とみんなが不幸になってしまします。
そのためにシステム納品ではなく、毎日どういう機能が本当に望むものかを検討し、追加していくことでサービスを日々進化させていくことが必要とされます。

そういった柔軟に開発を続けていくモデルを「納品がない」ソフトウェア開発と名付けて実践されています。

お金を稼ぐだけなら、人材派遣や一括受注、あとは運用や仕様変更で追加料金をとるなどが効率がよいのでしょうが、本当に顧客やその先のエンドユーザーのことを真剣に考えたら、納品をしないという選択が最適解のような気がします。

また働く場所をとわず、残業しないなど、エンジニアのパフォーマンスをあげるための理念はすばらしいです。
エンジニアが最高のパフォーマンスを出せる環境を会社が提供することで、結果的に、顧客の満足につながっていく。よいサイクルを生み出すための取り組みなのだと思います。
社員のスキルと人間性を信頼しているからこそできることだと思います。


プロを目指す人のためのRuby入門 の著者の伊藤淳一さんもソニックガーデンですね、このレベルの技術者がごろごろいるソニックガーデン、きっと日本のソフトウェア開発の新しい基準になっていってくれると思いす。 

 

 

Go言語でechoサーバーを作る

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

という本で、現在HTTPの歴史を勉強しています。

HTTPの挙動を確認するにあたり、Go言語でechoサーバーを作る方法があったので備忘録。 ソースは以下のようになります。

package main

import (
    "fmt"
    "log"
    "net/http"
    "net/http/httputil"
)

func handler(w http.ResponseWriter, r *http.Request)  {
    dump, err := httputil.DumpRequest(r,true)
    if err != nil{
        http.Error(w, fmt.Sprint(err), http.StatusInternalServerError)
        return
    }

    fmt.Println(string(dump))
    fmt.Fprintf(w,"<html><body>hello</body></html>\n")
    
}

func main(){
    var httpServer http.Server
    http.HandleFunc("/",handler)
    log.Println("start http listen :8080")
    httpServer.Addr = ":8080"
    log.Println(httpServer.ListenAndServe())
}

上記コードを記載したファイルをserver.goとし、 go run server.goで実行します。

すると、mainメソッドが呼ばれ、localhost:8080でリクエストが来るのを待つ状態となります。 それから、ブラウザで、http://localhost:8080にアクセスすると、handerの処理が呼ばれ、画面に「hello」の文字が表示されます。

このserver.goとLinuxcurlメソッドを使ってHTTPの挙動を学習中、RealWorldHTTP、良書です、皆さんも是非!

超電導ナイトクラブについて

今まで読んだ小説で、一番好きなものを選ぶとしたら、村上龍の「超電導ナイトクラブ」をあげます。

 

初めて読んだのは20歳くらいの時で、以降数年ごとに読み返しています。

 

超電導ナイトクラブと呼ばれる、ボディビルダーのママがやっているバーにハイテックの常連が夜な夜な集まり、最先端の技術から下ネタまで、まとまりなく議論し、時に起こる問題にハイテク技術を使って解決を試みる、という内容です。

 

村上龍節というのか、前半は丁寧に描写し、物語を構築していくのですが、後半になるにつれ、物語自体が暴走し、ラスボス級のキャラがあっけなく死んだりして終わります。

 

なんでこの本が一番なのかとちゃんと考えてみたのですが、この本に書かれている禍々しく混沌とした場所に憧れているからだと思います。

頭良すぎてクレイジーになった人間とか、なんかぶっ飛んでる人間や、危ない匂いのする場所に憧れていて、でもそんな場所なくて、あっても近づかなくて。

だから小説の中に求めるのだと思います。

自分の行けない場所につれて行ってくれて、あってみたい人に会わせてくれるのが小説なのでしょうかね。

 

最近、あまり小説を読む時間がないですが、また時間を見つけて読みたいですね。

 

サイドバーにGitHubの草を生やしてみました。

ソニックガーデンのプログラマーの伊藤淳一さんのブログで、サイドバーにGitHubの草を載せた記事を読んで真似してみました。

blog.jnito.com 

とはいえ以前作ったゴミリポジトリがたくさん入ったアカウントとは別に、最近新しく作ったアカウントを載せたため、全然草が生えてない状態ですが、、、

だた公開したことで、もっとアウトプットしなくちゃという意識にもなるので、プログラムを書き続ける一つのモチベーションにもなります。

と言うことで、来年の今頃には草ボーボーになってるよう頑張ります。

 

 

 

エンジニアのためのキャリアパスを読んだ

最近発売され、話題になっていたエンジニアのためのマネジメントキャリアパスを読みました。

 

エンジニアとしてまだまだ技術的に未熟なので、ソフトウェアよりの勉強ばかりしているのですが、自分の年齢を考えたときに、マネジメントについても知見が必要になってくると思い、購入しました。

 

この本は、題名の通り、エンジニアのマネジメントキャリアパスについて書かれています。

メンターから始まりテックリード、人の管理、チームの管理、管理者の管理、経営幹部、文化構築と、各職責ごとにどのように振舞うべきかを教えてくれます。

あくまでエンジニアのキャリアパスであって、他の業種のマネジメントとは異なりとにかくどの職責でも技術に関しては、おざなりにしてはいけないことを強調しています。

 

特に印象的だったのはブリリアントジャークについてです。

ブリリアントジャークとは、

自己中心的で周りから恐れと嫌悪の入り混じった気持ちを抱かせる。

技術力は高いがそれにしがみつき、技術力以外は認めない

仕事はできるのでやめさせるのは至難

 

こう言うエンジニアってたまにいる気がしますね。

これの解決策は、第一に雇わないこと、だそうです。

(しっかり対応策も書いてありますよ)

 

なかなかのボリュームなので、全部読むのはそれなりに時間もかかりましたが、とにかくマネジメントは最初から誰でもできることではなく、向上させる必要があることがわかりました。いきなりできる人なんでそりゃいませんよね。

とても実践的な内容が書かれているため、昇進することがあれば、また読むことになりそうです。