(元)店長のITブログ

いまはJavaプログラマやってます。

Webアプリ開発のプロジェクトに配属された

前段 ~プロジェクトが変わった~

半年くらい前に会社に対してやる気がなくなっていたので、転職活動をしていた。
結局辞めなかったんだが、現場を変えてくれと言ったら変えてもらえた。

4月末に現場が神奈川から東京に変わった。
家が遠くなった。

現場に行ってみたら結構歓迎されていない感じだった。

あとから知ったのだが、前の現場がレガシーでやってられない、モダンな開発じゃなきゃいやだ、辞めると駄々をこねたやつという情報が入っていたらしい。
うちの上司マジで終わってんなと思った。

ついでにJavaをやりたくないと思われていたらしく、Web系の言語限定!という触れ込みだったらしい。(Web系の言語ってなんだよ…)
元々嫌だった理由は直属の上司の働き方とプロジェクトの管理体制がクソだったからなんだけど。
3年半経験があるJavaはやりたくない、JavaScriptはやったことないけどやりたい。フレームワークとか知らない。
どんなやつだよwww

ちなみに自分の希望は3つで

そこまで厳しい条件ではないと思うんだけど。

前の現場は

  • Java6
  • swingベースのクライアントアプリ
  • Java6が出たころにゴリゴリで作ったと思われる自社フレームワーク

こんな感じで2年くらい封印されていたから本当に嫌だった。 ほっといたらあと3年くらいやらされそうだった。

新しい現場は結果的に違ったんだけど、配属されるまで上司に聞いても何をするか知らないって言っていた。
明らかに自社フレームワークで業務アプリの臭いがプンプンしていたが、上司に言わせればWebブラウザで動けばなんでもWebアプリらしい。
実行環境が8ならコンパイラバージョンが6でもJava8らしい。
本当に話が合わないなと思った。

新しいプロジェクトに合流

GWが明けて本格的にチームに合流した。
最初は簡単なタスクからということだった。
プロジェクトの説明を受けて今までとの違いに愕然とした。
今日は忘れないうちにここを書いておくのが目的。

  1. バージョン管理システムGit
    今までのプロジェクトはSVNだった。
    むしろその前のプロジェクトは日付&zip管理だった。
    自社開発のプロジェクトはVSSだった。
    そんな経緯だったのでSVNでも大分感動するくらい麻痺していたのだがGitはすごいね。
    ローカルとリモートでブランチが分かれている良さが今になってわかる。
    (Gitを使ったことがないと言ったらけっこうドン引きされたので、プログラマの皆さんは使えるようにしておきましょう)

  2. ソースレビューがある ソースレビューがあった。 ソースレビューがないプロジェクトなんてあるわけないじゃん?
    炎上してるわけでもないのにソースレビューがないプロジェクトがあるんですよ。
    前の現場に入った時自分は上司のおまけみたいな形で入った。 上司が元々そこの現場の経験者で2人分いけます!みたいな感じだったんだけど、結果的に全然だったね。。
    見てもらえるような人なんて周りにいないわけ。ソースが追えて修正できる人すら限られてるレベルのプロジェクト。
    (途中でレベルアップして分かったのだがたぶん上司はソースを詳細まで追えてない人だった)
    今の現場はプルリクを出すと、開発者全員でレビューする仕組みになっている。
    経験が浅い人も他人の書いたソースを見る機会を強制的に増やすことでレベルを上げようということらしい。
    レビューの頻度も高いので吸収できることが多い。すばらしい。
    あと結構心理的安全性が高いというか指摘はしやすい環境なのもいいところ。
    前の現場は…(略)

  3. 朝会がある
    朝会があります。
    前の現場は…(略)

  4. JavaIDEがIntteliJ
    かっこいい。 eclipse卒業した。

  5. JavaScriptも開発できる
    ここの現場に入って初めて本格的に触った。
    JavaScript面白い。
    今までJavaのクライアントアプリとかサーバー側のバッチ処理などをやってきたのでWebの経験が全くなかった。
    htmlやcssも勉強しながらやらせてもらってる。画面楽しい。
    あとAngularとbootstrap使ってる。

  6. Javaが8
    12の今、8もなかなか古い気がするが(笑)
    前は6だったので結構書き方が違う。
    最近ラムダ式がやっとわかってきた。
    関数インターフェース覚えてないと読めもしない。
    フレームワークがSpringBoot
    lombokが入っている!神!
    謎のJavaBeansを生成しなくてよくなった(笑)

  7. スケジュール管理がない。
    ないと言うと語弊があるがごちゃごちゃ言わなくても管理してくれている。
    作業者と管理者がうまくハマっている感じ?ノンストレス。

  8. チケット管理がある
    前の現場にもREDMINEがあったのだがプロパーチーム以外は自由に使えず、
    自分たちはExcel管理だった。
    スケジュール管理もExcelだったな。。

  9. イヤホンOK
    個人のパフォーマンスが上がるのであれば基本細かいことは言わない。がプロジェクトの基本スタンス。

  10. 勤怠連絡はチャット
    地味にありがたい。いちいちメールしなくていいのよい。

  11. みんな定時で帰る
    来るのはギリギリ、帰りは早い。

  12. 有給めっちゃ取ってる
    あんまり全員揃わない。

おわり

他にもたくさんありそうだけど、これくらい書ければいいかな!
出来る人ばかりで刺激になるし、ワークライフバランスを体現している素晴らしいプロジェクト。
旧チームは相変わらずのようでプロジェクト変わって本当に良かった。 たぶん転職しても同じことを思っていた気がする。

写経のやりかた

@t_wadaさんのツイートより

技術書の「写経」の方法。

  1. ローカルで使えるSCMを用意
    いわゆるバージョン管理システムのことだと思われる。 自分はgithubのprivateリポジトリでやってます。(privateでも草生えます)

  2. ほんたった」などで対象の本を固定
    技術書って厚いからな…。ページ開いたままに出来ないんだよな。買おうかな。

  3. ひたすらサンプルコードを写して実行

  4. 実行するたびにコミット(コミットログにページ番号を含める)
    これ面白い発想だと思った。達成感ありそう。

  5. 疑問点があったらコミットログや本に書き込む

  6. 章ごとにタグを打つ
    タグうちやったことないなあ。調べよ。

ブログを1年以上ぶりに更新したようだ。 最近はQiitaとかtwitterでしょうもないこと書くなという風潮があるからブログでひっそり書いてるのがいいかもな。

謙虚さがなくなる兆候

こんな画像をネットで見つけた。。

 

f:id:akiyamada2020:20180211211453j:image

 

4,6,7,8,9,11,12,13ってとこかしら。

 

自分は今完全にコレです。

クソ野郎ですね。

反省しようと思います。。

 

周りの人に申し訳ないですね。

誠意を持って連休明けから仕事に取り組もうと思います。

 

自分の仕事がちょっとできるようになったからって調子に乗るのはアカンですね。

明日は勉強しよう。

 

【夢占い】知らない人と夢の中で殴り合い

おはようございます。

昨日は1日早いクリスマスということで
嫁と渋谷の青の洞窟というイルミネーションを見に行き、
そのあと自宅でご飯を食べました。

片付けもそこそこに11時くらいに就寝したのですが、
やたらと夢を見ました。

続きを読む

【Postgresql】Postgresql復習①

背景

新人研修の際に触ったのだが、ほとんど記憶にないので復習。
ローカル開発の時にOracleを使っているのだが、違うのを使ってみたい。

環境情報

OS:Windows10
Postgresqlのバージョン:10.1

インストール

10.1の64ビット版でインストール。

ログイン

コマンドプロンプトで以下のコマンドを入力する。

chcp 932 # 文字コードの変換
psql -U postgres # スーパーユーザでポスグレにログイン

パスワードはインストール時に設定したもの。

ログアウト

ログアウトは以下コマンド。

\q
続きを読む

【Java】File[]を更新日でソート

ディレクトリ内のファイルを更新日順でソートします。
Javaのversionは「1.8.0_111」で検証しています。

ディレクトリ構成

この配下を取得します。

input
       test001.csv
       test001.txt
       test001.xml
続きを読む

【Java】Listから配列への変換

こんにちは。

現在は、製造業向けの業務アプリをJavaで開発してます。
仕様がなかなか決まらないのでふわふわしてます。
色々独自APIがあって辛いです。

さて今回はListから配列への変換です。
例によって備忘録ということで。

背景

独自モデルクラスがあってCollectionを継承していたのだが
使いたいAPIの引数が配列だった。
ちなみにバージョンはJava6です。

Listから配列へ変換

java.util.Collection.toArrayメソッドを使う。

続きを読む