Java シルバー学習中(3)

黒本の学習も佳境に入ってきた。

受験日は28日。

LPICを受験した時より学習効率が上がってきている気がする。

しかしまだまだ効率はあげられそうだ。

 

あと、最近格闘技を始めた。

自分の体を追い込み、虐めて体が変わっていくのが楽しい。

 

せっかくなので学習の記録メモをあげておく。

 

-----------------------------------------

 

Javaにおける継承のおさらい~

 

・継承とは?

-あるクラスを機能拡張した新しいクラスを定義すること。

拡張もとに基底クラス、またはスーパークラス

拡張したクラスのことを派生クラス、またはサブクラスと呼ぶ。

 

・差分プログラミング

-継承は、生産性を向上させる強力なプログラミング手法。

プログラムが多岐に渡った際、コードの共通部分を

別のプログラムとして分離し、それぞれのプログラムには

差分だけを定義しておいて後で結合すれば、何度も同じコードを書く手間を省き、変更時に修正するコード数も減らせる。

このようなプログラミング手法のことを

「差分プログラミング」という。

 

継承のイメージ的には、スーパークラスの特徴を

サブクラスは受け継ぎ、+@

サブクラス自身の特徴(差分)も併せ持つ、という認識??

 

・継承で引き継げないもの

 

①コンストラク

privaeなフィールドやメソッド

 

コンストラクタとは、インスタンスを作成したタイミング(クラスをnewした瞬間に実行される関数のこと)

 

・インタフェースとは

インタフェースは、クラスから「型」だけを取り出したもの。型とは、そのものの「扱い方」を決めるための情報で、変数を宣言するときに型を指定するのは、その変数の扱い方を決めるためである。

 

例えば、「3」という数値をint型で整数として扱うのか、double型で浮動小数点として扱うのかを変えられるように、種類と扱い方は異なる概念である。

 

・インタフェースの多重実現

Janaでは、クラスの多重継承は禁止されていますが、

インタフェースの多重実現は認められている。

複数のインタフェースを実現する場合は、

下記コード例のようにカンマ区切りで記述する。

 

public class ConcreteClass implements InterfaceA, InterfaceB {

//処理

}

 

インタフェースは扱い方だけを規定しており、

実装を持てない。

インスタンスを生成して動的に動作しなければいけないものは記述できない。

 

・抽象クラスの書き方

 

public abstract class AbstractSample {

  // 具象メソッド

  public void methodA() {

    //処理

  }

  // 抽象メソッド(サブクラスで実装する)

  public  abstract void methodB();

}

  

・オーバーライドの定義

オーバーライドは、サブクラスでスーパークラス

定義されたメソッドを再定義すること。

多重定義を表す「オーバーロード」と間違えやすいので気をつける。

 

メソッドを再定義するため、

メソッドのシグニチャ(メソッド名、引数リストの型、数、順番は同じでなければならない。)

 

・継承関係にある2つのクラスで同名のフィールドが使われている際、どちらが優先されるのか?

 

 

・フィールドを参照した場合には、変数の型で宣言された方を使う

・メソッドを呼び出した場合には、メソッド内の指示に従う

 

・抽象メソッド=実際の処理を自身にでは無くこクラスに記述させるためのメソッド。

抽象クラスを継承したクラスは、この抽象メソッドを必ずオーバーライドしなければならない。

 

・アップキャストとダウンキャスト

継承関係にある場合、サブクラスのインスタンススーパークラス型の変数で扱うことができる。

 

①サブクラスをスーパークラス型に変換=アップキャスト

スーパークラス型で扱っていたインスタンスを元の方に戻す=ダウンキャスト

 

ダウンキャストは、変換したい型を()内に

記述する。

 

コンストラクタは、メソッドの仲間です。 メソッドと違う名前が付いている理由として、「インスタンスの生成時に呼ばれ、インスタンスを初期化する」という特別な役割があるためです。

 

・継承関係にあるクラスのインストラクタ生成時の

コンストラクタの動作について

スーパークラスインスタンスがもつコンストラクタが先に実行されなければいけない

②サブクラスのコンストラクタには、スーパークラスのコンストラクタを呼び出す[super();]が、

コンパイラによって先頭行に追加される

 

Java学習 番外編

 

■thisとは??

this予約語で、そのクラスのオブジェクト自身を表す

 

クラスのフィールド変数の名前と、メドッドのローカル変数の名前が同じ場合に、対象を特定するために

利用することが多い

 

クラス変数は、メンバ変数とも呼ばれクラス内どこでも使用可能。

ローカル変数はブロック内でのみ有効。

ローカルというのは{}内部のこと。

 

コード例:

—————————————

public class Sample {

 

  //Sampleクラス変数

  String animal = "うさぎ";

 

  public void printAnimal() {

 

    //ローカル変数

    String animal = "ねこ";

    System.out.println("ローカル変数animal:" + animal);

    System.out.println("クラス変数animal:" + this.animal);

 

  }

}

 

—————————————

 

—————————————

public static void main(String[] args) {

 

  Sample s = new Sample();

  s.printAnimal();

 

}

 

—————————————

 

実行結果★

 

ローカル変数animal:ねこ

クラス変数animal:うさぎ

 

コンストラクタは、インスタンスを準備するためのメソッドで、全てのインスタンスが持たなければいけない。

コンストラクタを定義しなかった場合、デフォルトコンストラクタが自動的に定義される。

 

■null(なる)

起:nullとは参照型変数の値が定義されていない状態

 

承;参照型変数の値は参照するメモリ上のアドレスとその参照先の値を示す

 

転:この参照するメモリ上のアドレスとその参照先の値が定義されていない場合、参照型変数の値はnullとなる。

 

結:なのでnullからはどんなメソッドも呼び出すことができない。

 

例外処理の記述

 

try-catch文の書き方

try {

//例外が発生する可能性がある処理

} catch (例外クラス型 変数) {
//
例外が発生した時の処理

}

 

catchブロックの目的はプログラムを正常な状態に復帰させることで、このブロックの処理が終了すると、

「トラブルは収束した」として、正常な動作に戻る。

 

try-catch-finally文の書き方

try {

//例外が発生する可能性がある処理

} catch (例外クラス型 変数) {
//
例外が発生した時の処理

} finally {

//例外発生の有無にかかわらず実行したい処理

}

 

■try-catch文の構文の順番を変えると

コンパイルエラーになる。

 

例外とは、プログラム実行中に発生する何らかの

「トラブル」を指す

例外処理とは、トラブルが発生した時に

「どのように対処すべきか」を記述した

処理のことである

Javaでは、例外処理をtry-catchという構文で

記述する。

 

■ArrayIndexOutofBoundsException

配列の要素外アクセスを示すエラー

 

配列は、複数の要素をまとめて扱うオブジェクトであって、要素そのものではない。

そのため、要素をひとつも扱わない配列を

作ることもできる。

 

■try-catch-finally

catchブロック内でreturnされていても、

returnによって呼び出し元のメソッドに制御が戻る前に、finallyブロックは必ず実行される。

 

■try-catch-finally文の構文について。

tryブロックとfinallyブロックは一つずつしか記述できないが、catchブロックのみ複数記述できる。

 

また、catchブロックを省略することもできる。

 

複数のtry-catchがネストしている場合、

スローされた例外を受け取るのは、その対応に

最も近いcatchブロックである。

 

Javaのプログラム実行中に発生するトラブル

は大きく分けて2つ

 

①実行環境のトラブルなど、プログラムからは

対処しようのない事態を表すエラー

②プログラムが対処できる例外

 

検査例外と非検査例外

上記の例外は更に大きく分けて2つ。

検査例外と非検査例外である。

 

・検査例外とは、例外処理を記述したかどうかを

コンパイラが検査する例外。

 

・非検査例外とは、例外処理を記述したかどうかをコンパイラが検査しない例外を指す。

 

Javaの例外は、検査例外が基本。

なぜなら、ソフトウェアが巨大化、複雑化していく歴史の中で、例外処理をプログラマが記述し忘れる失敗が増え、バグの原因となった反省から、コンパイラによる自動チェック機能が盛り込まれたことが背景にある。

 

Javaの例外クラスは、大きく分けて

ErrorException,RuntimeExceptionに分かれ、

それぞれエラー、検査例外、非検査例外を表している、

 

非検査例外はtry-catchを強制されない。

また、throw句で宣言しなくても問題ない。

例外クラスが宣言されているコードが出題された時は、

検査例外か非検査例外を確認しよう。

 

エラーとは、プログラムから回復不可能なトラブルが

発生したことを指す。実行マシンのメモリが不足していたり、データが保存されているディスクの読み込みや書き込みの権限がなかったり、ネットワークの接続ができなかったといった実行環境に関するトラブルは、

プログラムからは対処のしようがない。

 

エラーはErrorクラスが表すが、実際に使われるのは

そのサブクラス。

OutOfMemoryError

NoClassDefFoundError

StackOverflowError

など。

 

■IndexOutOfBoundsException

存在しない要素を取り出そうとして発生するエラー

 

■ClassCastException

継承関係や実現関係にないクラスにキャストしようとすると、ClassCastExceptionが発生する。

 

■IllegalArgumentException

利用される側のオブジェクトが不正な引数を渡されたことを、利用する側のオブジェクトに通知するための例外。

 

■IllegalStateExceptionは、利用される側のオブジェクトが、まだ利用するための準備が終わっていないなどの理由でスローする例外である。

 

■nullとはリテラルの一種で、変数が

「何も参照しない」ことを実現するためのデータである。

nullに対してメソッドを呼び出すようなコードを記述した場合、実行時例外「NullPointerException

がスローされる。

 

■Staticイニシャライザは、クラスを呼び出す時に

一度だけ呼び出される初期化ブロックである。

staticイニシャライザを利用することで、

static変数の初期化が可能になる。

 

メソッドが呼び出されると、メソッドの実行に必要な情報がスタック領域に配置される。

もちろん、スタック領域は無限の広さを持つわけではなく、同じメソッドを呼び続ける「再帰呼び出し

を行なっていると、スタック領域が足りなくなることがある。

このようにスタック領域が足りなくなった場合、JVMはそのことを検知するとStackOverFlowErrorをスローしてプログラムを強制終了する。

 

■NoClassDefFounder

JVMが実行対象のクラスを発見で気なかった場合に

スローする例外。

 

ヒープメモリ

インスタンスを保存したり、クラスの定義情報を

保存したりするためのメモリ領域である。

大量のインスタンスを作り、ガーベッジコレクションが行われないと、この領域がいっぱいになってしまい

新しいインスタンスを作ることができなくなる、

かような事態が発生すると、JVMOutOfMemoryErrorを発生させる、

 

スタック

メソッドの実行順を制御するための領域で、メソッドを再帰呼び出しするなどしてこの領域がたりなくなると、StacOverFlowが発生する。

 

■VIrtualMachineError

OutofMemoryErrorStackOverFlow

親クラスで、JVMが壊れているか、または動作を継続するのに必要なリソースが足りなくなったことを示すためにスローされる。

 

■InternalError

VIrtualMachineErrorのサブクラスで、JVM内で何らかの内部エラーが発生したことを指す。

 

■returnするときに戻り値を格納する専用の変数が用意されている。

そのため、catchブロックとfinallyブロックの両方がreturnで値を戻す場合、どちらの戻り値が最終的に格納されているか確認する

 

■IndexOutOfBoundsException

ある種のインデックス(配列、文字列、ベクトルなど)が範囲外であることを示すためにスローされます。

Java シルバー学習中(2)

Javaにおける継承のおさらい~

 

・継承とは?

-あるクラスを機能拡張した新しいクラスを定義すること。

拡張もとに基底クラス、またはスーパークラス

拡張したクラスのことを派生クラス、またはサブクラスと呼ぶ。

 

・差分プログラミング

-継承は、生産性を向上させる強力なプログラミング手法。

プログラムが多岐に渡った際、コードの共通部分を

別のプログラムとして分離し、それぞれのプログラムには

差分だけを定義しておいて後で結合すれば、何度も同じコードを書く手間を省き、変更時に修正するコード数も減らせる。

このようなプログラミング手法のことを

「差分プログラミング」という。

 

継承のイメージ的には、スーパークラスの特徴を

サブクラスは受け継ぎ、+@

サブクラス自身の特徴(差分)も併せ持つ、という認識??

 

・継承で引き継げないもの

 

①コンストラク

privaeなフィールドやメソッド

 

コンストラクタとは、インスタンスを作成したタイミング(クラスをnewした瞬間に実行される関数のこと)

 

・インタフェースとは

インタフェースは、クラスから「型」だけを取り出したもの。型とは、そのものの「扱い方」を決めるための情報で、変数を宣言するときに型を指定するのは、その変数の扱い方を決めるためである。

 

例えば、「3」という数値をint型で整数として扱うのか、double型で浮動小数点として扱うのかを変えられるように、種類と扱い方は異なる概念である。

 

・インタフェースの多重実現

Janaでは、クラスの多重継承は禁止されていますが、

インタフェースの多重実現は認められている。

複数のインタフェースを実現する場合は、

下記コード例のようにカンマ区切りで記述する。

 

public class ConcreteClass implements InterfaceA, InterfaceB {

//処理

}

 

インタフェースは扱い方だけを規定しており、

実装を持てない。

インスタンスを生成して動的に動作しなければいけないものは記述できない。

 

・抽象クラスの書き方

 

public abstract class AbstractSample {

  // 具象メソッド

  public void methodA() {

    //処理

  }

  // 抽象メソッド(サブクラスで実装する)

  public  abstract void methodB();

}

  

・オーバーライドの定義

オーバーライドは、サブクラスでスーパークラス

定義されたメソッドを再定義すること。

多重定義を表す「オーバーロード」と間違えやすいので気をつける。

 

メソッドを再定義するため、

メソッドのシグニチャ(メソッド名、引数リストの型、数、順番は同じでなければならない。)

 

・継承関係にある2つのクラスで同名のフィールドが使われている際、どちらが優先されるのか?

 

 

・フィールドを参照した場合には、変数の型で宣言された方を使う

・メソッドを呼び出した場合には、メソッド内の指示に従う

 

・抽象メソッド=実際の処理を自身にでは無くこクラスに記述させるためのメソッド。

抽象クラスを継承したクラスは、この抽象メソッドを必ずオーバーライドしなければならない。

 

・アップキャストとダウンキャスト

継承関係にある場合、サブクラスのインスタンススーパークラス型の変数で扱うことができる。

 

①サブクラスをスーパークラス型に変換=アップキャスト

スーパークラス型で扱っていたインスタンスを元の方に戻す=ダウンキャスト

 

ダウンキャストは、変換したい型を()内に

記述する。

 

コンストラクタは、メソッドの仲間です。 メソッドと違う名前が付いている理由として、「インスタンスの生成時に呼ばれ、インスタンスを初期化する」という特別な役割があるためです。

 

・継承関係にあるクラスのインストラクタ生成時の

コンストラクタの動作について

スーパークラスインスタンスがもつコンストラクタが先に実行されなければいけない

②サブクラスのコンストラクタには、スーパークラスのコンストラクタを呼び出す[super();]が、

コンパイラによって先頭行に追加される

 

 

12月忙しいね

Java Sliverの勉強は順調。12月中旬に受験できるようにリスケしてみた。

とはいえ、年末で人と会う予定が立て込んでいるので、

最低でも12月いっぱい、てうゆうのは変えないでおこう。

 

Java シルバー学習中(1)

現在、僕はJava シルバー取得に向けて学習中。

オブジェクト指向やコンストラクタの意味など、

今までなんとなく学習していたものの論理をしっかりと学べて楽しい。

 

ただ、資格取得自体は思ったより簡単かもしれない,,

本当は12月下旬に取得予定だったが、12月前半にしてしまおうか、、

転職決まる

おばんです。

 

長らくブログサボってました、すんません。

とはいえ、人生はサボらず、粛々と仕事をしながらの転職活動はしていました。

 

前回から間が空いてしまいましたが、結局僕がどのようにしてエンジニア転職を

実現したか、書いていこうと思います。

 

■前回の続き

①Geeklyの面談

②Workportのみんスク

③GeekJOBの面談

休日を利用して、これら3つの期間に話を聞いてきました。

 

①Geeklyの面談

→Geeklyとは、ITやウェブ、ゲーム業界に強い転職エージェントです。

まずは話、ということで行ってきました。

 

結果的には、僕を担当してくれたコンサルタントの方は

僕の要望をしっかりとヒアリングし、条件にあった求人をピックアップ

してくれました。

コンサルタントの当たり外れはどうしようもないと思いますが、

つかず離れず、自分の希望しない求人をゴリ押ししてくるようなところはないので

個人的にオススメのエージェントだと思います。

 

②Workportのみんスク

web上で年齢制限はありましたが、『人生ダメ元』が僕のテーマなので

電話で確認したところ、受講資格ありとのことなので

せっせとワークポート本社まで行ってきました。。

が、しかし、、

いざ話を聞きに行ってみると、実は受講資格はなく(!)、

受講したとしても紹介できる求人はありませんとのこと(!!)

※しかもこれを聞かされたのは、人とおり説明を受けて、

自己紹介もして、(開発エンジニアへの思いを熱く語った)

もう一人の受講希望者が個人面談を終えた

そのあとだった。控えめに行っても茶番すぎる^^

 

そりゃないよ、、しかも『受講資格あります!』って行った人は

当日既に帰っていて、後日の謝罪もなし。

 

久々に怒りと悲しみが募りましたが、この悔しさをバネに

更なる活動を決意。

『もういいです。絶対にエンジニアになりますから』という捨て台詞だけ吐いて

帰りましたが、久々に悲しい気持ちになりました。

※20代の方は普通に受講できて転職もすんなりできると思うので

対象の方は話だけ聞くのもアリかも、、

 

③GeekJOBの面談

こちらも20代に力を入れている転職サービス。

いざ話を聞きにいくと、やはり、というか20代とおぼしき人たちばかりでした。

集団説明会が終わり(なぜ無料なのか?学習の進め方は?といったもの)

いざ面談!となりましたが、面接官の方は控えめにいって終始苦い表情でした。

 

結論からいうと、遠回しには言っていましたが『GeekJob』はほぼ

20代専門の転職支援型スクールなので、30代の方の転職実績は

(実質)ゼロということ。

最後にカリキュラムについて食い下がったのですが、

説明する姿勢に熱意も感じられず、独学で学べそうなそれであったので

自分の方でも見切りをつけました。

 

以上です。

 

ここまで読むと、同じ30代以上でエンジニア転職を目指している人からは

『ぼろぼろじゃん!本当にエンジニアの会社に転職できたの?』

という声が聞こえてきそうですが本当にできました。

方法は、以下の一つです。

 

『転職エージェント、スクールを使わず普通に未経験OKの会社に応募する』

 

です。

 

※そんなのわかってるよ!興味なし!て方はこの先の話は

興味のないそれになってしまうとおもうのでブラウザをそっ閉じしてくださいな、、

 

 

転職エージェント、無料スクールは『人材を紹介して、そのひとがそこに就職』

することで、もちろんですがマージンを得て利益を得ています。

その金額というのは年収の3か月分、というのが相場みたいです。

月30万の給与なら90万、20万だとしても60万、それだけの金額が

人材を採用して給与を払う+αでかかってきちゃうわけですね。

 

(ちなみにこの3ヶ月分、というのはネットで見聞きした相場なので、

あまり信用はしないでください。)

 

もし業務未経験エンジニアでエージェントやスクールから転職

するのであれば、

『採用したあとの給与+使える人材にするための教育コスト+

人材紹介手数料』

の三点セットがかかってくるわけで、僕が採用側だったら正直

高いな!って思っちゃいますねw

そうなると、同じコストをかけるなら(一般的に)若くて伸び代も体力もある20代を

とりたい!っていうのは採用側の『切実な本音』だと思います。

 

残酷な現実ではありますが、上記の中に高年齢の人でも未経験で

エンジニアになれるヒントが備わっています。

それは、

 

転職エージェントにお金を払ってでもエンジニアを採用したい会社がある

ということです。

 

→よく叫ばれているのがITエンジニアの不足。ニュースとかで言ってる

『20●●年にエンジニアが何万人不足して云々〜〜』とかいうニュースは

技術ベースではなく統計だけをベースにしてるようで個人的にあまり信憑性はないと思っていますが、いま、ここ、日本ではエンジニアは足りていません。

 

だって、いくら20代といえど、数百時間のスクールで得た技術、知識だけで

何十万の紹介料を払ってくれるってすごくないですか?

それだけ企業は将来を見越したエンジニア採用に力を入れているようです。

悪く言ってしまうと、ポテンシャルのあるエンジニア採用=設備投資

みたいなものですからね。

価値のあるエンジニアは、将来的に技術をのばしその企業に貢献してくれるはずです。

 

確かに転職サービスや無料スクールを使った転職はは基本的に20代に有利ですが、

それだけの需要があるということがポイントです。

 

高年齢のエンジニア転職でここで活きてくるのが、

『企業に無駄な採用コストをかけさせない』

とゆうことです。

 

ここでいう採用コストはもちろん『エージェントに手数料を払うサービスを使わず

自ら求人に応募する』ことはいわずもがなですが、

『教育コスト』もそれにあたります。

例えば僕は現在Javaの資格の勉強中ですが、企業は僕が働き始めてから

教育するより、個人で資格を取得してくれた方が圧倒的に嬉しい(はず)です。

 

大体の企業は未経験者を業務につかせるために、教育をするわけで、

その教育する時間にもお金をpayしなければいけないのです。

 

であれば、高年齢の方は特に、その時間(教育コスト)を企業に求めず

自分自身で解消すれば、二つのコスト『人材紹介料+教育コスト』

が企業にとってクリアできるわけです。

 

※正直資格の有用性については疑問はありますが、ソースコードを読む,

オブジェクト志向の理解など

プログラムを理解する上で大事な基礎は詰まっていると思います。

また、何よりも成果物(自分で作った作品やシステム)があると、

その人の技術レベルやエンジニアへの熱意が伝わると思うので、

本当に簡単なものでいいので作って人に見せられる状態にしておくのは

おすすめです。

僕も成果物を見せたことで面接の感触が一気に良くなりました。

ま、クソアプリですがね、、w

 

結局、個人でスキルを業務で使えるレベルにするには

個人的には無理だと思っています。

(とはいえ突出して独学でも出来る人はいて、そうゆう方は論外としますがw)

採用されてから、現場のルールなりツールなりを習得して、

実際のプログラムの書き方などを学ぶ必要はあると思います。

 

しかし、個人でできる学びを最大限に高めることによって、

企業の教育コストをなるべく下げることが採用に至る

ハードルを下げることにもなると思います。

 

ちょっと長くなって疲れたので、また改めて書こうと思います。

同じように高年齢でエンジニアになりたい方はいっぱいいると思うので。

 

ただ、自分で本買って何か作ったり、プロゲートとかやるのも

面倒臭い!

って方は現時点だとエンジニアは難しいのかな?とも思います。

ただ、やってみたけど挫折した!でもエンジニアになってみたい!ってかたは

諦めずに独学を続けたりスクールに行くのもアリだと思います。

 

あと、これも改めて書こうと思いますがスクールで『未経験からフリーランス

夢を叶えよう!』みたいなやつはあまり信じない方が良いです。

未経験からフリーランスは不可能では無いと思いますが、ハードルは高めです。

何より未経験なのに現場に入って、次の仕事の心配もしなければならないって

かなり不安だし、最初にもらえる案件は小遣い程度らしいので

大多数の安定志向の日本人には結構ハードモードな仕様になります。

 

業務経験を数年(相場は3年以上?)積んでフリーランス、というのは

無理な話ではなさそうなので、フリーランスになりたい方は

まず開発できる環境に就職して経験や人脈を得てから

考えてみてはいかがでしょうか。

 

とはいえ、俺は私は最初からフリーランスになりたいんじゃぼけえ!

やったことないくせに判断すな!ってかたはぜんぜんアリだと思います。

うまくいけば会社勤めよりも短期間で技術や信頼、給与を得ることが

できるかもしれないからです。

ただ、フリーランスは技術力に加え営業力が大事になってくるということもありますし、お小遣いほどの給与がいつまで続くのかわからない、という不安もあるので

僕には最初は無理かな、と思っちゃいましたね、なにより

最初は開発の仕事に注力したかったので。

 

また、転職対策などを掘り下げてかければと思います、、

かければ、、

 

転職サービス

近頃はプログラミング勉強もそこそこに

転職エージェントの情報をがっつり収集しています。

なぜか?

人はゴールが明確にイメージできた方が頑張れるから。

 

正直、今日までに色々なスクールのエージェントや転職エージェントに

会ってきましたが、答えは決まって

「正直条件的に厳しい。」

というものでした。

30代、未経験からエンジニアになる、というのは

思った以上に難しいようです。

そして、その難易度は同じ30代でも日々年を追うごとに

あがっていきます。

まぁ、変に「あなたなら絶対転職できます!」

とかいってダメだった時のことをみなさん考えているんでしょうし。

 

ただ、僕はこの点に限ってはもう開き直ったので

人がなんと言おうとエンジニア転職をしてみせます。

 

一般人とは少し違うルートを歩いているんですから、

それぐらい覚悟の上です。

 

僕は自分の想像力を信じて歩きます。

そして行動することにより実現してみせます。

 

てことで、明日はGeekly,Workportのみんスク、

GeekJOBの面談に行ってきます。