ダメ漢ジョンたろうの生存戦略

どうしたら楽に生きられるのでございましょうか

新ためて、自分のために働くということ

 こんばんは、ジョンたろうです。いつの時代も、若い世代は上の世代から見て「新人類」のようですね。最近の若い世代(僕らですね)が好きな言葉として、「自分のために働く」、「残業は必要以上にしたくない」、「スキルが付く仕事がしたい」なんてのがあると思います。これが示すのは「自分のために働く」ということです。これを好かない上の世代も居るわけですが、3年近く働き、広範囲・高責任の仕事を担当する今となっても、これは至極真っ当な考え方だ思っています。

会社に尽くすつもりが無いなら残業はしない

 日本の平均労働年齢40歳を超えていますので、上の世代という言葉が示すところは感覚として45歳以上といった所です。つまり僕らが生まれた頃には丁度働き始めた世代ということですね。本当にあと15, 20年と逃げ切れるのかは定かでありませんが、この世代の多くは「終身雇用」を前提とした働き方をしてきました。それは会社に尽くす見返りに、生涯に渡って安定した生活を提供してもらえるという信仰のようなものでもあります。

ひとまずIT業界で3年近く働き、様々なレイヤの仕事を担当してきた中で感じるのは(働く前から思っていた通り)、自社の中で得た知識や経験を抽象化できれば、おそらく他の場所で働いていも通用するだろうということです。多くの人は同じ考えを持っているでしょう。逆に言うと、抽象化できない業務は自社の外では役に立たないということです。社内専用書類の書き方とかそういったものは、上の世代にとっては重要な可能性もありますが、私たちにとっては否です。

重要でない仕事で残業するのは時間がもったいないです。その会社に尽くすつもりなら、むしろ積極的にやった方がいい場合もあるでしょうが、そうでないなら、不要な仕事は限りなく減らし、残業をしない方が自分のためです。

価値のある重労働も存在する

 逆に、長時間労働を担当する価値がある場合も存在します。例えば抽象化しやすくて、具体的な部分でも自らの血肉となり得る業務に関しては、残業してでも掴み取るというのはアリでしょう。また、自分のキャパを知る目的でアホみたいな量の仕事(それが重要な業務ではなくても)を敢えてこなす人体実験をしてみるのもアリだと思っています。

実は私も、こういった自身の心身を使った人体実験はたまに敢行することがあります(今もそんな状態です)。業務量的な実験も良いですし、マルチタスク的な実験もいいですね。例えば今、私は4つのPJに掛け持ちで入っていて、それぞれの中で業務的にもIT技術的にも様々なレイヤの業務を担当しています。残念ながらきちんと務まっていませんが、今のところ「若手だから」である程度は許されています。ある程度の年齢になると、周りの許容値が低くなってきますので、無理をしても問題にならない(問題が発生しないとは・・・)若い内に、色々試すというのは在りだと思っています。

また、どう考えても非効率な仕事や、社内独自の仕事であっても、それを自動化する試みをしたりするのは在りだと思います。例えば私の会社では、主にRedmineというWebアプリで各PJの課題管理を実施していますが、お客様事情があったり、以前から長く続いているPJでは、未だExcelの課題管理を継続しているところもあります。そういった環境故に、RedmineExcelを連携させたいという要望が数多くあったため、talendというETLツールを使って、簡単に連動できる環境を構築してあげました。私は時間さえあれば、こういう部分の改善を積極的に進めています。社内システム故にプロセスはそれほど問われませんので、あまり保守が大変な技術を使わない限り、好きなやり方試すことが出来ます。普段関わらない社員からの評価も上がるので、非常に美味しいです。

自分のために働くことが重要

 タイトル通りですが、将来の自分像的なモノから逆算したときに、重要な仕事を優先してこなすことが重要だと考えています。それが自分のために働くということではないでしょうか。今の会社で昇り詰めたいなら、社内独自の仕事であっても率先してバリバリ消化していくことが評価につながる場合もあると思いますし、そうでないなら自己研鑽の効率を重視した仕事のやり方を取った方が良いと私は考えています。

どんな選択をしてもリスクがあると思いますので、どうするのが自分にとって最適なのか、常に考えながら働くようにしたいですね。

仕事は結局体力なのかなあと

 こんばんは、ジョンたろうです。最近は全く余裕がなく、上司からも慌ただしいねえなんて言われる日々でございます。疲労が溜まり、手際が悪くなり、仕事は減らず、むしろ増えて、残業が増え、疲労し・・・。もはやこの繰り返しですね。問題なのは、この負の連鎖に入ってしまったことです。負の連鎖に入る前に、重要な場面で悪い流れを断ち切る必要があったと思うのです。そこに必要なのはやはり、「体力」なのかなあと思いました。

究極的に見れば全ての仕事は同じ

 分野によって、必要となる知識や最終工程は変わりますが、仕事という単位で見ると、やることってそんなに大きく変わらないと思うんですよね。結局どんな仕事も、顧客の話を聞く → どのように問題を解決するか決める → 解決するためのツールを選ぶ → 具体的な解決策を練る・実行する っていう流れですよね。私の居るIT業界もまさにこれなわけです。

高度に専門的な知識や技能が必要となる分野もあると思いますが、基本的には「馬力」や「体力」が最も重要なんじゃないでしょうか。忍耐強く人の話を聞き、泥臭く質問し、諦めずに解決策を練り、血眼になって最適解を探し、地道に課題を潰していく。99.9%の仕事はそんな感じではないでしょうか。

体力の低い人は負の連鎖を生む

 例えば私のように体力が低い人でも、100%のときは良いのですよ。どんな人でもそうでしょう。体力が満タンなら、どんなに普段運動していない人でも10mくらいはダッシュできますよね。だから仕事が少ない時は大丈夫なのです。一日に体力が20%回復するとして、毎日の消費が15%くらいなら、毎朝100%の状態で仕事に臨めるわけです。毎日全力で業務に向かえるわけですね。

問題は仕事が自分の体力回復量を超えているときです。仕事の山場においては、だいたい1カ月くらいの間ピークが続いたりすると思いますが、体力の低い人だと、その間にエネルギーが限りなく削られてしまうわけです。0%になると会社に来れなくなってしまいますから、残りが10%くらいになると、本能的な危機感から温存モードに入り、ダラダラ仕事をやりながら、50%くらいに戻るまで何とかやり過ごします。

50%まで戻っても、仕事は溜まっていますから、また毎日少しずつ削りながら、残り30%を残して何とか山場を切り抜けたとしましょう。しかし残念ながら、忙しい時期というのは繁忙期などの関係もあって、周期的に訪れるんですよね。つまり、体力が30%の状態で、また仕事のピークを迎えるわけです。

体力の高い人は常に万全で望める

 打って変わって体力の高い人は、多少負荷が高くても毎日の消費HPが相対的に少ないんですね。ですので、仕事のピークを迎えた時にそれなりの状態で臨めるわけです。体力の高い人はこの瞬間、待ってましたとばかりにブーストを掛けます。すさまじい馬力で、後に残さず山場を切り抜けることができます。

そんなウルトラマンでも、さすがに胸のカラータイマーがピコンピコンと成り出すわけですが、その時にはすでに体力の回復量 > 毎日の消費量 という日常に戻っていますので、徐々に回復していきます。ですから、次のピークが襲ってきたときに、また高いパフォーマンスで仕事をすることが出来るのだと思います。

体力が低い人はどうするか

 すいません、結論用意してません。もう疲れたよぅっていう嘆きでございました。私たち非マッチョは、もう諦めて楽な仕事を探すか、体力の回復量を上げてくれる何かを手に入れる他ないですね。ヒーラーですね。ナースかプリーストかな。つまり、とりあえず彼女を作りましょう。メイドでもいいですね。もう寝ましょう。

良い人間関係は自然形成されない

 こんばんは。ジョンたろうです。良い人間関係というと、皆さんはどんなものを思い浮かべますでしょうか。高校球児の爽やかな友情、トロけるような男女の甘い関係、将来を語り合う社会人の熱気、絶対に切れない家族の結束・・・色々ありますよね。映画、漫画、小説の中では、まるで作為的でなく自然的に発生した美しい関係のように扱われますが、あまりにも美化されすぎているように思います。私は25歳という年齢になってようやく、このことに気が付き始めたのであります。じゃあ私たちは何をすればいいのか、何処までやればいいのか、というのが今回の話題でございます。

人間関係は作為的なもの

 人間関係を作る目的って何でしょうか?私は「精神的な豊かさ」と「金銭的な豊かさ」を向上させるためだと考えています。今回は「精神的な豊かさ」を重視してお話を進めていきますが、どちらにせよ人間関係というものは、自分自身がより豊かな人生を歩むために、言い方は悪いですが利害の考えを持って構築されるものだと思っています。ですから人間関係というのは、あくまでも作為的なものだったりすると思います。

考えるまでもなく、自分をイライラさせたり、惨めな気持ちにさせたりするような人と付き合たくないのは当たり前のことですよね。そんな人と付き合うことはマイナスにしかなりません。良い人間関係を構築するには、相手から嫌がられない振る舞いを努力をして身につける必要があります。お互いが相手を不快にさせない振る舞いが出来て初めて、お互いにとってプラスな影響を与え合うことが出来るのではないでしょうか。

当たり前のことをする努力

 努力と言っても、そんな難しいことではなく、当たり前のことを当たり前にする必要があると思っています。例えばこんなことです。

  • 好意的な態度をとる
  • 話を振られたら丁寧に答える
  • 相手の方を向いて聞く・話す
  • 相手の言っていることを最後まで聞く
  • 何かをして貰ったらお礼を言う
  • 間違ったことをしたら謝る
  • 他人の物を丁寧に扱う

 こうして並べて見ると当たり前のような気がするものの、意外と出来ていないことってありませんか?私も自分で書いていて、出来ていないときがあるなあと心当たりがありました。厳密に重要度順で並べたわけではありませんが、一番上の「好意的な態度をとる」というのは絶対条件だと思っています。お恥ずかしながら、私はつい最近まで出来ていませんでした。最初から「話さない」ということを決めていたような時すらあったように思います。

人間関係というものは、相手に「自分はこういう人間だ」と分からせるものではないように思います。つまり、「私は無口な人間だ。私からは喋らない。全てそちらから話題を振ってくれ。」、「私は気安く人と仲良くならない人間だ。仲良くなりたければそちらから歩み寄れ。」では人間関係が構築できないということです。無口や人嫌いを否定しているわけではありません。ただし、人間関係を充実させたいのならば、努力をして好意的な態度を取る必要があるように思います。

補足ですが、私は人間関係が狭いながら、日本を除いた数か国の方と仲良くしてきました。大らかさや明るさなど、性格的な違いは国によってもちろん違いはありますが、基本的なことは同じであるように感じています。

当たり前+αをする努力

 当たり前のことだけでは上手くいかない場合があります。むしろ年齢が上がると、上手くいかなくなる場合の方が多いのではないでしょうか。年齢が上がるにつれて、仕事や家庭でのストレスは増していきますし、自分の時間が少なくなっていきます。忙しい中でも調子を保つために、自分のペースを維持する必要がありますし、時間に対する厳しさも増していきます。そうなると、言い方は悪いですが、プラスにもマイナスにもならない付き合いというのは敬遠されるようになるものです。ですから、例えばこんなことが必要になって来るように思います。

  • 相手の調子の良し悪しを見極める
  • 相手の事情を考える
  • 相手が次に取る行動を見極める
  • 相手の予想を良い意味で裏切る

凄く抽象的になってしまいました。簡単に言うと、相手を観察して行動をする必要があるということです。友人と出かけた時、体調が良さそうか。悪そうであれば移動範囲は狭くする。あるいは、次の日は仕事ではないのか。仕事ならば速めに切り上げる。大げさすぎるのは良くありませんが、見えそうで見えない気遣いが一番うれしいものではないでしょうか。

私が最近嬉しかったのは、遠方の友人へ会いに行ったときのことですが、当たり前のように食事代を幾らか持ってくれたり、アイスを驕ってくれたり、帰りにお土産を持たせてくれた時のことです。こちらは遠方から来ている=移動費が沢山かかっていることを知っているので、気を遣ってくれたということですね。学生の頃だと恥ずかしさみたいなものもありますが、ある程度の年齢になると、「自分との時間を大切にしてくれている」と感じて素直に嬉しいものです。

インターネットな時代だからこそ

 今は大変多くの人や物がインターネット上で繋がっていますよね。奇麗だったり大げさだったりと、目立つものが重視されていて、多対多・1対多の繋がりが増えてきた時代ではあります。しかし、だからこそ地味で身近な生身の人間関係というものが、より一層に有難く感じるようになってきたようにも思います。気遣いを忘れず、暖かい人間関係を形成していきたいですね。

OracleでROWNUMで行数指定するSQLについて

 こんばんは。ジョンたろうでございます。今回はOracleを使う時の話で、あるテーブルの10000件目から10010件目までを取得したときとかありますよね。つまり、開始行数と終了行数を指定して、その間のデータだけ取得したいときです。アンチパターンなども交えて説明していきます。

正しい取得方法①ROWNUMを使う

 いくつかのパターンがございますので、それぞれ紹介していきます。

※テーブル名:tableX(主キー:rowA)

1.1行目からN行目まで取得する(並び替え無し)

SELECT rowA, rowB, rowC 
  FROM tableX    
 WHERE ROWNUM BETWEEN 1 AND N;

2.1行目からN行目まで取得する(並び替えあり)

/* 正解 */
SELECT rowA, rowB, rowC 
  FROM (
    SELECT tableX.*, ROWNUM 
    FROM tableX
    ORDER BY rowB 
  )
 WHERE ROWNUM BETWEEN 1 AND N;

/* アンチパターン */
SELECT rowA, rowB, rowC 
  FROM tableX
 WHERE ROWNUM BETWEEN 1 AND N
 ORDER BY rowB;

アンチパターン
 ROWNUMはOrder Byの前に評価されますので、tableXの1行目から最終行まで行番号が振られた後でOrder Byされます。つまり、並び変える前の順番でレコードを取得してしまいます。

3.S(>1)行目からT行目まで取得する(並び替え無し)

/* 正解 */
SELECT rowA, rowB, rowC 
  FROM (
    SELECT tableX.*, ROWNUM RN
    FROM tableX 
  )
 WHERE RN BETWEEN S AND T;

/* アンチパターン */
SELECT rowA, rowB, rowC 
  FROM tableX    
 WHERE ROWNUM BETWEEN S AND T;

アンチパターン
 ROWNUM対して、S(>1)以上の条件を与えると、何故か結果が1レコードも取得できなくなります。理由は分かりません(教えてください)。

4.S(>1)行目からT行目まで取得する(並び替えあり)

/* 正解 */
SELECT rowA, rowB, rowC
  FROM( 
    SELECT most_inner.*, ROWNUM RN
      FROM (
        SELECT *
          FROM tableX
         WHERE rowB = 'hoge'
         ORDER BY rowC 
      ) most_inner
     WHERE RN <= T -- パフォーマンス的に入れた方が吉 ※
  )
 WHERE RN BETWEEN S AND T;

◆補足  アンチパターンについては2~3を参考にしてください。なお、※の部分ですが、このWHERE句はパフォーマンス向上に入れた方が良いです。Oracleバージョン12c以上だと、count stop key というアルゴリズムが適用されます。ORDER句で並び変えるときに、ROWNUMで行番号の「以下」条件を指定している場合、その番号に達したら途中でソートを打ち切ってくれるというものです。

例えば、50万件のレコードが格納されているtableXをWHERE句(rowB = 'hoge')で絞り込み、更にORDER句でrowCのDESCで並び変え、そのうちの1501件目から2000件目までを取得するとします。まさに上記のSQLになりますね(S=1501, T=2000)。このとき、WHERE句によって抽出された件数が10万件になったとしましょう。その際、上記※部分の「以下」条件を入れた時と入れなかった時の動作を見てみます。

・「以下」条件なし:
 抽出した10万件全てをORDER句で並び替え、10万件すべてにROWNUMを振り、最後に1501 <= ROWNUM <= 2000 で抽出する。

・「以下」条件あり:
 抽出した10万件をORDER句で1件目から順に並び替えを開始し、2000件に到達したらその時点で並び替えを打ち切り、最後に1501 <= ROWNUM <= 2000 で抽出する。

つまり、「以下」条件なしと比べ、「以下」条件ありの場合は、2001~100000件目のソートが必要なくなるということです。並び替えは非常にコストの大きい処理ですので、パフォーマンスにもかなり差が出ます。

ROW_NUMBERを使う方法も

 以上でございます。行数指定はROWNUMの他、ROW_NUMBERを使うことが出来ます。ROW_NUMBERはSQL規格の仕様なので、MySQLPostgreSQLでも使うことができ、汎用性がありますので、次回説明しようと思います。ただし、ROWNUMとROW_NUMBERでは処理の方法が異なり、状況によってパフォーマンスにも違いが出ますので、それについても併せて解説できればと思います。ありがとうございました。

VPNの種類と相違点を簡潔にまとめてみる

 こんばんはジョンたろうです。この度お客さんから、社内ページのリモートアクセス用にVPNを構築してほしいと言われまして、少々調べることに致しました。VPNが大体どんなものかは知っておりましたが、ワタクシはあくまでも業務アプリケーションエンジニアのため、一から構築したことはございませんでした。そこで改めて調べてみると、これが結構ややこしかったです。忘れないうちにまとめておくことに致します。

VPNは2種類に大別できる

 VPNは大きく分けて2種類に分けることができます。それがInternet-VPNIP-VPNです。それぞれについて以下の表にまとめてみました。

種類 説明
Internet-VPN 通常のインターネット網の中で構築されるVPN。今回ワタクシが扱うのはこちらになります。
回線業者によるVPN 回線事業者の専用ネットワーク網を使ったVPNで、設定等も回線業者任せ。さらにIP-VPNと広域イーサネットVPNに分けられる。

 なお、回線業者によるVPNの細かい話は割愛させていただきます。

◆参考:
IP-VPNとインターネットVPNは何が違う? | 日経 xTECH(クロステック)

インターネットVPNは2種類に大別できる

 インタ―ネットVPNにも2種類あるんですね。以下の表のとおりです。

種類 説明 利点 主な用途
IPsec-VPN IPsecプロトコルによるVPNネットワーク層以上を暗号化する。 設定が柔軟(逆に言えば複雑)で、動作がやや早め 拠点間接続
SSL-VPN SSLTLSプロトコルによるVPN。セッション層以上を暗号化する 設定が単純でクライアントソフトを配布しやすい リモート接続

◆参考:
VPNとは

IPsec-VPNについて

 IPsec-VPNは、更に2種類に分けられます(またかよ!)。以下の通りです。

種類 説明 用途
トランスポートモード ネットワーク層よりも上を暗号化する(元のIPは暗号化されずに保持される) 特定端末間のVPN接続
トンネルモード ネットワーク層以上を暗号化する(元のIPが暗号化されて保持される) 拠点間のVPNルータ同士の接続

 現在では一般的にトンネルモードを用いられるようです。何故なら今の時代、特定のコンピュータとコンピュータをVPNでつなぐパターンというのは少なくて、大抵は各拠点のLANとWANの間にVPN対応ルーター(兼ファイアウォールだったりもします)が入っているからです。またトンネルモードを使えば、暗号化するのはVPNルーター間だけでよくなるため、LAN内の各端末でVPNの設定等は必要ありません。

また、VPNで所謂NAT越えをするには、NATトラバーサルというIPsecの拡張技術が必要になります。通常のIPsecではTCP / UPDヘッダーを暗号化してしまうため、VPN接続先に到達する前にルーターがあると、そこから先へ進めません。そこで、暗号化したパケットとIPヘッダーの間にUDPヘッダー(ポート4500)を付与することによって、NAT / NAPTを通過することが出来るようにしたものが、NATトラバーサルになります。

◆参考:
トランスポートモードとトンネルモードの2つの通信モード : 情報処理安全確保支援士(情報セキュリティスペシャリスト) - SE娘の剣 -
IPsec - NATトラバーサルとは(仕組み)

SSL-VPNについて

 SSL-VPNは、更に4種類に分けられます(ギョエエエエエエ)。以下の通りです。

種類 説明 必要条件
よくあるHttps通信(仮名) プレゼンテーション層以上を暗号化する。https://で始まるURLのWebサイトを見るときに使う。 ブラウザがあればOK
リバースプロキシ プレゼンテーション層以上の暗号化 + リバースプロキシ。イントラネットワーク内の特定サーバーへの接続する用途で使う。アプリケーションプロトコルSSL適応可能なもののみ。 SSLに対応しているアプリであればOK
ポートフォワーディング トランスポート層以上を暗号化する。イントラネットワーク内の特定ポートのサーバーへの接続。TCP/UDP以降を丸ごとSSLで暗号化するのでポート番号が変化するアプリケーションでなければ何でもOK 専用VPNソフトを用意
L2フォワーディング データリンク層以上を暗号化する(MACアドレスも含めた全パケット)。どんなアプリケーションでもVPN接続可能 専用VPNソフトを用意

 一つ目についてですが、普通のインターネット上のウェブサイトをHttpsで閲覧するとき(例:はてな)の暗号化をVPNと呼ぶかは分かりませんが、整理するために一応載せておきました。

◆参考:
SSL-VPN入門 第3回 SSL-VPN の実現方法その2 (ポートフォワーディングとL2フォワーディング) : Fujitsu Japan

IPsec-VPN(トンネル)とSSL-VPN(L2)

 トンネリングモードのIPsec-VPNとL2フォーワーディング方式のSSL-VPNの共通点は、どんなアプリケーションでもVPN経由で利用できることです。じゃあ何が違うんでしょうか、ということで各々の利点をまとめました。

種類 利点
IPsec-VPN ネットワーク層以上を暗号化するため、プレゼンテーション層以上を暗号化するSSLに比べてオーバーヘッドが少なく、通信速度が速い。
SSL-VPN Web経由でアクセスして簡単にクライアントソフトを取得できる(配布が簡単)。IPsecに比べて技術的な難易度が低い。

 最初の方でも述べたように、IPsecは拠点間の常時接続、SSLはリモート接続で利用されることが多いですが、これは上表のような違いがあるからですね。多少設定が難しくても、拠点間はつなぎっぱなしだから、出来る限り早い方がいいのでIPsec。リモート接続は多少速度に難があっても、複数のユーザーに出来る限り簡単に接続して貰えることを優先してSSLとなるわけです(だと思います)。

◆参考:
【連載】SSL VPN(2)IPsec VPNとの比較にみるSSL VPNの真価 本記事はNETWORK Guide 2006 SPRINGより転載したもので、内容は当時のものになります。|ビジネス+IT

暗号化方式について

 今日は力付きました・・・。後日まとめます。

以上になります。ご不明点・ご指摘等ございましたら、ご遠慮なくどうぞ。ありがとうございました。

仕事人生、遠回りしたっていいじゃない

 こんばんは、ジョンたろうです。今回は、キャリアなんて完璧じゃなくていいじゃない。もっと遠回りしていいじゃないって記事でございます。ワタクシはSEという仕事をしておりますが、この職種にもプログラマ(半年)=> SE(3年~10年)=> リーダー・マネージャー( => 営業) みたいな何となく決まったルートがあるような感じがします。皆さんのお仕事はいかがでしょうか。でも、別に決められたキャリア通りじゃなくてもいいんじゃないの?と思ったので書き殴らせていただきます。

そもそも40年も働くんですよ

 キャリア、ステップアップ、、、そんな言葉よく聞かれますが、そんなに順当に生きていく必要があるのでしょうか。考えてもみてください。多くの人は新卒として社会に出ててから40年も働くんですよ!

全然違う世界ではありますが、スポーツの世界を見てみましょう。一流プロ選手は、大体小学生に入るか入らないかの頃(5歳)に特定のスポーツを始め、20歳くらいでプロとして台頭し始め、25歳くらいにピークを迎えるわけです。この間約20年です。ものすごく単純な計算ではありますが、40年という歳月は超一流の分野を2つも持てるかもしれないくらいの期間なのです。

そんなに能力が無くても生きていけますよね

 では社会人の多くはみんな超一流かというと、そんなことはないですよね。すごく感覚的で、言い方も悪いのですが、ほとんどの社会人は良くて2流、大抵は3, 4流くらいだと思います。

煽ってるわけではないのですが、世の中の社会人って、みんなそんなに頑張って能力を伸ばしているわけではないですよね。そんなに能力が無くても、ある程度お給料をもらって生活ができるわけです。

キャリアに沿らなくてもいいと思います

 ワタクシは働き始めて3年目ですので、最近は求められるお仕事もエンジニアというよりも営業(コンサル)的であったり、人を管理・指示するような業務になってきております(SEの一般的なキャリアとはそういうものなんです。一応エンジニアではありますが、年次が上がると営業同様に直接的な「稼ぐこと」を求められるのです。プログラミングはしなくなります。)。

でも元々はエンジニアとして働きたくてこの仕事に就いたわけですし、3年じゃIT技術のことについてもまだまだ未熟ですから、もう少しエンジニアとして働いて、知識やスキルを身に着けたいと思うわけです。せっかく40年働くのであれば、血や肉となる技術・知識を身に着けたいじゃないですか。

ですので、社内では異端ですが、業務の中でも結構プログラミングをしていますし、仕事の外では基礎技術(つまりお金にならない・直接仕事にはつながらない分野)の勉強をし続けております。何の役に立つの?とは聞かれますが、そんなこと知る由もありません。ただエンジニアとして基礎技術を十分に知らないのは気持ち悪いと思うだけです。

将来のことはどうせわかりません

 将来のことは全く分かりません。今はお金になる知識や技能が、将来はすべて自動化していたり、AIに置き換わっている可能性だってあります。だったら自分の感性で、これは自分にとって重要だ!と思うことを、遠回りして突き詰めてもいいんじゃないでしょうか。それが業界や社内で一般的な方向性ではなくて、現在から見た将来のキャリア的には重要ではないことであっても、ですね。

これからもワタクシは好きなようにやっていくつもりでございます。まずはOS自作とTCP/IP実装だ!(コンピュータの原点となる技術を自分で一から作ってみるということです。)ありがとうございました。

マイペースに生きる基盤を作りたいと思う

 最近仕事に不満が溜まっているジョンたろうです。最近、仕事辞めようかなーとか、フリーランスとか面白そうだなーとか、ニートもいいなーとか思い始めたわけでございますが、結局自分が今後どうしたいのか考えてみましたので、恐縮ですがつらつら語らせていただきます。

マイペースに暮らしたい

 一つ目はこれかなあと。現在は土日週休二日制で普通のサラリーマンをしておりまして、大体月の残業が60hくらいでございます。この60hというのがワタクシには結構辛くてですね。システムエンジニア(以降、SE)という仕事柄、常にプレッシャーを強いられますし、そもそも仕事チョーつまんないですし、かなり負担に感じております。

週休二日も三日にならないかなあと。そして毎日定時に帰りたいです。サラリーマンとしてこのレベルを求めるのは実際結構キツイのが現実だと思っていまして、フリーランス等にも現在興味が移っています。週休~とかではなくなりますが、自分のタイミングで仕事ができるのはいいですよね。しかしスキルが足らないような・・・。

家族を養う経済力は欲しい

 そんなにお金に対して価値を感じていない人間なのですが、やはり結婚して家族(大人2人子2人を想定)を養うだけの収入は欲しいなと。奥さんにもパートとかしてもらうとしても、ワタクシだけで最低限500万くらいを確保したいですね。少なくとも28歳までに達成したい(現在25歳)。

ある程度好きな仕事がしたい

 今の仕事してて一番シンドイのはこれ何ですよね。仕事が面白くない。面白くないというか、将来性が見えないし、周りのメンバーが全然IT好きじゃないし、理念も無し、ワクワクが全く無い、皆無なんですよね。これが一番しんどいのかも。

ですので次はある程度、ワクワク、ステキ、面白い、意義がある、、、そんなお仕事をしたいなあと思います。

勉強しつつ転職活動と副業

 ITには何らかの形で今後も関わっていきますので、今までブラックボックスだった低レイヤ技術の勉強を始めました。今C言語勉強しているので、これ覚えたら一からOS作ったり、TCP/IPの実装をします。そういう本があるので、それに沿ってという感じですね。目指せハッカー

そのあとGo言語覚えようかと。なんせ今一番お給料のお高い言語らしいので。あとはGoogleAppScript書けるので、クラウドワークスなんかでスプレッドシート系の仕事やるのもいいかなと。加えて転職活動ですね。Wantedly始めました。そんな感じで、チロチロと動き出しています。

カオスな時代なので何とかなろう

 ワタクシが生まれてから25年経ちましたが、物心ついた頃と比べても、世の中の価値観は大きく変わりまして、何かいろいろできちゃいそうな気がしてきちゃいました。マイペースにいきたいですなあ。