未経験プログラマがいく! 2018

文系大卒かつ元ニート的なあれのプログラマな日々。

MacにHomebrewでrbenv入れようとして「Ruby2.3ないとダメだよ^^」って言われたら 〜環境構築ってこんな感じ〜

Rubyやるぞ!」
   

MacにはデフォルトでRuby入ってるけど、バージョンが2.0とか古すぎて普通は使わないんやな」
   

RubyでもMacで何か入れたいならとりまHomebrewなんやな。Homebrewは昔入れてたわ。」
    

「ターミナル(黒い画面)で、 brew install rbenv ruby-build っと・・・(homebrewでinstallするよ、rbenvを、ruby-buildをプラグインとしてね、って意味)」
   

RubyMacに入れるのにいくつか方法はあるらしいが、rbenvで入れるのが最近のトレンドらしい。RVMで入れるは古くさいとか? rbenvやRVMでRubyを入れると、Rubyのバージョン管理ができるようになる。プロジェクトごとに使うRuby変えたいぜってプロの開発者はrbenvかRVMで入れると。)
   

「なにィー? 

/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in `<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)

だってェー!?」

「Homebrew、自動で2017/1/3更新の最新版になってて、Homebrewで何か入れるのにRuby2.3がいるとな?」

「でもこちとら、そのRubyを最新版にしたくてやってるんですけどォー!?」



って状況にさっきなって。


解決策はカンタン、Homebrewもそもそもパッケージ管理していろいろMacにぶっこむためのものなので、HomebrewでRubyを入れました。

$ brew install ruby

(超シンプルでいいね!)


「さて、一応バージョンチェック」

$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162)

「当然変わってない」

$ brew list
freetype jpeg libxml2 openssl ruby

「インストールはされてるゥ」

$ which ruby
/usr/local/bin/ruby

「ここのルビー読んでるゥ」

$ ls /usr/local/Cellar/ruby/2.5.0/bin/ruby

「Homebrew産のRubyはここォ」

(説明しよう! Homebrewとは、自家醸造ビールの意味なので、そこ産のサムシングは、Cellar(酒蔵?)にぶち込まれるのだ!)



$ vi ~/.bash_profile

$ source ~/.bash_profile

「path書くとこに上のpath書いて反映させるゥ」

$ echo $PATH

/usr/local/Cellar/ruby/2.5.0/bin/ruby

「反映されてるゥ」

$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468)

「はいktkr」


これで、このターミナル上でのRubyはバージョン2.5(最新)になったので、Homebrewも当然使えるようになって、rbenvも入れられましたとさ。

ちゃんちゃん。

(ちな、rbenvでも結局バージョン2.5を入れたので、rbenvを絶対入れる必要はなかったんだよなぁ・・・)

SES(業務委託)でふわふわしてて、

 こんにちは。

 

家で1人、いろいろわからなくなって途方に暮れてる日曜日です。

 

いかがお過ごしでしょうか。

 

「俺、なんなんだろうな〜」「これでいいのかな〜」と悩みまくってるので、徒然に書いてみます。

 

基本このブログは、学生やニートの人とか、エンジニアへの転職考えてる人向けに書いてるつもりなので、そういう人の参考になればいいなくらいの記事です。

 

・・・まあそれは言い訳で、やっぱりいつものごとく自分のための記事なんですが。

 

 

 

 

IT業界、エンジニアの雇用形態で、SES(業務委託)というものがありまして。

 

派遣されて現場に行って仕事する、派遣社員みたいなやつ。

 

まず前提として、IT業界、これめちゃ多いんスよね。

 

なんでかっていうと、技術の移り変わりとかビジネスのスピードとかいろいろ激しいものだから、人を取るのに一々正社員で取ってたらいろいろ割りに合わないからみたいです。 quoted by なれる!SE

 

あと、面接じゃ実際その人がどのくらいできるかわからない、ってのもあるのかな。

 

なんで、SESという、エンジニアを派遣する人売りビジネスが横行してて。

 

ちらっと小耳に挟んだ話、都内のIT企業の70%はSES(人売り)で成り立っているとかいないとか。

 

自分のところで開発(求人サイト風に表現すると、自社開発・受託開発)してるところより、SES(求人サイトには、社外常駐とよく書いてある)で人(エンジニア)を人月換算で売って儲けてるだけのとこのが多い、と。

 

 

それで、SES(読みはエスイーエス)は、自分の勤めている会社(自社)とは別の会社(客先)に朝から晩までいて、表向きは客先の会社の一員として振舞わないといけないわけです。

 

客先の会社でチームとして動きますから、そこでのコミュニケーションがほとんどになります。

 

すると、自分の勤めている会社がどこなのか、わからなくなってきます。

 

客先に勤めているような気になってくる。

 

しかし、あくまで客先は客先で、お客様として接しないといけない(らしい)ので、一線は引かないといけない。

 

更に、いつ契約切られるか、切れるのか、それもわからない。 契約次第。

 

先が見えない中でビクビクしながら、仕事はきっちりこなさないといけない。

 

結構ストレスです。

 

 

 

仕事以外でも少しいろいろあって、

 

自分が何者なのか、よくわからなくなってきて。

 

なんでこんなモヤモヤしてるんだろうと考えると、

 

孤独だからなのかなーと思いました。

 

2つ(3つ以上のこともある)の企業の間で板挟みで、どっちの人も本当の意味で自分の味方ではないんですよね。

 

自社の人は、やってる仕事違うから一緒に働く仲間ではないし(複数人で派遣されてると違うのかな?)、

 

客先の人は、やっぱりお互い一線を引いて接するし、仕事でも実際あまり頼るわけにはいかない。

 

 

 

SESは、企業側にとって都合の良い仕組みなんで、労働者からしたらそりゃそうだよなって話なんですが、

 

経験の浅いエンジニアが経験を積みやすいのも、またSESです。

 

未経験でも採用してくれることがある。

 

今の30代の人たちも、だいたいSES経験して今のキャリアを築いているとかいないとか。

 

 

 

そーいういろいろを踏まえた上でも、やっぱりSESは自分に向いてないし、早めに転職するべきなんだと思います。

 

元々SESやる話でなかったのに騙されたこととか、客先が払ってる半分以下のお金しか自分に入ってこないこと、まともに評価を受けられないこと、ちゃんとした人間関係築きにくいこと、仕事を選べないこと、などなど。

 

搾取されて自分をなくしてしまう前に、自分の身は自分で守らないと。

 

 

経験が浅い以上、受けられるところは限られてきますけど、

 

その中でベストな選択をしたい。

 

 

実際転職するのは何ヶ月先になるかわからないけれど、より良い選択ができるよう、がんばろう。

CodeIQ一瞬やってみた

 一瞬やってみた(一瞬とは言ってない)

 

 

Paizaだけでもあれかなと思って、

 

CodeIQの問題も解いてみました。

 

断じて我が心のBible「なれる!SE?」とコラボしてたからではないです。

 

かわいい女の子に引かれて会員登録までするわけないだろ!! いい加減にしろ!!11!

 

 

 

はい。

 

 

 

Paizaと違って、スキルチェック問題は時間制限なくて、全テストケース通過するまでできるので、がんばれば誰でもできる説ありますね。

 

がんばれば。(がんばれるとは言っていない。)

 

あと、Paizaと違って、実行環境がクソです。その場で出力チェックできない\(^o^)/

 

コードは読んでくれてるはずなのに、何回見直して提出しても不正解で、なんでか不思議だったんですが、

 

Paiza.i.o では通る以上なにか落とし穴があるはずだと思って延々粗探ししたところ、

 

なんと、

 

PHP選択したんですけど、

 

コードの最初と最後の<?php ?> が、ありませんでした。

 

なんということでしょう。

 

 

言語PHPを選択した時点で記入してくれるPaiza方式に慣れてたので、気づかなかった・・・。

 

 

採点できるようになれば、

 

あとは通らないテストケースのエラー処理書いて、おしまい。

 

 

まだ一問しかやってないので、Cランクです。

 

 

 

次にやるのは、いつだろうな・・・(遠い目)

プログラマなって半年経っての1日

 こんにちは。

 

9月に入り、東京は涼しい日が続いています。

 

すっかり秋めいてきた今日この頃、いかがお過ごしでしょうか。

 

 

プログラマになって、半年が経ちました。

 

毎日未知のことに取り組んでハゲそうですが、なんとか生きてます。

 

・・・ハゲそうは盛りました。

 

 

プログラマの仕事内容って、全然関係ない世界にいる人からすると、意味不明ですよね。

 

俺も、未だに自分が自分で何やってるかよくわかってないです。人はなぜ生きているんでしょうか。

 

そんな、謎にみちたこの現実世界、じゃなくてプログラマのお仕事の世界、のほんの一部分を書いてみようと思います。

 

注)これを書いてる人は適当でいい加減な人なので、2chまとめサイトや胡散臭い雑誌の落書きくらいに読んでください。

 

 

 

〜ある新人プログラマの1日〜

 

 

8:30 起きます。本当は8時に起きてた方がゆとりを持てますが・・、細けぇこたぁいいんだよっ!!

 

8:45 朝ごはんのフルーツグラノーラを食べたり食べなかったりします。気分じゃないときは、出社してからコンビニのサンドイッチで済ませます。

 

9:00 起きるのが遅いので、ギリギリです。駅までダッシュします。本当にこれでいいのか??

 

10:00前 会社に着きます。挨拶しながら席について、パソコンをつけます。プログラマは、基本デュアルディスプレイみたいです。この仕事についてからデュアルディスプレイというものを初めて体験しましたが、あれはすんばらしいものですよ。見た目かっこいいだけじゃなくて世界が変わります。これはいいものだーっ!

 

10:10 vagrantで仮想環境を立ち上げます。windowsマシン上にlinuxマシンを立ち上げて、その中でプログラムを動かすわけですな。linuxというと黒い画面ですから、最初「黒い画面だけでプログラム書くの!?」と思ってたんですけど、大丈夫です、黒い画面じゃないとこで書けます。というか普通見にくいからそーするんじゃないかな・・・?

 

10:20 今日のやることを確認して、上の人と共有します。お仕事はほうれんそうがだいじ。海外にもほうれんそうってあるのかな? 

 

10:30 今日のお仕事第一弾は、ボタンの二度押し防止機能実装でした。ぼくはWebサイト作るとこで働いてるんですけど、サイトにボタンあるじゃないですか、ボタン。コメントするボタンとか。基本予想外の動きされたくないので、超高速でオラオラオラオラってクリックしても、二回送信されたりしないようにしたいんスよね。だから、一回押されたら、「もうお前死んでるから」って、ボタンの息の根を止めるようにします。すまんな、これも戦争なんだ。

 

11:30 実装方法(ボタンの息の根を止める)を決めたので、あとは調べて書きます。ってか、過去にやったことあったから、それ調べて思い出して書いた(^_^)v 終わったら、プルリクエスト、略してプルリクである。プルリクってのは、要は「おら自分の仕事やったから見てくんろー!」ってことです。俺を見ろ!!

 

12:00 プルリクオッケー出たら、次の仕事です。なにぃ〜っ!? ウンコ(NGワード)が弾かれないだぁ〜っ!?

 

12:30 ウンコ(NGワード)の処理がどこでお漏らししてるのか知らないけど、お昼です。ウンコ(NGワード)がチラついてお昼に集中できない・・・。すまん、インド人よ、お前のカレーは悪くないんだ・・・。あ、ネパール人。はい。

 

13:30 ウンコ(NGワード)がどのように処理されているか判明した。こいつ、まとめて(NGワードの配列を含むかで)処理されてやがる。くせぇ〜っ! こいつはドブ以下の匂いがプンプンするぜぇ〜っ! こんなクソコード、修正してやる!!(何を)

 

16:30 ウンコ(NGワード)処ったーーっ!!

 

20:00 仕事終わりーーっ!!

 

23〜1:00 クソして睡眠だ!!

 

 

 

 

 

 

 

 

はい、途中で飽きてウンコしか言わなくなりましたが、大体こんな感じです(すっとぼけ)

 

 

いまのところ、こんなかんじ。

なんとか働いてる

 半月ぶりの更新っす。

 

 

SES(派遣社員みたいなエンジニア)2ヶ月目に突入しました。

 

客先(派遣先)の人とも、仲良くやらせていただいております。


ただ、表面上仲よくても、結局は派遣と客先なので、

 

仲介してる会社を通してクレームが来たりします。

 

一緒に働いてる人からも、普段仲良くしてても、

 

ある日キレられたり、時にはクレームが来てたりします。

 

つらい。

 

 

Webサービス作ってますけど、

 

手を動かして実装するエンジニア、2人しかいないからね。

 

その1人が俺っていう。

 

一年前は冷凍倉庫でおばちゃんと寒さに震えながら指先寒さでヒビ割れさせながら日雇い労働してた俺っていう。

 

「エェ・・・」ってなるでしょ。

 

頭おかしい。

 

まだプログラミングはじめて一年も経ってないんだが???

 

こんなやつが触ったものが世に出てしまっているんだが???

 

 

 

求められる水準についていくのにいっぱいいっぱいで、

 

自分の生活の質とか割と置き去り。

 

派遣だから自社と派遣元の板挟みなるし。そーいうことってマジであるっていう。理不尽。

 

 

 

 

経験がないって、こーいうことっすね。

 

エンジニアの世界って、実力と経験が超ウェイト置かれるので、

 

それがないうちは、こんなもんです。

 

社会人一年目。

 

 

 

去年の秋まではマジで1日限りの仕事結構やってたから、

 

オフィスに引越しのおにーさんや複写機の営業のおにーさんが来るたびに、

 

なんか他人事じゃない。

 

つらいからって、やめて、もし就職先見つからなかったら、

 

また肉体労働もありうる。

 

あすはわがみ。

 

 

しかし、一方で、やめずに努力すれば、自分を磨き続ければ、

 

違う世界も見えてくるかもしれない。

 

 

 

 

遠くに行きたい。

エンジニアの実力

 

f:id:nottwitterdao:20170714025031j:plain

 

 周りがみんなエンジニアエンジニア言うので、

 

最近プログラマよりもエンジニアという呼称を使いがちな今日この頃。

 

みなさま、いかがお過ごしでしょうか。

 

こんにちは。

 

今日は、お上のいぬ間に、DJごっこして遊んでました。 聞く方です。

 

明日までに勉強しとかないといけないことがあるんですが、

 

全くできていません。

 

なんということでしょう・・・。

 

現実逃避に、ブログでも書くとします。

 

以下、近況報告ですらないポエムです。

 

 

 

この世は弱肉強食らしいですね。

 

プログラミングスクールに通っていた頃から、

 

「誰が自分よりできるのか」というのは、

 

常に頭の中にありました。

 

その人がどのくらいできるのかというのは、

 

一緒にある程度机を並べないとわからないものなのかなと、最近思います。

 

 

Webアプリケーション作るのって、

 

実にいろいろな知識がいるっぽくて。

 

サーバサイドのプログラミング言語だけでなく、

 

Webサーバ、DB、テスト、JS、git、フレームワーク。。。 

 

広くいろいろなことを、ある程度知ってないといけない。、

 

これだけ広汎だと、ちょっと話したりする程度では、

 

相手のできることを把握するのって、なかなかできないのだろうなと。

 

 

ある言語やある分野では自分よりできても、

 

またある分野では自分より全然知識ないとか、

 

多分ざらにある話。

 

 

となると逆に、他の先輩エンジニアが知らないことを自分が知っている、

 

という状況も全然起こりうるし、

 

実際今回のプロジェクトではそういうケースがありました。

 

(もっとも、その分野以外ではてんでダメで、教えを請う日々なのですが・・・)

 

 

そういう知識があって、

 

最低限他の分野の基礎もあれば、

 

とりあえずどっかしらで仕事をもらうことはできるのかなと思います。

 

 

自分がいつ突然会社やめたくなるかって自分でもわからないですし、

 

会社が潰れたり追い出されたりするリスクもあるっちゃあるわけで、

 

もっと勉強して、少しはプロジェクトに貢献できるようになりたいですな。

 

 

 

目が痛い。

paizaランク

 paizaというエンジニア専門の転職サイトがあります。

 

paiza.jp

 

 プログラミングの課題を解くことでランクを上げて書類選考をパスできるという、ありがたいサイトです。

 

そのスキルチェックのランク表がこれ。

 

f:id:nottwitterdao:20170704232507p:plain

 

 自分は、今のところBランクまで来れました。

 

 

 未経験プログラマ的に、paizaの良いところは、ゲーム感覚でできるとこです。

 

アプリやサイトを作るのとは比べ物にならないくらい気楽。

 

環境構築いらずですぐコードの正否が出るため、プログラミングの楽しいとこだけ味わえて、ランクアップというオマケもついてきます。

 

今までの経験上、ランクBまでなら配列とfor文で回すのができればいけるいける。あと必要な関数をググれさえすれば。

 

 

今のプロジェクトはやる気十分なため、転職する気はあんまりないのですが、

 

ちょくちょく問題解いていくつもりなんで、ランクAになれたり求人オファー来たらまた記事あげる・・・予定です( ^ω^ )