Programming

仲の良いチームじゃないと成り立たない技術がある

タイトルに迷いました。 技術?技術課題?問題解決?技術方式?少し広い意味に捉えてください。jfluteの10年以上の、様々な現場での経験を元にしています。昔も今も全部振り返ってみました。 かぶストーリー かぶを収穫します! resort「かぶを収穫しますよ…

例外メッセージ、敬語で満足でもロスロスパターン

わりとシンプルな話ですが、 10年以上この現象が止まらないので、書きました。 値をロスした例外メッセージ とにかくこれ: String sea = ... Integer land = ... Object miyage = piariLogic.moveToBonvo(sea, land); if (miyage == null) { throw new Dstor…

問題分析と問題解決を分けることがハマらない第一歩

焦りストーリー 焦りマクラー「Sが動かない!(or Sを実現したい)」 jflute「ふむ、したらそれってもともとは...(質問しようと)」焦りマクラー「Aで動きますかね?(質問を遮る)」 jflute「いやぁ今のところそう言い切れないような」 jflute (ふむ、例外見ると…

サービス開発者は、それ必要?いつ必要?スキルが求められる

サービス開発でのアンチパターン ビジネスサイド「D という機能が欲しいです」 エンジニア「じゃあ実装します」(その後...)通りすがり「なんで D を実装してるの?」 エンジニア「"ビジネスサイドさん" が欲しいって言ったから」通りすがり「なんで D をいま…

別に、プルリクレビューの前にレビューしてもらっていいんだからね

レールに乗るとレールに乗らない? 昨今身の回りだと、すっかり Github のプルリクベースの開発で、「プルリク出して Github 上でみんなでレビュー」そんなやり方が当たり前になってきました。レビュー制度自体が崩壊しがちな開発現場で、このレールに乗った…

コードにコメント書くのにDBにコメント書かないの?

Why? ※主にサービス開発におけるDB設計を想定しています。「JavaDoc書きましょう」 「コード上にコメントを書きましょう」 これは、よく言われるし、わりとプログラマーにはだいぶ浸透していることだと思います。もちろん、「どんなコメントを書くのか?の精…

プログラマーに求められるデザイン脳

「デザイン」じゃなくて「デザイン脳」です。いわゆる「Webデザインもできなきゃね」という話ではなく、普段のプログラミングの中でも、Webデザインと同じような脳みそを使うことがあるというお話。プログラマー (エンジニア) は、一般的な先入観として「計…

質問のコツその一: なんでその質問してるのか?も伝えよう

はさみストーリー 後輩「はさみ、どこかわかります?」 先輩「えっ、はさみ? えーっと、誰も使ってなければあっちの棚の上かな」 後輩「ありがとうございます、さすが先輩!」 先輩「...」次の日...先輩「そいえば、はさみあった?」 後輩「えっと、まだい…

任せられるディベロッパー、七つの姿勢

任せられるって? o その一: 自分の道具は使いこなす o その二: 三割でも仕組みに突っ込む o その三: 三割でもビジネスに突っ込む o その四: 全体を把握しようとする o その五: ベストタイミングほうれん草 o その六: 隣の人を助ける o その七: 答えやすい質…

ドキュメントを無料(タダ)だと思っている?

Closed有償ツール v.s. オープンソース(OSS) 「オープンソースはドキュメントがなくて使いづらい」 まあ、ドキュメントないと使いづらいのは事実でしょう。 「オープンソースはドキュメントがないから使い物にならない」 その意見には賛成できないな。 ソー…

技術的負債の返済プロジェクトが失敗する 11 のワケ

ワケ一覧 序の口: フレームワークだけが負債だと思ってる 序二段: ビジネスサイドに理解してもらう努力がない 三段目: 技術で遊び過ぎてしまう 幕下: 太り過ぎアーキテクチャ 十両: 過去に目もくれず、現状だって見ない 前頭: 技術に詳しいだけでアーキテク…

未来しか見ない人は過去に戻りたい?

両方だいじなんです おそらく人類が何千年としてきた議論だと思います。「歴史を学ぶことで未来を予測しやすくし、同じ失敗を繰り返さないようにする」「昔のことなんかどうでもよくて、未来が大事だから先のことを考えよう」NHKの「ニッポンのジレンマ」で…

フレームワークの経験で採用して空振り三振

エンジニアの採用ジレンマ エンジニアの採用というのは難しいものです。 エンジニアがエンジニアを採用するのも難しく、 エンジニアじゃない人がエンジニアを採用するのは さらに難しいと考える人もいるでしょう。 現場で使うツールはすぐに身につけます そ…

フレームワーク選び、現場フィットレイヤを忘れずに

忘れてると... 既存のシステムがあるとします。だいぶコードもぐちゃぐちゃしてきて、今のビジネス要求に耐えられない。フレームワークも刷新したい。偉い人「リプレイスします!(英断)」 現場誰か「さて何を使おう?」 他の誰か「"A" が良いのでは?」 現場…

オープンソースに「実績は?」と聞く虚しさ

実績は世に出てこない 永遠のテーマかもしれません。 何かオープンソースのプロダクトを 現場に導入しようとしたとき、 「えっ、実績は?」 という質問が発生することがありますが、 実はこれほど虚しいことはありません。 システムで何のツール使われている…

Seasarカンファレンス2016 Final

行ってきましたー! 終わったー! Seasarカンファレンス2016 に行ってきました。 そして、しゃべってきました。 自分はずっとメインホールにいたので、 そこでの内容だけで。 (ぶっ通しで裏番組のはぶさん、お疲れ様です(^^) 一時間目、ひがさんより 「Seasa…

jfluteが「Seasarサポート終了どうすればいい?」と聞かれたら...

とにかく聞かれます 今年一年、色々な人から...プログラマー仲間で軽いノリで聞かれることもあれば、出先の現場の技術者やマネージャーの方から相談されることも。程度の差はあれど、jfluteの立場的に聞かれることがとても多いです。今までもTwitterやブログ…

レビューしやすいコード (Reviewable Code)

れびゅーわぶる!? レビューしやすいコードよく、jfluteが現場で掲げるコーディングテーマです。主に、事業会社でのサービス開発における、スタートアップの時期から少し経ってチーム開発し始めた、インクリメンタル開発が続いてきた時に適用します。色々とた…

ルーズなDaoパターンなら見たくない

気にせず突っ込む Daoパターンというもの自体の説明はしません。厳密なDaoパターンの話じゃないかもしれません。ここでは、jfluteが現場でよく見てきた、ルーズなDaoパターンのお話。【追記】いまなら、Repository層って言った方がわかりやすいかな?ただな…

メンテ不能の強者、引数リモコンパターン

Let's read! さあ、いきなり、コードを見てみてください。 public void index() { // what do you select? ... = logic.selectNandemoMember(null, "S", null , false, true, false, CDef.MemberStatus.Formalized , true, false, true, true); } Action, Co…

Lombokの除外設定にDBFluteの自動生成クラスを

コンパイルスピード DBFluteのコンパイルスピード改善プロジェクトを立ち上げています。色々と分析して改善ポイントを見つけて、ほんの少しでも良くなればと。今までもかなり頑張ってスリム化を心がけてきましたが、やっぱりコンパイルが遅い環境での実装っ…

破片プログラマーの悲しみ

はへん 破片プログラマー大きなシステムの改修、 巨大に積み上がったプログラムの上での実装、難度の高い仕事、ただし破片巨大な破片 画面を0から 二年、三年、五年と経験を積み、 開発スキルを身に付けたディベロッパー、だがしかし、 0から画面を作って…

わけわかんないレビュー会こそスキルアップの場

特に若者、レビュー会のとき何をしていますか? ... 「いや、レビューしてますよぅ」 そうですか... ホントに? なんかメールチェックしてたりしませんか? メール返してたりしませんか? 自分の仕事やってたりしてませんか? Twitter見てたりしませんか? …

エンジニアのモチベーションを下げる方法

モチベーションの高いエンジニア...ガンガン働いてくれそうで、放っておいても安心でしょうか?安心してください。 簡単に下げられますよっ!o 序の口: ディスプレイを小さくする o 序二段: 毎日スーツを着させる o 三段目: 椅子を固くして、机を狭くする o …

独学のきっかけ、技術欲、問題解決欲、自己成長欲

独学とは? Twitterでのつぶやきをまとめました。 => 独学しない人に「独学せい!」とだけ言っても...ちょっと文章がTwitterライクになっていますのでご了承を。また、後半はTwitterでも語ってない話です。ちなみに、独学のスコープは曖昧です。勉強会に行く…

本屋んずおん

久しぶりにほんやー 先日、久しぶりに本屋に行きました。 ずらりと並んだ技術書、なかなかの圧巻です。 眺めているだけでちょっとワクワクします。 気になるタイトルを、ふと手にとって、 「おおぉ、ああいいなぁじっくり読みたいなぁ」 とか 「はい、次」 …

既存コードの甘い匂い (悪意なきチグハグコードの誕生)

まえがき 前提として、しっかりとコーディング規約やコーディング手順などが整備されている現場ではあまり関係ないかもしれません。そういうのを整備して実践していことが難しい現場、スタートアップからインクリメンタル開発を経て、成長していくサービスを…

Eclipseに寄付しました (Donate to Eclipse)

// Support Eclipse http://www.eclipse.org/donate/ から、$250 を寄付しました。 (I donated $250 to Eclipse) ありがとうの感謝の気持ちを込めて... って、なんか「今までお世話になりました」 みたいな感じになったらいやだなぁって感じだけど笑。 ただ…

単純な話、getであんまり検索したくない

定番レビュー getという名前のついたメソッドで、検索処理を書いているのをよく見かけます。昔からできるだけ直してもらうように提案してきました。強いこだわりがあればしょうがないですが... o 単純に思いつかなかったから o 別段深く考えずにメソッド名を…

SIとスタートアップの違いを知ろう

ちょっとした行動の違い 新しく現場に入ってきた方の、技術的なオリエンテーションを担当しています。技術的って言っても、そこに密接な「仕事の仕方」的な話もします。やはり、ポイントとしては、 「SIとスタートアップ」 要は...SIerと事業会社でのプログ…