新人どころか門口にすら立てない30代の自称未経験でエンジニアを目指すという人々に捧ぐ記事



<font color="Red">**まずどこぞの質問サイトで質問してる時点で無理だから諦めよう**</font>

別に冗談でも何でもない。単なる事実である。
　そもそも幼少時からガジェットやら端末やらを親の小遣いせびって弄り倒して来たって猛者が多いこの業界に**未経験で30代のﾍペーペー以下がいきなり入り込もう**という自体笑えるほど無謀である。資格がどうとかいう問題ではないと思う。

それでもなお目指したいとかいう〇ホが居るんなら、とりあえず以下の施作を勧める。

まず、**プログラミングとは何なのかを理解する**

....もうこの時点で出発点からして違うというのが分かって貰えるんじゃないかと思う。

Pythonのような動的型付け言語は手軽に動くだろうけど、JAVAやC#のような静的型付け言語は容易な事では動いてくれない（愚かなコピペ君はこの時点で弾かれる。生き残るのはより賢明なコピペ君である）。今流行りのRUSTなど言うまでもないだろう。まず**型とは何なのかを理解して、それをパズルの如く当てはめる**という作業がプログラミング（というかCoding）に必要な基本的なセンスである。

　これが理解出来なければはっきり言って勉強以前の問題である。その辺に転がってるCode一つ動かすのすら苦労するだろう（自分もこの辺りで数年間停滞した）。**むしろ数式の基本概念を理解した方が速いとすら言えるかも知れない。**　戻り値すら何なのか分からないので、とにかく進まなかったという。
　この辺りの適応度で多分向き不向きが分かる。

~~そこの君、呑気にギターなど弾いて気取っている場合ではない~~

この観点から言うと最初は多少地味でもPythonを勧める。**とりあえず動かして遊ぶという幼児並みの体験**がとりあえず出来るからである。
Ｃ＃でゲームプログラミングとかは慣れてきて型やクラスを書けるようになってから手を付ければよい。



他にはラズパイでサーバとか、実体のあるものに手を出すのもいいだろう。とにかく出遅れもいいとこなんだから、出来る範囲で適応度の高そうなIT機器を弄って、知見と資産を蓄積していく事である（繰り返すが周回遅れもいいところである）



**未経験で職業的エンジニアとかいう命題そのものに無理がある**と言わざる負えない。それでなれちゃう人は最初から質問なんかあまりしないでも自分で何とか出来る程度の能力を有しているし、それなりに思考力の下地を有している人々であることが多い。まあ運も多少左右するが。



# どの言語を学べばいいのか
~~それぐらい自分で調べろ~~
各言語には向き不向きが存在する。デスクトップアプリならC#かVB（C#を勧めるが）になるし、マルチプラットフォームを意識するならJavaでもやるか、リリースされて日が浅い``.net Maui``を取り組むべきと考えている。

ゲーム開発ならC#を使用したUnity等がある。
R言語を使用した有名ゲームの例もある。

機械学習であればPython、F#であるとされている。
またPythonは複雑なデータ処理に長けている。動作も軽い。

また、WebサービスであればRubyかPHP（Rubyがいい）。

各有名言語の派生としてもKotlinやTypeScriptなど様々なものがあり、どれもとりあえず手を出して損はない。


C++や最近の言語であるRustを学び、より高速でセキュアなアプリケーション開発を学ぶのもいい。

以上はいずれも<font color="red">若者向け情報</font>であり、各言語をマスターするのは多大な労力と時間を要する事から<font color="red">底辺出遅れ野郎には向いていない</font>。就職？諦めよう。



# 一つの物事に固執しない

　~~出遅れ野郎なんだから~~とてもそんなヒマはない。
それが出来るような贅沢な時代は幼年期だけである。他のプロジェクトを進めるうちに自然に他の解決手段を導き出せるようになったりもする。



# 何が作れるかではなく何が作りたいかである
　元々職業的エンジニアになれる程度の能力がある人は、**それを持っている人が多い**。
Tec業界の偉人達を観れば考えるまでもない明白な事実であろう。

# プログラミング（Coding）は単純な努力の堅実な積み重ね
　GunslingerGirl（以下ＧＧ）にそんなセリフがあったりする。

善き羊飼いのジョゼ氏
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145714/222828d9-aa96-710c-e018-87d35ce76e0d.png)



# Codingは資格や高価な機材がなくてもある程度なんとかなる唯一の能力である
　だからといってセンスがあるかどうかは別問題である。

# 多くの場合、Codingとは基本的に実験的なものである
　そのため、業界としてルールをしっかり定めている場合が多い。

# （自称）初心者向けサイトが正しいとは限らない
　限りない探求の果てに実は誤りだったと気づかされる事もなくはない

また、ここに巣くってる人の中にも、碌に検証もしないで自分の経験だけの思い込みで雑な回答をする人が居たりする。最近、その思い込みをいちいち糺す事がたまにある。
**ベテランだからといって過信せず、大抵の事は自分で検証すべきである。**
仕事だとそんなヒマもないだろうけど。


# 高額なプログラミングスクールでやってる事の半分以上は自力で出来る
　とにかく考え続ける事を辞めなければとりあえず何とかなる事が多い。

# Codingの究極とは単純化である
　メソッドチェーンのような様式美に固執する者もいるが、要するにより読みやすく短く多くのReaderに受け入れやすければそれでいいのである。妙なオタク的拘りを持ち込むのは単なる趣味である。


# より新しいものを取り入れる
　古いものも良いのだが、固執してると**ただでさえ無能が露呈しがち**ので新しいものに手を出しておいた方がよい。目立ちやすいという利点がある。
他のものに手を出しているうちにいつの間にか出来るようになってる事もあったりする。


# ギリギリまで考えろ
安易に質問するな。とにかく何でもいいから読め。
この業界に（自分の知る限りでは）優しい人間なんぞいないので、まともなやり取りをしたいなら1000円ぐらいだして2~3時間ぐらいボランティアでもしてもらうのがいい。

**この業界の人間は頭が良い人も割と多い分、教えるのは下手な部類である。**
要するにそれほど気の長い人間がいないという事なのだが。

# 現場では速さと能力が何よりも優先される
多分どこでもそうだと思う。
プログラミングスクールで3か月学んだ程度では恐らく新人にすらなれない。
最近は不景気だから新人教育をちんたらやってる余裕もないであろう。

# 売り込み方を考えた方がいい場合がある
　折角いいものを作ってもPR不足だったりする場合が多々ある（既に無数のツールがあるのでわざわざ新興のツールを使おうという人が少数派）。

　雑なやり取りをしがちな人には向いていないが、出来るだけ画像なり動画なり用意しておくのがいい。繰り返すが、**本当にこの業界の人間は性格が悪い人々が多い**。いつの間にか自分まで性格が悪くなっていたりするので気を付ける事である。
~~親切に見える人は宣伝目的だと考えていい。~~



# どのような人が求められているのか？
~~それぐらい分からないようではどのみち採用など夢幻の如きものである~~

　まず、便利な**Webアプリケーション開発**は一大ムーブメントになっている。
基本的にOSを問わないからである。ここでよく使われるコンテキストは、``十万件の顧客データ``とか``アプリケーションの設計と保守管理``、``依存性注入``、``リファクタリング``などである。まず大前提としてこの辺を身に着けるのがいいだろう。

最も、**基本が身についてないのにそんなものを読んでも何の意味もない**場合が多い。
10万件の顧客データに関する扱いなど、自分でサーバーを構築しシュミレーションでもしない限り身に付かない事だろう。

　こんな時は、比較的低額か、無料で教えを受けられるようなオンライン学習サロンみたいな集まりを使うのがいい。尤も、当たりハズレもあれば善意とは程遠い人物も混じっていたりするのが現実である。
能力が低すぎれば仲間にすら入れてもらえるかどうかかなり怪しい。
呆れるぐらいコミュ障で低能な人は最初から諦めて、趣味で絵でも描いてギターを弾いていればいいだろう。