<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ポエム &#8211; エンジニア見習い</title>
	<atom:link href="https://otonan-syusyoku.work/archives/tag/%E3%83%9D%E3%82%A8%E3%83%A0/feed" rel="self" type="application/rss+xml" />
	<link>https://otonan-syusyoku.work</link>
	<description>三流プログラマー</description>
	<lastBuildDate>Thu, 12 Feb 2026 08:49:23 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://otonan-syusyoku.work/wp-content/uploads/2023/10/cropped-名称未設定のデザイン-16-32x32.png</url>
	<title>ポエム &#8211; エンジニア見習い</title>
	<link>https://otonan-syusyoku.work</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>TerraformとCDK のロールバックについて</title>
		<link>https://otonan-syusyoku.work/archives/2193</link>
					<comments>https://otonan-syusyoku.work/archives/2193#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 08:49:22 +0000</pubDate>
				<category><![CDATA[インフラ]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[IaC]]></category>
		<category><![CDATA[ポエム]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=2193</guid>

					<description><![CDATA[どうも、PHPerです。 先日、友人のWebアプリケーションエンジニアとIaC（Infrastructure as Code）について話す機会がありました。 話の発端は「Terraform と CDK、どっちを採用すべき [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>どうも、PHPerです。</p>



<p>先日、友人のWebアプリケーションエンジニアとIaC（Infrastructure as Code）について話す機会がありました。 話の発端は「Terraform と CDK、どっちを採用すべきか？」というよくあるテーマだったのですが、友人からこんな強烈な一言をもらいました。</p>



<p><strong>「CDK一択でしょ。だってCDK（CloudFormation）はデプロイ失敗時に自動ロールバックしてくれるけど、Terraformは作りかけで止まるでしょ？怖くて使えないよ」</strong></p>



<p>なるほど、確かにその視点はあります。DBのトランザクションに慣れ親しんだエンジニアからすれば、「失敗したらAtomicに元に戻る」挙動こそが正義でしょう。</p>



<p>しかし、普段Terraformを触っている身からすると「うーん、それは『ロールバック』の定義や運用思想が違うだけでは？」というモヤモヤが残りました。</p>



<p>今回は、この「IaCにおけるロールバックと復旧戦略」について、公式ドキュメント等の情報を交えながら整理してみたいと思います。</p>



<h2 class="wp-block-heading">そもそも「ロールバック」とは何を指しているのか？</h2>



<p>友人が言っていた「ロールバック」は、主に <strong>「デプロイ（Apply）が途中でコケた時の挙動」</strong> を指しています。</p>



<h3 class="wp-block-heading">CDK の場合</h3>



<p>CDKは、コンパイルされると最終的に <strong>AWS CloudFormation テンプレート</strong> になり、デプロイもCFnを通じて行われます。</p>



<ul class="wp-block-list">
<li><strong>挙動</strong><br>スタックの更新中にエラーが発生すると、CFnは <strong>「自動的に直前の正常な状態に戻そう」</strong> とします。</li>



<li><strong>ステータス</strong><br><code>UPDATE_ROLLBACK_IN_PROGRESS</code> → <code>UPDATE_ROLLBACK_COMPLETE</code></li>
</ul>



<p>これはCloudFormationの基本機能として提供されています。<br> <a href="https://www.google.com/search?q=https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-monitor-rollback.html" target="_blank" rel="noreferrer noopener">スタックの更新のロールバック &#8211; AWS CloudFormation</a></p>



<p><strong>メリット</strong><br>何もしなくても「壊れた状態」で放置されることが少ないです。<br>「オール・オア・ナッシング」に近い挙動をするため、整合性が保たれやすい安心感があります。</p>



<p><strong>デメリット</strong><br>ロールバックには時間がかかります。<br>リソース作成に30分かかって失敗した場合、ロールバックにも同等の時間がかかることがあります。 <br>また、ロールバック自体が失敗する<strong>UPDATE_ROLLBACK_FAILED</strong>という状態に陥ると、手動での介入が必要になり、復旧難易度が跳ね上がります。 <br><a href="https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html" target="_blank" rel="noreferrer noopener">参考: 更新のロールバックに失敗したスタックを更新できるようにする &#8211; AWS CloudFormation</a></p>



<h3 class="wp-block-heading">Terraform の場合</h3>



<p>Terraformは、AWSのAPIを直接叩いてリソースを操作します。</p>



<ul class="wp-block-list">
<li><strong>挙動</strong><br><code>terraform apply</code> 中にエラーが発生すると、<strong>その時点で処理が停止します</strong>。</li>



<li><strong>ステータス</strong><br>成功したリソースは作成済み、失敗したリソースは未作成（または中途半端）な状態で残ります。</li>
</ul>



<p>Terraformには「自動ロールバック」という機能自体が存在しません。これはバグではなく仕様（思想）です。 <br><a href="https://developer.hashicorp.com/terraform/cli/commands/apply" target="_blank" rel="noreferrer noopener">HashiCorp Terraform: Command: apply</a></p>



<p><strong>メリット</strong><br>エラーの原因が明確で、<strong>「ここまでは成功した」という状態がStateファイルに保存されます</strong>。 <br>コードを修正して再実行（<code>terraform apply</code>）すれば、<strong>差分のみ</strong>を適用し直すため、復旧までの時間が圧倒的に短いです。</p>



<p><strong>デメリット</strong><br>「中途半端な状態」が一時的に発生するため、手動でのリカバリ（State操作やTaint）が必要になる場合があります。</p>



<h2 class="wp-block-heading">なぜTerraformには自動ロールバックがないのか？</h2>



<p>Terraform派の意見として、「自動ロールバックがないこと」は <strong>「Fail Fast（早く失敗して早く直す）」</strong> という設計思想に基づいています。</p>



<ol start="1" class="wp-block-list">
<li><strong>Stateの一貫性重視</strong><br>Terraformは「現在のインフラの状態」をtfstateファイルで厳密に管理します。<br>勝手にロールバック（過去の状態に戻すAPIコール）を行うと、ローカルのコードと現実のリソースの乖離が複雑化するリスクがあります。 <a href="https://developer.hashicorp.com/terraform/language/state" target="_blank" rel="noreferrer noopener">State &#8211; Terraform by HashiCorp</a></li>



<li><strong>Roll Forward（前進による修復）の推奨</strong><br>インフラ変更において、失敗した場合は「元に戻す」よりも「修正して適用し直す」方が早いケースが多いです。<br>Terraformは <code>plan</code> コマンドで事前に変更内容を詳細に確認できるため、実行時エラーは「権限不足」や「パラメータ不正」などが主であり、コードを直して再Applyすれば済むことがほとんどです。</li>
</ol>



<h2 class="wp-block-heading">ロールバックというバージョン切り戻し</h2>



<p>友人の言う「デプロイ失敗時の自動復旧」ではなく、<strong>「正常にデプロイしたけどアプリが動かないから昨日の構成に戻したい」</strong> という場合のロールバックはどうでしょうか。</p>



<ul class="wp-block-list">
<li><strong>CDK (CloudFormation)</strong>: Gitで以前のコードに戻し、再デプロイします。 ※ CFnの自動ロールバックはあくまで「デプロイエラー時」の挙動であり、論理的なバグまでは戻してくれません。</li>



<li><strong>Terraform</strong>: Gitで以前のコードに戻し、<code>terraform apply</code> します。</li>
</ul>



<p>つまり、<strong>「正常デプロイ後の切り戻し（Revert）」に関しては、両者の手間に大きな差はありません。</strong> どちらも「Gitを正」として、過去のコミットの状態へインフラを収束させる作業になります。</p>



<h2 class="wp-block-heading">結論：どっちが良いのか？</h2>



<p>友人の「CDKの方が優秀」という意見は、<strong>「デプロイ作業中の安全性」</strong> に重きを置いた意見と言えます。特にアプリケーションエンジニアにとって、デプロイ失敗時に環境が散らかったままになるのは恐怖でしょう。</p>



<p>一方でTerraformは、<strong>「状態の透明性と制御」</strong> に重きを置いています。「勝手に戻るより、どこで止まったか教えてくれ。俺が直すから」というスタンスです。</p>



<h3 class="wp-block-heading">まとめ</h3>



<ul class="wp-block-list">
<li><strong>CDK (CloudFormation)</strong>
<ul class="wp-block-list">
<li><strong>特徴</strong>: 失敗時は自動で元通り（トランザクション的）。</li>



<li><strong>向いているケース</strong><br>インフラの詳細なステータス管理より、デプロイパイプラインの安定性を重視したい場合。ロールバック待ち時間が許容できる場合。</li>
</ul>
</li>



<li><strong>Terraform</strong>
<ul class="wp-block-list">
<li><strong>特徴</strong><br>失敗時はそこでストップ（即時停止）。修正して再実行（ロールフォワード）。</li>



<li><strong>向いているケース</strong><br><code>terraform plan</code> で事前に結果を予測し、失敗時も自分の手ですぐに復旧させたい場合。APIコールの速さを求める場合。</li>
</ul>
</li>
</ul>



<p>「ロールバックがあるからCDK」ではなく、「失敗時のリカバリ戦略として、自動復帰（CDK）と即時停止（Terraform）のどちらが自分たちのチームに合っているか」で選ぶのが正解ではないでしょうか。</p>



<p>私は……やっぱり <code>terraform plan</code> で「何が起きるか完全に把握してから実行する」安心感が好きですね（笑）</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/2193/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2025年、AIを使った開発で役立ったTipsたち</title>
		<link>https://otonan-syusyoku.work/archives/2187</link>
					<comments>https://otonan-syusyoku.work/archives/2187#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sat, 27 Dec 2025 10:10:09 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[生涯独学]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Typescript]]></category>
		<category><![CDATA[ポエム]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=2187</guid>

					<description><![CDATA[AIによるコーディング支援は、もう「当たり前」の景色になりました。 AIに頼めば、ものの数秒で大量のコードが生成されます。まるで魔法のようですが、同時にこうも思うのです。「これ、本当に動くの？」「仕様、合ってる？」と。  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>AIによるコーディング支援は、もう「当たり前」の景色になりました。</p>



<p>AIに頼めば、ものの数秒で大量のコードが生成されます。<br>まるで魔法のようですが、同時にこうも思うのです。「これ、本当に動くの？」「仕様、合ってる？」と。</p>



<p>大量に出力されるコードの波に飲まれず、<strong>「人間が手綱を握り続ける」</strong>ために僕が実践してきた開発のTipsを書き残しておきます。</p>



<p>これは、2026年の自分への手紙でもあります。<br>「あの頃はそんな苦労をしてたんだな」と笑って読み返せますように。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">機会にできることは機械に任せる（Lint / Pre-commit / Auto Format）</h2>



<p>AIは優秀ですが、たまにインデントを崩したり、変な書き癖を出してきたりします。<br>生成された大量のコードを目視でレビューして「ここ、スペース空いてないよ」なんて指摘するのは、人間のやる仕事じゃありませんよね。</p>



<p>だからこそ、<strong>Lint</strong> と <strong>Pre-commit</strong>、そして <strong>自動フォーマット</strong> は必須でした。</p>



<ul class="wp-block-list">
<li><strong>保存＝整形（Auto Format）</strong><br>エディタで保存した瞬間に、コードが綺麗になる設定はマスト。AIが吐き出したコードを貼り付けた瞬間、プロジェクトの規約に合わせて「シュッ」と整う快感。これがないと精神衛生が保てません。</li>



<li><strong>コミット前の門番（Pre-commit）</strong><br> Gitにコミットする前に、Linterが自動で走るように設定しました。型エラーや未使用変数は、人間が気づく前に機械に弾いてもらう。</li>
</ul>



<p><strong>「コードの見た目」や「単純なミス」に脳のメモリを使わない。</strong>これがAI時代を生き抜く第一歩でした。（AI開発がどうっていう話ではないがより一層重要になっている</p>



<p></p>



<h2 class="wp-block-heading">実装指示は細かくStepByStep形式</h2>



<p>最終的なゴールを明示したうえで、StepByStepで実装させました。</p>



<p>ゴールは <code>.documents</code> にMarkdownを配置し、その仕様書通りになるように指示をします。</p>



<pre class="wp-block-code"><code>## As Is

## To Be 

## Task

## Remarks</code></pre>



<ol class="wp-block-list">
<li>〇〇を最終ゴールとします。実装方針を出して。</li>



<li>ツッコミを入れる
<ul class="wp-block-list">
<li>Step1の実装のセキュリティホールは？</li>



<li>タイムアウトの条件は〇〇に</li>
</ul>
</li>



<li>テスト書いてもらう</li>



<li>もちろんRed</li>



<li>テストのレビュー
<ul class="wp-block-list">
<li>テスト問題なければ実装</li>



<li>問題あれば2を見直す</li>
</ul>
</li>



<li>テストがGreenになるような実装</li>
</ol>



<p>この辺はガイドラインやコーディング規約などを整備すればよかったのかなぁと考えている反省点です。</p>



<h2 class="wp-block-heading">テスト戦略：AIに任せる部分、僕が譲らない部分</h2>



<p>ここが一番のキモです。<br> AIはコードを書くのは早いですが、<strong>「僕たちが本当に作りたいもの」</strong>を100%理解しているわけではありません。<br>だからテストの役割分担をこう決めました。</p>



<h3 class="wp-block-heading">単体テスト（ViteTest / PHPUnit）</h3>



<p>関数単体や小さなロジックの検証には、ViteTestやPHPUnitを使いました。<br>ここはAIにも手伝ってもらいやすい領域です。「この関数のテスト書いて」と言えば、エッジケースまで網羅したテストを提案してくれます。<br><br>※ 単体テストをAIに書いてもらうために、関数は限りなく小さくするような単一責任の原則でAIに実装してもらっています。ぜーんぶAIです。</p>



<h3 class="wp-block-heading">Featureテスト（結合・機能テスト）は「僕」が書く</h3>



<p>けれど、機能全体が正しく動くかを確認する<strong>Featureテストだけは、僕自身の手で書く</strong>ようにしました。<br>これには明確な理由が2つあります。</p>



<ol start="1" class="wp-block-list">
<li><strong>コードの理解</strong>：<br>AIが書いたブラックボックスなコードも、テストを書く過程で読み解く必要があります。「どう動くべきか」を定義するのは人間です。</li>



<li><strong>要求仕様の達成</strong>：<br>求められている「要件」を満たしているか判定できるのは、今のところまだ人間だけです。</li>
</ol>



<p><strong>「AIにコードを書かせるなら、人間はテスト（仕様）を書け」</strong> これが2025年の僕の合言葉でした。<br>テストが通る＝仕様を満たしているという安心感があって初めて、AIのスピードを享受できるんです。</p>



<h2 class="wp-block-heading">2026年の僕へ</h2>



<p>どうですか？ 2026年の開発現場は。</p>



<p>AIが仕様の矛盾すら指摘して、テストまで完ぺきに書いてくれるようになっているのでしょうか。</p>



<p>もしそうなっていたとしても、2025年の僕は「正しく動くものを届けたい」という一心で、Linterを設定し、Featureテストを書いていたことを覚えていてください。</p>



<p>エンジニアとしての仕事に楽しさは残っていますか？2025年末では、だんだんと辛くなってきています。</p>



<p>それじゃ、また。良い開発ライフを！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/2187/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>炎上案件を経験して死にに行くという姿勢を持てば良かったという話</title>
		<link>https://otonan-syusyoku.work/archives/1482</link>
					<comments>https://otonan-syusyoku.work/archives/1482#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Thu, 08 Feb 2024 12:08:08 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[業務]]></category>
		<category><![CDATA[ポエム]]></category>
		<category><![CDATA[実務]]></category>
		<category><![CDATA[本当にあった話]]></category>
		<category><![CDATA[脱3流プログラマー]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1482</guid>

					<description><![CDATA[プログラマーやエンジニアをやっている人なら分かると思うのですが、「炎上案件」という言葉には一種のドキドキがあるかと思います。 僕は炎上案件という言葉を聞くだけでドキドキが止まりません。 今回の記事では、受託企業でバチバチ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>プログラマーやエンジニアをやっている人なら分かると思うのですが、「炎上案件」という言葉には一種のドキドキがあるかと思います。<br />
僕は炎上案件という言葉を聞くだけでドキドキが止まりません。<br />
今回の記事では、受託企業でバチバチな炎上案件を経験してきた3流プログラマーが炎上案件の思い出を語らせていただければと思います。</p>
<h2>炎上案件とは？</h2>
<p>何らかの理由でとにかく燃えている案件のことです。</p>
<ul>
<li>シンプルな短納期（多分炎上の理由1位）</li>
<li> チーム内における重要人物のプロジェクトからの離脱</li>
<li>神様（クソ客）による土壇場での仕様変更</li>
<li>イキり営業による全てできますスタイルによる契約</li>
</ul>
<p>プロジェクトに関わるすべての人が何かしらに追われている状況になるため、関係者各位で揉め事が起こっています。<br />
ステークホルダー &gt; 営業 &gt; PL &gt; SE &gt; プログラマー</p>
<p>僕が経験した炎上案件では、<span class="sc_marker blue"><strong>短納期 + 急な仕様変更（馬鹿な営業のせい） により開発と営業の間で戦争が勃発しプロジェクトが崩壊しかけた</strong></span>事があります。<br />
最終的には<strong>客先への調整（謝罪） + 営業と開発の戦争に部長が仲裁する形</strong> で終着することでギリギリのところで丸く収まりました。</p>
<p>しかし一度崩壊しかけたプロジェクトなのでチーム内でのいざこざは残ったまま開発を続けていくことになりストレスの掛かるプロジェクトでした。</p>
<p>このように<strong>炎上案件は誰も幸せになりません。</strong></p>
<p>今回は炎上案件について僕の実体験を簡潔にお話したのですが、一口に炎上案件と言っても様々な理由があることを覚えていただければ幸いです。</p>
<h2>炎上するとどんな事が起きるのか</h2>
<h3>お客さんに詰められる</h3>
<p><span class="sc_marker blue"><strong>受託企業における一番恐ろしいタイミングがお客様から詰められる時</strong></span>です。<br />
当たり前の話ですが、身銭を切ってシステム開発を依頼されているので、全力で詰めてきます。</p>
<p>お客さんが詰めるときはだいたい以下の理由かと思います。</p>
<ul>
<li>納期に間に合わない</li>
<li>契約時に想定していた要件を満たせていない</li>
</ul>
<p>これらの理由で怒られるのが本当に本当にストレスでした。(契約不履行と言われたときにはゾッとします。</p>
<h3>上長から詰められる</h3>
<p><span class="sc_marker blue"><strong>お客様から詰められるということは必然的に上司からも詰められます。</strong></span></p>
<p>お客さんからの評価が悪いと次回の契約や会社の評判が下がるといった悪影響が発生する可能性が高くなるため、上司もピリピリします。</p>
<p>炎上は炎上を生むだけです。</p>
<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title">これはただの文句</div>
<div class="sc_frame">
<p>僕が居た受託企業の上司はIT畑の人ではなかったため、お客さんからの評価が第一になります。そのため、お客さんからどんなに理不尽な要求が来たとしても必ず達成することを譲りません。</p>
<p>そんなやり方では必ず大事故が起きるよという開発側の意見には聞く耳を持ちません。</p>
<p><strong>歪な形で進行した結果で起きている炎上には目をつぶる</strong> → <strong>結果さらに燃える</strong> というサイクルを発生させる上司でした。</p>
</div>
</div>
<h3>メンバーから不満が出る</h3>
<p>他方から詰められるとチーム内からも悲惨な声が聞こえてきます。</p>
<p>「後少しでリリースできるから一緒に頑張りましょう。」という声がけしかできません。</p>
<p>世知辛いです。</p>
<h2>炎上したときには死ににいく姿勢が大事</h2>
<p>ようやく本題です。</p>
<p>炎上案件に参画すると全員が「この案件から抜け出したい」と願っている事は目に見えるのですが、そういった願いは儚く散っていきます。どうにか納品することが唯一の地獄からの脱出する道です。</p>
<p>全員がギリギリのところで踏ん張っているタイミングでは<span class="sc_marker blue"><strong>率先して死にに行く姿勢がメンバーを勇気づけると考えています。</strong></span></p>
<p>一度プロジェクトを崩壊させた目線から思うことが<span class="sc_marker blue"><strong>誰かがアクセルを踏んで頑張ることが誰かの活力につながる</strong></span>ことを強くお伝えしたいです。</p>
<p>今炎上案件に参画している人はぜひ、死にに行く姿勢を持ってほしいなと思います。（限界だったら逃げてください。本当に逃げてください。）</p>
<h2>炎上案件は悪いことばかりではない</h2>
<p>精神的にしんどい事が多い炎上案件ですが、悪いことばかりではありません。</p>
<p>サイヤ人の理論と一緒でギリギリのところで生き抜くと確実に成長します。成長するのは技術力かもしれませんし、人間力かもしれません。</p>
<p><span class="sc_marker blue"><strong>とにかくあなたの何かが確実に成長します。</strong></span></p>
<p>また、炎上案件の凄いところが<span class="sc_marker blue"><strong>普通に過ごした期間と炎上案件に関わった期間の成長の度合いに大きな差があります。</strong></span></p>
<p>それだけ炎上案件には人を成長させるパワーがあります。</p>
<p>一度経験しておくのをオススメしますよ。</p>
<p>[getpost id=&#8221;1204&#8243; target=&#8221;_blank&#8221; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1482/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【ジュニアPHPerに捧ぐ】PHPだけやってるのはマズイぞ</title>
		<link>https://otonan-syusyoku.work/archives/1519</link>
					<comments>https://otonan-syusyoku.work/archives/1519#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sun, 10 Dec 2023 08:51:13 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[コーディング]]></category>
		<category><![CDATA[ポエム]]></category>
		<category><![CDATA[実務]]></category>
		<category><![CDATA[本当にあった話]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1519</guid>

					<description><![CDATA[fa-address-book対象読者 &#8211; プログラマ &#8211; IT業界1年目〜3年目 &#8211; PHPer 事の発端 副業案件を獲得するためにいくつかの面談を受けている際に面接官に言われた一言 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title"><span class="sc_frame_icon"><i class="fa fa-address-book" aria-hidden="true"><span>fa-address-book</span></i></span>対象読者</div>
<div class="sc_frame">
<p>&#8211; プログラマ<br />
&#8211; IT業界1年目〜3年目<br />
&#8211; PHPer</p>
</div>
</div>
<h2>事の発端</h2>
<p>副業案件を獲得するためにいくつかの面談を受けている際に面接官に言われた一言です。</p>
<div class="voice left">
<div class="icon">
<p><img decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2021/04/名称未設定のデザイン-7.png" /></p>
<div class="name">面接官</div>
</div>
<div class="text sc-inner-content sc_balloon left blue">
<p>PHP はネットに落ちているコードで簡単に作れるでしょ<br />
納期短いけどどうにかしてくれ</p>
</div>
</div>
<p>&nbsp;</p>
<p>いやぁ〜、恐ろしい。</p>
<p>要件次第で色が違ってくるのがシステム開発というもののハズですが、仕事という観点で見た際にPHPで作るシステムは簡単に作れるという考えを持っている人がいました。</p>
<p>なぜ、こうもPHPの立ち位置が低いのか僕なりに考えてみました。</p>
<p>（そもそも<strong>「PHPで作ればシステム開発は楽になる」</strong>という考え方事態がおかしいのですが。。</p>
<h2>PHPが舐められている原因</h2>
<h3>駆け出しが増えすぎた</h3>
<p><span class="sc_marker blue"><strong>PHPの業界内の立ち位置として駆け出しエンジニアが選択するファースト言語という特色</strong></span>があります。<br />
（かくいう僕も初めて選択した言語はPHPでした）</p>
<p>駆け出しエンジニアに選択されやすいという特色が故、ロースキルのプログラマが大量生産され、業界内での評価がガタ落ちしたのではないでしょうか。</p>
<p>また、2020年〜2023年の間にインフルエンサー達によるフリーランスの布教活動の波も影響していると思います。</p>
<p>仕事を発注する側から見た場合、経験年数が短く、「PHPできます」という人に対して不信感を抱くのも当然かもしれません。</p>
<h3>自由にかけてしまう</h3>
<p>PHPの特性について、コードの型を指定せずに書くことができる柔軟性があります。</p>
<p>これは素早くコードを記述できる利点を持つ反面、実行時にエラーが発生する可能性が高まります。<br />
この特性は、プログラムを実行するまでエラーが検知されないため、デバッグや修正が手間取ることがあります。</p>
<p>この柔軟性から「動くものは簡単に作れる」というイメージが生まれ、結果として経験豊富な開発者からはPHPが好まれない傾向にあります。<br />
一部のエンジニアは、この柔軟性が多くのインシデントやバグを引き起こす原因と見なしていることもあります。（僕の上司もPHPの言語仕様が嫌いです。笑）</p>
<p>特にセキュリティや安定性が求められる場面では、この特性がリスクとなることがあります。</p>
<h3>過去にインシデントが多数報告</h3>
<p><span>実際にPHPコードの柔軟性が原因でセキュリティ上の問題や重大なエラーが発生した事例が多く報告されています。</span></p>
<p><a href="https://jvn.jp/jp/all.html#y2022">CVEデータベース</a>を見てみてください。PHPの報告が多数上がっていますよ。</p>
<p>PHPに限らずインシデントの内容をチェックすると勉強にもなるので一度見に行ってみるのをオススメします〜</p>
<h2>じゃあPHPerはどうするの？</h2>
<h3>正しいPHPを学ぶ</h3>
<p>PHPの最新の機能や改善点を把握し、セキュアで効率的なコーディングを心掛ける必要があります。（エンジニアなら当たり前だろ！ってマサカリ飛んできそうですが笑）</p>
<p>かくいう僕もPHP8でリリースされたmatch式を知らなかった過去があります。しっかり学びましょう笑</p>
<p>また、静的型付け言語ほど厳格な型指定はできないのですが、<span class="sc_marker blue"><strong>PHPの型システムを利用したセキュアコーディング</strong></span>や<span class="sc_marker blue"><strong>ジェネレータを使用してメモリの過消費を防ぐコーディング</strong></span>を意識する必要があります。</p>
<h3>PHP以外にもスキル身に付ける</h3>
<p>新卒が優秀になってきていることやChatGPTの登場など、PHPだけができる人は本当に不要になってきているのを肌で感じます。</p>
<p>そのため、以下のどちらかに裾のを広げていく必要があると思います。</p>
<ul>
<li>PHP + フロント(React or Vue + TS)</li>
<li>PHP + インフラ</li>
</ul>
<p>僕はフロントがあまり得意ではないのでインフラ周りを勉強中です。</p>
<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title"><span class="sc_frame_icon"><i class="fa fa-adn" aria-hidden="true"><span>fa-adn</span></i></span>PHP以外を身につけると</div>
<div class="sc_frame">
<p>PHP以外を身につけると明らかに単価がアップします。<br />
例えば、PHP + AWS のような案件や PHP + React + TypeScript の案件に携われる可能性が出てきます。<br />
PHPの枠を出ることによって確実に世界が広がるのでおすすめです。</p>
<div class="">
<a href="https://px.a8.net/svt/ejp?a8mat=3BBDRD+526ONU+3T80+609HT" rel="nofollow"><br />
</a><img fetchpriority="high" decoding="async" border="0" width="300" height="250" alt="" src="https://www23.a8.net/svt/bgt?aid=200405353306&amp;wid=002&amp;eno=01&amp;mid=s00000017784001009000&amp;mc=1" class="alignleft" /><a href="https://px.a8.net/svt/ejp?a8mat=3TNN5M+CAYJMI+45OW+5ZU29" rel="nofollow"><img decoding="async" border="0" width="300" height="250" alt="" src="https://www25.a8.net/svt/bgt?aid=231210490744&amp;wid=002&amp;eno=01&amp;mid=s00000019400001007000&amp;mc=1" /></a>
</div>
</div>
</div>
<p>&nbsp;</p>
<h2>PHPは素晴らしい言語だぞ</h2>
<p>近年のPHPは、安全性や効率性の向上に焦点を当てて進化しています。</p>
<p>例えば、PHP 8や8.1のリリースでは、型付きプロパティや名前付き引数など、新機能が追加されました。<br />
PHP8.2ではreadonly classがリリースされています。<br />
これにより、コードの品質向上やエラーハンドリングの改善が実現しました。</p>
<p>&nbsp;</p>
<p>そして何よりもPHPは数多くのシステム開発の実績を持っています。<br />
2023年においてちらほら「PHPはレガシーだ」という意見が出てきていますが、今も現役に稼働しているシステムが多数あります。</p>
<p>過去の先輩PHPer 達が遺してくれた数多くの仕事がまだまだ残っています。そしてこれからもまだまだ増えていくでしょう。</p>
<p>&nbsp;</p>
<p>何かと批判されがちなPHPですが、世の中に価値を届けることができる可能性に満ちた言語です。</p>
<p>正しい知識と幅広い知識を持ち合わせたPHPerになっていきましょう〜</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1519/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【SES→受託→自社】エンジニア歴3年で形態の異なる会社で働いて思ったこと</title>
		<link>https://otonan-syusyoku.work/archives/1392</link>
					<comments>https://otonan-syusyoku.work/archives/1392#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Thu, 02 Nov 2023 14:21:32 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[業務]]></category>
		<category><![CDATA[ポエム]]></category>
		<category><![CDATA[実務]]></category>
		<category><![CDATA[未経験エンジニア]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1392</guid>

					<description><![CDATA[巷で噂のエンジニアはどのような会社で働くべきか論争を見かけたのでSES → 受託 → 自社 と働く会社を移してきた僕から解説させてください。 エンジニア歴は短いのですが、これまでに以下の形態の会社で働いてきました。 SE [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>巷で噂の<strong>エンジニアはどのような会社で働くべきか論争</strong>を見かけたのでSES → 受託 → 自社 と働く会社を移してきた僕から解説させてください。</p>
<p>エンジニア歴は短いのですが、これまでに以下の形態の会社で働いてきました。</p>
<ul>
<li>SES</li>
<li>受託</li>
<li>自社</li>
</ul>
<p>そんな僕からエンジニアとして働くべき会社を解説します。笑</p>
<h2>SES 時代</h2>
<h3>入社した経緯</h3>
<p>まずは SES 時代です。</p>
<p>当時の僕は異業種からの IT 業界への転職を目指していたこともあり、IT 業界に対する知識が全くない状態でした。</p>
<div class="voice left">
<div class="icon">
<p><img decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2023/10/名称未設定のデザイン-16.png" /></p>
<div class="name">当時のアホな僕</div>
</div>
<div class="text sc-inner-content think_balloon left blue">
<p>SES ？<br />
なにそれ？（鼻くそホジホジ）</p>
</div>
</div>
<p>&nbsp;</p>
<p>そのため手当たり次第に面接を受けまくっていた記憶があります。（今考えるとかなりアホですね。笑）</p>
<p>&nbsp;</p>
<p>当時の世界情勢的にはコロナが大流行していた時期ということもあり、求人数はかなり狭めらていた状況でした。<br />
そのような中、転職活動を進めていくにあたり戦略として以下の対策を講じました。</p>
<ul>
<li>自作のウェブアプリケーションを作る</li>
<li>資格を取得する</li>
<li>技術記事を書く</li>
</ul>
<p>[getpost id=&#8221;606&#8243; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;][getpost id=&#8221;590&#8243; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
<p>&nbsp;</p>
<p>転職活動という大航海を戦うには心細い能力値の低い武器を揃えて旅に出ていたため、条件の悪い求人にしか出会うことが出来ませんでした。</p>
<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title"><span class="sc_frame_icon"><i class="fa fa-arrow-circle-down" aria-hidden="true"><span>fa-arrow-circle-down</span></i></span>条件の悪い求人の代表例</div>
<div class="sc_frame">
<ul>
<li>家電量販店で勤務後、自己学習を行う。上長の技術的了承を得られたらシステム開発の現場に入れる</li>
<li>コールセンターで勤務（資格取得やITに関する知識を取り入れる事が目的らしい。</li>
</ul>
</div>
</div>
<p>&nbsp;</p>
<p>そんな中、あるSES会社と出会い入社をしました。</p>
<ul>
<li>僕の揃えた武器に対して「君は努力のできる人だと思う」と評価</li>
<li>先輩のアセットとしてシステム開発の現場に入れてもらえる</li>
</ul>
<p>中々良い出会いが無い未経験からの転職活動だったので、このSES会社に出会えた事はとても嬉しかったです。</p>
<h3>業務内容</h3>
<p>本当に末端の作業員だという内容の業務をこなしました。（未経験で入社したのでそれは仕方がない）</p>
<p>具体的には以下のような内容です。</p>
<ul>
<li>テスト仕様書に沿ってテストを実施する
<ul style="list-style-type: circle;">
<li>エビデンスをスクショし、 Excel に貼り付ける</li>
</ul>
</li>
<li>HTML で書かれているページを Excel におこす
<ul style="list-style-type: circle;">
<li>現在の画面を仕様書に残すため</li>
<li>Git 使えや。クソが。</li>
</ul>
</li>
<li>データ移行（DB移行）
<ul style="list-style-type: circle;">
<li>これは勉強になった</li>
</ul>
</li>
</ul>
<h3>良かったこと</h3>
<p>未経験からの IT業界への初参入ということだったので、全てが学びになったという自負があります。</p>
<p>質問の仕方や会話の仕方など他の業界とは異なっている事を知れたのはエンジニアとしての学びでした（特に質問の仕方は何度もご指導いただきました。笑）</p>
<p>また、システム開発の概要を知れたのはかなり大きかったです。<br />
<span class="sc_marker blue"><strong>多くの人がそれぞれの役割をこなし、納期や予算と戦いながらゴールに向かった進んでいく姿勢はプログラムを書くだけが仕事ではないという事を学ぶことが出来ました。</strong></span></p>
<p>その他にも何かしらの病気を抱えている率が高いこと(生活習慣病、精神疾患)や小汚いおじさんに見える人が実はかなり稼いでいる事など業界 の知見が増えたのは人生の経験という観点からもすごく勉強になりました。</p>
<h3>悪かったこと</h3>
<p>悪いことを上げればキリがないのですが、特に印象深かったものを紹介します。</p>
<ol>
<li>先輩社員に意識を高く持っている人がいない（自社の先輩）</li>
<li>商流が深すぎて末端の作業</li>
<li>三次受けだが二次受けとして入場</li>
</ol>
<p>特に1番の意識の高い人がいなかったという事は <strong>エンジニアとして終わっている </strong>と思います。</p>
<p>当時の僕もそうですが、経験のない人はその現場が IT業界 の全てだと思ってしまいます。</p>
<p>そのためそれがデフォルトとなってしまうため、害悪以外の何物でもありません。（当時は分からなかったのですが、今となってははっきり言えます）</p>
<p>技術力が低くても高い志は持つべきというのが僕の信念です。</p>
<h3>SES をやめようと思った理由</h3>
<p>未経験からIT業界を目指した理由である「システムを作ってみたい」という目標にたどり着くのに時間がかかってしまうと考えたため、転職しました。</p>
<p>未経験から拾ってもらったこの会社には恩しかないのですが、なんのために頑張っているかを考えた結果、次のステップに行く決意をしました。</p>
<p>今となっては当時の決断と行動は良かったと思っています。</p>
<h2>受託会社時代</h2>
<h3>入社した経緯</h3>
<p>当時は<span class="sc_marker blue"><strong>とにかく開発がしたい</strong></span>という気持ちがかなり強く、プログラムを書けるお仕事に就く事を目的に仕事を探していました。</p>
<p>当時のスキルセットというか僕の経歴上、なかなか僕自身が目指していた仕事に就くことは難しい状況でした。<br />
その当時のスキルセットは以下になります。（未経験の実務経験1年に仕事があるはずがない</p>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 41.7838%; background-color: #aee3f5;">実務経験</td>
<td style="width: 58.2162%;">1年</td>
</tr>
<tr>
<td style="width: 41.7838%; background-color: #aee3f5;">スキルセット</td>
<td style="width: 58.2162%;">
<ul>
<li>PHP 1年（独学）</li>
<li>MySQL 1年（独学）</li>
<li>PL/SQL 1年</li>
<li>Oracle 1年</li>
<li>Java 6ヶ月</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>またスキルセットが薄い上に経歴もかなり汚れていたため、ハードルはかなり高い状況です。笑</p>
<p><strong>これ以上経歴を汚さない</strong> + <strong>目標にしていた業務内容（開発業務）</strong>の両方を達成するためには普通のやり方だと絶対上手くいかない事が目に見えていたので、<span class="sc_marker blue"><strong>派遣としてやっていこう</strong></span>と作戦を練りました。</p>
<p>派遣なら現場を転々としても履歴書には「202x年 x月 〇〇 入社」という形で書くことになるので、経歴が汚くなることを防ぐ事ができます。</p>
<p>また、開発業務に携わるのが難しいと判断したら次の現場に向かうのも正社員と比較して容易です。</p>
<div class="sc_frame_wrap inline blue">
<div class="sc_frame_title">スキル無いやつには派遣は結構おすすめ</div>
<div class="sc_frame shadow">
<p><span class="sc_marker blue"><strong>実力がない人に限ってはフリーランスやSESより派遣は結構強くおすすめします。</strong></span></p>
<ul>
<li>環境が悪い現場から逃げ出しやすい（経歴を汚さないで済む）</li>
<li>運とタイミング次第では自分が求めている環境に飛び込める</li>
<li>契約満了時は失業保険すぐ受け取れる（会社都合で申請できるため）</li>
</ul>
<p>ちゃんとデメリットは存在しますが、メリットのほうが大きいと思いますよーん</p>
</div>
</div>
<p>上記の考えから以下の派遣会社に登録し、いくつかの面談を受けました。</p>
<p>作戦はズバリ的中し、受託開発を行っている企業にプログラマーとして派遣されることが決まりました。<br />
この受託開発企業では3ヶ月の派遣期間が終了と同時に派遣元から引き抜きという形で正社員として入社させてくれたので何だかんだ運がよかったかもしれません。（かなりブラックでしたが笑）</p>
<h3>良かったこと</h3>
<p>本当に信じられないくらいの様々な経験をすることができました。</p>
<ul>
<li>顧客との打ち合わせ</li>
<li>要件定義</li>
<li>インフラ構築</li>
<li>開発</li>
<li>テスト</li>
<li>運用</li>
</ul>
<p>経験のない人間に上記のフェーズ全てを任せるのは企業としてはどうかと思うのですが、僕個人にはメリットしかない期間でした。</p>
<p>この企業で大きな学びとなったのは以下2点です。</p>
<ol>
<li><span class="sc_marker blue"><strong>各フェーズにおける苦労</strong></span></li>
<li><span class="sc_marker blue"><strong>セキュリティ</strong></span></li>
<li><span class="sc_marker blue"><strong>システムはお金を稼ぐ手段でしかない</strong></span></li>
</ol>
<p>特に3のシステムはお金を稼ぐ手段でしかないはという考えは<strong>一生の宝物</strong>だと考えています。</p>
<p>顧客にとって必要なものは最新の技術を使ったシステムやおしゃれなUIで仕上げられた中身のないシステムではなく<span class="sc_marker blue"><strong>今、目の前にある課題を解決するシステムが必要</strong></span>であるということです。</p>
<p>この点をあまり理解していないエンジニアは肌感として多いと感じています。</p>
<p>「誰のため」や「何のため」を意識していかないと自己満で業務をこなすエンジニアになってしまうので皆さんもご注意を。笑</p>
<h3>悪かったこと</h3>
<p>とにかく色々な案件を掛け持っていたので労働時間がかなり長かったです。（詳細は以下の記事を。笑）</p>
<p>[getpost id=&#8221;1204&#8243; target=&#8221;_blank&#8221; cat_name=&#8221;1&#8243; date=&#8221;1&#8243;]</p>
<p>労働時間の問題さえなければ勉強になる状態ではあったので続けたかったのが本音になります。</p>
<p>たくさん勉強できたので個人的には満足な期間でした。</p>
<h2>自社開発時代</h2>
<h3>入社した経緯</h3>
<p>受託企業では短期間で様々な経験をすることができたのですが、<span class="sc_marker blue"><strong>基礎をすっ飛ばして目の前の案件を納期までに何とか動く状態にする事を目的に開発業務を行っていました。</strong></span></p>
<p>簡単に言うと「<span class="sc_marker blue"><strong>保守性</strong></span>」「<span class="sc_marker blue"><strong>拡張性</strong></span>」「<span class="sc_marker blue"><strong>セキュリティ強度</strong></span>」が低い状態のシステムを作っていました。</p>
<p>エンジニアとしての能力値がかなり低い状態でしたので、次の現場では<span class="sc_marker blue"><strong>ちゃんとしたシステム開発を行っている企業に入社することを目標</strong></span>に転職活動を行いました。</p>
<p>ここでいうちゃんとしたシステム開発というのは以下のことを指します。</p>
<ul>
<li>セキュリティ意識が強いか</li>
<li>会社内でエンジニアの人権はあるか<br />
→人権ないと環境が整わないのでいい加減なシステム開発になりがち</li>
<li>強強エンジニアは在籍しているか<br />
→知見を元に良いシステムが何なのかを考えてくれるセーフティーライン</li>
</ul>
<p>&nbsp;</p>
<p>転職活動時は受託と自社に絞って求人を探していました。</p>
<p><strong>Green</strong> と <a href="https://px.a8.net/svt/ejp?a8mat=3HBU7V+NTDQY+2OTA+HY06A" rel="nofollow"><strong>転職ドラフト</strong></a>, <a href="https://px.a8.net/svt/ejp?a8mat=3N5XSA+1CTL5M+3SWM+HVFKY" rel="nofollow"><strong>TechClips ME（テックミー）</strong></a><img decoding="async" border="0" width="1" height="1" src="https://www16.a8.net/0.gif?a8mat=3N5XSA+1CTL5M+3SWM+HVFKY" alt="" />を使って本当にたくさんの求人を精査しました。</p>
<ul>
<li>前回の受託企業のような詰め込み型の令和の時代にそぐわない企業を避けるため。</li>
<li>どちらもエンジニア向けのサービスであり、経歴書を充実させることで企業からのオファーが来るので結構おすすめです。</li>
</ul>
<p>結果的に<a href="https://px.a8.net/svt/ejp?a8mat=3HBU7V+NTDQY+2OTA+HY06A" rel="nofollow">転職ドラフト</a>経由で出会った自社開発企業の面接官が以下の事を言ってくれたので転職することを決めました。</p>
<ul>
<li>君はまだまだ技術力が低い</li>
<li>まだまだ知るべき事はたくさんある</li>
<li>私達の会社で勉強しながら成長しないかい？</li>
</ul>
<h3>良かったこと</h3>
<p>いいものを作るというマインドが高い人に出会えた事が何よりも得難いものでした。</p>
<p>いいものを作るというマインドは過程の中では<strong>正しいプログラムの書き方</strong>や<strong>システムとしてあるべき姿</strong>を目指すことになるので、<strong>確かな技術力の向上</strong>が感じられました。<br />
（これが当たり前と言われればそうですが…</p>
<p>&nbsp;</p>
<p>また技術力の向上と合わせて<strong>組織の作り方</strong> も勉強になっています。</p>
<p>企業自体の従業員数は2000名ほどの人数を抱えているのですが、開発部は20名弱の組織体系です。</p>
<p>そのため正にこれからの組織という感じで、本当に価値のあるものを届けるために色々なアプローチを試しています。<br />
優秀な先輩たちが「<span class="sc_marker blue"><strong>これを達成したい</strong></span>」と目標を定めて取り組む姿は、過程も含めて勉強になっています。（エンジニアである前に人間ですからね。笑）</p>
<p>&nbsp;</p>
<h3>悪かったこと</h3>
<p>実際のところ、自社サービスを展開しているのですが毎月赤字という状況です。</p>
<p>どうにかこの状況を打開するために営業と開発が肩を組みながら頑張っている状況ですが、赤字という状況は肩身を狭くします。</p>
<p>現在、各数値が改善してきているので近いうちに黒字になってくれるはずでしょう。（希望的観測！）</p>
<p>&nbsp;</p>
<h2>所属会社の形態によって変わること</h2>
<table style="border-collapse: collapse; width: 100%; height: 145px;">
<tbody>
<tr style="background-color: #6fa4ed;">
<td style="width: 10.9003%; height: 45px;"></td>
<td style="width: 26.0788%; height: 45px;"><span style="color: #ffffff;">特徴</span></td>
<td style="width: 31.5104%; height: 45px;"><span style="color: #ffffff;">エンジニアスキル</span></td>
<td style="width: 31.5104%; height: 45px;"><span style="color: #ffffff;">ビジネススキル</span></td>
</tr>
<tr style="height: 10px;">
<td style="width: 10.9003%; height: 10px;">SES</td>
<td style="width: 26.0788%; height: 10px;">契約切られなければ何しても</td>
<td style="width: 31.5104%; height: 10px;">☆</td>
<td style="width: 31.5104%; height: 10px;">☆</td>
</tr>
<tr style="height: 45px;">
<td style="width: 10.9003%; height: 45px;">受託</td>
<td style="width: 26.0788%; height: 45px;">納期と太客が絶対</td>
<td style="width: 31.5104%; height: 45px;">☆☆</td>
<td style="width: 31.5104%; height: 45px;">☆☆☆</td>
</tr>
<tr style="height: 45px;">
<td style="width: 10.9003%; height: 45px;">自社</td>
<td style="width: 26.0788%; height: 45px;">いいものを作る</td>
<td style="width: 31.5104%; height: 45px;">☆☆☆</td>
<td style="width: 31.5104%; height: 45px;">☆☆</td>
</tr>
</tbody>
</table>
<h3>SES を悪く言うつもりはない</h3>
<p>上記の表で SES の評価が高くないのは、僕が所属していた SES企業 があまり良くないところだったからです。</p>
<p>友達が所属している SES 企業の話を聞く限り、結構条件は整っているなぁという印象があります。</p>
<ul>
<li>自社プレゼン会（自分で作ってきたものがプロダクトになる可能性）</li>
<li>案件選択性</li>
<li>以外にも平均勤続年数が高い</li>
</ul>
<p>本当にピンキリです。</p>
<p>&nbsp;</p>
<h3>エンジニアスキル</h3>
<p>エンジニアスキルは圧倒的に自社サービスが身につきます。</p>
<p>自社サービスに入社してよかったことにも記載したのですが、<span class="sc_marker blue"><strong>いいものを作るというマインドはかなり大きい</strong></span>です。</p>
<p>いいものを作ったところで売上が上がるとは限らないのですが、自分たちのサービスで下手なものを作るという事は絶対にしてはいけないことです。（わざわざ負債を抱える必要はない）</p>
<p>いいものを作るためには技術力が必要ですから、圧倒的に自社サービスが完勝です。</p>
<p>&nbsp;</p>
<h3>ビジネススキル</h3>
<p>ビジネススキルは圧倒的に受託開発が身につきます。</p>
<p>理由は<span class="sc_marker blue"><strong>お客様は神様という構図が成り立つ</strong></span>からですあり、<span class="sc_marker blue"><strong>お客さんとの調整をミスれば炎上してしまうという恐ろしい現実</strong></span>が待っているからです。</p>
<p>受託金額が高ければ高いほど無茶な要求をしてくるというのが肌感覚としてあったり、納期もなんやかんやで短く設定してきたりします。</p>
<p>また、ギスギスした社内であれば社内調整も必要のため、エンジニア業務以外の時間でかなりの労力が必要です。</p>
<p>顧客調整と社内調整の両方の観点からビジネススキルは受託企業の完勝です。</p>
<p>&nbsp;</p>
<h2>所属会社の形態によって変わらないこと</h2>
<p>エンジニアである限り不変なことです。</p>
<p><span class="sc_marker-animation y"><strong>技術力があり、所属先で価値を出せていること</strong></span></p>
<p>上記が達成できている人は<span class="sc_marker blue">どの現場に行こうがどの形態で働こうが最強のエンジニア</span>です。</p>
<h2>所属会社の形態に関わらず大切にしないといけないこと</h2>
<p>会社の形態によって特徴が違うのですが、学ぶべき点はどの形態の会社に行っても必ずあります。</p>
<p>そのため、1エンジニアとして最大限学ぶためには<span class="sc_marker blue"><strong>プロジェクトの中心にいることが大切</strong></span>になってきます。</p>
<ul>
<li>テックリード</li>
<li>スクラムマスター</li>
<li>上流担当</li>
</ul>
<p>「自社サービスで末端の作業員をやっています！」という人よりも「SES で俺がプロジェクト回しているぜ」っていう人の方が圧倒的に市場価値は高いです。</p>
<p>どの形態で働こうがこの考えは大切にするべきです。</p>
<p>&nbsp;</p>
<h2>最後に</h2>
<p>どの形態の会社で働くにせよ、自身の技術力を向上させ、プロジェクトで中心的な役割を果たすことを大事にしてください。</p>
<p>自分自身が何を考え、何を大事にするかで選択は変わってくると思います。</p>
<p>経験を通して学び、スキルを向上させ、満足の行くキャリアを歩めるように祈っています。お互いに頑張りましょう。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1392/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>新入社員に「フリーランスも視野に入れています」と言われて思ったこと</title>
		<link>https://otonan-syusyoku.work/archives/1390</link>
					<comments>https://otonan-syusyoku.work/archives/1390#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Mon, 04 Sep 2023 22:00:28 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[ポエム]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1390</guid>

					<description><![CDATA[年齢が近いということもあり、新入社員の教育係を任されて早1ヶ月。 お互いに少しづつ慣れてきたこともあり、新入社員の本音を聞くことが出来たのですが「フリーランスも視野に入れています」という言葉を聞いてしまいました。。 そん [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>年齢が近いということもあり、新入社員の教育係を任されて早1ヶ月。</p>
<p>お互いに少しづつ慣れてきたこともあり、新入社員の本音を聞くことが出来たのですが「<strong>フリーランスも視野に入れています</strong>」という言葉を聞いてしまいました。。</p>
<p>そんな出来事のお話です。</p>
<h2>新入社員の経歴</h2>
<p>当記事では新入社員の身バレ防止の為、あまり詳細なことを記述できないのですが、大体以下のような経歴です。</p>
<ul>
<li>実務経験なし</li>
<li>大学は情報系の学部ではない</li>
<li>ポートフォリオとして自己アプリは見せてくれた</li>
</ul>
<p>上記のような状態でした。</p>
<h2>フリーランスという違和感</h2>
<p>前提として僕はフリーランスになることに対して否定するつもりは一切ありません。</p>
<p>僕も実力があればフリーランスとして活動したいなーくらいの気持ちは持っています。(経費に多少の憧れが&#8230;笑)</p>
<p>むしろ、今後どうなるか見えない業界でもあるからこそ、稼げるうちに稼いでおくべきという考えもあります。</p>
<p>&nbsp;</p>
<p>では、何故今回の<strong>「新入社員のフリーランスも視野に入れています」</strong>という発言に違和感を感じたかというと、</p>
<p><span class="sc_marker blue"><strong>その実力でフリーランスになるのは厳しいぞ</strong></span></p>
<p>というのが率直な意見です。</p>
<p>&nbsp;</p>
<p>Gitの操作や小規模システムを構築する知見もない(サーバーとは何なのか、DBって？)レベルの20代が何を夢見ているのかと失礼ながら思ってしまったのですよ。</p>
<p>&nbsp;</p>
<p>その気持の中には<span class="sc_marker blue"><strong>「俺はこれまでにこんだけ苦労してきたんだ」</strong></span>という嫉妬や妬みの感情も入っています。</p>
<p>現実問題、エンジニアってボコボコにされて痛みを伴いながら成長していく方のほうが多いじゃないですか。<br />
（それが正かどうかは置いといて<strong>炎上プロジェクトの経験</strong>や<strong>レガシーな環境での開発経験</strong>は良い意味でも悪い意味でもエンジニアの素養や知見を育ててくれると考えています。</p>
<p>&nbsp;</p>
<p>僕自身、令和ではあまり見ない稼働300時間の受託企業で働いていた経験があるので、実力がないフリーランスに対してあまり良い印象は持つことが出来ません。</p>
<p>ただし、夢ある若者に対してクソみたいな感情を持ってしまったのは1社会人として良くないなぁと反省しています。</p>
<p>[getpost title=&#8221;受託&#8221; id=&#8221;1204&#8243; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
<h2>会社が受け入れた以上責任を持たなければ</h2>
<p>一通り思っていたことを吐き出せたので、これからはあるべき姿について語らせてもらいます。</p>
<p>今回の一連の内容について悪い感情もあったのですが、1社会人として学ぶべきものもありました。</p>
<p>&nbsp;</p>
<p>それは、<span class="sc_marker blue"><strong>会社側としては事業の拡大を目的に即戦力ではないとわかっていながらも雇っている</strong></span>ので、<span class="sc_marker blue"><strong>受け入れた会社は責任を持って教育していかなければならない</strong></span>ということです。</p>
<p>新入社員の方は経験を目的に、会社は事業の拡大を目的にという両者の利益が合致したからこそ同じ現場で働いているのでお互いがお互いに責任を果たす必要があるなと考えています。</p>
<p>&nbsp;</p>
<p>自分が採用の判断を下していないのに何で自分が面倒な思いをしなければいけないのかと思ってた時期もありましたが、採用判断は自分の上司が判断したことなので従うしかないのです。悔しかったら偉くなるしかないのです。会社員は世知辛いです。。</p>
<p>&nbsp;</p>
<p>今回の事案に関しては会社員としての責任を放棄する寸前だったので、上記の事柄について気づけてよかったです。</p>
<h2>駆け出しエンジニアが嫌われている理由がわかった</h2>
<p>学びはあったものの、今回の事案についてはやはりモヤモヤが残る一件でした。</p>
<p>&nbsp;</p>
<p>コロナが始まった頃に駆け出しエンジニアブームがあり、Twitter上ではそれをよく思わないベテランの方々がいました。</p>
<p>当時は夢を見て頑張っている人に対して何故こんなにも怒っているのだろうと思っていたのですが、当事者となってあの怒りの正体が分かりました。笑</p>
<p>&nbsp;</p>
<p>まー、実力がないとボコボコにされる業界なので全てのエンジニアが自分の望みを叶えれるよう努力していくしかないですね。。。</p>
<p>皆さん頑張りましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1390/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>おいらのためだけの絶望開発日誌　5/20〜</title>
		<link>https://otonan-syusyoku.work/archives/1320</link>
					<comments>https://otonan-syusyoku.work/archives/1320#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sat, 27 May 2023 02:50:39 +0000</pubDate>
				<category><![CDATA[生涯独学]]></category>
		<category><![CDATA[ポエム]]></category>
		<category><![CDATA[実務]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1320</guid>

					<description><![CDATA[精神面 タスクの早めの提出 割り振られたタスクに対して、早めに提出しレビューを依頼することを心がけることが出来た。 私は割り振られたタスクに対して時間をかけすぎてしまう節があるので、とりあえず動くものを作って早めにレビュ [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>精神面</h2>
<h3>タスクの早めの提出</h3>
<p>割り振られたタスクに対して、早めに提出しレビューを依頼することを心がけることが出来た。</p>
<p>私は割り振られたタスクに対して時間をかけすぎてしまう節があるので、とりあえず動くものを作って早めにレビューを貰うことを狙っての行動です。</p>
<p>レビュワーの時間を奪ってしまうのではないかという考えもあったのですが、一人で抱えてしまうよりも他の人の意見を頂いて次のタスクに取り掛かる方がチーム全体への貢献ができるのではないかと思っています。</p>
<p>チームの方から怒られる前に一人前のものを納品できるよう早めに成長したいところですね。</p>
<h3>新人さん</h3>
<p>基本的に私の所属チームの方はリモートの際にミーティング以外の時間に雑談をする文化がないです。（前の現場ではちょっとした雑談をする文化があっただけなので、一般的な話は知りません。）</p>
<p>僕も参画して1ヶ月ほどですが、疎外感を感じる時が多々あります。</p>
<p>そういう思いがあったので、リモート時には5分程度ではありますが、ビデオ通話を用いて顔を合わせちょっとした安心をお互いに持てるよう心がけています。</p>
<p>業務に影響が出ない範囲で続けていければいいなと。</p>
<h2>技術面</h2>
<h3>truthy/falsy</h3>
<p>厳格な真偽値を学ぶことになる。</p>
<p>これまではプログラムが「1」と「True」は正として扱うと考えていた。</p>
<p>そんな中で以下のコードが通らず驚いた。</p>
<pre class="line-numbers"><code class="language-php">$nonStrictBool = 1; //実際にはpreg_match()の戻り値
assertTrue($nonStrictBool);

//false</code></pre>
<p>※最終的には(bool)$nonStrictBoolという形で判定を行うことで対処。</p>
<p>&nbsp;</p>
<p>これまでPHPを扱っていく中で、このデータがの破損があった場合にシステムに大きな侵害が出るという予想がたった時だけ厳格な判定を行ってきた。</p>
<p>そもそもの話、全て厳格に扱えばいいだけの話なのでこれからは厳格に扱っていこうと思う。</p>
<p><a href="https://www.php.net/manual/ja/types.comparisons.php">PHP 型の比較表 ¶</a></p>
<p>&nbsp;</p>
<h3>array系関数を学ぶ</h3>
<p>これまでの人生、配列をforeachで回して加工処理を実行していました。</p>
<p>残念ながらPHPには便利な関数が充実しており、簡単に処理できることを知ってしまった。</p>
<p>[getpost id=&#8221;1312&#8243; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1320/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【PHPエンジニア】WEB系受託企業で月300時間稼働を10ヶ月続けた感想</title>
		<link>https://otonan-syusyoku.work/archives/1204</link>
					<comments>https://otonan-syusyoku.work/archives/1204#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Fri, 17 Feb 2023 02:30:46 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[業務]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ポエム]]></category>
		<category><![CDATA[実務]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1204</guid>

					<description><![CDATA[昨今、「自由に働ける」「高収入」といった話題が上がりやすいIT業界なのですが、WEB系受託企業で300時間/月稼働した感想を書きたいと思います。 &#160; この記事はジュニアエンジニアやミドルエンジニアを想定している [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>昨今、「自由に働ける」「高収入」といった話題が上がりやすいIT業界なのですが、WEB系受託企業で300時間/月稼働した感想を書きたいと思います。</p>
<p>&nbsp;</p>
<p>この記事はジュニアエンジニアやミドルエンジニアを想定している記事です。</p>
<p>同じ様な働き方やIT業界の働きづらさに怯えている方の参考になれば幸いです。</p>
<h2>前提</h2>
<p>所属先の簡単な概要です。</p>
<p>厳しい社内リソースと案件数だったため、高稼働の状態でした。</p>
<p>またタイトルで受託企業と謳っているのですが、元々は紙を扱った業種の会社だった為、古い体制が残り続けている会社となっています。<br />
そのため、システムを構築する期間を度外視した案件のとり方をしてきた結果が悲惨な状態を作り上げていきました。</p>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 27.6786%;">種別</td>
<td style="width: 72.3214%;">受託</td>
</tr>
<tr>
<td style="width: 27.6786%;">チームメンバー</td>
<td style="width: 72.3214%;">7ヶ月間は2人。最後の3ヶ月は4人。</td>
</tr>
<tr>
<td style="width: 27.6786%;">案件数</td>
<td style="width: 72.3214%;">12</td>
</tr>
<tr>
<td style="width: 27.6786%;">案件概要</td>
<td style="width: 72.3214%;">
<ul>
<li>予約システム</li>
<li>申請システム</li>
<li>営業管理システム</li>
<li>加入者情報閲覧システム</li>
</ul>
<p>&#8230;etc</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>なぜ300時間を耐えたのか</h2>
<p>結果的に退職することになったのですが、まずは何故300時間の働き方を耐えてきたのかをお伝えしたいと思います。</p>
<p>&nbsp;</p>
<p>一般的に「1日8時間×月20日+残業(5〜20h)=180〜200h」の働き方が普通だと思います。</p>
<p>そんな普通の働き方と比較して過酷な300時間の働き方を10ヶ月間も耐えたかというと自分の技術を伸ばしたいという目標があったからです。</p>
<p>&nbsp;</p>
<p>前職はエンジニアの人手不足、社内の技術ストックもない状態でしたので<span class="sc_marker blue">自分自身で目の前の案件を乗り切るしか</span>方法がありませんでした。</p>
<p>そのような状況下で働き続けたので肉体と精神を削って確かな技術を得ることができました。<br />
前職に入社するまでは、末端作業員レベルだったものが炎上案件を複数こなしたことで、1エンジニアとして市場に出れるレベルになったと思います。</p>
<p>まだまだ足りない技術のほうが圧倒的に多いのですが、エンジニアとして名乗れるラインには立つことができたので目標達成です。</p>
<h2>300時間働いて良かったこと</h2>
<h3>1→10までやらせて貰えた</h3>
<p>要件定義からテストまでの工程を自分が主軸となって経験できたのが何より得難いものでした。</p>
<p>各工程を経験したことによって、<span class="sc_marker blue">どのくらいの期間でどのレベルまで仕上げるのか</span>が少し想像することができるようになりました。<br />
小規模案件が多かったのでまだレベルは低いのですが、工程ごとに躓きやすい部分や作業者の負担について考える良い経験をもらいました。</p>
<p>&nbsp;</p>
<p>また、1→10の中で特に経験できて良かったことを挙げます。</p>
<ul>
<li>要件定義</li>
</ul>
<p style="padding-left: 40px;"><span class="sc_marker blue">本当に必要な機能なのかを含めて顧客が求めているものは何なのか</span>、<span class="sc_marker blue">顧客が求めているものは予算と納期にマッチしているものなのか</span>を考え、話すことができました。<br />
※ITについて知識が浅い顧客も中には存在していたので、技術可否や機能の不必要の判断を見誤ると案件が火を吹きます。(1つの案件で火吹いちゃいました。)</p>
<ul>
<li>設計</li>
</ul>
<p style="padding-left: 40px;">システム設計から始まり、外部設計,内部設計,DB設計などたくさんのことを考慮して、全体設計を考えていきました。<br />
設計って経験が必要ですね。。。</p>
<ul>
<li>技術選定</li>
</ul>
<p style="padding-left: 40px;">何を使ってシステムを構築するのか、ある機能を実装するために必要なパッケージの導入など。</p>
<h3>受託先企業の内部を見ることができた</h3>
<p>エンジニアならゲロを吐きそうになるデータの持ち方をしている企業さんやエンジニアなら何でも叶えてくれるという考え方を持った人に出会いました。</p>
<p>世間ではDXやIT化の推進などが叫ばれていますが、それらを達成するためには時間が必要なことを実感できました。</p>
<h3>技術に対するお金の考え方が身についた</h3>
<p>1エンジニアが個人単位で売れるものは技術ですが、会社単位で見るとお金になっているのは作り上げたシステムがもたらすITによる恩恵です。</p>
<p>受託企業では「複数の言語を書くことができます！」といった技術よりも、ITによる恩恵が重要だと思います。</p>
<p><span class="sc_marker blue">何ができるかよりも何を達成することができるのか。</span></p>
<p>&nbsp;</p>
<p>ただし、エンジニアである以上、技術にこだわる必要は絶対にあるはずです。</p>
<p>お金と技術が必ずしも比例していくわけではないので、ここは引き続き悩み続けていきたいですね。</p>
<h2>300時間働いてダメだったこと</h2>
<h3>体に異変</h3>
<p>特に感じていたのが以下の2つです。</p>
<ul>
<li>体重-7キロ</li>
<li>些細なことでカッとなる</li>
</ul>
<p>300時間働くということは何かを削る必要が出てきます。<br />
自分の場合は「睡眠」と「食事」でした。</p>
<p>フルリモートということもあり<span class="sc_marker blue">1日1食、6時間睡眠がデフォルト</span>となっていました。</p>
<p>&nbsp;</p>
<p>その結果、上記の異変が体に起きてしまいました。</p>
<p>得た経験が多かった反面、体への負担もかなり多かったと思います。笑</p>
<h3>社内を変えることができなかった</h3>
<p>退社する時には僕を含めて4名のチームでした。(先輩エンジニアも300時間)</p>
<p>月300時間働くということは人数に見合わない案件数や納期の短さ、部長がITに精通していないなどが挙げられるのですが、問題となっている原因を変えることができないまま退職することになりました。</p>
<p>解決できなかった問題を社内に残る人たちに押し付ける事は辛いもんですね。。</p>
<h2>最後に伝えたいこと</h2>
<p>目標があり、その目標を達成できる仕事ができるのであれば無茶な働き方をするべきだと思います。<br />
技術がほしい、お金がほしいなど目標がある方であれば多少の無茶をしてでもご自身の目標を掴み取ってほしいものです。</p>
<p>反対に目標がない(楽できれば良い)、目標に沿わない仕事しかできないのであれば、僕のような無茶な働き方はしないで欲しいです。</p>
<p>炎上も悪くないものですが、ご自身で考えて決定して行動していってほしいです。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1204/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【反省】エンジニア歴1年で初めてのリリース</title>
		<link>https://otonan-syusyoku.work/archives/1139</link>
					<comments>https://otonan-syusyoku.work/archives/1139#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sun, 29 May 2022 20:31:42 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[ポエム]]></category>
		<category><![CDATA[実務]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1139</guid>

					<description><![CDATA[前提 注意 この記事は2022年4月の記事です 条件 言語：PHP、JS、SQL(MySQL)、Bootstrap ソース管理：Git(GitHub) インフラ：AWS←上司がやってくれた 業界歴：1年と1ヶ月 納品物： [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>前提</h2>
<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title">注意</div>
<div class="sc_frame">
<p>この記事は2022年4月の記事です</p>
</div>
</div>
<h3>条件</h3>
<p>言語：PHP、JS、SQL(MySQL)、Bootstrap<br />
ソース管理：Git(GitHub)<br />
インフラ：AWS←上司がやってくれた<br />
業界歴：1年と1ヶ月<br />
納品物：予約システム</p>
<h3>案件の状況</h3>
<p>納期：1ヶ月半<br />
開発チーム：2人<br />
実施したこと：インフラ構築以外の全て</p>
<h2>良かったこと</h2>
<h3>インフラ以外を全て経験できた</h3>
<p>お客さんとの打ち合わせから入り要件定義、設計、開発、テストまでを体験できた事。<br />
すべての工程を自分が主軸となって進めていけたのは大きな経験でした。</p>
<p>要件定義や設計などの上流工程の名前は知っていたものの、やってみて初めて大変さが分かりました。</p>
<ul>
<li>どのように進めていくのか(工数管理)</li>
<li>要件のすり合わせ</li>
<li>設計</li>
</ul>
<h3>納期は守れた</h3>
<p>稼働時間はエグいことになったけど(炎上)、期限通りに納品できました。</p>
<p>実力ないと時間でカバーするしかないので、早く実力付けないといけませんね。</p>
<h2>反省点</h2>
<h3>ドキュメントは残しておくべき</h3>
<p>今回の案件では納品物が、モックと完成したシステムの2つという中々ふざけた内容の案件となっていました。<br />
(僕の中では仕様書や設計書を納品するのが当たり前と思っていたので衝撃でした&#8230;。<br />
納期が短く工数も足りていないという事で、作成したドキュメントは自分しか分からない内容となっていました。)</p>
<p>開発の途中でお客さんや担当営業者からデザイン変更や機能追加などが度々起こってしまい、仕様変更の度に<span class="sc_marker blue"><strong>要件とは違うことを証明することが出来なかったです。</strong></span></p>
<p>要件定義が終了した時点でドキュメントを残しておくべきでした。</p>
<h3>IT全般の知識必要</h3>
<p>お客さんとの均衡の際にITの幅広い一般常識が必要でした。</p>
<ul>
<li>要件を満たすためにはどういう機能が必要なのか(不必要なのか)</li>
<li>セキュリティは問題ないか</li>
<li>一般的なWebシステムとの比較</li>
</ul>
<p>お客さんから「これは出来るの？」と聞かれた際に「〇〇は✗✗なので△△です。」というような目的に沿った説明をすることが出来ませんでした。</p>
<p>経験が少ないとかは関係なく、<span class="sc_marker blue"><strong>Web屋を名乗っている以上プロとしての知見を持たなければいけません</strong></span>ねぇ。<br />
ただ、自分の中で確信が持てないことに対しては「調査した上でお返事致します。」と<span class="sc_marker blue"><strong>出来る事を前提に話を進めなかった</strong></span>事は良かったポイントです。</p>
<h3>設計は激むず</h3>
<p>設計はやっぱり難しい。あんなの経験ないと無理だよ。</p>
<ul>
<li>DB設計</li>
<li>クラス設計　等</li>
</ul>
<p>最適なデザインパターンや他人のコードなどから学ぶしかないなというのが率直な反省です。</p>
<p>先は長いなぁ。</p>
<h3>大事なのはデータ</h3>
<p>上司からのコードレビューからデータ保護のバリデーションが1つだけ抜けている部分がありました。</p>
<p>Webアプリケーションではデザインや実行速度など大切なことは沢山あるのですが、何よりもデータが一番の核だと考えます。</p>
<p>核となるデータに穴があったのが結構ショックでした。(見つけてくれた上司には感謝)</p>
<p>データ保護は大切に。。。</p>
<h2>総括</h2>
<p>色々苦しい事は有りましたが、リリースまでをやらせてくれたことに感謝します。<br />
沢山学べました。</p>
<p>リリース後は溜まっていくデータを見るだけでとても嬉しい気持ちになれました。<br />
またその反面、事故が起きていないかと怖い気持ちにもなってしまいました。</p>
<p>良いことも悪いことも経験できた案件よ。ありがとう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1139/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【勉強始めたばかりの方へ】HTMLとCSSは馬鹿にできない話</title>
		<link>https://otonan-syusyoku.work/archives/1126</link>
					<comments>https://otonan-syusyoku.work/archives/1126#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sun, 17 Apr 2022 00:46:33 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[ポエム]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1126</guid>

					<description><![CDATA[経緯 プログラミングを勉強した当初、HTMLとCSSは勉強する必要がないという記事を見かけたこともあり、HTMLとCSSの勉強をおろそかにしたままPHPやSQLの言語習得を目指しました。 しかし、お仕事の話や就職活動の話 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>経緯</h2>
<p>プログラミングを勉強した当初、HTMLとCSSは勉強する必要がないという記事を見かけたこともあり、<span class="sc_marker blue">HTMLとCSSの勉強をおろそかにしたままPHPやSQLの言語習得</span>を目指しました。</p>
<p>しかし、お仕事の話や就職活動の話の中で最低限のサイトを構築できるくらいのHTMLとCSSは身に着けるほうが良いという話も頂いたのでHTMLとCSSに自信を持って扱える様にしたいと考えました。</p>
<h2>HTMLとCSSは浅いようで広い</h2>
<p><span class="sc_marker blue">「浅いようで広い！」</span>というのが勉強を初めて一番感じたことです。</p>
<p>HTMLとCSSはプログラミング言語ではないから習得は簡単とよく耳にしていたのですが、いざ自分でコードを書いていくと、コード量が半端じゃないくらい多いことに気づきました。</p>
<p>&nbsp;</p>
<p>確かにPHPやJavaScriptのようにプログラミング言語ではなく、ロジックを考える手間が少ないので簡単だと言う意見も分からない気もしないが、</p>
<ul>
<li>ユーザビリティ</li>
<li>レスポンシブ対応</li>
<li>ユーザーに飽きさせない為に画面に動きを付ける</li>
<li>SEO対策</li>
</ul>
<p>など考えることがたくさんあることが分かりました。</p>
<p>&nbsp;</p>
<p>また、ECサイトなどの商品の購入などが発生するサイトを構築する場合などはボタン一つとっても、<br />
購買意欲が高まる色など、心理学といったIT技術以外の学問も応用するなど工夫しないと行けないこともある。</p>
<p>このように考えると、<span class="sc_marker y">プログラミング言語ほど難しくはないが幅広い知識が必要になってくるのが<strong>HTML</strong>と<strong>CSS</strong></span>だと思う。</p>
<p>&nbsp;</p>
<p>結局の所、<span class="sc_marker-animation y">HTMLとCSSはバカにしたらいかん。</span><br />
絶対HTMLとCSSをバカにしたらいかん。</p>
<p>&nbsp;</p>
<p>プログラミング言語はサイトやアプリに機能を持たすだけであって、見た目を作ってくれる訳ではありません。</p>
<p><span class="sc_marker blue">「IT技術をエンジニア以外の人にわかりやすく伝えているのがHTMLとCSS（見た目を作ってくれているから）」</span><br />
普通の人にでもIT技術を使ってもらえるようにしているのがHTMLとCSSの大きな役割の様な気がします。</p>
<p>※IT技術が浸透していない企業では、HTMLとCSSでWeb画面を作るだけで凄く褒めてくれます。普通の人の目線だとHTMLとCSSも立派なIT技術に該当します。</p>
<p>&nbsp;</p>
<p>もちろん、エンジニアの方にこの話をしたら笑われる気がしますが、僕は<span class="sc_marker blue">HTMLとCSSがWeb系のIT技術の土台の1つ</span>だと思っています。</p>
<p>だから<br />
<span class="sc_marker y"><strong>HTMLとCSSはバカにしたらいかん。</strong></span>と思っています。</p>
<p>ちなみにここまでHTMLとCSSを褒めてきたのですが、PHPのコードを書いているときが一番楽しいです。。。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1126/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
