30overからエンジニアにジョブチェンしたおじさんがSESで働きながら考えていること

現状sesに満足しているわけではない。

経歴はもられるし、単価も中抜きさんがいてもられてしまう。 それでも、なんとか単価に見合う働きができるようにと頑張っている。

現場変わるたびに技術スタック変わるし、精算時間まで働かせホーダイなので、残業が多く、体が悲鳴をあげてしまう。

100%自分の希望通り現場を選べるわけではないし、 あと、客先なので常に社員さんに見られている状況だ。

僕は、あまり怒鳴られるのが得意ではない。 精神的に強くはない。

給料も安い。年末調整を見ても前職のほうが多い。

僕は、およそ2年前くらいに経理からエンジニアになった。

経理経験10年で、財務が得意だ。

と言っても今はエンジニアなんだから、全然意味ない。 むしろ、30超えてジョブチェンジしたことで、この業界では高齢な部類だと思う。

同じスキルでも若い人のほうが、好まれるし、所詮、僕はただの言語やツール好きのおじさんなんだなと思う。

ここいいなっていうところにいけてないのはただスキルが足りないんだと思う。

今の現状を変えたいのでスキルを上げて人と会って行こう。

スキルを上げつつ、自分をプロモーションしていくしかない。

あと、企業の採用情報で見るといいなと思う会社はだいたいRails。 あとPHPRails両方とか。

選択肢を広げるために少しRailsも触るかな。laravelと似ていて個人的に好き。

自宅で触っているときフォーム周りのerb?が難しくて分からなかったけど、今ならjsでテンプレート組む?んだろうからあんまり使わないからは学習対象から外しても大丈夫なんじゃないだろうか。

まとめ

現場でがんばり成果を出しつつ、今後のキャリアプランも考えていこう。

現状を認識し、未来をどうしたいかを認識し、そこに行くために今何をしなくてはならなくて、今できることはなにかを考えてやっていくしかない。

vue cli 環境構築

先日、購入した本を読み、実際に環境を作っています。

Laraveのときは、npm installで勝手に作ってくれていましたが、それはlaravel mixのおかげだったのでしょうか。

純粋にvueだけでやると次のような手順になるようです。

個人の勉強の記録的な意味合いで書いています。

// これを入れる
npm install -g @vue/cli
npm install -g @vue/cli-service-global

// 設定を聞かれるがデフォルトでOK

// projectを作成する
vue create test_app

// serveで起動できる
cd test_app/
npm run serve

// コンパイルされてdistというディレクトリが作成されて、そこにコンパイルされたファイルが格納される
npm run build

// コマンドで作ったプロジェクトをguiで作れるページが立ち上がる
vue ui

個人的にはVueのGUIツールがとてもかっこいいなという印象です。

参考にさせていただきました。 www.shuwasystem.co.jp

php.netみんなは気づいてた?関数の返り値の型の表記場所が変わっている

php.net

今日、php.net見てて気づいたんだけど、関数(メソッドの)の返り値の型表記の場所が変わっている。

前は、関数名の前だったのに、今は、php7系からできる関数の返り値の型を指定する書き方みたいになっている。

こんなのは、たぶんどうでもいいかもしれないけど、ひとりで「え〜!!」と驚愕し、うれしくなった。

記憶はたしかにbeforeみたいなはずだと思ってぐぐったらたしかにそうで、型表記が変わっていることの確信を得た。

どうでもいい記事ですみません。

// before
array array_chunk ( array $array , int $size [, bool $preserve_keys = FALSE ] ) 

// after
array_chunk ( array $array , int $size [, bool $preserve_keys = FALSE ] ) : array

beforeの参考(返り値の型がメソッド名の前に載っている例で画面ショットを拝見し、参考にさせていただきました) tech-beginner.mints.ne.jp

afterの参考 php.net

level7 laravelのbladeでの削除機能をつける

削除機能を実装しようと思って、こんな感じかなとぐぐってみたらばっちりそれだった。 actionでURLを渡すときにidを渡して、 それをcontrollerで探してdelete()を使うんだね。

シンタックスハイライト途中までしかなぜか効かない(T_T)

/resources/views/book_keep/index.blade.php
<form method="post" action="/delete/{{$book_keep->id}}">
    {{ csrf_field() }}
    <input type="submit" value="削除">
</form>

/route/web.php
Route::post('/delete/{id}', 'BookKeepController@delete');

/app/Http/Controllers/BookKeepController.php
public function delete (Request $request)
{
    BookKeep::find($request->id)->delete();
     return redirect('/');
}

参考 qiita.com

level6 selectで入れたrequestパラメータがないと言われる

Laravelにrequestでtitle_idがないんだけどみたいないことを言われる。 書き方を見る。 あっていそう。

laravelの問題じゃなくて単純にhtmlのselectの書き方の問題だと持ってぐぐる。 どうやらnameが抜けているらしい。

optionかなと思ってoptionに書く。 また、怒られる。

よく参考サイトをみるとselectの場所に書いてある。 書いて動かす。 正常に動いた。 よかった。

bladeでselectを書いてみてbladeの書き方が悪いのかと思ったけど、単純にhtmlの問題だったので、あーという感じ。

// before
<p>タイトル</p>
<select>
    @foreach($titles as $value)
        <option value="{{$value->id}}">{{$value->title}}</option>
    @endforeach
</select>
// after
<p>タイトル</p>
<select size="5" name="title_id">
    @foreach($titles as $value)
        <option value="{{$value->id}}">{{$value->title}}</option>
    @endforeach
</select>

参考

selectタグとは|コーディングのプロが作るHTMLタグ辞典

level5 Go環境をvscodeで整える

vscodeに「Go」というextentionを入れて、デバッグコンパイルできるようなのでF5で起動させたら

could not launch process: debugserver or lldb-server not found: install XCode's command line tools or lldb-server

Process exiting with code: 1

みたいなエラーが、PHPが主だし、別に環境にこだわる必要がないんだけど、できれば、コマンドたたかず、コンパイルしたいので、ぐぐる。 同じエラー文を探しだし、

xcode-select --install

で、入れ直してみたら、できた!! よかった。うれしい。

参考 murabitoleg.com

level4 golangをbrewで入れる

golangを触る機会があったのでmacに入れてみた。 progateで最初だけ触ったことがあるんだけど、半年ぐらい前で完璧に忘れている。

brew大好き。簡単。 パスを指定するところでつまってしまったが、いろいろやってたぶんこれが最短の手順。

動かし方とか、開発環境とか全然未知なんだけど、とりあえずvscodeで書いて、go runしたらいいみたい。 go buildもあるみたいんなんだけど、それは、コンパイルされたファイルができてそれを実行しなきゃいけなくて手間なのでとりあえず、go runの方向で。

brew install goenv

// goenvへのパスを通す
echo 'export PATH=$HOME/.goenv/bin:$PATH' >> ~/.bash_profile
echo 'eval $(goenv init -)' >> ~/.bash_profile
source ~/.bash_profile

// インストールできるバージョンの一覧を表示
goenv install -l

// 新しめをインストール
goenv install 1.11.4

// 使うバージョンを指定
goenv global 1.11.4

// goのパスを通す
echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bash_profile
source ~/.bash_profile

cd
mkdir go
cd go 
touch sample.go
package main

import "fmt"

func main() {
    fmt.Printf("hello,world\n")
}

go run sample.go
 => hello,world

参考 startappdevfrom35.com qiita.com