宮水の日記

宮水の日記

主に書評や資格取得について記事を書いています。

今年のエンジニアとしての振り返り2023٩( ᐛ )و

今年最初で最後のブログになってしまった...。
今年もエンジニアとしての振り返りやります。2023年で7年目かぁ...。
育休復帰から、1年8ヶ月がたちました。

今年のエンジニア(?)としての振り返り2022٩( ᐛ )و
今年のエンジニアとしての振り返り2021٩( ᐛ )و
今年のエンジニアとしての振り返り2020٩( ᐛ )و
今年のエンジニアとしての振り返り2019٩( ᐛ )و - 宮水の日記
今年のエンジニアとしての振り返り2018٩( ᐛ )و - 宮水の日記

Techpit

こちら今年だったか定かではないんですが、超超初学者向けに、TypeScriptとReactの教材を作りました。
www.techpit.jp

読書

今年はメモをとりながら本を読むことは全然できなかったです。
時間がなかったというよりは、本当に文章が頭に入ってこなくて、難しい技術書の本は読めなくなってしまいました。
Webマーケティングやデザインの本は大量に買っては斜め読みしまくってました。

唯一まともに読んだのはこの3冊だけです。
note.com

本業

ABテストを専門とする部署に配属になりました。
医療機器の保守エンジニアだったときから「ユーザーに近いエンジニアでありたい」と思っていたので、ユーザーさんの行動がデータから読み取れる面白いチームに配属になって嬉しかったです。去年と違ってタスクの難易度もちょうどよくなり、フロントエンドの勉強がかなり進みました。

しかしながら、私は育児と仕事のマルチタスクが苦手なので相変わらず三流エンジニアのムーブをかましていました。育児を言い訳にみんなの優しさに甘えて、会社のすねを齧っている事実が否めなかったので、2024年の3月で辞めることにしました。私にはレベルが高すぎる業務が多くて、会社に貢献できていないのが申し訳なさすぎて耐えられませんでした。4年間もこんなポンコツを雇ってくださり、ありがとうございました。みなさんお世話になりました。

ゴルフメドレー

今年は2,3年無償でコツコツ積み重ねてきた努力が身を結び、初の黒字化に成功しました。年商が1000万超えました。
私は一応メンバーですが、営業兼代表とエンジニアの夫のおかげです。
今年から地方に移住して、土日は義両親の手を借りることができたので、土日の息子のお昼寝の時間〜夕方までと、ときには金曜と土曜に徹夜したりして夫婦で粛々と開発を進めてきました。

LP制作 ✖️2

今年は、ゴルフスクール様のWeb制作を2件させていただきました。
とても気に入っていただけて、体験レッスンの申し込みも数多くいただいているようで、もうエンジニア冥利に尽きます。
ユーザー様の目標を達成したり、喜んでいただけるのが何よりですからね😢 この案件で、私もWebデザインの勉強がかなり進みました。

Webマーケティング

あと、サイト改善のためにWebマーケティングGoogle Analitiycsの使い方、仮説の立て方についてめっちゃ勉強しました。
フロントでタグをつけて、独自のイベントを計測できるようになっていたのですが、今年は分析をやるようにしました。「このUIに変えたら前は固定フッターからの申し込みが多かったけど、今はこっちの方からの申し込みクリックが多いね」「ここのPV数が少ないから、対策練りたいね」みたいな会話ができるようになりました。

今まで新機能をどんどん素早くリリースすることに重きを置いていたので、プロダクトの振り返りができるようになったのはかなり大きいです。

マガジンのデザイン改善

GAのデータを見てユーザーがどこからマガジンに来ているのか?どんな記事を読んでいるのか?これを読んでいる人は次どの記事を読むのか?ということを分析して、カテゴリ回遊をしやすくできるようにマガジンのヘッダーの改善を行いました。

また、上達するための情報を探す検索キーワードが多かったことから、今まで「コラム」という単語で括っていた記事達を「スキルアップ」という単語に変えました。

さらにメンバーの二人が別のSEO改善のプロジェクトをやってくれていたので、マガジンの閲覧数はかなり伸びました。


体験申し込み導線の改善

ゴルフメドレー経由の体験申し込み数を増やすために、体験レッスンの流れを解説するポップアップを作ったり、申し込んだ後に「別の施設もみませんか?」という訴求をするデザインを目に留まりやすいものに変更したりしました。



初タイアップ記事案件

とある企業さんとコラボして、ゴルフメドレーメンバーでタイアップ記事を書かせていただきました。
ゴルフメドレーとしては初の取り組みができて嬉しかったです。専門的な内容が強くて私はあんまりちゃんと貢献できなかったけど(TT)
記事を出して終わりではなく、データを計測しつつ適切な場所にバナーを出して、ちゃんとお客様の売上の結果も出せるように、まだまだ試行錯誤していく予定です。

golf-medley.com

こんなバナーも作りました。

ゴルフメドレー新プロジェクト①

あと、ゴルフに特化した別サービスも立ち上げることになりました。来年リリース予定です!
デジタル庁が出してくださっているデザインシステム を参考に、デザインシステムの作成に挑戦しました。結果、爆速でシンプルかつ綺麗なサイトができました。今、絶賛コーディング中です。(夫が)

ゴルフメドレー新プロジェクト② 実店舗

インドアゴルフを経営することになりました。
今年は、STUDIOでHPを作ったり、チラシを作ったりしました。
STUDIO、去年使っていたよりすごく使いやすくなってました。このHPも2日くらいでできたので、スタートアップには本当にありがたいサービスです。

ichihara-indoor-golf.com


ほかつーる

本気で事業にしたいと思い立ち、仲間を集めたり、保育園にお声をかけさせていただきました。
1月にママ友のデザイナーさんがjoinしてくださり、一気にデザインが綺麗になりました。本当にありがとう!!

デザイナーさんの案で保育園取材を始めたり、ブログを充実させたり、去年より圧倒的に前に進むことができました。
でも、保育園様、ユーザー様に本当の価値を届けられているとはまだまだ言えないので、これからも無理のない範囲で開発を続けていきたいと思います。

hokatool.com

色々新規サービスに手をつけようとしてやめた

他にも、地域に特化した食のサイトとか、マッチングサービスを作ろうって話を知り合いとしてたんですけど、時間が足りなさすぎるのでお断りしてしまいました。。全部やりたかったな😢

まとめ

本業もっと頑張りたかったけど、もう脳が難しいことをできる構造になっていないことに気づいた。個人開発楽しかった。

クソ長い余談

私も2024年で30歳。女性のキャリア選択は本当に難しいと痛感した1年でした。

子供はあと二人ほしいし、子供を幼稚園に入れたいし、つわりの中申し訳なさいっぱいで仕事したくないし、復帰後は寝不足で全然仕事できないし、1歳2歳なんかほぼ風邪ひいてて保育園行けないし。1歳半からずっとものすごいイヤイヤ期に朝晩付き合いながら一日8時間仕事するのはもう無理です。シンプルに疲れました。まだ子供も一人しかいないのに、子供が生まれてからもしっかり働いている人もいるのに、言い訳ばっかりで本当に情けないなと自分でも思います。

さらに育児以外にも、実はWebデザインの仕事にも興味を持ち始めていました。上司や転職活動先の社長からは「それは宮水さんの仕事じゃない」「デザイン/エンジニア舐めるな」「生半可な仕事ぶりですね」とおっしゃっていただいて、これまでのキャリアを考えると本当その通りだよなぁと思いました。もう全部中途半端です。キャリアが詰みました。

色々書いたけど、エンジニア向いてないとか育児のせいではなくて、正社員フルタイムやるんなら、本当は忙しいからこそ本業一つ、エンジニア一つに絞ってそれにしっかり集中しないといけなかった。でも自分の目指したいキャリアや性格上それができなかった。本当にわがままでダメな人間だと思います。それにしても、20代でやっておきたい・やらなければならないことが本当に多すぎる...!

来年は、身内以外に迷惑かけない形でゆっくり初心に返ってエンジニアの勉強をし直そうと思います。

Webマーケティング
  • ユーザーインタビュー
デザイン
  • ゴルフメドレーのデザインシステムを作る、トンマナを揃えたい
  • Webデザイン極めたい、チラシとかHP制作とかWeb広告たくさんやる
エンジニア
  • TypeScriptの勉強をし直す
  • 初学者だった頃に読んだ本をもう一度読みたい
  • コードのリファクタリング
  • AIを駆使して開発を爆速にする
ビジネス
  • インドアゴルフのチェーン店作る
  • ゴルフ系の企業さんとタイアップ記事コラボ

以上!

今年のエンジニア(?)としての振り返り2022٩( ᐛ )و

すごい久しぶりの投稿になってしまった...。
毎年恒例の年間振り返り、2022年バージョンやっていきたいと思います。

今年はエンジニアとしては全くダメな年となってしまいました。
しかしながら、全くベクトルの違う新しいことにたくさん挑戦して人生の視野がとても広がった1年になりました。
エンジニアは関係ないけど、楽しかったので色々書いていこうと思います。

去年の分はこちら
今年のエンジニアとしての振り返り2021٩( ᐛ )و - 宮水の日記

英語

  • 業務でほとんど必要なくなってしまったので、勉強をやめてしまいました。

読書

2冊だけ。今年は本を読む習慣がなくなってしまいました。

  • OAuth徹底入門

ゴルフメドレー

Webデザイナーっぽいタスクに挑戦しました。

  • 卓上POPを作りました。


  • バナー作ったりしました。


  • apiとフロント別々で立ち上げるのめんどくさかったので、docker-compose化しました。

ほかつーる

  • ちょっと黒字になりました✌️

Techpit

  • ReactにTypeScriptを導入したり、hooksに対応した書き方にアップデートしました。

www.techpit.jp

  • もう一つ、TypeScriptを勉強する教材を作成中です。

シェアダイン

シェアダインという素晴らしいサービスに出会いました。久しぶりに、こんなに感動するサービスに出会いました。
シェアダインとは、シェフがお家にきて3時間でご飯の作り置きを作ってくれるサービスです。
息子の離乳食はこれで全て乗り切ることができました。
復職してからも利用していますが、本当に助かっています...。息子の好き嫌いがないのも、シェアダインのおかげです。
いつもお世話になっております。

ベース

  • 育休中になんかやりたいと思って、ベース(楽器)を始めました。
  • ルート弾きなら比較的いろんな曲を弾けるようになりました。

ライバーになった

  • とあるアプリで、ライバーになりました。
  • コロナで友達が減り(いや元々いないんですけどね)寂しかったので、作業配信ということで雑談しながらエンジニアの勉強をしてました。
  • エンジニアのリスナーさんが多く、素敵な方ばかりでそこそこ投げ銭をいただいていたのですが、投げ銭乞食をしている自分が嫌すぎて3ヶ月で辞めてしまいました。

育休から復帰

  • 4月から育休復帰しました。
  • 全然仕事に力はいってないです...。

健康

  • 念願だったピロリ菌を除去しました。薬飲むだけで胃がんのリスクが減らせるなんてお得。

美容

  • 出産後、8kgのダイエットに成功しました。今までどんなダイエットをしても成功しなかったのに、育児が忙しすぎて気づいたら痩せてました。。
  • この歳になって、初めて整形しましたwww 次妊娠したらできないし、20代のうちに思い切ってやってみたかったんですよね。埋没、目頭切開、くま取りをしました。メイクがめっちゃ楽しくなりました。
  • パーソナルトレーニングが習慣化しました。以下のサービスおすすめです。

zen-na.jp

  • 田舎なんて住まん!一生都会で電車で十分!と思っていましたが、子供が産まれてあれよあれよと車を購入しました。
  • くそペーパードライバーでしたが、意外と運転してみたらなんとかなるもんですね。

  • 元々賃貸派でしたが、家を建てました。
  • 暖かいし、息子も楽しそうに遊んでるし、インテリアとか自分の好きにできるし、建てて本当によかったです。

来年の抱負

大人の厨二病なのか、子供も産まれたし、家も買ったし、車も買ったし、人生でやりたいことをやり尽くしてしまった感があって、最近メリハリのある生き方ができていないです...。

今年は第2子を産む予定なので、この様子だとエンジニアとしての活躍は期待できないでしょう...。
しばらくは育児に専念したり、そのときやりたいことをやって、また5年後くらいに思いっきり仕事を頑張りたいなって思います。

M2 Macでbundle exec rails sするとmsgpackのエラーが出る

```
msgpack/msgpack.bundle (LoadError)
27: from bin/rails:3:in `

'
26: from bin/rails:3:in `load'
25: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/spring:15:in `'
24: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/spring:15:in `require'
23: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/binstub.rb:11:in `'
22: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/binstub.rb:11:in `load'
21: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/bin/spring:49:in `'
20: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client.rb:30:in `run'
19: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client/command.rb:7:in `call'
18: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client/rails.rb:28:in `call'
17: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client/rails.rb:28:in `load'
16: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/rails:8:in `'
15: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/rails:8:in `require_relative'
14: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/config/boot.rb:4:in `'
13: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/config/boot.rb:4:in `require'
12: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/setup.rb:3:in `'
11: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/setup.rb:3:in `require_relative'
10: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap.rb:5:in `'
9: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap.rb:5:in `require_relative'
8: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache.rb:55:in `'
7: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache.rb:55:in `require_relative'
6: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/store.rb:5:in `'
5: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/explicit_require.rb:41:in `with_gems'
4: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/explicit_require.rb:45:in `rescue in with_gems'
3: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/store.rb:5:in `block in '
2: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/store.rb:5:in `require'
1: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack.rb:7:in `'
/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack.rb:7:in `require': dlopen(/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack/msgpack.bundle, 0x0009): tried: '/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack/msgpack.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) - /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack/msgpack.bundle (LoadError)
```

以下の2つのコマンドで直りました
```
➜ taskManagement git:(main) ✗ arch -arm64 sudo gem uninstall msgpack
Password:

You have requested to uninstall the gem:
msgpack-1.5.6

bootsnap-1.13.0 depends on msgpack (~> 1.2)
bootsnap-1.10.3 depends on msgpack (~> 1.2)
If you remove this gem, these dependencies will not be met.
Continue with Uninstall? [yN] y
Successfully uninstalled msgpack-1.5.6
➜ taskManagement git:(main) ✗ arch -arm64 sudo bundle install --redownload

```

参考:
Ruby on rails errors - Stack Overflow

M2 Macでbundle installすると、pgとsqllite3がinstallできない問題

```
Installing pg 1.1.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/pg-1.1.4/ext
/Users/miyazakimizuki/.rbenv/versions/2.7.6/bin/ruby -I /Users/miyazakimizuki/.rbenv/versions/2.7.6/lib/ruby/2.7.0 -r ./siteconf20220907-45614-6vcv45.rb extconf.rb

    • with-pg-config\=/usr/local/Cellar/libpq/14.5/bin/pg_config

Using config values from /usr/local/Cellar/libpq/14.5/bin/pg_config
sh: /usr/local/Cellar/libpq/14.5/bin/pg_config: No such file or directory
sh: /usr/local/Cellar/libpq/14.5/bin/pg_config: No such file or directory
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header

extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/miyazakimizuki/.rbenv/versions/2.7.6/bin/$(RUBY_BASE_NAME)
--with-pg
--without-pg
--enable-windows-cross
--disable-windows-cross
--with-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-21/2.7.0/pg-1.1.4/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/pg-1.1.4 for inspection.
Results logged to /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-21/2.7.0/pg-1.1.4/gem_make.out

An error occurred while installing pg (1.1.4), and Bundler cannot continue.
Make sure that `gem install pg -v '1.1.4' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
pg

```


pgは以下のコマンドで直りました。
```
bundle config build.pg --with-pg-config=/opt/homebrew/Cellar/libpq/14.5/bin/pg_config
arch -arm64 sudo gem install pg -v '1.1.4' --source 'https://rubygems.org/'
arch -arm64 sudo bundle install
```

sqlite3は.zshrcに以下のpathを通したり、
ネットで調べたコマンドに`arch -arm64`を先頭につけてコマンドを打つと直ってました。
```
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"
```

ここまで3日かかった...。
やっぱりDockerで開発するのがいいですね。。

参考:
M1 MacのHomebrewでのインストール時に「Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!」エラーが出る場合の解決法 – Webrandum
macOSでgem install pgしてNo pg_configとなる対処法 - Qiita