乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

学習

フリーランスになってちょうど3年経ったので
実情をお伝えします。


解説動画はこちら



フリーランスになって丁度3年が経ちました

3年間の軌跡を動画にまとめてみました。

フリーランスに興味のある方
フリーランスになりたい方は
見ていただけると幸いです。





 

最近話題になっている
デジタルトランスフォーメーションについて
超ざっくり解説です。

解説動画はこちら



さてまず
デジタルトランスフォーメーション
とはなんでしょうか?

言葉の定義は
デジタルトランスフォーメーション
(DX:Digital transformation)の略

日本語だと「デジタル変革」が
近いかなと思います。

意味としては

企業がビジネス環境の激しい変化に対応し
データとデジタル技術を活用して
顧客や社会のニーズを基に、製品やサービス
ビジネスモデルを変革するとともに
業務そのものや、組織、プロセス
企業文化・風土を変革し
競争上の優位性を確立すること

引用:DX推進指標とそのガイダンス(経済産業省)

英語圏だと trans- を X と略記するから
DXなんですって!!!!

知らんかった
DTにならない理由はコレでした。

デジタル化の段階

DXにも段階があるようです。

デジタル化:紙媒体 
→電子書籍化(物やサービスの一部を電子化)


デジタライゼーション(Digitalization)
→ストリーミングやサブスクリプション制の導入

ビジネスプロセス全体をデジタル化して
新たな価値や利益を生み出すことを
デジタライゼーションと言うそうです。

DXはその先にあります。

何で必要なの?

経済産業省が出している理由だと

あらゆる産業において、新たなデジタル技術を
利用してこれまでにないビジネスモデルを
展開する新規参入者が登場し
ゲームチェンジが起きつつある。

こうした中で、各企業は、競争力維持
強化のために、デジタルトランスフォーメーションを
スピーディーに進めていくことが求められている

引用:「デジタルトランスフォーメーションを
推進するためのガイドライン」(経済産業省)


つまりは
・競争優位を確立するため
・いい感じでデジタル技術を活用する
・付加価値を生み出す

と言うことだと思います。

キーとなるデジタル技術

4つのデジタル技術が重要だそうです。
・クラウド
・ビッグデータ
・モビリティ
・ソーシャル


DX実現のためにはどうすれば良いの?

そもそものDXを実現させるには
次の二つが重要だと考えています。

・DX推進のための専門組織、専任者の設置
・業務の仕組み、システムの刷新

そして、既存のビジネスモデルが
通用しなくなってきているので
そもそものビジネスモデルの見直し
と言う点もあるかと思います。

立ちはだかる壁

DXについて.007
2つの問題があります。

まずはレガシーシステム
そしてもう一つがレガシー人材です。

レガシーシステムの方はまだ楽です。

システム改修を行う
新しいシステムを作る

コレで対応出来るわけで
お金と時間があれば出来ますね。

問題はレガシー人材です。

昨今のデジタル化について来れない人
40代以上に多くいます。

そして最も問題になるのは
デジタル化を阻害しようとする人たちです。

はんこ使いましょう とか
FAX使いましょう とか
言っちゃう人たちです。

本来必要なのはデジタル化と
それによって生まれる業務効率化
より付加価値の高い業務の創造です。

壁への対処法
DXについて.008

抵抗勢力によってそれが進まないのであれば
全員クビにするか

全く新しい組織を出来る人たちだけで
作ってそこに乗り換えるのが
良いのかなと思います。


海外の成功事例

こう言ったDXをいち早く
実現している会社があります。

Adobeと言う会社です。
DXについて.010

現CEOはシャンタヌ・ナラヤン氏

元々はIllustratorなどの
デザイン系アプリケーションを
販売する会社でした。

それを2012年にパッケージ販売を辞め
現在はadobe creative cloudと言う名前で
サブスクリプションでの
提供に切り替えています。

ここからAdobeの躍進が始まります。
おそらくこの決断には社内の仕組みを
相当変える必要があったと思われます。

今までにない価値を提供する
仕組みを1からつくり上げるには
相当な熱量が必要です。

DXについて.010

現在ではAdobe Marketing Cloudのような
マーケテイングツールも提供し
クリエイティブの作成から集客
EC支援まで幅広く事業展開をしています。

Adobe Senseiに代表される
AIツールも提供しており
最新のデジタル技術をいち早く
市場に投入している企業だと思います。

2012年の切り替えから
一度は売上高などは下がりましたが
そこからは鰻登りのようですね。

こう言ったプレイヤーが存在している以上
日本は世界と戦わなければいけません。

Adobeはまだまだ食指を伸ばしていきます。
日本の企業はただ傍観しているだけでは
世界企業に対抗する事は出来ません。

そのためには変革が必要です!!!

今ならまだ間に合います。
でも10年先では遅すぎます

変化を恐れずに
立ち上がるなら今なんです!!

いつDXするの???
今でしょ!!

って事で林先生の真似をして
終わりたいと思います。

それでは



今回は
未経験からエンジニアに転職する
ロードマップについてです。

解説動画はこちら


 
1.エンジニアになりたいかどうか

まず一番最初に考えるべきは
エンジニアになりたいかどうかですね。

ぶっちゃけ日本のエンジニアは
そこまで給与が高くないのと
扱いも良くないです。

お金を稼ぎたいなら
営業職をお勧めします。

でもそれでもエンジニアになりたいと
願うなら、この動画やブログを
見ていただいて何らかの参考に
なればと思います。

ここではエンジニアに
転職したい人のための
ロードマップについて
考えていきます。


エンジニアになるためには
何が必要なのか

どのような戦略を取るかを
考えていきたいと思います。


2.どのようなエンジニアを目指すか

まず、ここでのエンジニアとして
想定しているのは
WEBアプリケーションの
開発エンジニアです。

職種としては
フロントエンド
バックエンド
などと呼ばれている
職種が対象となります。

3.未経験者と言う名のハードル

まず最初のハードルは
開発現場で求められているのが

経験者

であると言う事です。

そもそも未経験の人を
開発現場が求めていない時点で
詰んでいます。

つまり経験を積まないと
いけないわけです。

一般的な経験者の多くは
新卒で開発系に行った人です。

未経験では開発現場に行けないのですから
新卒でしか未経験で開発に関わるチャンスは
滅多にないことになります。

エンジニア転職を目指す人にとっては
ここに大きなハードルがあるわけです。

4.自分が未経験から転職した方法

自分は開発未経験から
うまく転職することに成功しました。

その経験から行くと
未経験から経験者に
シフトする必要がありました。

まず最初のステップとしては
いきなり開発現場にプログラマーとして
入るのはハードルが高いので
テスターのような職種に
派遣で入ることから始めました。

と同時にスクールに通って
エンジニアに必要な知識を
身につけることにしました。

まずテスターからやれることを広げ
出来ることを増やしていきました。

そうして
テスターから時間をかけて
プログラマーの方へ
シフトすることが出来ました。

そうなれば経験者になるので
次の現場にも入りやすくなります。

そこから目当ての会社に
派遣で入り、契約社員を経て
正社員試験に合格

晴れてエンジニア転職を
することが出来ました。

5.エンジニアに必要な知識

当然、エンジニアになるためには
様々な知識を身につけておく必要があります。

エンジニアとして活躍するのに
必要な知識としては
次のようなものがあると思います。

・プログラム言語の知識(PHP,Java,Python,Javascript)
・環境構築の知識(OS、IDE、Git、Docker、ミドルウェア)
・データベースの知識(DB構築、操作、設定)
・サーバー作業の知識(Linuxコマンド、操作、設定)
・通信やセキュリティ、テスト、開発手法、クラウドetc

結構必要なものは多いです。
コレらを満遍なく身につけて
ようやくエンジニアとして
仕事をこなすことが出来ます。

6.未経験かつ知識0の場合

もし、未経験かつ知識0で行くとしたら
自分でWEBアプリを作って公開してみるのが
良いと思います。

何が必要になってどうすれば良いのか
調べられる力を付け
エンジニアリングに必要なものを
全て身につけられたら

WEBアプリ公開までいけると思います
それが自分のポートフォリオとなるわけです


数ヶ月間死ぬ気でやる覚悟が必要ですが
ここまで一人でこなせるなら
未経験でも受かる確率が高まるでしょう

7.まとめ

まとめると
011

こんな感じになるかなと
思いますね。

エンジニア職はうまくいけば
スキル職であるので
一生仕事に困りません。

転職するハードルは高くても
目指す価値はあります。

ただし、未経験が通用するのは
20代までだと考えます。

雇う側のことを考えれば
30代以上の未経験ハードルは
高すぎるかなと思うので
転職はお勧めできません。

それでも目指したい方がいれば
当方は応援しますので
コメントいただければ
アドバイスさせて頂きたいと思います。

今回はここまでです
それでは。

仕事に使えるビジネスフレームワークを
動画にしてまとめてみました。


動画はこちら


Noteに画像をまとめています。
参考にお使いください。



内容としては
・問題解決
6W2H
ロジックツリー
マトリクス

・分析
PEST分析
ファイブフォース分析
SWOT分析
パレート分析
4P分析
コアコンピタンス分析

・アイデア出し
マンダラート
オズボーンのチェックリスト
ジョハリの窓


・ビジネス
ビジネスモデルキャンバス
KPIツリー
STP

ビジネスフレームワークは多々ありますが

実際に仕事で使えるのは
数が少ないのではないでしょうか?

よく使うものとしては
仕事の優先度を決めたりするマトリクス

アイデアが出せない時に無理くりひねり出す
オズボーンのチェックリスト

顧客案件の対応時には
競合分析なども多いため
外部環境を整理したり
マーケティング方針を示唆したり
ビジネスモデルそのものにも言及したりします。

そんな時には
ちょこっとフレームワークにたよりますね。

フレームワークを使うと
仕事の効率化ができて
非常に便利な時があります。

是非参考にしてください。


はいどうも乙pyです

今回は
プログラミング初学者が押さえておくべき

プログラム言語の流行として

Githubというサービスが昨年公開した
プルリクエストの
プログラム言語ランキングを
お送りしたいと思います。

ちなみにプルリクエストとは
Githubで開発している開発者が
プログラムを修正しましたぜ!!
っていうのを知らせることです。

このリスエスト数を追うことで
世の中のプログラム言語の流行が分かるというわけです。


動画はこちら



さて早速10位から4位までを発表です。

10位 : Ruby
09位 : C言語
08位 : Bash Shell
07位 : TypeScript
06位 : C#
05位 : C++
04位 : PHP

10-4位までを見てみると
C系は多く入っていますね。

やはりCはプログラムの基本的な言語という位置づけで
必ず10位には入ってきます。

ゲーム開発では
UnityがC#
UnrealEngineがC++なので
スマホアプリの開発には
欠かせ無いものになって来ています。

自分も転職のために
一時期Unityでクソゲー開発に邁進していた時期があり
C#をガリガリ書いていました。


RubyやPHPは
WEBサイトを作るのに
人気のある言語で日本でも多くの会社で
採用されています。

開発者であればLinuxなどのサーバーで
作業をすることも多いと思うので
Bash Shellも当然使っているはずなので
ランキングに入って来ています。


さてここからはトップ3です!!!



03位 : Python
プルリクランキング.009

Pythonは近年での人気が急上昇している言語です。

特に機会学習やAI開発では
この言語の学習者がほとんどで
学んでいないエンジニアがいないです。

他にもWEBサイトやブロックチェーンなどの
アプリケーションを作ることもできるので
初めて学ぶには最適な言語かなと思っています。

こちらで無料講座も開いておりますので
ご参考にしていただければと思います。

Python講座はこちら


02位 : Java
プルリクランキング.010

昔から人気があり
幅広いエンジニアが採用している言語の一つです。

C,Python,JavaはGoogle三大プログラム言語なので
ここを押さえておくのは必須だろうと思います。

近年ではAndroid開発で多く用いられているので
2位に食い込んでいるのかなと思いました。

そして
栄えある流行トップの言語は・・・


01位 : JavaScript
プルリクランキング.011


Javascriptが去年の人気1位だったようです。

ちなみに2位のJavaとは響きは似ていますが
似て非なる言語です。

インドとインドネシア位違う言語です。
なぜこんな名称にしてしまったのだろうか・・・


WEBサイトでは
必ずJavascriptが動きますし
インターネットの世界では外すことの出来ない言語ですね。

近年ではNode.jsなどでサーバー側でも動きますし
Reactなどのフレームワークを用いた開発も盛んで
フロントエンドの開発と言えば
Javascript一択です。

自分はサーバーサイドの言語がメインであるので
UI開発はそこまでやりませんが
簡単なコードを書いたりは出来ます。

3つ巴オセロのコードは
Javascriptで作りましたし

中堅のエンジニアであれば
大体の人は押さえているのでは無いかと
思います。


さて
これからプログラミングを学ぼうと思っている人は
どうやってプログラム言語を選べば良いのでしょうか?

まずは
目的を決めることですね。

何をやりたいかで
学ぶべき言語を決めるのが
良いのではないでしょうか。

あくまでも
プログラム言語は
目的を達成するための手段であって
ただの道具にしか過ぎません。

ですので迷うのであれば
言語は目的を持って決めれば良いのです。


ざっくりと
目的別でプログラム言語を分類してみると

ゲーム開発なら
UnityがC#
UnrealEngineがC++

WEBサイト(WEBアプリ)開発なら
Javascript , PHP , Java , Python

アンドロイド開発とビッグデータ周り
Java

AI , 機会学習なら
Python一択です。



特に目的がなく
なんとなくプログラミングを覚えたい方であれば
PythonかJavaをお勧めします。

Rubyはあまりお勧めしません。
言語別の求人を見ても
求人が少ないからです。


Javascriptは
あとあと必然的に覚えることになるかと
思うので最初に選ばなくても
いずれはやることになるかと思います。

自分はこの言語ランキングのうち
RubyとTypeScriptをのぞいた
8つの言語に触れたことがありますが

メインで使っているのは
現在はPythonです。

自分がプログラミングを始めた時は
Javaを学んでいました。

それでJavaならある程度なんでも
書ける所までやり、
その後Pythonに移行しました。

まずはメインで書ける言語があると
他の言語への移行はスムーズに進みます。

基礎が出来ていれば
他のプログラム言語の
学習コストが大幅に下がるため
まずは一つなんでもできる言語を
身に付けるのがいいかと思います。

一番驚いたのは
Pythonはコードを書く量が
圧倒的に少なくなるので
コードを追いやすく
初学者にはとても向いているのでは
ないかと思っています。

Javaと同じコードを書いても
10から3分の1程度のコード量で済むのと
学習コストが圧倒的に少なかったです。

求人で見るとPythonの求人は
玄人向けの求人が多いので
その点ではJavaに劣るかもしれませんが

どのみちエンジニアであれば
複数の言語は使えて当たり前かと思うので
今ある仕事を変えたい方は
その目的に合った言語を学ぶのがいいかと思います。


ということで
こういった言語の流行を押さえておくと
これからプログラミングを学びたい方の
プログラム言語の選択に一役買うのでは
無いかと思います。

参考になれば幸いです。

それでは

このページのトップヘ