タグ

ブックマーク / higepon.hatenablog.com (56)

  • 1 on 1 で 何を話すのか? マネージャ/ソフトウェアエンジニアの立場から - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    1 on 1 (ワンオンワン) とは1対1のミーティングの事。ここでは毎週もしくは隔週で行われるマネージャとその部下(direct reports)であるソフトウェアエンジニアの 1 on 1 に焦点をあてる。よく 1 on 1 で何を話したらよいか分からない。話題がない。と相談されるので僕の思うところをまとめてみる。 僕はマネージャもソフトウェアエンジニアのどちらも経験があるので両側からの視点を提供できると思う。 マネージャ編 マネージャは 1 on 1 を部下のために開催しなければならない。自分のための時間ではないことを肝に銘じよう。部下には話したいことを何でも話してもらう。事前に「1 on 1 は君のための時間だよ」と説明しておこう。 1 on 1 が始まったら「何か話したいこと、気になることある?」と問いかけよう。焦ってはいけない。じっくりと待ってみよう。 たとえマネージャとしてプ

    1 on 1 で 何を話すのか? マネージャ/ソフトウェアエンジニアの立場から - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
  • マネージャとのつきあいかた - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    今の会社で 7 人のマネージャと仕事させてもらい、自分もマネージャになったこともある。その経験をふまえてマネージャとのつきあいかたを書いてみる。マネージャは日的な「上司」と若干ニュアンスが違うので注意。上司というよりは役割の異なる同僚。 目的 マネージャとうまくつきあうことで以下を得るのが目的。 困ったときに助けてもらえる。マネージャ自身のマネージャのちから、マネージャの人脈を借りる プロジェクトの進め方、デザイン等。基的に好きにやりたい。細かく口を出されない。 キャリアプランゴールを共有し助けてもらう 大きな 2 つの方針 初期の段階で信頼関係を築き、以降のつきあいを楽にする バランスのよい情報共有を目指すが over-communication よりにたおす マネージャの視点 マネージャの視点を意識すると何を伝えるべきかが見えてくる。マネージャがあなたについて知りたいのは プロジェ

    マネージャとのつきあいかた - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
  • Tech Lead(TL/テックリード)の役割 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog

    Tech Lead(TL/テックリード)の役割。聞きなれない名前かもしれない。リードプログラマやテクニカルリードと呼ばれることも。過去にいくつものチーム(最大で10人以上)の Tech Lead をやってきた自分の経験を踏まえて書いてみる。 Tech Lead の主な役割 Tech Lead はエンジニア班長と言いかえるとイメージがわきやすいかもしれない 顧客に提供したい価値(プロダクトゴール)を正しく理解する エンジニアチームの生産性を可能な限り最大化。プロダクトマネージャ・デザイナと顧客に価値を提供する Product の Launch に責任を持つ Product の Launch 後のメンテナンスに責任を持つ エンジニアを過負荷から守る ときにはマネージャ、プロダクトマネージャのアイデア、スケジュールに NO を言う。代替案を提示する チーム内のテクニカルデザイン、採用技術などに責

    Tech Lead(TL/テックリード)の役割 - サンフランシスコではたらくソフトウェアエンジニア - higepon blog
  • 毎日やると決めたことを休んで良いのはどういう時だろうか? - higepon blog

    何かを「毎日やる」と決めたことは誰でもあると思う。ジョギング、ウォーキング、ストレッチ、筋トレ、勉強。僕の場合は英語の勉強。それぞれ決めた内容によって「続ける」ことの困難さには違いがある。ただし継続の難しさは理解してもらえるだろう。朝起きたらだるかった。何となくサボってしまった。飲み会があったのでできなかった。いくらでも「できない」理由は見つかる。僕がよく考えるのはどういう場合に「毎日やる」ことをサボってしまっても自分で自分を許せるだろうかという疑問。 まずは簡単な計算をしてみよう。飲み会のある日にはやらなくてよいとする。仮に飲み会が2週間に1回ほどだとすると月に2回。1年だと 12/365*100 = 3.2% にあたる 12 日は「やらない」ことになる。飲み会の回数が週1程度だと 6.4 % になる。何となくだが「飲み会のある日にやらなくてよい」というルールはサボり過ぎのように感じてし

    毎日やると決めたことを休んで良いのはどういう時だろうか? - higepon blog
    hiromark
    hiromark 2014/03/12
    なるほど
  • 考え事を支援してくるアプリはないのか? - higepon blog

    id:nishiohirokazu さんがやる気の出るアドバイスという試みをされている。これと似たようなものとして「考え事を支援する」アプリがあると面白いと思った。 考え事は ただぼんやり考えているだけで結論は出ない(ダメな状態) 自分の中で確立された考えるためのシステムで考えて良い結論を出す(最高な状態) という2つの間に「他人が考えたシステムに則って考えてそれなりの結論を出す」ということが可能だと思う。思いつくだけでも考え事を阻むもの、助けるものはたくさんある。 割り込み あやふやな問題定義 言語化 考え事の緊急度のカテゴリを決定 紙と鉛筆 時間制限 考え事の前に想定する結論の形式を定義する 散歩 など。ユーザー数は少ないだろうけど。人類の進歩には貢献するかもしれない。

    考え事を支援してくるアプリはないのか? - higepon blog
    hiromark
    hiromark 2014/02/18
    ほしいわ
  • kd tree(kd木)を使った近傍点検索 - higepon blog

    kd tree を使った近傍点検索のメモ。 kd tree の日語の説明はkd木 - 日語版 Wikipedia。 近傍点検索の擬似コードがあり、日語版の元となっているのはkd-tree - 英語Wikipedia。 実際に動くコードで分かりやすいものは弾さんのところ。404 Blog Not Found:algorithm - 最近点検索をkd-treeで。 他には An intoductory tutorial on kd-trees という PDF があるが難しい。 kd tree の構築は、平衡木にするためのロジックがいくつかある事をのぞけばとても簡単。弾さんのコードを読めば分かると思う。 近傍点の検索は k 次元で説明されているものが多く分かりづらいと思った。自分で単純な2次元の場合にして考えれば良い。 流れは以下の通り。 検索対象点 p を kd tree 上で bi

    kd tree(kd木)を使った近傍点検索 - higepon blog
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
    hiromark
    hiromark 2009/03/27
    あー、読もう読もうと思いながらまだ買ってない。。。
  • read/write におけるもやもや - higepon blog

    const int writtenSize = write(...); のように書く事がある。 でも read だと、過去形も過去分詞も read だから const int readSize(過去分詞のつもり) = read(...); のように、読み手にこの微妙な意図が伝わっているだろうかと勝手に心配になる。 みなさんは心配になりませんか。なりませんか。

    read/write におけるもやもや - higepon blog
    hiromark
    hiromark 2009/03/02
    なります。
  • 技術書を読むときにやってはいけない、たった1つの事 - higepon blog

    当は理解できていないのに、自分をだまして分かったふりをする事。そのまま読み進め最後までたどり着き、自分はこのを読んだと勘違いしてしまう事。 分からないなら分かるまであきらめずに何度も読む。もしくは「分からなかった」と心の中に留めておく事が大事だと思う。 そのままにしておくと、読んだ時間が無駄になる。を読んで勉強したのに手応えもないし成長した気がしない。という状態になってしまう。 最近ようやくこのことに気付いた。

    技術書を読むときにやってはいけない、たった1つの事 - higepon blog
    hiromark
    hiromark 2009/01/29
    ぐさっ!(そして、激しく同意)
  • 1人勉強会カンファレンスはどうか? - higepon blog

    最近勉強会ブームらしい。一方1人でひっそりと勉強している人たちがいて、独自の方法論で着実に前に進んでいるのではないかということも推測される。 僕は後者のタイプなので、同じような指向の人たちと情報交換したいなと思うことがある。うまくやっている人や過去に失敗してどう乗り越えたかとか。知りたいよね。 追記 勉強してそうな人を集めてお茶した方が早そう。

    1人勉強会カンファレンスはどうか? - higepon blog
    hiromark
    hiromark 2009/01/24
    あ、僕も後者のタイプ。色々知りたい。
  • 論文読もうとやる気出したら - higepon blog

    hiromark
    hiromark 2008/10/31
    よくあります、そういうこと。
  • セマンティクスって? - higepon blog

    「セマンティクス」という言葉の意味を他人に(自分にも)うまく説明できないことに気づいた。 調べたら http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000315.html http://www.itmedia.co.jp/enterprise/0108/20/01082088.html あたりが分かりやすかった。 追記 http://mono.kmc.gr.jp/~yhara/d/?date=20080530#p02 ホワット・ア・ワンダフル・ワールド セマンティクス セマンティクス - soutaroにっき

    セマンティクスって? - higepon blog
    hiromark
    hiromark 2008/08/20
    あ、僕もうまく説明できません orz 良く使う言葉なのに、、、
  • がんばってバグれ!!! - higepon blog

    のメッセンジャーでの一言「がんばってバグれ!!!」。 言いたいことは何となく分かるw。

    がんばってバグれ!!! - higepon blog
    hiromark
    hiromark 2008/04/17
    ちょ www
  • はてな退職のお知らせ - ひげぽん OSとか作っちゃうかMona-

    日*1をもちましてはてな退職することになりました。 お世話になったみなさん当にありがとうございました。 僕は、はてなRSSや Rimo などまとまった大きなサービスから、ダイアリーのメール投稿機能など小さな機能まで、はてなのいろいろな部分に関わらせていただきました。 その過程で 実際にサービスを使ってくれるユーザーのみなさん はてなアイデアを通じてアイデア投稿や不具合報告をしてくれるみなさん 告知日記のブックマークコメントで喜んでくれるみなさん 日記で感想や要望を書いてくれるみなさん など、当に多くのユーザーの方といろいろな形でコミュニケーションをとらせていただきました。 そのみなさんとのやりとりが、より良いサービスを作りたいというモチベーションになったり、日々の僕自身の楽しみやはげみになったりと、たくさんの力をいただきました。(当はユーザー id を挙げてお礼が言いたかったので

    hiromark
    hiromark 2007/10/22
    うそっ!おつかれさまでした。
  • GCあれこれ - higepon blog

    GCに関してWebの資料やら、「情報処理学会誌94年11月号」を読み漁っていて大分詳しくなりました。 適当なメモは→Scheme/B.GC調査/02.GC概要 - Mona PJ Wikiに書いてあります。 ひとつまだ分からないことがあって迷っています。 GCを持たないAという言語で、GCを持つインタプリタBを実装するとき、Bのオブジェクトは管理テーブルでタイプや構造を管理して、GCに使います。 つまりAでB用のGCを実装することになります。 では、GCを持つCという言語で、GCを持つインタプリタBを実装するとき、Bのオブジェクトを解放するGCはB用のGCでしょうか。 それとも、C用のGCでしょうか。 個人的にはどちらの可能性もありそうだなと思っているんですが、実際の言語処理系ではどうなんだろう。 C++とBoehm GCでSchemeインタプリタを書いたら、GCの事は考えなくても良いのか

    GCあれこれ - higepon blog
    hiromark
    hiromark 2006/12/28
    この辺も調べるといい勉強になりそうだ。
  • Emacs で wdired と moccur-edit を使っていない人は(ry

    Emacs で wdired と moccur-edit を使っていない人は(ry と思ったので紹介します。 wdired wdired ではファイルのリネームが超簡単になります。 mv やエクスプローラで F2 を押してリネームをしている人は wdired を使うべし。 dired で ~/tmp を表示すると以下の様になっているとします。 /home/taro/tmp: 合計 273 drwxr-xr-x 6 taro taro 928 2006-12-26 10:41 . drwxr-xr-x 66 taro taro 3632 2006-12-26 10:25 .. -rw-r--r-- 1 taro taro 2232 2006-11-24 21:36 EndsWithTest.cpp -rw-r--r-- 1 taro taro 670 2006-11-24 21:24 End

    Emacs で wdired と moccur-edit を使っていない人は(ry
    hiromark
    hiromark 2006/12/26
    あたしゃ mv でやってました、、、
  • Emacs Lisp auto-compile.elを公開しました - higepon blog

    自作の Emacs Lisp auto-compile.el を公開しました。 これは何か? C, C++などのコードをEmacs上で編集しているときに、ファイルを保存したタイミングで、バックグラウンドで make コマンドが自動で実行されます。 以下のようなメリットがあると思われます。 いちいち terminal で makeしなくて良いので、開発効率があがる 保存時に行われるのでコンパイルエラーが早い段階で発見でき、開発効率があがる このような感じ C-x C-s で保存すると make が自動で実行されます コンパイルが終われば OK がでます(エラーが発生すれば表示されます) インストール方法 sf.netから auto-compile.el をダウンロードしロードパスが通っている場所に置く。 .emacsに (require 'auto-compile) ;; auto-comp

    Emacs Lisp auto-compile.elを公開しました - higepon blog
    hiromark
    hiromark 2006/11/09
    おお、これはすばらしい。
  • Joel on Softwareを読んでかぶれた奥さんの言葉 - higepon blog

    Joel on Softwareを3/4ほど読み終わってかぶれてきた奥さんとの会話。 画面を覗き込みながら 奥:「ねぇ。それEmacsってやつ?」 ひげ:「うん」 奥:「Emacsって無料(タダ)?」 ひげ:「うん」 奥:「でもEmacsって難しいんでしょ?だから私は v ? v?で良いや」 ひげ:「vi? vim?」 奥:「うん。それ。」 ひげ:「wwww」(vimは簡単?) 奥:「だってさ秀丸はさ、金払えって脅してくるんでしょ?*1」 ひげ:「wwwwwww」 1週間前まではきっと、Emacsもvim秀丸も知らなかったと思う。 エディタという概念も知らなかったかも。 Joel様恐るべし。 しかし、どこで覚えてきたんだろう・・・。 微妙に知識が間違っていて面白い。 西洋人が変な漢字タトゥーを入れているのを連想させる。 まじめな書評は→プログラマは必読かも 「Joel on Softwa

    Joel on Softwareを読んでかぶれた奥さんの言葉 - higepon blog
    hiromark
    hiromark 2006/05/26
    すっげー。爆笑。
  • コーディングや設計で難所に出くわした時にすること - higepon blog

    仕事趣味でコードを書いているとき、設計をしているときに難所に出くわすことがあります。 そんなときに僕が意識的に心がけていることを紹介します。 もっと良い方法があったらぜひ教えてください。→皆様。 難所に出くわす前に「もうすぐ難所だな」と気づいているときは、すでに冷静な状態で心構えができています。 この場合はきちんと対処ができることが多いです。 何度も考えがループしていたり、難しすぎて他の事に逃避しているときは集中力がないか、難所にさしかかっているサインなので、難所の場合は以下の5つを順番に試しています。 絵を描く 人に言葉にして説明する 思考の流れをテキストにする 散歩する 次の日に持ち越す 絵を描く 設計やコーディングに関して、分かっていることを絵や図にあえて描いてみます。 分からないところは箱を描いて中に? とでも書いておけば良いです。 絵を書く過程で、自分がどこが分かっていないかが

    コーディングや設計で難所に出くわした時にすること - higepon blog
    hiromark
    hiromark 2006/05/26
    よくやる。
  • bind: Address already in use ソケットの再利用 - higepon blog

    socketを開いて、bindしてacceptして closeした直後に、同一 port を bindしたところ bind: Address already in useというエラーになった。 socketの close ミスかと思ってデバッグしても原因が分からず、いろいろ検索していたら分かった。 デフォルトの動作では、closeしてもしばらくの間ソケットが開放されないらしい。 これを回避するには setsockopt で SO_REUSEADDRを指定する必要がある。 超バッドノウハウ。。。 const int one = 1; setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(int));

    bind: Address already in use ソケットの再利用 - higepon blog
    hiromark
    hiromark 2006/05/21
    昨年の12月頃に同じ問題でハマりました。