フルスタックエンジニア見習い

フルスタックエンジニア目指しています

書くことない

もう書くことない

自分の今考えていることを日記的にまとめようと思って始めたのだが、 もはや書くことがない

そもそも

紙の日記もすぐ終わってしまっていた。。。

しかし

今回はそこで諦めるわけには行かないので、毎回何かしらを書きたい。

(これで今日はしのぐ)

転職しました といつか書きたい

転職できる力を身に着けたい

見習いエンジニアとして今実力をつけるフェーズであるが、 いつかは転職できるような力を身に着けたい。

転職できるような力って?

正直今はわかっていない。 よくエンジニアは「できる人とそこそこの人の差が何百倍もある」と言われる世界だし、 どうなったら転職できるのかはもはや気持ちの問題のきがする。 ただ、いまではない

つまり

今の会社に不満が滅茶苦茶あって転職したいっていうことではなく、 これなら転職できるという力を身に着けたい。 そしていつか退職・転職エントリを書きたい。

プログラム言語別年収

最近ニュースにこんな記事が。

hrog.net

以前のものだとこう。

経済データバンク: 日米プログラマーのプログラミング言語別年収ランキング

上のサイトにも書いてあるが、Ruby関連で開発していたものが徐々にScalaに移行していることが要因かな。 データ分析系でも

  • SQL(クエリ言語は当然か)
  • R(パッケージが豊富、統計分析に強い)
  • Python(データ分析系)

が主だったのが、SparkがScalaベースなことからScalaプログラマも増えている印象。 Scalaはほぼ全くかけないので年収を上げるためにもこれからしっかり勉強していくく予定。

チーム開発とは

チームでシステム(もしくはアプリケーション)を作るということ

大学時代からプログラムを若干書いてきたが、 それはあくまで「一人」で書いてきた。 一人だから自分で読めるコードであればいいし、自分がわかるように管理できれば良い。

最近

チームでシステムを開発している。 そうなると、当然コードを書く人も複数になるし、 同じ箇所に複数人が手を入れることもある。 そうすると

  • 最新Versionはどれ?
  • 更新内容がわからない
  • Aさん環境では動くけど、Bさん環境では動かない

なんてことが当然起きる。 そういった問題は当然世界中のPJで発生している(はずである)

そこで

上記のな問題を解決するために色々なツールがある。 そういったツールや心構えを簡単にまとめてあるのがこれである。

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

GITやJenkins、Vagrantといった有名ドコロを紹介してくれていて、 それだけでためるなる。 が、もっとも重要なのは 「そういったツールを使うのが当たり前の文化にすること」と説明しており、 なるほどと思わされた。

これまでGITを使っていない人(少し前の私もそう)は

  • hogehoge_r3_latest.py

が普通なのだ。 それをどう変えていくか、それが最も重要なことであると思う。 (現在私含めてその意識改革を絶賛実施中である)

フルスタックエンジニアとは

定義

通常はそれぞれに専門の技術者がいて分業されるような複数の技術分野についての知識や技能に精通し、 一人でシステム開発や運用を行なうことができる技術者のこと。 対象分野によって求められる技能の組み合わせ(スキルセット)は異なる。 IT用語辞典より抜粋

今の仕事から考えるフルスタックエンジニア

今の仕事はビッグデータを分析するためのシステム構築 (DB構築/データ整形/ユーザ環境整備 等)

それに照らし合わせると

フルスタックエンジニアとは以下かなと思う

  • インフラ周り(NW設計、OS設定等)
  • プラットホーム周り(DB、Hadoop、Spark等)
  • 分析(機械学習SQL、R、Python等)

細かくはいろいろあると思いますが、こんな感じかと。

私の目指す所

目指す所はプラットホームから上の部分。 ただし、最近はAWSをはじめとするクラウドのおかげでインフラ周りにも手を出せる。

ありがたい。

今後フルスタックエンジニアと堂々と宣言できるように勉強したい。

自己紹介

何している人?

はてなブログのきっかけ

  • 最近セミナー参加等でインプットが多い
  • いろいろとまとめるのが目的
  • 技術的内容も発信できると嬉しい

キーワード