「リファクタリング」を含む日記 RSS

はてなキーワード: リファクタリングとは

2020-04-29

ソフトウェアエンジニア生産性10倍違う説は本当だった・・・

ちまたにソフトウェアエンジニア生産性10倍違う!なーんていう話を聞くことがありました。

ほんとかよ!と思って生きてきました。そんなことあるはずない・・・と。

去年、あるエンジニアと3ヶ月お仕事しました。

年齢は40代くらいの経験のあるエンジニアさん(仮にAさん)で、単価はおそらく75~90万円/月といったところで、3人月フルコミットでした。

一方、私は、1人月(0.5人月、0.2人月、0.3人月で3ヶ月)の稼働でご一緒しました。

Aさんは、バージョン管理ツールログで、変更行数(追加と削除を合わせた数、※1)が、だいたい1ヶ月7,000行くらい。

私は、バージョン管理ツールログで、同様に変更行数が、1ヶ月だいたい130,000行ぐらい。

うーん、まじなんなんだこの差は。10倍説を認めざるを得ない・・・

自分ができるエンジニアだとは全く思わないけどいくらなんでもひどすぎないか

もちろん担当した機能領域とか、自動生成のコードがあるとか(全体に対して過度に多いわけではない)、

テストデータかに応じて程度の差こそあれ、10倍以上の差が出ている・・・

品質に差があるんじゃないかって思うでしょう?

正直Aさんの品質は良くない。まともにまともに動いていても仕様漏れ考慮漏れがあたりまえの状況。

(※1)

この対象には、もちろん設定ファイルとかテストデータとかDDLとか、実コード以外の周辺のファイルもすべて含まれています

端的に言えばリポジトリコミットされたすべてのデータ

自慢ではありません、ちょっとやるせない気持ちになったので、仕事愚痴でした。

[追記]

なんだかんだ反応があって嬉しい。

あくまバージョン管理ツール上の差なので、リファクタリングパッケージ移動的なことをすると当然行数が増えます

たまたまリファクタリングを多く行ったので、差分が多く出ただけじゃないか?と結論付けられるのも別良いです。

私的感覚を表すために行数を測ってみただけで、行数の絶対値生産性を測りたい意図はなく、相対的な数値の差がでている、というニュアンスです。

2020-03-28

今月のNEW GAMEでリファレンスリファクタリングを思いっきり間違えててクソ笑った

結果を確かめるためのリファレンスプログラム書いて…とは違うし

専門用語ちゃんとチェック、しよう!

2020-03-27

[]プログラマーペアプロモブプロ)を採用している会社で働いて成長しよう



リモートワークを採用している日本のテクノロジー企業のまとめ

.

プログラミングとは経営判断の集積である

ソースコードの一行一行は、経営判断のものだ。

どの部分を汎用的につくり、どの部分をやっつけで作るか、そして、どの部分をパフォーマンス優先でつくり、どの部分を可読性優先でつくるか

(中略)

ソフトウェア開発とは、経営意思決定の集積なのだから経営意思決定を外部の会社委託するというのは、「経営を外部の会社にやってもらうようなもの」だからだ。

もっと言うなら、自分会社の今後のビジネスポジションを、他社に決めてもらうようなものからだ。

外注を出された会社は、そのソフトウェア未来に実現するであろうビジネス価値犠牲にして、できるだけ少ないコストで作ろうとする。

ソースコードの一行一行が経営判断のものになる

ttp://fromdusktildawn.hatenadiary.jp/entry/20061003/1159869683

プログラムは全て決断である

ttps://bit.ly/2JzCggZ



ペアプログラミング意思決定苦痛を和らげる。

ペア作業を行うため仕事以外の事は一切できない(一人で作業しているとついついメールをチェックしたりウェブを見たりしてしまます

ttps://web.archive.org/web/20060808215655/http://rblog-media.japan.cnet.com/ajiyoshi/2006/06/post_74c4.html

ペアプロ懐疑派だった僕が、実務でペアプロ導入して180度考えが変わった話

個人コード責任を持つのではなく、チームでコード責任を持つ組織にするべき」という考えに心を打たれた

ttps://qiita.com/YudaiTsukamoto/items/06b426f4dbee268d5035

プログラミングをしていて、最も時間がかかるのは、「悩んでいる」時間だ。

かにどハマりするとか、初めての事、難しい事をやるときに、理解するのに時間がかかるとか。

それがMob Programmingでやると、いろんな人が寄ってたかって、いろんな目線解決を考えるので、詰まったり、ハマったりする事がなく、異常に早く終わる。

中略

それぞれがやったことを「レビュー」しなくても、そもそも常にレビューしている感じだから、そんなことも必要ない。

ttp://simplearchitect.hatenablog.com/entry/2017/06/19/080036

今はコードがお偉いさんなんだからMOBは雁首揃えろって話

ttp://d.hatena.ne.jp/essa/20170619/p1



属人化をペアプロでどのように排除するか

ペアプロは、質の高いコードレビューでもありますヤフオク!の開発チームでペアプロを行う際には、プルリクエスト作成してコードレビューを挟むようなステップ存在せず、実装したコードレビューなしにそのまま本番コードマージしています

中略

ペアプロを行う上でお薦めなのが、毎日ペアを組み替えるペアローテーションです。毎日ペアを変えることで、知識情報を共有する速度を、加速度的に向上させられます

ttps://employment.en-japan.com/engineerhub/entry/2019/11/07/103000

ヤフー2012年10月から国民の祝日土曜日にあたった場合、前日の金曜日を振替特別休暇とする制度を始めている。

ttps://www.j-cast.com/2012/11/02152492.html

ヤフーでは勤続10年以上の社員対象に、2~3か月の範囲サバティカル休暇制度を導入しています

ttps://www.hr-force.co.jp/saiyogo/201904141702

リモートモブプログラミングという働き方

現在、kintoneの新機能開発メンバーは6拠点オフィス分散し、また多くのメンバーカジュアルに在宅勤務を活用するリモートチームとなっています。 また2018年から2年以上、全ての設計実装タスク原則モブプログラミングで行っています

ttps://blog.cybozu.io/entry/2020/02/28/080000

サイボウズ、離職防止の切り札は「出戻り歓迎」

ttps://s.nikkei.com/2vJsvYx

自分休暇

ttps://dot.asahi.com/wa/2019062700013.html?page=3

プログラマーは全員ペアを組んで仕事をする

ttps://www.slideshare.net/yattom/ss-79372905

ジョイインク (Joy, inc.) のメンローイノベーションズに行ってきた

ttp://kawaguti.hateblo.jp/entry/2017/08/15/095840

後輩エンジニアは、業務関係することであれば先輩エンジニアに対してペアプログラミングをいつでも申し込むことができます

ttps://design.bizreach.co.jp/archives/2447



知識の塔」と呼ばれる、「この人じゃないとできない! いなくなったら困る!」という状況を、ペア作業を通じて常に解消し続けているのです。

ttps://codezine.jp/article/detail/9980

ペアプログラミングによる暗黙知の共有は、ハネムーンナンバーを下げる効率のよい方法だ。

ttp://methane.hatenablog.jp/entry/20060501/1146492679



なぜ自分は「ペアプロ全面導入」という考えに至ったのか

ペアプロ一般的に言われるようにレビューの手間が減るとかコード品質が向上するとか属人化を防ぐのに良いとかの利点がありますが、自分は「その時間集中力」こそが実は最大の利点

ttps://inside.pixiv.blog/edvakf/3182

8時間気が抜けないので、結果的生産性が上がる

ttp://www.ketancho.net/entry/2018/02/22/080000



たぶんこれが生産性の鍵なのだ: ただ始めること。

ペアプログラミング機能するときにそれがうまくいく理由は、たぶんペアプログラミング セッション相棒スケジュールするときには取りかかるために2人が力を合わせるからだ。

ttps://ajiyoshi.hatenadiary.org/entries/2005/08/06



ペアプログラミングの1ドル価値

ペアプログラミングをする価値は、最初場所エラーが起きるのを防ぐとても小さな軌道修正という形でやってきます

ttps://www.infoq.com/jp/news/2009/07/dollar-value-of-pair-programming/

コード1行作るのに28ドルかかる、だから…」

ttps://b.hatena.ne.jp/entry/s/tech.nikkeibp.co.jp/it/article/Interview/20121210/443162/



ペアで働くと効率4倍

ttps://web.archive.org/web/20070210094344/http://business.nikkeibp.co.jp/article/skillup/20061121/114149/

ペアプロと開発効率関係で言うと、「100%ペア」と「100%ソロ」で比較した場合、単純な「稼働率」ではソロのほうがもちろん多いです。ただ、単位時間内にどれだけのコードが本番リリースされていくかを「生産性」と捉えると、スループットや仕掛かりの時間考慮する形になり、結果的ペアのほうが生産性が高くなるんですね。

ttps://codezine.jp/article/detail/10264



上等なオンラインペアプログラミング環境

ttps://ogihara-ryo.github.io/vscode-live-share

WEB+DB PRESS Vol.102

特集1

はじめてのペアプロモブプロ

メキメキと人が育ち,プロダクトの質を高める

ttps://gihyo.jp/magazine/wdpress/archive/2018/vol102

.

ペアプロ 属人化 - Google 検索

戦闘機の編隊飛行において、二機一組を最小単位とする戦術

ttps://ja.wikipedia.org/wiki/ロッテ戦術

1業務に2人を配置して23連続黒字になった秘密

ttps://bit.ly/2MylBjs

人材会社資産として残らないが仕組みは会社資産として永遠に残る

ttps://www.amazon.co.jp/dp/B010JM64M6/

従業員トレーニングをして、よそへ行ってしまったらどうするのか」という疑問に対するStanger氏の答えは、「従業員トレーニングをしないで、彼らが会社にとどまってしまったらどうするのか」ということになる。

ttp://japan.zdnet.com/article/35058310/

従業員の才能を爆発させるには「会社に人を長く留める」戦略を捨てる必要がある

ttps://b.hatena.ne.jp/entry/s/gigazine.net/news/20171005-superboss/

「弱いつながり」理論でいうと、SNSでつながる友だちは、それこそFacebookの友だちが3,000人規模で、国内スタートアップ経営者なら、たいていの人に直接または1hopでつながることができる。

ttps://techplay.jp/column/366

リンク

エンジニアリング組織論への招待

~不確実性に向き合う思考組織リファクタリング

ジョハリの窓心理的安全性

ttps://gihyo.jp/dp/ebook/2018/978-4-7741-9663-3

心理的安全性ガイドライン(あるいは権威勾配に関する一考察

ttps://qiita.com/hirokidaichi/items/5d8c4294083d85654a04

組織雰囲気スペースシャトルコロンビア号」を爆発させた!?

ttps://note.com/kaorutamura/n/n212e1a4be8f5



エンジニアリング組織論への招待」読後メモ自分用)

コントロールできるもの/できないもの

「誰かが誰かに依頼する」関係になっていると、エージェンシースラックが生まれ

ttps://qiita.com/yrockfield/items/dbc8aca6b95e45b8d8af



「ウォータフォールは一切メリットがないので止めておきなさい」

ttp://simplearchitect.hatenablog.com/entry/2016/06/20/080807

[ESBI][スキル資産][デジタル資産]就業中に「スキル資産」が増え、起業・転職・副業をしやすいのがプログラマー

[Ruby][Rails][ESBI]Ruby on Railsを書籍で勉強する前に

[内製][外注][顧問プログラマ][技術顧問][ABテスト][改善][取引コスト][management][会者定離]

2020-03-11

anond:20200311082556

きつい言い方になってしまってごめん。

目的と合うかは分からないけれど、リファクタリングの有名どころだと

辺り?

業務必要なら、会社電子版を購入してもらえないかな。

2020-02-25

結局リファクタリングってなんなのかわからいか

SIとかって自分コードいたことがない連中だから

リファクタリングがなんなのか

なんでやるのか

とかとかさっぱり理解してない

2020-02-07

anond:20200207123240

今週仕事したの3,4時間ぐらいのPG

ずっとネット見たりyoutube見たりしてる。

どうもやる気が起きない。

まあ、やる気が起きたところで差し迫ってやることないし、リファクタリングなんか絶対しないから何もしないんだけど。

パーテーション最高。

2020-01-13

彼女ちゃんと私のコンパイルエラーを読めよ」

彼女リファクタリングに愛が足りない」

彼女「その短小リンカーで私を満足させるつもり?」

2019-12-14

[][][]Ruby on Rails書籍勉強する前に

テレワーク

リモートワークを採用している日本のテクノロジー企業のまとめ

.

MVP(Minimum Viable Product:仮説を検証することができる最低限のプロダクト)

ttp://kozy4324.github.com/blog/2012/03/20/report-agile-japan-2012/

とにかく雑に作れ - 東京工業大学エンジニアリングデザインプロジェクト - Medium

ttps://b.hatena.ne.jp/entry/s/medium.com/titech-eng-and-design/%E3%81%A8%E3%81%AB%E3%81%8B%E3%81%8F%E9%9B%91%E3%81%AB%E4%BD%9C%E3%82%8C-2f87cc00eb85

Things that are complex are not useful, Things that are useful are simple.

Mikhail Kalashnikov

複雑だと役に立たない。何よりも単純であることだ。

ミハイル・カラシニコフ 史上もっとも大量に製造され拡散しているアサルトライフルであるAK-47」の設計

完成に漕ぎ着けるのは、

付け加えるものがなくなった時ではなく、

取り除くものがなくなったときである

Antoine de St. Exupery

Ruby

https://try.ruby-lang.org/

Ruby基礎文法最速マスター

Ruby入門 (全26回) - プログラミングならドットインストール

Rails

Railsの教科書

Rails Girls アプリ・チュートリアル

Ruby on Rails5 | プログラミングの入門なら基礎から学べるProgate

Ruby on Rails 5入門 (全28回) - プログラミングならドットインストール

Ruby on Rails チュートリアル:実例を使ってRailsを学ぼう - Michael Hartl (マイケル・ハートル)

Ruby on Rails ガイド:体系的に Rails を学ぼう

ttps://railsguides.jp/

リンク

6 of the top 10 @ycombinator companies (by valuation) were built using Ruby!

ttps://twitter.com/mhartl/status/1179561691857616896

ttps://prograils.com/posts/top-10-famous-sites-built-with-ruby-on-rails

Ruby on Railsの事例まとめ(海外有名サイト編)

ttps://b.hatena.ne.jp/entry/s/skillhub.jp/blogs/176

Ruby on Railsの事例まとめ(日本有名サイト編)

ttps://b.hatena.ne.jp/entry/s/skillhub.jp/blogs/177?ref=176



スタートアップでのプロダクト開発はRails必要十分

スケーラビティがとか、拡張性がとか、モノリシックアーキテクチャは柔軟性がないんじゃとかいう声が聞こえてきそうだが(もっとも僕も前はそう思っていたのだが…)、

こんな技術的な美しさやなんちゃらビリティなんてものスタートアップにおける開発速度の重要性に比べたらなんの意味もないものである

ttps://medium.com/@reoring/4a92508bd170

最近PMFする前にアーキテクチャにこだわりすぎる事故をよくみる。

PMFする前のプロダクトなんて動けばなんぼなので、Railsで汚くてもいいかゴリゴリ書いて、最低限のJSをつけるだけでよい。

リリースするまで6ヶ月かけるというのは事故で、3週間ほどを目安に企画からベータリリースまでいくべき

ttps://twitter.com/wyvernMurai/status/1024150618288472064

マネーフォワードCTOが考えていること(20203月

Ruby on Railsは、現時点で、新規サービスを立ち上げる開発生産性が最も高いと判断しています。0-1のステージにおいて最も効果的であり、多くの場合は1-10でも有用です。ただし10-100のステージでは、デメリットが見えはじめますしか10-100のサービスにおいても、Ruby on Railsの利用範囲ゼロになることはないと考えています

ttps://moneyforward.com/engineers_blog/2020/03/31/cto-message-202003/

スタートアップWebアプリつくるなら、Railsアプリ分割せずAPIモード使わずシンプルにつくれ。

最初WebpackerとES6で必要になるまでFWつかうな」

ttps://twitter.com/daaaaaai/status/1154207078715498496

A Modern Web Application With Rails

ttps://medium.com/rubyinside/a-modern-web-application-with-rails-da3deb48014c

JavaScriptフレームワークはもうこりごり

HTMLCSSJSが私のフレームワーク

ttps://postd.cc/zero_framework_manifesto/

Istioがマイクロサービスからモノリシックアプリに変化。その背景とは

ttps://b.hatena.ne.jp/entry/s/thinkit.co.jp/article/17540

Twitter創始者

Ruby on Railsを使って2週間で最初の動くバージョンを作り上げた

ttps://bit.ly/2KdcKim

Ruby on Rails10分で作るTwitterもどき

ttps://bit.ly/2KVdAl8

時間ツイッターサービスを作ろう! – KRAY Inc.

ttps://b.hatena.ne.jp/entry/s/kray.jp/blog/twitter_service_in_1hours/

「1人で6時間で作った」 Twitter匿名質問「Peing」人気、月間2億PV超えへ

ttps://bit.ly/3b7qyIz

Ruby on Rails: DHHインタビュー

Railsにある20%のソリューション問題の80%を解決できるようにしています

ttps://kdmsnr.com/translations/interview-with-dhh/

僕らがRailsで戦い続ける理由

ttps://speakerdeck.com/toshimaru/why-we-use-ruby-on-rails

それでもRails選択する3つの理由 - pblog

ttps://ppworks.hatenablog.jp/entry/2015/02/19/223552

僕はずっとRails使ってますが、別にRailsにこだわってるわけではないのでもっと良い技術があれば普通に移行すると思います

ただ移行するためには今持っているRails資産経験など全てを超えてなお移行したほうがメリットある場合に限るので中々そういうものは少ないかな、、、と

ttps://b.hatena.ne.jp/entry/twitter.com/_sesere/status/953120084666433537

今は分かりませんが、数年前まではphprubyと同じ事をしようとするとソースコード量が3倍近く必要でした ソースが短ければバグが発生し辛いですし、ミスもかかる時間も減る と言うことで僕はruby、、、と言うよりrailsをおしま

ttps://b.hatena.ne.jp/entry/twitter.com/_sesere/status/928170730893619200

Railsセミナー面白かった。 スタートアップ企業社長PHPを捨ててRailsを選んだ理由エンジニアの安定性というのが、今回聞いた中では一番心に残った。

エンジニア視点ではなく、経営視点で考えたら、ボトルネックは必ず人だからだよな。

ttps://b.hatena.ne.jp/entry/s/twitter.com/poepoe49091/status/762141005432750080

スピードに対してごちゃごちゃ言うなら C じゃなくアセ ンブラで書けばいい。

それをなんで C で書いてるのかって言えば、 それはもちろん「コードがわかりやすい」とか、「早く書ける」って のが理由だろう。

そして、Ruby は C よりわかりやすいし速く書ける。 ということは、「C よりも Ruby」というのは非常に自然選択では ないだろうか?

ttp://i.loveruby.net/ja/ruby/why.html

Cで書くと2日かかる。実行時間は0.1秒

Rubyで書くと1日かかる。実行時間10秒(Cの100倍)

と、すこし極端な仮定を置いてみると、どっちが得でしょうか。

ttps://jp.quora.com/naze-ruby-ha-hokano-gengo-to-kurabe-te-osoi-node-shou-ka

Railsアプリケーションを、Heroku上で1分間125,000リクエスト対応できるようにスケーリングする

ttps://postd.cc/scaling-rails-to-125-000-requests-per-minute-on-heroku/



RubyRails学習ガイド2019年版

ttps://magazine.rubyist.net/articles/0059/0059-Ruby-Rails-Beginners-Guide.html

Rails2019年も「あり」か? 統計を調べる

ttps://techracho.bpsinc.jp/hachi8833/2019_01_25/68846

Rails2019年も「あり」か? Rails長所と向いている用途

ttps://techracho.bpsinc.jp/hachi8833/2019_01_29/68871

Rails2019年も「あり」か? Rails短所と不向きな用途、他の選択肢など

ttps://techracho.bpsinc.jp/hachi8833/2019_01_31/68875



経験からRuby on Railsを学んで仕事につなげるまでの1000時間メニュー

ttps://qiita.com/saboyutaka/items/1a8c40e105e93ac6856a

あなたマスターしたのはいくつ? Rails習得するために必要技術要素の一覧

ttps://qiita.com/jnchito/items/063e332cbe3023f52f93

素人Webサービスを作ってみて分かった9つのこと

Webアプリ想像以上に複雑だった

ttps://el.jibun.atmarkit.co.jp/rails/2011/09/web9-1e8b.html

railsのdefaultでは用意されていない考え方や設計リファクタリングについてのリンク

ttps://qiita.com/tos-miyake/items/8dffb16273726f538d49

プログラミングに関する法則原則一覧

ttps://qiita.com/hirokidaichi/items/d6c473d8011bd9330e63

プログラミングを独習するには10年かかる

ttps://www.yamdas.org/column/technique/21-daysj.html



19歳から7年、1人で30個のWebサービスを作り一発当ててもう働く必要がなくなった

ttps://bit.ly/2ysT1Km

30代後半や50代からでもソフトウェア開発者になるのには遅くないという10人の実例

ttps://bit.ly/2M6Dh6l

プログラミングは人生を賭ける価値がある」

ttps://tech-camp.in/note/interviews/55825/

重要なのは仕事を続けることにワクワクできるかどうかなんだ

ttps://bit.ly/2J8ak5W

2019-12-04

anond:20191204173005

BOOL型と STRING型の混在プログラムよりも、STRING型で統一されたプログラムのほうが美しいじゃない?

そもそも、BOOL型には拡張性が無い。

true or false 以外に may be true とか、not so false みたいな新たな状態を示す値を定義できない問題がある。

だが、最初から文字型で定義しておけば、そのような拡張性の無さに困ることがない。


BOOL型は省メモリだ、判定が速いだと言い出す輩もいるが、現代コンピュータでは、STRING型でも十分に代用可能

処理速度がボトルネックになった時点でリファクタリングすればいい。

わざわざ、BOOL型を導入するよりも、STRING統一しておいた方が多言語への移植簡単だろう。

・・・みたいにアタマのよい人は考えているに違いないの。

2019-11-21

エンジニアフリーランスという職業

最近まともなコードが書けていない

どの会社に行ってもレベルの低い前任者のコードがあって

それを直すのにすごい時間がかかる

何で時間がかかるのかと言えば、リファクタリング工数をもらったことがないからであって

フリーランスを入れる時点で何か締め切りがあって時間や手が足りてない

 

それでようやく直ったかなというところで大体契約が終わり

次の会社に行ってまたコードを直すような作業をしている

いかねもらってるから別に文句言う筋合いじゃないじゃないのは分かるけど

ああ、自分仕事ってこういうのなんだろうなって最近諦めるようになってきた

 

若干納得できないのは

自分を困らせてるのが会社ではなく前任者っていうところだ

前任者は大抵もうそプロジェクトに居ない

なので怒ることもあるけど、基本的事業者には同情的になる

これは多分最後まで納得できないと思う

 

まともなコードを書くチャンスがあまりないので

たまに趣味コードを書いている

自分プロダクトで月20万円でもいいから売り上げが立てばもっと時間を割けるんだけどなあ

今は完全に休憩中の落書きレベル時間しか取れていない

来年はそこちゃんと目指していこう

2019-09-24

プロはやっぱり業務で使えない

職業プログラマシステムの開発保守をやってるんだけど、色んな人が競技プログラミングにハマっているのをみてatcoderを始めてみて一ヶ月が経った。未だにF問題が解けなくて実力の無さを痛感してるけど、これ、たしかめっちゃ面白いアルゴリズム考える力もつくし、これからも続けようと思う。

それと同時に、やはり競プロ業務では使えないって思いが強くなった。「アプリを作るのが好きで、趣味で競プロもやってます」って人であれば面接で速攻でとると思う。問題となるのは「競プロ青色なので、プログラミングは得意です」という言い方をする人。その時点で俺なら落とす。

普段仕事プログラムを書いていると可読性とか保守をどうするとか、ほとんどの時間はそういうことを考えてコードを書いている。幸いそのお陰で、自分の関わるシステムは5年以上開発を続けても苦もなく保守できる状態が保たれている。しかし、atcoderに参加してみて、競プロ中は普段と全く関係のない知識を使っていることに気がついた。いや、使っているではない、使わざるを得ないのだ。

例えば、普段の開発では単体テストを必ず書くが、atcoderでは提出時間が早いほうが有利なため、簡単問題では単体テストが完全に無駄だという思いが脳裏に浮かんだ。システムを作るときには絶対にあってはいけない発想だ。回答を通す、という目的けがはっきりしているのも問題だ。参加中は可読性を上げるために変数名をつける、読みやすいようにリファクタリングする、などの行為がすべて無駄と感じられてしまった。回答を通すためだけに、 ad-hoc な if 文がどんどん付け足されていく。そして、回答が通った時点ですごく達成感が出てしまい、完成したコードにはまったく興味がなくなってしまった。atcoderに参加しただけで、普段システム開発をしている自分の頭がそのような発想に至ることがあるなんて全く想像していなかったので、恐ろしくもあり、競プロマインドシステム開発とは全く違うと痛感させられる経験だった。

こんなマインドプログラミングを覚えた人間は、絶対にまともな開発はできない。ひどい手癖が染み込んでいる上に、そこに自信を持ってしまっているのが非常に恐ろしい。ずぶの初心者よりももっと悪いと思う。

2019-08-10

クチコミサイト運用しているエンジニアだが限界かもしれない

現場でなにが起きているか

ディレクターサイドが大きいタスクを嫌がる工数が足りないと騒ぐ

リファクタしようにも軽微な改善を積まれまくって開発ができない

一個改善をしようとすると経営会議承認を得ないと行けない

デザインが明らかに古い

イベントを行うもイベントが終わるたびに燃え尽き症候群エンジニアがやめていく

開発の経営陣は古いシステムをどうしようという話に一切口を出さず新しいシステム機械学習に夢中

クローズするサービスを残し続ける、保守しなければ無料じゃねーんだよ

裏側でなにが起きているか

最後サーバーセキュリティアップデートしたのはいつだろう

ソースコードカオスなことになっている

仕様理解している人が誰もいないことが稀によくある

DBパンパン、使われていないテーブル多数あるけど怖いので消せない

CTO直下のチームは飽き性で色々なフレームワークを開発し運用チームに渡しまくるせいでもうぐっちゃぐちゃ

マイクロサービスを無理やりしたせいでバージョン違い、ミドルウェアの違いなどで更にカオス

DDDとか会社で誰も回せないし正常に導入できていないのに、推し続ける謎行為(俺たちは勘でDDDをやっている)

どうするべきか

主要なサービス新規事業サービスを乱立するのは良いが、損益点をはっきりさせて撤退する勇気を持つ

24/365は諦めて、24/365のための議論をする

オンプレはもう限界だよ、オンプレでもいいけどサーバー構築を1h以内にやってくれ頼む

大規模なリファクタリングを行うために経営陣は今の現場限界に気づいてくれ、株価見ろよ利益率悪いのが丸わかりだろ・・・

機械学習やってる場合ですか?

自分たちは弱いことを認めて改善をしていけばいい、全員やめろとは言わないけどもっと運用チームの一番下と経営陣がしゃべる時間を作って生の声を聞いてくれ

人事に言いたい

エンジニアイベントごとに巻き込むな、全部任意イベントにしてくれ

エンジニア営業を同じ制度ワークフローで処理するのは限界ってことに気づいて

会社お金の使い方見直しません?その社内イベント本当に必要ですか?

あぁ^~リモート環境ないので障害起きたら出社しなきゃいけないんじゃぁ^~

2019-07-13

作者の気持ちを考える文系の方が

こうあるはずでこうあるべきだと、現実にそぐわない計画パワハラまがいに押し付ける下手な理系より

ずっとシステム屋に向いてるなと最近ちょっと思う

追記

リファクタリングをそうとは言わずにやらされることが多い

こいつは何がしたいんだと考えることが多く、上のように思った

2019-06-16

やたらフロントエンド技術スタックが新しいサービス成功しない説

最新技術をつかうと成功しなくなる。という話ではなくて、

そもそもうまくいきそうなことをやっている場合Webフロントエンド時間をかけてられないという話。

技術スタックが最新でもユーザ別に嬉しくない

まともなエンジニアなら枯れてない技術を使った時に生じるコスト理解している。それはたくさん残ってるバグとか、バージョンアップによるAPI変更への対応するコストだ。そういう対応コストユーザがうれしいものではない。「あの話題モジュールに投げたバグ修正マージされました!」とか言っても、ねぇ?

あとWebフロントエンドって、最新の技術を使ってもレガシー技術を使っても結局html/js/css成果物なので、出来上がったモノはユーザから見ると大差ない。つまりWebフロントエンドに限って言えば最新の技術採用していても競争優位にはなりにくいのだ。

そもそも欲しがられてるものが作れていないのでは

ユーザ需要があるものを作ってる時って、枯れてない技術に挑戦したりしてる暇はなくて、小慣れた道具でつくらなくちゃいけないことが多い。毎週のように新機能が待ち望まれている状態ではゆったりと開発してるわけにもいかない。

ちょっと逆説的だが、ゆったりと開発できているということは、作っているもの需要があるか怪しいということだ。

やたらWebフロントエンド技術スタックが新しいサービスが出来るまで

新規プロジェクトが立ち上がったものの、方向性がぼやけていて、プロダクトマネージャが決めなくちゃいけないことがたくさん残っているような場合エンジニアはもちろん暇になる。

コードベースはまだないのでリファクタリングもできず、データもまだないのでダッシュボードを作ったりもできないとなると、エンジニアは「じゃあUIは前から使ってみたかったアレで作ろう。時間はあるし」となる。

だいたいこういうプロジェクト成功することはないし、こういうときしかWebフロントエンドに最新の技術スタック採用できない。ちゃんとしたプロジェクトではそんなヒマはないからだ。

ビジネス的に成功するプロダクトの状態

新規プロジェクトが立ち上がって、プロダクトの方向性が明確なときは、エンジニアはすぐに手を動かすことができる。ユーザが欲しかった機能が開発できていれば、すぐにユーザからフィードバックが返ってくる。そうすると次の機能開発にとりかかれる。

こういうプロジェクトではWebフロントエンドに枯れていない技術採用するヒマはない。枯れてない技術採用するにしても、サービススケールさせるためとか、ユーザに見える価値提供するためのものだ。

最後

Webフロントエンドバリバリ新しいやつを投入するのはもちろん悪いことじゃないのだけれども、そんな余裕があるなんて、ひょっとして作っているサービスはイケてないんじゃないでしょうか? もしくはビジネス的な成功はまあ別にどうでもいいかな、というスタンスなんでしょうか?

一度手を動かし始める前に周囲を見渡してみるとよいのではないでしょうか。

2019-05-22

納得いかねぇ

都内WEBサービス企業ソフトウェアエンジニアをやっている。

先日、給与査定があったのだが、それにどう考えても納得いかないことがあったのでここで書く。

前提

昨年の2月に今の会社入社

その時提示された給与に関しては、希望額には届かなかったものの前職よりもUPするので、まあいいか、がんばろ、ということで入社

評価システムについて

いわゆるMBOというやつが採用されている。

社員それぞれにグレードが与えられていて、MBOの達成度合いに応じてグレードのアップダウン給与アップダウンが発生する。

ざっくりいうと、MBO評価がSだとグレードアップされ、Aだと給与アップの評価される。

入社当時のグレードについて

チームメンバーでありつつ、場面に応じてチームリーディングを期待されるくらいの役割

エンジニアスキルについても、設計から実装まで全て独力でやっていけることを期待されている。

一年間でやったこ

査定の結果

Bランク。グレード相当の働き。

給料は上がらない。入社当時と同じカネで一年間働くことになる。

納得がいかないこと、その1

給与査定に関してそういうシステムであるということは理解している。

だが、上記の働きをして1円も給与がアップしないのは全く納得がいかねぇ。

給与査定面談では今年度はモバイルアプリテックリードだけではなく、開発チーム全体のリーダーに据えたいと考えているので頑張ってくれことだったのだが、じゃあ給料上げろよ。

ってか期待されている役割と実際のグレードの期待役割乖離あんだろ。

一年間、すごく良く頑張ってくれて、採用してよかったとの言葉もあったが、そんな言葉はいらんので給料上げろ。

納得がいかないこと、その2

今年に入って、某有名アプリを開発をしている会社から転職してきた俺よりも10個下くらいの若手がいる(非エンジニア)。

前社での働きがどうだったかとかは俺は知らない。

で、だ。ひょんなことからその人の給与を知ってしまったのだが、俺と同額。

この時点でちょっと納得いっていなかったのだが、まあ、よしとしよう。一年間、バリューを発揮してきたのだから、おれも給料上がるだろ、と思っていた。

のだが、先に述べた通り、給料は据え置き。

これおかしいと思うんだよな。一年会社に貢献してきた俺と、まだ貢献がゼロでその時点で何のバリューも発揮していない人間結果的に同等の評価って。

前職の企業ネームバリューがでかいから、そういうものなのかもしれないし、そういうものとして理解することはできる。

だか、やっぱり納得がいかない。

2019-04-23

会社の人と話せなくなってしまった

思い返せば学校生活から、人とうまくやるのが苦手だった。育った環境特に劣悪でもなく、23区のあまり裕福ではないほうで、いじめを受けながらも、それなりに義務教育を終えた。ただし、いじめを受けると、それなりに人付き合いが苦手になるが、現在そのことが影響を深く与えているとは考えにくい。

その後勉強のできる都立高校に進んだ。校則が一つもない学校で、当然服装やら髪型規則もない。しいて言えば、ちゃん学校にある程度来ることと、補導されないこと、それと校内では下履きに履き替えることくらい。友達とさぼって映画を見に行ったり、年齢制限をゆるく見てくれるお好み焼き屋に行ったり、近所の公園浪人生に逆ナンパされたりと、人生初のリフレッシュができた。図書館で山ほど本を読んで、週3回剣道をして、ようやく人生軌道に乗り始めた。

それほど頭は悪くなかったようで、そこそこの大学英文科に入ることができた。映画サークルに入り、何本か映画を撮ったり出演したり、地味だったがそれなりに楽しく生活できていた。

兄弟が4人もいたので、アルバイト高校生のころからちょくちょくしていた。多少を家計の足しに、それと自分物欲のために。高校生のころコンビニで2年弱、大学からファミレスで1年、塾講師で3年。

多分、今に至るきっかけはファミレスのころにうまくいかなかったことに起因している。そして大学生活にも一因がある。

ファミレスでは、厨房ドリンクデザートを出す仕事をしていた。厨房内では仲良く働いていたが、何となくエイターウエイトレスの人とうまく話ができないまま1年が経ち、そこから人と話すのが苦手になっていた。同じくらいの女性とどんな話題を共有すればよいのか、向こうも話しかけてはくれないし、こちらも話すきっかけがない。

厨房の人がとても優しかったのは今でもいい思い出だ。一緒にワカサギ釣り旅行に行ったのが懐かしい。釣ったワカサギを持って、お店で揚げて食べたのもいい思い出。

大学1年生の性欲やらが多感な時期に、自分の口下手と話題のなさが鬱屈を与えたのだろうか。

カート・ヴォネガット短編小説チャールズ・ブコウスキー、初めて英語で読めた小説の「クールミリオン」、高校生から好きで読み漁っていたアメリカ文学自分サークルで作った映画、鉄男や小沢健二Number GirlマイケルジャクソンクラブでかかっていたNirvanaStrokes軽自動車で行ったフジロック、そんなものは誰の興味にもならないと決め込んでしまった自分がよくなかったのだろう。

1年経って結局そのファミレスが潰れてしまったが、「あの人の日とか失敗、つまんないし」といったようなことをぼそっと聞こえるように言われたのが今でもフラッシュバックする。

その後、3年弱塾講師アルバイトをした。個人指導塾で、入って3日目に、「この研修に行くと5000円がもらえる」と言われて行った研修一言発言できなかったことを思い出す。

自分が抱える生徒の多くは、本指名から外れてきた子が多かった。成績もみんなそれほど良くなく、自分にも人を教えるスキルが足りなかった。結局浪人させてしまった生徒のことを時々思い出す。本当に悪いことをした。一人で赤本を解いて、わからないことを聞きに来るというスタンスを取らせればよかったのに、自分無駄に介入してしまたことが悔やまれる。

そのバイト先で覚えたのが、お酒に頼ることだった。安い居酒屋終電まで飲んで、げらげら時間を共有できる。それが社会人になってもコミュニケーションの核となってしまう。

文学部ながらも、BBS簡単アプリを作ることができたので、ソフトハウス就職できた。2年半いたが、デスマーチで体調を崩してうつになり、結局辞める。

新人研修のころやその後の付き合いもお酒が基本だった。キックオフ、とりあえずリリース、最終FIX、とかのタイミングでようやっと胸襟を開いた話ができる。それまでは、ほうれんそう以外の会話もなく、とにかくメールに頼るようになっていた。

時々生意気意見を言ったり、人のプログラム勝手リファクタリングしたこともあった。

記憶がないなか、帰巣本能で家に帰るのもよくあった。タクシー代を貯めていれば相当の金額になっていたのではないかと思う。

少し休んで、プログラマとして別会社に復帰した。総務と経理以外はほぼ男性会社で、よく飲んだ。

その会社でようやっとまともな生活を取り戻すことができ、結婚もできた。

3年ほどプログラマをしていたが、目の前に座っているおじさんプログラマの1/10しか生産性がないことがわかり、社内異動で説明書ライター転職する。

車好きやキャンプ好き、バイク好き、元ミュージシャンが異様に多い会社で、よく泊まりで出かけていた。自分よりも年上が多いから、みんな自分の事を話してくれる。お酒どうこうもなくその人を知ることができる、いい機会だった。ある人が定期購読していた、日経ソフトウェア数年分を借りてJava以外のスクリプト言語自分Python)を学ぶBoot Strapとして使わせてもらったり、ほんとうに幸せな日々を送ることができた。

その会社は、株式公開に伴う人員削減で、半数以上人がいなくなった。自分も窮屈なライターを続けるのが辛くなって辞めて、割増の退職金をもらった。以降半年近く、妻以外の人と話すことなく、引きこもりながら割増退職金に付随する給料をもらっていた。働かずに給料をもらえるのがこんなに苦痛だったのか。

いい加減引きこもりにも飽きて大会社転職するチャンスをもらった。その間に障碍者手帳をもらい、障碍者枠での就職活動をすることにした。

大会社大会社だった。エリートエリートで、二級以下の低級労働者自分は、その程度の扱いしか受けない。大学ランキングを引きずる社内で、

自分はまず

学歴劣る

・それまでの成果は劣る

健康状態劣る

白髪ばっかり目立つ

・とにかくあいつは劣る

という状態になった。

新卒指導をしても、まるで彼が改善しない。自分を責め続け、ぎっくり腰になった。みんなが、「彼はそうだから」と言ったが、彼をある程度に育てることができず、結局リリースした。リリースしたらとたんにぎっくり腰がよくなった自分無責任さにびっくりした。

あと、それほど多く飲み会がない。飲んでも自分のような飲み方は誰もしない。場をわきまえ、何となく優しくやっている。

一杯、二杯多めに人より頼んでしまたことを後悔する。

なんで、しらふで天気の話ができないんだろうとか、自分の好きなことを少しでも話せないんだろうとか、毎日悲しくなる。

行動をしないと、周囲も変わらない。一か月以上、挨拶仕事の最低限のやりとり以外はしていない。たかだか席替えでこんなに弱ってしまうとは。派遣の期限がきてしまう子がいなくなってしまうことにこんなに心が揺さぶられてしまうとは。

ごめん。こんな人間は、やまゆり園の加害者気持ちでは必要のない人間だったんだろうね。でも、家族と過ごす時々の時間を過ごしてもいいのかな。

義理の父はあまり長くないだろうし、せめて少しだけ社会荷物福祉必要人間は生きていていいのだろうか。

2019-03-26

東に技術負債に悩む大企業があれば

行ってリファクタリングしてやり

西にバズワードに踊らされる中小社長がいれば

できることと出来ないことを教え諭してやり

南にメモリGBラップトップしか支給されない社員がいれば

トッピングシマMacを買い与えてやり

北にろくに仕事ができないPMがいれば

そいつの首を切ってやる

そういう人間に私はなりたい

2019-01-30

anond:20190129194210

ワイはエンジニアやが焼きそばを焼かされたりあいさつ運動くらいでやめようとは思わんけどな

リファクタリングを一切しないし何でもかんでもバグと言われたり昔のバグいつまでもネチネチと話題にされたりするのも慣れっこやで

定時出社・スーツ着用・電話応対も社会人なら当たり前のことやろ

anond:20190129194210

リファクタリングを一切しない・させない体制

「この機能の追加の依頼がきたからやってくれる?アソコにあるソースコードコピペしてちょっと変えれば簡単だと思う」

ログイン ユーザー登録
ようこそ ゲスト さん