どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。
フリーランスエンジニアはどんな働き方をしているのか?
ITエンジニアの1日(スケジュール)ってどんな感じになっているのか?
こういった情報ってググればいろいろ出てくるかと思います。
当ブログでも以下のような記事を書きました。
フリーランスエンジニアの1日を晒してみる
どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。 私は10年以上リーランスのITエンジニアをやっているのですが、こんなことを時々聞かれます。 「フリーランスの1日ってどん ...
続きを見る
まあ、よくあるやつですね。
どこにでも転がっているやつ(笑
メールチェックして、コード書いて、設計書書いて・・・みたいなもので、これはこれで1日のスケジュールを大まかにイメージできるでしょう。
それにどんなことやっているのかも、おおよそ想像できるかと。
しかし、世の中にはもっと勉強熱心、好奇心旺盛な人がいて
「それじゃあ、具体的に何やっているかよくわからん」
となるわけです。
実際、聞かれたので間違いありません(笑
私も「この職業、いったい何やってるんだろ?」って思うことありますし。
ITエンジニアに興味ある人にとっては、気になるところでしょう。
というわけで、ITエンジニアが日々どんなことをしているのか、ライブ感を意識しつつ詳細を晒してみます。
Slackでのやりとり
今はslackのメッセージにて仕事の7~8割は進んでいきます。
slackというのはメッセージのやりとりができる、LINEのグループチャットのビジネス版みたいなものです。
たとえば、こんな感じです。
補足すると、これはあるWebサービスを開発している中でのやりとりで、プロダクトオーナーはそのサービスの意思決定をする一番偉い人です。
私は開発の雑用係で、おおよその開発の進め方、進捗、問題点、品質などに口を出します。
プロダクトオーナーは開発に関しては素人なので、エンジニアとの間にも入ったりしますね。
上のやりとりはまさにそれです。
自身も開発することが多いですが、最近はやらないこともあります。
iPhoneアプリでメッセージ表示を実装
今度はまったく別のお仕事ですね。
1日の中で違う仕事を行ったり来たりはよくあること。
開発中のiPhoneアプリに「保存する」という機能を加えたときのことです。
テキスト、画像など何を保存するかはさておき、アプリで「保存する」は誰しも一度はやったことあるかと。
で、そのときユーザーに「保存しましたよー」ってアプリ側から教えてあげたい。
よくあるのはこういうやつ。
ただ、これだとちょっと野暮ったいし、「OK」や「はい」みたいなタップが必要で面倒。
なので、もうちょっと良い感じのお知らせのメッセージを表示させるように実装します。
完成形はこちら。
ブログ用にちょこっと変えました。
真ん中の登録ボタンをタップすると、下に「登録しました」とメッセージが表示されて、勝手に消えます。
このような動きをさせるためにコードを書きます。
Toast.swift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import UIKit class Toast { internal static func show(_ text: String, _ parent: UIView) { let label = UILabel() let width = parent.frame.size.width let height = parent.frame.size.height / 15 label.backgroundColor = UIColor.black.withAlphaComponent(0.6) label.textColor = UIColor.white label.textAlignment = .center; label.text = text label.frame = CGRect(x: parent.frame.size.width / 2 - (width / 2), y: parent.frame.size.height - height, width: width, height: height) parent.addSubview(label) UIView.animate(withDuration: 1.0, delay: 3.0, options: .curveEaseOut, animations: { label.alpha = 0.0 }, completion: { _ in label.removeFromSuperview() }) } } |
実はコードはたったこれだけ。
正確にいうと「Toast.show("登録しました。", self.view) 」という呼び出し部分も必要。
全体的な流れとしては
・保存操作の結果メッセージをどんな風に出すかを決める
↓
・便利なライブラリがないかちょっと調べる
↓
・自分で書いたほうがいろいろ良さそうなので、実装
↓
・テスト
↓
・Pull Requestを送る
↓
・MasterにMergeされる!
ライブラリというのは、便利な機能の塊みたいなもの。
最後から2番目のPull Requestですが、これはコードレビューを依頼することです。
コードレビューとは自分が書いたコードを第三者がチェックしてくれる工程です。
チーム開発だとよくやります。
最後のMasterにMergeされるは、例えるなら「下書きに保存してあるブログの記事をネット上に公開する」ようなものですね。
AWSのEC2からPostgreSQL(RDS)へ接続
ちょっと難易度を上げますので、何を言ってるのかわからないかもしれません。
どういったことをやっているか、イメージだけ持ってもらえればと思います。
AWSのEC2からPosrtgreSQL(RDS)へ繋ぎたい。
「ステージング環境のDBをのぞきたい」なんてことはよくあることです。
誰かが道を作ってくれていたなら、そこを通ればいいだけですが、そうでない場合も多々あります。
まずはEC2にsshで入ります。
$ ssh ***@**** -i ~/.ssh/keys/***.pem
ってな感じのコマンドを叩きます。
コマンドとはコンピューターに命令する「言葉」みたいなもの。
コンピューターに「ファイルを保存して」と日本語で書いても理解ができないため、コマンドという言葉を使います。
postgresqlのクライアントが入っているか確認・・・ないのでインストール。
yum install postgresql96.x86_64
というコマンドを叩きます。
postgresqlのクライアントが無事入ったら、こんな感じで繋ぎます。
psql -h ***.ap-northeast-1.rds.amazonaws.com **** -U **** -d ***
またコマンドを叩きます。
あとは、やりたかった作業に入ります。
こういった細々とした作業もエンジニアは必要に応じてやりますね。
まとめ:ごく一部ではあるがリアル
私が日々やっていることを一部ご紹介してみました。
もちろん、いろんなITエンジニアがいて、開発しているものもチームも、レベルも様々です。
なので、ごくごく一例にしかすぎませんが、リアルでもあります。
少しは参考になったでしょうか?
参考になれば幸いです。