まなろぐ

好きなこと、やったこと、しあわせだったこと、そういうのぜんぶ。

フルスタックエンジニアだった人のフルスタックについて思うこと

フルスタックエンジニアからフロントエンドエンジニアに転職した。

フルスタックってどうなの?って話もあるけど、どちらかといえばフルスタック賛成派の視点から、今のフルスタックについての考えを書き残しておこうと思う。

 

興味の領域が2つ以上あるなら、無理に絞らなくていい

フルスタックをやってた頃、フロントエンドメインではあったけど、インフラやデザインが好きだった。1ヶ月くらいFigmaしか触らない時もあったし、簡単なCICDを組んだりしてた時期もあった。フロントエンドエンジニアはフロントエンドに集中できるけれど、裏を返せばフロントエンドにしか手を出せない。

私はわりと好奇心旺盛なタイプなので、バックエンドも興味があるしインフラも興味があるしデザインも興味がある。フルスタックならば手を挙げればできてたことが、フロントエンドエンジニアはフロントエンドエンジニアという職種に縛られる。興味の方向があっちこっち向いてる人間は、フルスタックの方が向いていると思う。

まあ、でも、フルスタックの方が勉強量が多くてしんどいのは事実だった。仕事のために勉強する時間は正直半分以下になったと思う。ただこれは、『同じ技術の勉強でも仕事のためじゃないものが増えた』ともいう。

 

 

PMを目指すならフルスタックを続ける方がいい

PMやPOフルスタックの方がいい。大きなプロダクトになるとちゃんと分業するだろうが、小さなプロダクトでバックエンドの設計とフロントエンドの設計と諸々をわけられる人員がいるとは限らない。できるに越したことはない。

 

あとフロントエンド、バックエンド、インフラの比率がどうしても合わせられない時に作業の穴埋めができる。器用貧乏だけど動いてレビュー依頼をしてもよさそうな程度のモノは作れる。まあでも、PMやPOと書く人は本当は完全分業できるのがいい。金を稼ぐプロダクトの場合は、PMやPOはコードを書くよりも優先度高いことが山のようにある。

 

フルスタックなら個人開発ができる

私にとってエンジニアをしていて1番楽しくて達成感ある時間だと思う。自分でデザインして自分で実装して自分でデプロイする、viewはなくてもデプロイまでしたことに価値がある(viewはあればうれしいけど)。

何より自分の好きなものを作れるのが良いなあと思う、仕事では思うところがあっても納期都合で黙殺するしかない時もあるが、個人開発は自由だし好きなものは作れる。あとやっぱピー年前から個人サイト作ってる人間としては、やっぱ自分のサイト持ちたいんだよな…。

 

でも、やっぱ向き不向きはあると思う

フルスタックエンジニアとフロントエンドエンジニアって、漫画家とイラストレーターくらい違うと思う。似てるようで全然違う技能だ。

イラストがうまい人でも漫画が上手いとは限らないし、漫画が面白い人がイラストがうまいとも限らない。扉絵すっごい苦手な漫画家もいるし。

だから別にがんばってフルスタックにならなくてもいいし、がんばってフルスタックをやめなくてもいい。もちろん、がんばってフルスタックを続けなくてもいい。

私はお金を稼ぐ職業としてはフルスタックを辞めてしまったけれど、個人としてはやっぱフルスタックというかフロントエンドに限らない開発を続けていこうと思うし、たぶんフルスタックっていうのは好奇心が全方位に向いている、という抗えない特性なだけなんだと思う。

それが器用貧乏だって思われるならしょうがないし、T型人材だとかN型人材だとか思ってもらえるならそれはそれでハッピーだし、特性に抗うよりは合う場所で生きていくのがいいんじゃないかな、と思う。

 

おやすみ

 

lintはエンジニアのつらみを軽減するんだと思う

TypeScriptが苦手だ。JavaScriptでも動くのに、型はあった方がいいのみならずanyは使うなとかasは使うなとか色々な制約がつく。

C言語Javaは型がなければ動かないのでまだいい。tsはLintがしっかりしてないと、これはああするべきあれはこうするべきと、いろんなべき論が後から後から出てくる。JavaScriptが英語なら、TypeScriptは日本語くらい難しいと思う。C++の方がまだ腑に落ちやすい。C++はきっと中国語くらい難しい。

 

そんなtsへの苦手意識をどう克服するか。lintをガチ盛りすればいいと思った。

tsの苦手なところは『tsは動く状態と美しい状態に乖離が大きい』ところであると思う。それなら、美しい状態をlintで全部ルール化すればいい。チームによるとか個人によるものも、lintにしてしまえばgit cloneしてnpm install(yarn install)しただけで、『このプロジェクトではこういうルールです』というのが全部伝わる。すごい。ドキュメント要らず。

 

lintは、レビューイのつらみも軽減すると思う。ついでに、レビュワー のつらみもちょっと軽減する。

エンジニアの世界には暗黙知が結構多い。lintがユルめの状態だと、そういった暗黙知がコードレビューで一気にやってくる。最近対面が減ったせいか、レビューで文字で送られてくる情報が増えたのか、暗黙知を受け止め切れていない年数の浅い人を結構見る。根気強くレビューで指摘してあげるのも大事なのかもしれないが、レビュワー 側としても同じ指摘を何度もするのはつらいし、レビューイとしてもまた同じ指摘をさせてしまったという気持ちになる。人もいる。

そんな時にlintがあれば、人間の時間を使う前に自分の方で修正しておけるし、レビュワー 側もいつも同じことばっか指摘するおばさんでごめんね;;;と思わなくていい。レビューイもレビュワーも、人間が考えるしかない、関数の設計とかそういったところに集中できる。幸せな世界だ。

 

というわけで積極的にlintを有効活用していこうと思う。『こういうルール導入できないかな?』と思って探すと意外とあるので、世の中同じことで困ってる人は多いなあと思う。

 

UIが進化するゲームが好き

UIが進化するゲームが好き。

 

最近CozyGroveというゲームをiOSでやってる。現実時間で1日1回、クマさんたちの依頼をこなすことで、ストーリーが進んでいくおてがるなゲーム。1日30分くらいやればいいので、寝起きにやり続けて2ヶ月くらいになる。

 

このゲーム、やりはじめ当初は結構不便だった。

ゲームの中でクラフトがあるのだが、それが『1個だけ』か『全部』しか選べない。最初のうちはクマさんの要求が単調なので全部やってよかったのだが、だんだんクマさん(とペットのトリとシカ)の要求が複雑になってきて、全部やるわけにもいかなくなった。

 

それがちょっと前くらいに、一括でやる個数が選べるようになった。

しかし、複数やる時にMAXからはじまって、数字が1ずつしか減らせないので、『いや、30じゃなくて、5つやりたいんだけど…』って時に困る。でもまあ、進化してくれたから、いっか!くらいに思ってた。

 

そしてこの間、10個ずつ数を減らせるようになった。すごい。ハッピーだ。

 

従来のゲームはリリースしたらおしまいだったのでUIがダメだったらもう我慢するしかないが、最近はアプデできる配信方法が多い。

CozyGroveを作ってるのはSpry Foxというデベロッパだが、きっとこの先このデベロッパが新作だした時、『多少UIがだめっこでも、Spry Foxなら後から修正するでしょ』と思ってさっさとお金を出すと思う。もちろんそのゲーム自体のゲーム性が好みなら、だけど。

 

 

同じような話だと、スマホのオクトラも最近デイリークエストである討伐依頼が短縮できるようになったのは偉い。ステージが地味に広くて消化が面倒だったので本当に助かる。めんどくさくて1週間以上放置してたのだが、短縮できるとの情報をキャッチして復帰した。短縮できるようになったことでレベル上げが捗るようになったので、いろんなキャラを使いやすくなった。ありがたい。

 

デベロッパとしてはめんどくさいこと増えて大変だとは思うけども(新規開発部隊だけじゃなくて、保守改善部隊ももたないといけないわけだし)、『ストーリーとはコンセプトは好きなんだけど、操作性がね…』と思うゲームが減ったら嬉しいなあ。

ぼくものが改善されたの報を聞いたので、そろそろもう1度やってみようかな。

2月振り返り

今月達成したやつ

  1. 確定申告
  2. 自ロゴ
  3. ドメイン紐付け
  4. 3日でできる作曲入門
  5. インスト曲作る
  6. udemyやる
  7. ノイキャンヘッドホン
  8. 電動歯ブラシ
  9. ぼくもの
  10. discordbot

振り返り

  • 10個なので好調
  • 今月は結構色々やった月かも
    • 8割進んでるのにラスト2割で放置してる目標がいくつか
  • 2月はじめに目標にしたやつすべて達成はできてないけど、目標を設定したことでやるきっかけにはなった

ちょっと思い出話

確定申告

  • 思ったより時間かかったけど、思ってたほど難しくはなかったかも
  • freeeが生まれる前の人たちはどの情報がどの欄に当てはまるのか自分で調べて書いてたのかと思うとすごい

ドメイン紐付け + 自ロゴ

  • faviconや貼り付けた時に出てくる文言も同時に設定したのでかなり達成感が高い。ちゃんとしたサイトになったなあという感じ。 manasas.dev
  • ちゃんとコンテンツ拡充していきたいなあ

3日でできる作曲入門 + インスト曲作る

udemy

  • ハンズオン形式で実画面を見せながら解説していく感じのやつをやった。わかりやすかった!
    • 気軽に戻し止めができるので、実際のハンズオンより気楽でいいかも。
  • やったやつは本と同じくらいの価格だったのもよかった。逆に数万のやつはちょっと手がでないかも。

電動歯ブラシ

  • 最初めっちゃ響くからびっくりした

discord bot

  • 唐突に思い立ってZennのScrap投稿しながら書いてた。
  • 思い立ってすぐ作れるのはエンジニアのいいとこだな〜と思った
  • こういうことをたくさんやりたいな

3月何する?

  1. 個人名刺つくる
  2. 水引アクセ完成させる
  3. TypeScriptかけるようになる
  4. AuthenticationApp完成させる
  5. 部屋の奥のクローゼットのアクセス解消
  6. 紐の結び方の覚え直し
  7. 予想通りに不合理読了
  8. NONIOの舌磨き
  9. 自分の絵額縁に飾る
  10. ブログをもっと気軽に書く

音楽を諦めきれた日、自動作曲プログラムを作ると決意した日

3年前に買った 作りながら覚える 3日で作曲入門 って本をやった。音楽を作ろうとすることをすっぱり諦めようと思った。これはポジティブな話。

 

ボカロ世代だからいつか音楽を作ってみたいと思ってた。音楽を作りたいというよりは初音ミクを使ってみたいに近いのかもしれない。

でも今回ちょっと真面目に音楽に向き合ってみてわかったのは、音感ないと音楽作るのはめちゃ難しいってこと、それを乗り越えるだけの情熱がないってこと、そして私は私自身が思ってるよりもプログラミングが好きだってこと。

音楽作るよりも自動作曲プログラム組んだ方が楽しい気がするな…って作曲中にも思ったし、よくよく考えても後者の方が圧倒的に楽しめる自信がある。だから私は作曲を諦めて自動作曲プログラムを書きます!!!

 

あと、23時くらいの番組で岡崎体育が超スピーディーに超カッコイイ曲作るの見て、音楽作るのは音楽デキる人に任せるっすわ!って気持ちになった。ワニさんも仲間にいれてみたいな曲しか知らないけど、あれは絶対すごい人だ。

 

もう1つ、大学の卒業論文が自動作曲だったんだけど、大学卒業して数年経ってもう1回あれやりたいなあって気持ちがある。研究がやりたいっていうよりは、なんか自分の代表プロジェクトが欲しいっていうか。大学卒業してしばらくは卒論!って名前で紹介できたんだけど、そろそろ経過年数長くなって厳しくなってきたから、私は音楽が好きなエンジニアなんじゃ〜〜〜!!!ってことをアピるためにも、やるぞ自動作曲。何でやろうかな。できればブラウザで動くの作りたいな。

 

 

確定申告つまずきメモ

はじめて確定申告しました。freee使ったけどfreee使っても難しいなって思ったことあったのでメモ。でも多分freee使わないともっと難しい。

 

 

源泉徴収票の1つの欄に数字が2つ

1つは項目に重なってて、1つは欄の内側に入ってる。数字と数字がぴったりくっついてるので、上の欄の数字が下の欄の項目に重なっちゃった!ってわけではなさそう。

と思って調べたら、これ内書きと呼ばれるものらしい。本来は『内』の方の数字は小さく書くらしいんだけど、同じサイズになっていた。

freeeに内書きを入力するって項目があったのでそこへポイ。

 

事業所得?雑所得?

副業やるなら開業しといた方がいいよとの勧めにしたがって開業してあるが、どうやら事業はこう自分で利益を継続してあげにいく感じらしいので、一夏の副業は雑所得にあたる。っぽい。

が、freeeで取引で入力すると自動で事業収入の欄に入る。違う。違うんだよfreee。私は一夏の副業をしただけで、これは雑所得なんだ。勘定項目を雑収入にしてもダメだったので、取引一覧からは消して確定申告の雑所得のところにいれた。

 

『20万以上稼ぐと確定申告=開業が必要』だと思い込んでたのだけど、確定申告が必要なだけで開業が必要なわけではないらしい。とんだ勘違いで開業してしまった。

開業しっぱなしでも特に問題はないらしいので、いつか開業するかもしれないしこのままにしておくことにする(法的にはもう開業してるけど、事業的な意味で)。

 

freeeのパスワード、設定したっけ……?

freee電子申告アプリはパスワードの入力が必要になる。でもいつもGoogleログインをしてる。はて、パスワードなんだったかな…と思ったら、下にうっすらパスワード設定してくださいって書いてある!!

こういう時にしか使わないからパスワード設定を必須にしてないんだろうけど、もう少し目立つ文字で書いておいてくれてもいいような気がする。

 

ICカードリーダーが仕事しない!!

マイナンバーカード対応ってかいてあるのに、USBでつないでも認識しないじゃん!!って思ったら、ドライバが必要だった。

最近bluetooth接続ばかりで、ドライバが必要になるようなものを新規購入したことがないから、すっかり頭から抜けてた。久しぶりにドライバインストールした。

1月振り返り

  • 1月終わるので振り返り

雑感

  • 仕事慣れた…かなあ。まだ微妙かも。
  • 日記は続かなかった
  • 読書と映画は順調
  • 100の目標は8/100なのでまあまあ…?
  • 開発の進みが微妙。うまくコンスタントに続ける方法を探したい。土日に頼らない個人開発をできるようになりたい。
    • 朝活タイムを使うのがいいのかな。
      • 朝活自体もコンスタントに続くように試行錯誤したい。寝る時間がつい遅くなりがちなのをどうにかしたらいいのかな。
        • [TRY] 夜を手芸タイムにして、夜の寝つきを良くする!

100の目標進捗

  • 今月達成したもの
    1. うちの子まとめページみたいなのをscrapboxで作る
    2. ひとり用のミキサーを買ってスムージー生活をする
    3. 部屋の空調や加湿を自動化する
    4. シカ肉を食べる
    5. chot.designのイラレ講座をやりきる
      • 知らない動作が結構あった。これで色々できるようになる…かな
    6. ファクトフルネスを読み終える
      • 知見が多い良い本だった。
    7. イシューからはじめよを読み終える
      • わたしにはあんまりしっくりこない本だった。
    8. 読んだことのない小説家の本を読む
  • こうやって見返すと結構達成したなあ
    • いくつか君は本当にこれがやりたいのかい…?と感じるものがあるので、四半期ごとくらいで見直ししよう。
  • 来月達成したいもの
    1. 確定申告
    2. 自分のロゴ
    3. 3日でできる作曲入門を終わらせる
    4. 自分の絵でステッカー
    5. 自分の絵でアクキー
    6. 水引アクセ完成させる
    7. ドメイン取得
    8. Authentication app
    9. 電動歯ブラシ
    10. ノイキャンヘッドホン

まとめ

  • 来月はちゃんと起きてちゃんと寝るぞ!!
    • そして継続的に朝活をして、継続的に開発を………できる気がしないなあ。もうちょっとハードル低く生きられないかな。
  • そういえば健康診断がある。前回の健康診断(11月)の結果ヤバかったんだけど、今回は大丈夫だといいな!
  • Amazonセールのうちにヘッドホン買おう。そういえばイヤホンも壊れたんだけどどうしよかな。
  • 家にいるうちにアクキーとか作って旅先でいっしょに撮影とかしたいなー!