Try T.M Engineer Blog

多摩市で生息するエンジニアが「アウトプットする事は大事だ」と思って始めたブログ

AWS認定ソリューションアーキテクト – アソシエイトの3回目の更新をした話

2023年02月20日に、AWS認定「ソリューションアーキテクト – アソシエイト」(以降、SAA)に無事に合格しました。

これで3回目の更新になります。

AWS認定資格の有効期限は3年間なので、次回の更新は2026年になります。

そう考えると、私は41歳になり、子供は7歳になっているということになりますが、それはまた別の話です。

そんな未来の話は置いておいて、この記事ではSAA合格に向けてどんな勉強をしてきたのかを振り返りたいと思います。ただ、3回目の更新ということもあり、結構雑になっています。

試験履歴を振り返る

私のSAA試験履歴を振り返ってみると以下のような感じです。

1回目: SAA-C00 2017-09-15

2回目: SAA-C01 2020-02-25

3回目: SAA-C03 2023-02-20

初めてSAAの資格試験を受けたのは2017年の9月でした。その後、2020年2月にSAA-C01を受験し、今回はSAA-C02を飛ばして、いきなりSAA-C03に挑戦することになりました。

2回目の試験を受けた時には、ちょうどSAA-C01からSAA-C02への更新が入る時期だったと思います。AWS認定資格の有効期限も2年間から3年間に伸びたこともあり、どうせなら問題内容が変わる前にさっさと試験を受けて更新してしまおうと行動した結果、SAA-C02を飛ばした感じになったのだと思います。

学習方法

学習方法は、だいたい以下のような感じ。

3回目ともなると試験の問題範囲や情報はおおよそ理解しているので、かなり雑でした。

  1. 目標設定をする
  2. Udemyをする

1. 目標設定をする

自分の持つSAAの資格を更新しようと決意したのは、2023年1月でした。

2023年の振り返り記事でも宣言していました。

kodak.hatenablog.com

期限は予め決めており、有効期限の2023年2月25日までには受験することに決めていました。

そのため、約1ヵ月半にわたり、試験勉強に取り組みました。

2. Udemyをする

以下の2つをメインに実施しました。(前回購入したUdemyを再利用した感じです)

www.udemy.com

www.udemy.com

Udemyでの復習が終わった後は、以下のクラメソさんの記事に書いてある通り、模擬試験が無料で試せるので挑戦しました。

dev.classmethod.jp

基本的にこれらを繰り返して、Udemyの演習問題で正解率が安定的に80%を超えたあたりで、受験に挑みました。

SAAの学習から学んだAWSアップデート情報

SAAの学習をしていて、個人的に「ぉ、これは初めて知ったぞ」というのを幾つか紹介しておきます。

re:invent等で定期的にAWSのアップデート情報はウォッチしているのですが、意外と知らなかったことが多かったので驚きました。

docs.aws.amazon.com

いつの間にか廃止されていて、驚きました。今後はオンデマンドキャパシティー予約を使うように!とのこと。

  • AWS PrivateLink for S3

docs.aws.amazon.com

EC2からS3へセキュアにアクセスする場合は、VPCエンドポイントのGateway型を選択するのが当然。と思っていましたが、実はInterface型でもS3にアクセスできることを知らなかった。

Interface型はGateway型に比べてコストが掛かるので、EC2からセキュアにS3へ繋ぎたいだけならGateway型を選択すれば良いと思う。Interface型でS3へアクセスするケースは以下がとても参考になった。

qiita.com

aws.amazon.com

SAA-C03だと、まだ「Amazon S3 Glacier」と書いてありました。そのため、こちらと下の「Amazon S3 Glacier Instant Retrieval 」はまだ試験に出てこないと思います。

  • Amazon S3 Glacier Instant Retrieval の追加

aws.amazon.com

S3 の種類はどんどん増えていきますよね。

  • S3の「強い一貫性」のサポート

aws.amazon.com

S3がいつの間にか「結果整合性」から「強い一貫性」に変わっていて驚きました。

さいごに

SAAの試験を受けると、自分自身のAWS関連の知識もアップデートされるので、やはり定期的に更新していくのは良いことだと感じました。

とはいえ、私は試験がとても嫌いな人なので、かなりのモチベーションがないと試験を受けたいと思えないのも事実です。

今回は、以下をモチベーションにしました。

  • 受験する日は会社を休もう!(朝受験して、午後は自由時間にしよう)
  • 受かったらブログを書こう!(この記事です)
  • (予算5000以内で)なにか記念に買おう!

ちなみに、今回記念に買ったのはコレ(笑)

toy.bandai.co.jp

嫁さんと子供がドンブラザーズにドハマりしているので、試しに購入してみたのですが、よくできてて驚きました。

SAAの話に戻りますが、受験を終えた後はいつもなら即時に合否結果が出るところ、出ませんでした。 後日、メールで合否結果が送られるように変わった様です。そのため、受験する日に会社を休んでも1日中不安が続いたので辛かったです。

次回は2026年。私は頑張れるだろうか。。。

2023年1月を振り返る - 社内発表とQiita 1位のアウトプットの達人が語る、良質な技術記事を量産する秘訣の感想

2023年1月を振り返る。

今月は、社内で発表する機会があった & connpassでQiita 1位のアウトプットの達人が語る、良質な技術記事を量産する秘訣に参加したので、この2つをメインに振り返ってみようと思う。

社内での発表

会社で個人的に発表する機会が得られたので、以前Qiitaへ投稿したTypeScriptのエラーハンドリングはResult型を使うのが良さそうだと思った話をベースにして、資料を作って発表した。

speakerdeck.com

これを発表した理由は、私自身がTypeScriptのエラーハンドリングで苦しい思いをしていたので、(社内の)みんなも同じ思いなのではないか。と思ったからです。

特にTypeScriptは型があるのに、 try-catch をして throw してしまうとエラーが型として表現されず、見落としてしまうのが苦しいところ。

そんなときに知った「Result型」を社内に周知したかった。というのが私がこれを発表に選んだ理由です。

反応はどうだったのか?

それなりに反響があり、「是非、つかってみたい。」との声を多くいただきました。

逆に、少数だけど、「ぇー、あんまり気にしなくて良いんじゃない?」「 Vue.jsとかだと throw を検知してエラーを出すような仕組み(onErrorCaptured)もあるよ。」などの意見もあり、たしかにそういった視点もあるのか。と気付きにもなりました。

感想

(社内だけど)公の場で、個人的な意見を発表して反応があるのは嬉しいですね。

今回は(社内向けというのもあって)資料を準備する期間があまり与えられていないこともあり、後半は雑に仕上がっていますが、伝えたいことは伝えることができました。

こういった、発表のアウトプットも継続できたらな。。。と思う。

「Qiita 1位のアウトプットの達人が語る、良質な技術記事を量産する秘訣」の拝聴

n2i-engineer.connpass.com

久しぶりに、connpassのイベントへ参加。

参加を決めた理由は、「なかなかアウトプットを継続できないこと & 良質な記事を書けないこと、それらを改善したいと思った」からです。

また、イベントの時間が金曜日の18:30〜というのが個人的にベストマッチだった。(妻には仕事が長引いている。で通用する時間だったから・・・ 💦)

感想

1番に感じたのが「やっぱり伊藤さんは発表が上手いなぁ。」ですね。

私も伊藤さんに影響されて購入したのですが「パワー・プレゼンテーション」にある「WIIFY(ウィッフィー)」を使いこなしていらっしゃる。

ちなみに、私の「パワー・プレゼンテーション」は1度読んで以来、ホコリが被っているので、もう一度、読まねば・・・と思わされました。

前半戦(アウトプットする理由やアウトプットを続けられる理由)

伊藤さんの場合、アウトプットする理由やアウトプットを続けられる理由が明確で、それがなにより人のためだというのが衝撃でした。

人のため。誰かのために記事を書いているからこそ。アウトプットをするし、継続もできている。

私の場合、アウトプットする理由は自身のため。つまりは、アウトプットが自身の考えの整理にもなるし、曖昧なことも調べることで、明確になりそれが学びになるから。

では、アウトプットを継続できないのは、アウトプットする理由が個人的なものであるが故に、意識せずに優先度を下げているのではないだろうか。(悪い言い方をすれば、サボっているのではないだろうか。)

心の持ち方というか、その点が私と伊藤さんの違いなのではないだろうか。。。と思えた。

後半戦(アウトプットを継続するには?良質な技術記事を書くには?)

前半戦で、伊藤さんと私の考え方の違いがあることがわかった。

それを踏まえて、後半戦の最初で「アウトプットするモチベーションは人それぞれだ」という話があった。

だからこそ、アウトプットするレベルを自身に合わせたら良い。と、そして「技術記事に固執するのではなく、もっと広い定義でのアウトプットを考えると良い。」とも仰っていて、ここはとても納得できた。

ここで、ヒントを得られた気がした。

たしかに技術記事に固執していると、ただでさえ少ないアウトプットがさらに減少してしまう。アウトプットの継続だけを考えると、そこに固執する必要は無いな。。。と思えた。

良質な記事を書くことにも触れておくと、「3日前の自分」をペルソナすると良いとのこと。

これは何となく自分も記事を書く時に意識していることで、実際に幾つかの書いた記事が後に役立にたった記憶がある。

Q&A

全部は覚えていないので、印象に残ったものを1つだけ。

Q: 「すでにインターネット上ある記事の内容は記事にしないのか?」

A:「しない。公開されている記事に対して追加の情報があるとき or その記事よりも良い記事が書けると判断したときにしか記事にしない。なぜなら、・・・・」

ここは確かに人によって判断が分かれそうなところだと思う。

おそらく私のようにアウトプットする理由が自身のためなら、既にインターネット上ある記事でも自身が理解するために書き、公開するだろうなぁ。。。と思う。

ただし、丸コピーはダメなので、必ず自分の考えや感想、自分の言葉で説明する記事を書くようにしよう。

まとめ

  • アウトプットする理由

人それぞれ。私の場合はアウトプットする理由は自身のため。

  • アウトプットを続ける方法

「技術記事」に固執せず、自身に合わせてアウトプットレベルを下げること。

  • 良質な記事を書く方法

ペルソナを意識すること。

2022年を振り返るのと2023年の抱負について

年始早々に喉を痛めてしまったので、投稿タイミングが少し遅れましたが、2022年を振ります。

2022年は、色々と挑戦できた年だったなぁ。。。と思う。 そこで、さらっと何を(に)挑戦したのか(できたのか)を振り返ってみる。

それを踏まえて、2023年の抱負を考えてみる。

(プライベートでの)挑戦1

2022年に入って早々に、子供が3 -> 4歳になる年なので、車で色々とお出かけして遊べたり、買い物できたら便利だろうなぁ。。。という単純な思いから、車を購入しようと考え始めた。

とはいえ、車の免許を取得してから殆ど車に乗っていなかった(東京に来てからは一度も車に乗っていなかった)のもあったので、ペーパードライバー講習を受けることから始めた。

無事に3ヵ月の講習を終えて、車を購入。以降は、今まで行きたかったけど行けなかったようなところや、買い物を車で行く等、車でのお出かけが増加した。

そして思った。車ってすごい便利だっ!と。。。

そう思うのとは別に、車の購入代や保険代、(もしかすると何処かでネタにするかもしれないけど)事故も起こしたので、結構金銭的に辛かった。

利便性にコストは付き物であり、車は贅沢品なのだと改めて思わされた。

(プライベートでの)挑戦2

コロナが流行して、リモートワークになって以来、通勤が無くなったことで本を読む時間が無くなってしまったことに課題を感じていた。

しかし、今年のAmazonPrimeDayでKindelのペーパーホワイトを購入して以降、なんと風呂の中で本を読むようになり、この課題を見事解決することができた。(風呂こそが一人で本を読める唯一の時間ということに気づいたのだ)

そのおかげで、今年は5, 6冊の本を読むことができた。

(技術的な)挑戦

今年はGo言語に入門した。

言語自体シンプルなので、好きになれそうな言語のような気がした。

本を読んだり、ちょこちょこと書いてみたりしたものの、やっぱり書く量が圧倒的に足りない。

なにかを作ってみたりしないと、言語の習得は難しいと実感した。

(仕事関連の)挑戦

今年はバックエンド側の仕事があまり無く、フロントエンド側の仕事が多かったので、そちらを担当していることが多かった。

そのため、改めてVue3やReactを学びなおしていた。Reactは、古いReactを仕事で触ることになったので、昨今のHooksを使ったようなReactとは書き味の違うReactを学べて新鮮だった。

フロントエンドを担当していて、MSWの利便性に改めて気付かされた。

MSWをさっと導入して、「API開発できてない間はこれ使っといてー」というような流れができたのは良かったと思う。バックエンド側の開発ができていない間、フロントエンドが手を止めるという状態を防げたのは大きい。

他にもGCP関連でテストを幾つか書いたり。。。とTypeScriptを使っているとフロントとバックの垣根を超えて色々書けるので、改めて便利な言語だと実感した。

話が少しそれるが、TypeScriptといえば以前Qiitaにも書いた「Result型」がとても使いやすい。

qiita.com

try-catchは最低限で良いし、なによりテストが楽なのが良い。今度、社内勉強会があるようなので、そこでも布教活動を頑張る予定だ。

(自分の周りでの)挑戦

前の会社の同僚が突然実家に帰ると言い出した。どうやら家庭の事情で家を継がないといけなくなり、実家に戻ることになったのだ。

他にも、いつもお世話になっている美容院のスタイリストさんが独立して、自分の店を持つことなった等、40歳付近の方々が人生に影響を与えるようなイベントが多々発生している模様で、それによって私の周りの環境が大きく変化している。

加えて、嫁さんも仕事のキャリアアップに限界を感じているらしく転職を視野に入れ始めている。

たしかに、考えてみると40歳にもなれば、ひとつの区切りになる気がする。

私ももうすぐ40歳の壁が見えはじめる歳なので、自分の人生を見つめ直そうと思う。

そう思って、(以前の記事にも書いたが、)@fqudaさんと色々と話してみた。

まだ、私自身は何も結論を出していないし、そんなにすぐに出るはずもないと考えているので、引き続き色々と考えてみようと思う。

2023年の抱負

色々と考えてみたのだが、「原点回帰」するのが良さそうだと感じた。 方向性を見失ったときは、原点に振り返って見直すと良い。

というわけで、まずは「AWS」を学び直そうかなと思う。「AWS SAA」再取得する。

34歳という歳で転職をはじめたのも、「AWS」がきっかけだったし、色々と自分に足りないことを気づかせてくれたのが理由だ。

また、アルゴリズムの勉強にも挑戦してみたい。

今まで避けてきた領域なので、このあたりを学んでみることで新たな道が開拓できるかもしれない。

あとは、アウトプット。

今年は圧倒的にアウトプットが少なかった。

もう一度アウトプットの良さを学びなおすのも良いかもしれない。

ということで、2023年は、原点に戻って、AWSから勉強し直そうと思う。

じぶん Release Notes(ver 0.2022.12)

よくエンジニア系Blogで見る「じぶん Release Notes」

11月を振り返っていきます。

技術関連

  • Reactの理解

読書

読んでいる

読了

アウトプット

なし。

仕事の話

仕事でやっているReactの作業もそろそろ終盤。

Reactから、コンポーネントの分け方、テスト手法、MSW(Mock Service Worker)の使い方であったり、と色々と学べてよかった。

次にReactを触るのはいつかはわからないが、個人でもReactを使っていこうと思えた。

プライベート

先日、4年くらい前にお世話になった@fuqdaさんと、お話する機会を頂きました。

というのも、私自身、40歳が見えてきたこともあり、色々と人の話を聞いてみたいと思ったのがお話してみようと思ったキッカケです。

@fuqdaさんは、ちょうどバックエンドという立場からフロントエンドへとシフトされたばかりだったので、「何故、バックエンドからフロントエンドへシフトされたのか?」「フロントエンドの魅力は何だったのか?」など、色々とお話を伺いたいなと思い、ご連絡してお話する機会を頂きました。

かれこれ約2時間ほど話しましたが、とても楽しかったし、フロントエンドの魅力や@fuqdaさんのミッションなどが聞けてとても参考になりました。

そして、昨今のフロントエンドに求められるスキルの多さ(これはフロントエンドだけではないですが)に対する対価の話など、「たしかになぁ🤔」と思わされる話もしました。

自分がこれからフロントエンドの道に進むかどうかは置いておいて、フロントエンドを目指すとどのようなスキルが必要であり、魅力があるのか。あと、私自身「それはそれでフロントエンド目指すと面白そうだな🎉」とも思えたので、お話が聞けてとても良かったです。

@fuqdaさん、お忙しい中、お時間いただきありがとうございました。🙇‍♂️

話は変わって、Amazonブラックフライデーが来ました。

以前から狙っていた、ロジクールのメカニカルキーボード。お値段が安くなっていたので、購入してみました。

MX Mechanical Mini for Macワイヤレス キーボード | ロジクール

キー配置が以前使っていたキーボードとえらい変わってしまったので、まだ打ち間違いが多発中ですが、打鍵感は良いです。

静音、コンパクトなのも◎

まだ購入したばかりなので、もう使いながら様子を見ていこうと思います。

振り返り(KPT

Keep

  • 「じぶん Release Notes」を継続できた。

Problem

  • アウトプットない😱

Try

  • 今読んでいる本を読み終える。
  • アウトプットを増やす。

じぶん Release Notes(ver 0.2022.11)

よくエンジニア系Blogで見る「じぶん Release Notes」

既に11月の中旬ですが、10月を振り返っていきます。

技術関連

  • Reactの理解

最近は、ReactがMyブームだったりします。

というのは嘘で、ホントはGoを書きたい気持ちがあるけど、現案件でReactやってるので、知識をキャッチアップするためにReactやってます。

あ、誤解がないように言うとRactは面白く、楽しんでやっています。

読書

読んでいる

まだ8割読んだところです。読了までもう少し・・・

内容はとても面白いです。最近のオブジェクト指向を意識した良いコードと悪いコードを紹介されていて、すごくためになります。

あと、先日のAWS Dev Dayで著者のミノ駆動さんが登壇されていました。

風刺動画、面白かったです。

本書に書いてあった内容を登壇でも話されていて、ミノ駆動さんが伝えたいことが詰まった書籍なんだなぁと改めて感じました。

アウトプット

なし。アドベントカレンダーで本気だす(ぉ

仕事の話

最近は、Reactです。

でも古いReactなので、めちゃクラスです。。。

前任の方が書いたReactに対して修正する案件なんですが、Reduxを使用せず、独自でグローバルなStateを実装しいて「うぉっ、マジか。。。」という仕様。

でも、それなりに考えられたクラス構造になっていて、一応修正は可能という感じ。。。

宣言的でなく、命令的なReactを触っていて不思議な感じです。

プライベート

10月は自分の誕生日で、いよいよ38になりました。

40へのカウントダウンが少しずつ聞こえてきます。。。。😥

Webエンジニアになってからだと4年が過ぎて5年目に突入している状況です。

40が見えはじめたこと。Webエンジニアになって4年が経過したこと。これを「きっかけ」にして、ちょっと自分の今後を見直しても良いのかなぁ。。。と思いはじめました。

転職ーとかではなく、自分に足りないもの。自分がやりたいことや目標なんかをちょっとずつ整理できたらな。。。と思います。

振り返り(KPT

Keep

  • 「じぶん Release Notes」を継続できた。

Problem

  • アウトプットない😱

Try

  • 今読んでいる本を読み終える。
  • アウトプットを増やす。