読者です 読者をやめる 読者になる 読者になる

@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

1on1ミーティングのやり方

1on1ミーティングに備えるアンケート - しるろぐ を読みました。 大変参考になりました。お礼の代わりに、弊社のやり方を書きます。

前提条件

弊社は20人以下のSIerです。 受託開発や技術支援がメインです、プロダクトを中心とした面談ではありません。

インタビュワーとインタビュイーの組み合わせはプロジェクトに閉じていません。 総当たりで組み合わせています。

面談をはじめたのは退職者対策としてでした*1。 インタビュワーの負担が個人に偏らないように、ベテランエンジニアが全員インタビュワーになります。

やり方

人数

インタビュワーは6人います。ベテランエンジニア5人と営業1人です。

インタビュイーは8人います。 1年目は毎月、それ以外のエンジニアは2ヶ月に一回実施指定います。

組み合わせ

もっとも長い期間面談をしていない組み合わせで実施します。

組み合わせは、モンテカルロ法で抽出します。 そのために GitHub - ledsun/interview-lottery: The lottery for interview を作りました。

その他

弊社には遠隔地の拠点があります。 Skype等のビデオ会議で面接を行います。

面談の議事録はインタビュワー間で共有します。

質問内容

面談を円滑に進めるために聞く内容のテンプレートを作ってあります。

  1. 最近うまくいっていること(やっていること)
  2. うまくいっていないこと
  3. (仕事をやりやすくするために)ほしいもの
  4. 個人のビジョン(どうなりたいか?)

KPTを元にしています。

「うまくいっていること」は言いづらいことが多いようです。その場合は、「やっていること」を聞いています。

「ほしいもの」はTeam Geekからパクリました。

「個人のビジョン」は「時々、(自分の)中長期的な将来のことも考えてみてね」ぐらいのノリで聞いています*2

実施方法

各インタビュワーに任せています。統一した方法等はありません*3

個人的には、ほぼKPTです。 インタビュイーに聞いた内容をホワイトボードに書きながら、質問を掘ったり、各項目を関連付けたりして進めます。

若手のエンジニアはメタ認知*4が苦手なので、KPTを一緒にやるとそれなりに効果があると思います。

お互いの負担を減らすために30分という時間制限を設けています。 個人的にはインタビュイーに話したいことがある限り延長しています。 最大で2時間半ぐらいでした*5

やってよかったこと

会社ハックのきっかけに

個人的に一番面白いのは、会社の仕組みをハックするきっかけが得られる点です。 社内の制度に関する質問をもらえると、仕組みを整理するきっかけになります。

ビジョンの時間変化

「個人のビジョン(どうなりたいか?)」に対する答えが、時間とともにに変わることがわかりました。 こまめに面談をしていないと、一年前に聞いたビジョンに今でも同じように興味があると考えてしまいがちです。 経験を重ねるにつれて興味のある分野が変わるのは、ふつうのことだと思います。

若手の成長を実感

ビジョンの変化と一緒です。 課題と思うことや、興味のあることが変化しているのを通して、若手の成長が実感できるのはうれしいです。

やってわるかったこと

エースエンジニアの時間が取られることです。 人によって得意不得意があります。面談が不得意なエンジニアがインタビューするのは負担が大きいようです。

*1:面談やってても辞める人は辞めますね・・・

*2:ビジョンをダシに「もっと頑張らないとダメだ」みたいな話をすると、お互い面倒臭いですよね。

*3:インタビュワーの面談技術向上は課題です

*4:ここでは「自分が知っていることと、自分が知らないことを切り分けて整理すること」の意

*5:経験則ですが、人間には「3時間話を聞いてくれた人を信頼してしまう」習性があるように思えます。

主観でプログラミング言語7種類をあっさり解説

k16's note: 主観でプログラミング言語5種類をあっさり解説を読みました。 なるほど、そういうのもあるのか。

個人的に馴染みがあるプログラミング言語を7つ解説します。

JavaScript

ブラウザで実行できるので、動作を確認しやすい点が良いです。

f:id:ledsun:20160701141331p:plain http://www.modulecounts.com/

圧倒的なライブラリ数です。

一方で、動作環境が多すぎます。

動作環境によって使用可能な文法、APIが違います。 参考資料が、どの環境を対象としているのか、判別するのに苦しむかもしれません。

C#

強力なIDEVisual Studioがある点が良いです。 Visual Studio Communityは無料で使えます。

一つの言語で、いろいろなアプリケーションが作れるのが魅力です。

  • Windowsアプリケーション
  • Webアプリケーション
  • コンソールアプリケーション

C# によるプログラミング入門 | ++C++; // 未確認飛行 Cという強力解説サイトがあるのも心強いです。

開発にWindowsが必要なのが、少し悪い点です。 やろうと思えば、Visual Studio Codeを使って、MacLinuxでも開発可能です。

Ruby

Rubyコミュニティが日本にあることが良い点です。 会いに行ける言語の実装者です。

言語仕様やライブラリ仕様が複雑です。ハードルがちょっと高いです。

VBScript

Windowsでの作業を自動化することができます。

大抵のWindowsに最初から入っています。追加アプリケーションが必要ありません。 他人のPCで動かすスクリプトを作るときに、インストール済みのアプリケーションを気にしなくて済みます。

言語仕様が独特です。他の言語と知識を共有できなく辛いかもしれません。

シェルスクリプト

LinuxUnixでのコマンドライン作業を自動化するのがとても簡単です。 基本的にはコマンドを並べるだけです。

関数を使ったりループを回したり、ちょっと複雑なことをしようとすると、シェルによって文法が変わるのが難点です。

Java

クラスベースオブジェクト指向を知るのに最適です。 オブジェクト指向における再利用のためのデザインパターンをマスターしたいときにおすすめです。

Androidアプリの開発にも使えるらしいです。

C

スタックとポインタを意識してプログラミングしたいときにおすすめです。 実行速度が速い点も良いです。

コンパイラと実行環境によって言語仕様が変わるのが気難しい点です。 gccVisual Studioでは使える文法が変わります。 OSによって使えるAPIが変わります。