何か着ていればいいよ

ソフトウェア技術者の日常や技術の話を書こうと思います。

一日に複数のプログラム言語も読む事になった場合の対処法

経緯:複数プロジェクトが並行に走っているため、レビューや実装で複数プログラム言語を扱う必要がある。 パターン1: 何も考えずに手当たり次第、レビューや実装してみた。 * 4言語目でパタリと頭が働かなくなり読んでも読んでも意味が入ってこない。 * 明ら…

プログラマーの毎日を少しだけ有意義にする習慣

たいそうなタイトルをつけましたが結論から先に書きます。 普段使っているツールの使ったことのない機能を毎日一つ試しに使ってみる これだけです。 自分はプログラマーなので、タイトルにプログラマーと付けましたが、もしかしたらプログラマー以外にも有用…

イテレーションの振り返りをこんな感じでやっているよ

自分の携わっている案件では比較的アジャイル的なプロジェクトの進め方をしています。 その一例としてだいたい一週間を1イテレーションとしたサイクルで(出来るのであれば)その時点の成果物リリースを行っています。 そのため、毎週の振り返り(と称した週…

過去の見積の失敗を生かしてみた。

過去の見積を参考にする 今日、来年度の案件の見積をしている際に過去の見積を参考にしようと入社5年目で初めてプロジェクトリーダーをして初めて見積をした見積を引っぱりだしてくる必要がありました。そのプロジェクトでは初めてのリーダーとして見積を責…

プロジェクトチームの積重ねとそれが雲散霧消すること

私は、請負契約のプロジェクトでチームリーダーをかれこれ6、7年やっています。 いままで私が携わったプロジェクトは非常に苦しい思い出も多く、常に試行錯誤の毎日。 そして日々、小さな成功とそれより少し大きな後悔が交互するような開発者ライフを送って…

今まで見たもっともクソなテーブル設計

あれは、僕がデータベースを扱ううち最初から3件目のプロジェクトだった。C++のソースが難解で火を吹いているという話で、自分は低スキルの若造。火にくべるには丁度良い程度のやる気と責任感をもっていた。折悪く別のプロジェクトが終了した直後だったもの…

技術の2分化とそこに取り残された自分

昨年のデブサミは印象深かった デブサミの季節ですね。 去年は仕事を休んで二日とも参加したのですが、今年はプロジェクトが絶賛火を吹いている関係で参加できませんでした。そこで、去年のデブサミで感じたことと、その感触を一年間経って生かせなかった反…

見積は自己ベストを基準にしてはいけない。

今日もタイトルが全てという感じですが以下本文はおまけみたいなものです。 事の経緯 これはソフトウェア開発における、機能の見積もりに関するお話です。 最近の工数見積もりはある程度経験のあるメンバーがチームに多いという状況もあって、チーム全員が集…

コードスニペットをファイルで管理していたがGistに上げた方が良いと気づいた話。

タイトルが全てという感じです。 が、とりあえず経緯もふまえて残しておきます。 元々はどうしていたのか? 自分用の簡単なプログラム類は"Programs"というフォルダ配下に一応言語ごとにフォルダ分けしてしまっておりました。 そして、言語のフォルダ内にス…

S2Dao.NetでTable定義と異なるEntityを使う方法

Seasar.NetのS2Dao.NetでDaoにSql属性を付与してSelect文を書きたかったのだけど、Entityとは異なる(複数テーブルをJoinした)形で書きたかったのでその方法をメモ。例えば、こんなSQL select t1.id, t21.value option_value, t22.value additional_value f…

勉強会とソフトウェア業界では空気が違う

最近、協力会社から外注の方一人にプロジェクトへ参加してもらいました。 その、方と接する中で気づいたことをつらつらと。 頑張って新しい技術を取り入れながらプロジェクトやっているよ まず、我々がどのようなシステムを構築しているかというのを差しさわ…

イット業界のシャケは泳ぐのをやめたら死ぬ

タイトルは隊長のフレーズが好きで適当に真似してみました。*1 でも、意味は全然違います。 正直、手あかのついた内容ですが我々ソフトウェアエンジニアは勉強を継続的に続けなければ、新しい技術にもついていけず今あるスキルも陳腐化していくだけだよ。 と…

週次進捗会議を『イテレーション振り返り』と称することでアジャイルな雰囲気を醸すこと

ソフトウェア開発プロセスにおいてウォーターフォールと並ぶプロセスとして、アジャイ開発プロセスがすでに確固たる地位を気づいてもう何年たったでしょうか? ウォータフォールに最適化された組織に見えた大手SIerでさえもアジャイルプロセスのメリットを取…

自己流コードレビューのやり方

ソフトウェア開発にまつわるコードレビューってありますよね。 ここ数年、僕が自己流で試行錯誤しながらやっているコードレビューの細かい作業詳細を記録しておきます。 レビュー依頼 基本的にある程度の機能単位でのチケット駆動開発でプロジェクトを進めて…

システム管理者兼プログラマーの格闘

ここ数年の話 私は自分のことを根っこではプログラマーだと思っています。 単純にキャリアのスタートがプログラマーだったということもありますし、今までの仕事で顧客に一番価値を提供できていたのはプログラマーとしてだったという側面もあります。 ただ、…

プログラマーのキャリアパスについての悩み

キャリアパスに最近思い悩む 自分のキャリアは最初にプログラマーとしてスタートして仕事の必要性にその都度応じつつ、データベースエンジニアやアーキテクト、ネットワークエンジニア、インフラエンジニアというスキルを広く浅く修めてきました。 そこで、…

クラス設計のとっ散らかりをなんとかしたい(インスタンス生成)

とっ散らかりポイント インスタンス生成 DTOなんかのデータ保持 ロジックの責任 別システムとのI/O これらのそれぞれ、もしくは全部が一つのクラスの一つのメソッドにあったりするととっ散らかるわけですね。 で、上記のポイントについてとっ散らからない方…

MarkDownを何に使っているか?

結論 MarkDown記法を大したことには使っていないけれど、 日常のこまごました書きものに使用しており非常に便利。 環境 私は基本的にWindows環境で仕事も私生活も過ごしているのですが、 さてMarkDown記法で何かを記述するとなるとどんなエディタや ツール類…

今日やったこと

今日やったことをつらつらと。 前提 Visual Studio 2013 Express for Web ASP.Net MVC5だっけ? Razor とかそういう最新の環境で開発しています。 経緯 去年末から複数プロジェクトを抱えており、上記の環境のプロジェクトは仕様確定とか、DB設計とか、プロ…

システム設計におけるnullの扱い(覚書)

結論 結論からかいてしまうと、変数にnullを極力入れないようにしましょう! ということです。 前提条件 今回のシステムはC#ですが、JavaやC++でもある程度当てはまると思います。*1 経緯 今まで、10年ほどシステム開発をやってきて、もやもやしていたnullの…

組織からみた社員のプログラミングスキルの伸ばし方

最初に断わっておきますと最近自分の身の回りに起きている事象の話であまり汎用的な内容ではありません。 あまりうまくいっていないその事象について自分の考えをまとめてみる。 ことの前提 ここ5年くらい、たまたま.Net(C#やVB.net)の案件が多く社員のス…

JavaのWebアプリケーションを保守・カスタマイズしていく中で失念していたこと

結論から言うと、 Servlet ContainerのサポートするServlet APIのバージョンがどんどん上がっていくので、 それに伴って自アプリの使用するServlet APIのバージョンが非推奨やサポート外になっていくこと。 で、そのことを顧客に計画的に伝えて提案し続ける…

AWS手習い

ドットインストールという素晴らしい学習サイトのおかげで、今まで腰の重かった自分もクラウド環境を個人的に勉強してみようという気になりました。 とりあえず、ドットインストールのレッスンに従って進めていこう! だいたい、こういうの環境作って満足し…

環境構築手順書の書き方

社内勉強会のネタとして考え始めたけどあまり広がらなかったのでここで開陳。 ※我流の環境構築手順です。正しいやり方かどうかは不明。 結論 いきなり結論というか本稿で言いたいことを書くと、 環境構築手順書は環境構築をしながら書こう! ただ、それだけ…

今日のお仕事

今日一日を触れた技術を挙げながら振り返る 一人プロジェクト推進 不具合修正 C# 3.5 で書いているデスクトップアプリケーションの不具合修正を実施。 LinqでQueueの先頭から指定件数 × ?みたいなオブジェクトを取得する処理に四苦八苦。 結局LinqのTakeとS…

とりあえず

こんにちは 東京でプログラマーをしている人間です。 やっぱりIT関連企業で技術職を担っている人間は技術に関するアウトプットが必要らしい。 というこで、日々の技術的な興味とか関心とか仕事で接する技術に関して書いていこうかなと思っております。 ただ…