Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

「コードレビューをキメると品質も上がるし自分のレベルも上がるので最高」みたいな論が巷を賑わせていて、以前はそういうイケてる制度を指をくわえてみるのみだったのだけれど、最近職場と、それと個人的に関わったプロジェクトでコードレビュー制を無理矢理交渉して導入してみた結果、世間のイケてる書籍やエントリから得られる情報とはまた少し違う知見が得られたので書いてみる。 割と泥臭かったり、あまり希望に溢れてたりはしない感じのエントリなのでそういうのは期待しないほうがいいです。 準備 些末なコードレビューを極力避けるために、コードの規約やスタイルについてはlintとフォーマッターを用意した。 他は無策。 結論 結論から言うと、理想的な運用は出来なかったものの、コードレビューについて世間で言われるような成果(作業を共有する意識、レベルの向上)は得られた。良かった。 ぶっちゃけ僕なんかが浅はかな考えで導入しても
ソフトウェアを作ってて、作り直したり、書き直したりするべきかどうかという話をすることがある。 大きな規模だと、ソフトウェアを作り直す、というところから、小さな規模だと、込み入った機能を書き直す、くらいまであるけど、作り直すとうまくいくのは、次の二つのうちどちらかではないか。 最初に作ったときより世の中の技術が発展したとき 昔のコンピュータでは収まらなかったとか、昔は良いライブラリがなかったけど、今はある、というとき。 単に今ありふれた技術で作り直すと、よいものができそう。 最初に作ったときよりはコンピュータのスペックが上がったので、そのつもりで、並列度倍に上げても止まらないし、より速く動かせる、とか。 昔はバッチで計算しないといけなかったけど、今ならリアルタイムに返せる、とか。 昔は依存管理のよいライブラリがなかったけど、今ならこれ入れたら簡単、とか。 最初に作ったときより人間の技術が発展
高品質のコードベースは、反復作業やコラボレーション、メンテナンスを簡単にすることで、長期的な開発のスピードを上げてくれます。Quoraではベースコードの品質は重要だと考えます。 高品質のコードを維持することは利点がありますが、その反面かなりのオーバーヘッドが発生し、実際の開発のサイクルに時間が掛かってしまいます。このオーバーヘッドと利点の折り合いを付けるのは難しい問題です。この場合、2つの選択肢しかないように思えます。低品質でコードスピードが速いか、もしくは高品質でスピードが遅いか。スタートアップは素早い開発サイクルに最適化しているので、多くの人は低品質で進めたほうがいいと思っています。 このジレンマは解消できます。ツールやプロセスを工夫することで、コードベースの品質を維持したままスピードを速めることができるのです。この投稿では、コードの品質に関しての私たちの考えや、2つの世界を共存させる
Tech Lead(TL/テックリード)の役割。聞きなれない名前かもしれない。リードプログラマやテクニカルリードと呼ばれることも。過去にいくつものチーム(最大で10人以上)の Tech Lead をやってきた自分の経験を踏まえて書いてみる。 Tech Lead の主な役割 Tech Lead はエンジニア班長と言いかえるとイメージがわきやすいかもしれない 顧客に提供したい価値(プロダクトゴール)を正しく理解する エンジニアチームの生産性を可能な限り最大化。プロダクトマネージャ・デザイナと顧客に価値を提供する Product の Launch に責任を持つ Product の Launch 後のメンテナンスに責任を持つ エンジニアを過負荷から守る ときにはマネージャ、プロダクトマネージャのアイデア、スケジュールに NO を言う。代替案を提示する チーム内のテクニカルデザイン、採用技術などに責
事の始め 6月26日、社内チャットで嵩原さんから「ちょっとご相談。いまお時間ありますかね?」と。 話を聞くとクローズアップ現代からの取材申し込みがあったそうで。「リモートワークで地方の自宅で働きながら親の介護をする人」みたいなことらしいけど、親の介護してないし。じいちゃんピンピンしてるし。 で、7月の初めにNHKのスタッフの人と打ち合わせ。もちろん自分は上越からリモート参加。改めて説明を聞くと別に介護にこだわってないみたい。 取材される経験なんて人生でそうそうないイベントなんで了承してみる。 取材当日の様子 7月6日に秋葉原オフィスを取材。翌7日に魚見さんとスタッフの方が上越まできて取材を行うことに。 午後3時くらいから5時までオフィスの様子を、その後家に帰ってから風呂と夕食風景を撮影してました。「妙高の風景を撮りたいので」とスタッフの方があがったのが6時半くらいなので、3時間半くらいずっ
ITに携わっている人間は多数いるものの、IT技術者という看板をしっかり背負える人は全然足りないよ。なんだかんだ言っても技術職なわけで、そう簡単に技術者が量産されるわけでもなくて、例えばいわゆるIT土方というのはごく少数のIT技術者の看板を背負える人と多数の単純事務に毛が生えたレベルのことしかできない作業者のセットのことを表現していることが多い。 実際に現場で働いているIT技術者からすると、「待遇良ければ自然と増えますって」というのが実感のようだ。 NHKの「IT技術者不足」特集にネット違和感 「足りないのは安く使えるIT奴隷でしょ?」 | キャリコネニュース この声を上げている人がそういう意味で真のIT技術者なのかどうかもわかんないけど、待遇が良ければ「ITの仕事に従事する人」は増えるだろうけど、依然として真のIT技術者の絶対数が大きく増えることはないと思う。 特に、ここ1年で事情があって
In an attempt at damage control, the CEO of the equity management startup Carta, Henry Ward, today emailed customers, telling them that if they are concerned about “negative press” tied to the out In the Lego-like world of Roblox, about a hundred blocky avatars march through a lamplit street, wielding Palestine flags that are larger than their own animated bodies. Characters dressed like cartoo
技術的負債についての自分の考えをまとめます。 言いたいこと 最初から綺麗なコード・設計を書ける状態を目指せ。 そうもいかないものは天秤だが、勝手に背負うな。 技術的負債とは? 技術的負債は事業リスクです。放置することによって事業が失速したり損害が発生したりするため、適切に取り扱う必要があります。 負債の種類と対応は、以下の三つに別けられると自分は考えています。 1. 新規で書く末端機能のクソコード・クソ設計 最初から綺麗なコード・設計を書けるを目指すべきですが、時間がかかるのであればスピード重視でよいでしょう。 「もっと良いように書けるべきだけど、どうすればよいか?」とコメントでも添えて、さっさとプルリを投げてしまうべきです。 末端機能で、あとで上に乗っかる物がないのであればコードの品質はそれほど問題ではありません。テストを整備しておけば、後でレベルが上がったときに綺麗にできるでしょう。
隣の席に入社2年になる若手社員がいる。私が半年前に今の部署に異動してから様子を見ていて、大変そうな状況になっている。まだ経験の浅いうちに、仕事のマネジメントをしてくれる人がいないというのはつらいことだなと思った。 自分が入社して配属された部署には、課の下に3、4人程度の「チーム」があってリーダーがいた。そのリーダーが部署間の調整や仕事の割り振り、メンバーの進捗を確認したり、あるいは物事の判断をしていた。メンバーにはきちんと仕事がフィルタリングされた状態で入ってきたし、業務の負荷量も把握してくれていた。だからメンバーは自分の作業に集中すればよかった。またメンバーが「いったいどういう背景や経緯でこの作業があるのか」と聞けばリーダーはきちんと教えてくれたし、あるいは「これはこうした方がいいのでは」といった提案も受け付けてくれていたから、「ひたすら作業ばかりをしてむなしさが募る」といったこともなか
はじめに こんにちは、広告事業部の芳賀(@func09)です。普段はクックパッドの広告配信周りや純広告・タイアップ広告などの商品開発を行っています。 私が広告事業領域の仕事をするようになって、そろそろ1年になるのですが、初めはエンジニア以外の人(営業、編集、広告入稿、レポート、メール配信、などなど様々な担当者がいます)と業務をすることが多くてコミュニケーションが上手くいかず業務がスムーズに進まないことがありました。 当たり前のことではありますが、エンジニアにしかわからない言葉は使わないとか、できるだけ相手の業務を理解し相手の考え方や視点に立って話すなど、ちょっと工夫することで、長引きがちなMTGや相談がすんなり終わったり、お互い良い気分で終わることが多くなって、費用対効果が高いなと感じています。 一方でエンジニア同士のコミュニケーションでも時間がかかってコストが高いと感じることがあります。
2015-03-19 スタートアップにおける糞コードとエンジニアの役割について Kazuho's Weblog: 「技術的負債」は避けるべき? - 割引率を使って考えてみた 「「技術的負債」を問いなおす」というタイトルでJAWS DAYS 2014で話してきた #jawsdays - delirious thoughtsblog.kentarok.org 4年前,俺はあるスタートアップで社長に「あなたそのものがリスクです」と言われた.別に相手は素晴らしい経歴を持った天の上の人間であるし,そういう方に見下されても構わない.しかし,「俺がコードを書いていること」が「リスクだ」と言われたことについては未だに納得行かない.コードはコードであり,それと戦っているだけだからだ.ゾッとした.恐ろしい言葉だった. 件のCTOの退職エントリ以来(ちなみに,社長及び社員の1人が上京した時,うちに泊めたことがあ
http://project-itoh.com/ 〔註:すでにサイトはリニューアルしており、この記事の内容を現物で確認することはできません〕 今時めずらしいほどヒドイUI設計を見かけました。こういうものが蔓延しないよう、警鐘として、啓蒙的な文章を書くことにしました。 UIデザインの訓練をしていない人は、「なぜ使いにくいのか」を説明出来ないものですし、そもそも「使いにくさ」に気づかないものです。使いにくいものを無自覚に、つまり「使いにくい」と思わずに使っていたりします。 プロならひと目なのですが、素人向けに、この文章では細かく「使いにくさ」について説明します。 第1セクション:キービジュアルとインストラクション Project Itohの画面キャプチャ:”scrool down”というインストラクション部分を強調したものこのウェブページを開いた直後、初期状態です。ここでページのインタラクショ
対象 開発フローの中でコードレビューを実施しているひと git add -p や git rebase -i でコミットの分割や統合ができるひと コードレビューさせない レビュー無しにマージしてもらうために同僚をいかに抱き込むか。 という話ではなく、レビュワーの コードレビューの負荷を下げる ことを意図しています。 無視できるコミットを増やす どうすればレビュワーがより短時間で自分の書いたコードをレビューできるか。この問に対して、レビューの妨げとなるものを排除する、というアプローチがあると思っています。そのための良い方針だと考えている 無視できるコミットを増やすこと について書きます。 前提 コミット どのコミットにおいてもテストが通るようにする コミットメッセージ ちゃんと Git のスタイルで記述する (Gitのコミットメッセージの書き方 の原則を守る) Git の操作 雑にコミットし
私は毎日、 Teamed.io で働くことに興味のあるプログラマから何通かメールをもらいます。彼らへの最初の質問は「あなたのレートは?」( 当社は時給ベースで給与を計算します )ということです。何より驚かされるのは、2つの方向性で、誤った試算をしているプログラマが多く見られるということです。 時給5ドルから500ドル(600円から60,000円)まで答えはさまざまです。決して否定はしませんが、私自身で代案を出してみます。このブログ記事では、どういった要素を計算に入れるか、または入れないかを述べたいと思います。私の個人的なキャリアもありますが、これが業界のスタンダードとは思わないでください。あくまで客観的で論理的だと思っていますが。それでは説明しましょう。 オープンソースへのコントリビューション ソフトウェア開発者にとってまずポイントとなり、かつ重要となる特性です。あなたはオープンソースプロ
コードには1行ごとに隠しドキュメントがあります。 次のコードスニペットの4行目を書いた人は、何か理由があってDOMノードの clientLeft プロパティにアクセスしたのでしょうが、結果的に何もしていません。これはかなり不可解です。なぜこうしたのか、あなたは説明できますか? 今後、この呼び出しを変更したり削除したりしても安全でしょうか? // ... if (duration > 0) this.bind(endEvent, wrappedCallback) this.get(0).clientLeft this.css(cssValues) 私ではなく他の人があなたにこのコードを見せたとして、誰がこの行を記述したのか、どんな理由があったのか、このままの状態にしなければいけないのか、あなたはおそらく説明できないでしょう。ただし、プロジェクトを進めているときは大抵の場合、バージョン管理シス
デベロッパなら誰しも、自分の将来を決断すべき時が来ます。このままデベロッパ、またはシニアデベロッパのキャリアに留まってコードに専念するか、チームの管理を担うリードデベロッパや開発マネージャといった管理職の世界に飛び込むかの選択です。 ディルバート:プログラマからスーパーバイザへ 私自身も2011年に同じような決断をしました。ある大手インターネット銀行のシニアデベロッパだった私は、直属の部下はいなかったものの、数人をメンタリングしていました。当時私は、大学生に職場を世話して1年間のトレーニングを提供するアカデミーのプログラムに携わっていました。最初はメンターを担っていたのですが、最終的には、通常のシニアデベロッパの職と並行しつつ、そのアカデミーの管理を任されるようになりました。厳密な意味で、私が複数の人たちを直接管理したのは、この時が初めてで、私はその仕事を心から楽しみました。その後、私は消
約16年間に渡るフリーソフト/オープンソース開発で培った愛されるソフトに育てるノウハウを実体験を交えながら紹介させていただきます。 めとべや東京 #6 における発表資料です。
UIデザインの決定プロセスをより高速化するために、会議するのをやめました。会議をやめたことでより多くのフィードバックを得ることができ、デザインの修正コストを下げる事ができました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く