14
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ジーズアカデミーAdvent Calendar 2021

Day 13

いきなりフリーランスをやってヒヤッとしたときの話

Last updated at Posted at 2021-12-12

@Earthfreedom さんからバトンを受け取りました、G's Academy 東京LAB4卒の大森と申します。

アドベントカレンダーの予約でもしないと記事を書かないので、
ほぼ昨年ぶりにQiitaを書きます。

面倒な水替えを自動化!RaspberryPiで自動水替えシステム作ってみた。WIP面白いですね。

IoTのツールはまだまだ感度の高い人しか身近に使えていない感じがするので、
IoT界隈の方々の活動を見るとついつい応援したくなります。

さて、僕はG's卒業後いきなりフリーランスになったので、よく
「どうやって勉強してるの?」とか、「失敗したとき怖くない?」とか聞かれます。

正直に言うと、失敗はときどきしてます笑
一緒に働く方々の支えやご厚意があって、なんとかやっていけてる状態です。

今回は今までで一番ヒヤッとした体験をお送りします。

簡単に自己紹介

2018年4月に東京LAB4期を卒業後、事業家およびフリーランスエンジニアとして活動しています。

エンジニア歴はもう4年弱といったところですが、
そのうち半分ぐらいはビジネスサイドをやっていたり、プータローしていたりなので、
実質的にコードを書いている経験年数的には2年ぐらいでしょうか。

いきなりフリーランスエンジニアをやることの問題

僕は最初からいきなりフリーランスエンジニアになるという、
今思えば悪手とも思える選択をしましたが、一番困ったことは誰も教えてくれる人がいないことです。

コードレビューももちろんそうですし、
案件の進め方、納品の仕方、チーム開発の方法、技術選定の方法、
全て完全に素人なので、合っているのかどうか不安でしかありませんでした。

そして何より、いざというときに助けてもらえる人がいません。
(案件の形態にもよりますが)

実際に経験したヒヤリハット

独立後間もない頃、某大企業のコーポレートサイト(WordPress)の刷新を任せていただきました。

Web開発というよりは、Web制作の案件です。

せっかくのリニューアルのタイミングなので、僕はクライアントに
「このままだとセキュリティ的によろしくないので、WordPressのアップデートもしておきましょう」
と提案しました。

WordPressのアップデートぐらい簡単に済むだろうと思っていたところ、
WordPressの最新版にするには、PHPを7系にアップデートしないといけないではないですか。
(PHPが5.3から更新がされていなかった!)

そして、その7系へのアップデートは、5.6からは自動でできるが、
現在の5.3からは自動でできず、一旦5.6に(多分)手動でアップデートしないといけない状態でした。

PHPのバージョン更新なんて、自分のローカルPCですらしたことないのに、本当に大丈夫だろうかと内心思いつつも、
手順を調べ、入念な準備とシミュレーションをし、テスト環境でアップデートに成功した上で、
リリースを約束した夜中に本番環境で作業を開始します。

作業内容自体はざっくり、

  • 5.3の削除
  • 5.6のインストール

です。

作業自体は簡単ですが、必要そうなパッケージを自分で手動で選択して(アン)インストールする上、
一つ一つのパッケージは中身を全く知らない状態です。

万が一何かがうまく行かないときにどうすればいいのか分からないリスクがあり、かなり緊張感があります。

とりあえず削除には成功し、インストールもしました。

さて、HPを見て動作確認...と。

あれ、何も表示されない。

「PHPが動いていない...だと...?」

はじめての経験に頭が真っ白になります。

背中を嫌な汗が伝い落ち、心臓がバクバク言っています。

さっき5.6のインストール時になんか変な表示があったような気がしたので、
もう一度terminalをよく見てみます。

テスト環境ではなかったエラーが出ている。

5.6のインストール時に、パッケージ間の依存関係の解決に失敗したようです。

(昔のことであまり覚えてないのですが、
確か必要なパッケージのバージョンを間違えたかなにかで、
テストしたときとはちょっと違うことをしたような記憶です)

エラーを急いで調べると、どうやらもう一度パッケージの削除からやり直すようです。

「これ、万が一直らなかったらどうなるんだ?」

最悪の事態がふと頭をよぎります。

どうやって先方に謝罪するのか、
発生した損失をどうやって個人の力で補填するのか(いや、できない)、
そんなことが高速で頭の中を駆け巡りました。

しかし、やるべきことは目の前のことです。

一度深呼吸をし、冷静になります。

「大丈夫、別に失敗しても命まではとられない」

そう思い直し、まずは先方にお詫びとともに今サーバーが動作しておらず、HPが閲覧できない旨をお伝えします。

そして、次にもとの5.3が動くようになれば最悪の事態はまず回避できるので、試します。

まずは、インストールに失敗した5.6を削除。

削除されたことを確認する。

ここまでは大丈夫。

そして5.3をインストール...

これが無事成功。

最悪の事態は回避できました。

あとは、バージョンアップの約束を守るべく、5.6(と7系)のインストールに再チャレンジするだけ。

この後は、テスト環境でやった通りの手はずで完了し、何も問題は起きませんでした。

後で振り返ってですが、
我ながらちゃんとやっててよかったなと思うのは、
手順書の作成とテスト環境でのテストです。

↓当時の実際の手順のメモの一部
image.png

今となっては当たり前ですが、
まだエンジニアの経験が浅いながらにも、
仕事の基本を押さえながら進めていたことが救いとなりました。

先方にも無事更新が完了したと報告もできました。

めでたしめでたし。

14
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?