2022.01.21
未経験からエンジニアへ!
問題なくなれます!がやっぱり壁もある!
みんながつまずくポイントって?
・はじめに
様々な職業の中でもエンジニアを目指す人もいるのではないでしょうか。中でも代表的な職種であるシステムエンジニアを目指す人も多くいますが、未経験でもシステムエンジニアになれるのか気になりますよね。
ですが、結論から言えば未経験でもエンジニアになることは十分に可能です。とはいえ、つまづくポイントも多くありますし、押さえておきたいポイントもあります。それでは、システムエンジニアになるためのポイントなどをご説明しましょう。
・なんでエンジニアになりたい?
世の中には確固たる意志を持ってエンジニアを目指す人が多くいます。そこでなぜエンジニアになりたいと思ったのか聞いてみました。
Q:なぜエンジニアを目指そうと思ったのですか?
A:私はこれまでの経験を活かし、エンジニアという職種で役に立ちたいと思ったからです。
A:エンジニアは必要とされる存在であり、達成感や生きがいを感じながら働きたいからです。
A:エンジニアになったらチームの一人として、自分が持つ知識や経験を活かして力を注ぎたいからです。
以上のように様々な理由でエンジニアを目指す人が多く、自分の知識や経験を活かして働くことに意欲を感じているようです。これからもエンジニアが必要とされる場面は多くあるので、エンジニアを目指す意味は大いにあると言えるでしょう。
・今後のエンジニアの役割と重要性
エンジニアの今後の役割はさらに広がりを見せていくと言えるでしょう。昔よりもエンジニアが必要とされる場面は非常に多くなることが予想されており、特にITの分野やAIではできないヒューマンスキルを活かした仕事が求められます。
さらにエンジニアの求人状況は今も右肩上がりとなっていて、求人倍率はもちろん転職倍率も徐々に高まっています。また、エンジニアが重要とされるのは、IT投資の分野です。IT投資は企業経営において重要なテーマの一つであり、需要が衰えることはないと言って良いでしょう。
たとえばシステムエンジニアなら年々技術が高まっているハッキング対策、そして企業から求められる生産性の向上が当てはまります。金融系のエンジニアであれば顧客資金をハッキングから守る対策が必要ですし、サービス系のエンジニアなら個人情報を流出させない強固なプログラムが必要です。
このようにAIにとって変わる職種があったとしても、人間の手でしかできないことがあるのがエンジニアとしての職種を確立させています。何よりエンジニアは会社の存続がかかった責任重大な職種でもあるため、逆に責任感とやりがいを持って働くことができるでしょう。
・エンジニア目指すためにここだけは押さえておきたい!
エンジニアを目指す時に押さえておきたいポイントは3つあります。エンジニアになることは難しいかもしれませんが、ポイントを押さえればエンジニアになれる可能性はグッと高まるでしょう。
ポイント1:IT技術やプログラミングが好きかどうか
好きを仕事にするのは大変なことではありますが、だからといって好きでもないのにエンジニアを目指すというのは非常に難しいと言えるでしょう。そもそもエンジニアというしg十に興味が持てるかどうかが重要ですし、その上でIT技術に興味があったり、プログラミングをするのが好きというだけでも、エンジニアに求められる重要なポイントです。
IT技術やプログラミングは日々進化しており、次々に新しい情報が出ているのでそれらを積極的に吸収するくらいの勢いでエンジニアを目指すのが望ましいでしょう。たとえ未経験だったとしても、興味を持って働くことができれば伸びしろがある社員だと認められやすくなります。
ポイント2:地道な作業に耐えられるかどうか
エンジニアの仕事は意外にも地道な作業ばかりです。よくパパッとプログラミングすれば何でもできると勘違いしている人も少なからずいるようですが、プログラミングは度重なる修正を経てようやく正常に動くものです。
自分が書き込んだコードが正常に動かなければエラーが表示されるだけですし、なぜエラーが表示されるのかを突き止め、それを修正して再度挑戦し、またエラーが表示されたら修正……の繰り返しです。
こういった地道な作業を繰り返しても苦にならない、耐えられるという人はエンジニアに向いていると言えるでしょう。
ポイント3:日々効率化できないか考えられる
私たちが普段使っているものの中で便利だと思うツールなどはありませんか?それらのツールなどはエンジニアが普段からもっと効率化できないか考えた末に開発されたプログラムの結晶とも言えるものです。
つまり、エンジニアは世の中にもっと便利なものを届ける重要な役割を持っていると言えます。将来を見据え、どんなプログラミングをすれば効率的になるのか常に考えている日と歯エンジニアを目指すのにふさわしいと言えます。
・それでもみんなが苦労する、挫折してしまう部分って?
エンジニアになるにあたって押さえておきたいポイントがあるとはいえ、それでも挫折してしまうこともあります。挫折してしまうポイントは大きく分けて2つあるので、ご説明しましょう。
ポイント1:分からないところの解決策が見つからない
エンジニアになるにあたってプログラミングの勉強を初めても、最初は誰でも分からないことだらけです。プログラミングは非常にシビアで繊細なものなので、少しでも間違っているとすぐにエラーに繋がってしまいます。
どうしても分からないところがあって、何とか解決策を見つけようとしてもなかなか見つけられない場合に、挫折しやすくなるのが恐ろしいところでもあるでしょう。
ポイント2:どこまで勉強すればいいのか分からない
プログラミングの知識には終わりがありません。それこそプロのエンジニアでも日々勉強することが多くあるので、未経験の人がプログラミングを勉強してもどこまで勉強すればいいのか分からないのが挫折するポイントです。
プログラミングを習得するためには、どの程度のレベルまで学ぶのか決めなければあっという間に挫折してしまうでしょう。
・まとめ
エンジニアになると一言で言っても、それは終わりがない道を進むことになります。とはいえ、エンジニアに向いている人と向いていない人の違いは非常に分かりやすく、プログラミングの技術やIT技術を学ぶのが苦にならない人であればエンジニアに向いていると言えます。
どんな人でも未経験からエンジニアになることは十分可能なので、諦めずに知識を身に付けましょう。
2022.01.21
未経験からエンジニアへ!プログラミングを学ぶ方法4選
近年、IoT(Internet of Things)という言葉を頻繁に耳にすることが増えました。インターネットはPCやモバイル端末といった従来の居場所から、観光地や農業・家庭といったありとあらゆる場所へ普及を続けており、今後更なる爆発的な加速が見込まれます。それに伴い、人々の働き方も大きく変わろうとしています。エンジニアの数は需要に全く追いつかず、深刻な人材不足が発生しています。世界は今エンジニアを求めているのです。この記事では、未経験の方がエンジニアになるための方法について、ご紹介します。将来性が期待できるエンジニア職につきたいと思っている方は、ぜひ参考にしてみてください。
なぜプログラミングを学ぶと良いのか
課題に対して論理的に分析を行い、解決方法を導き出しコミットする。プログラミングを学ぶ事による最大のメリットは、論理的な思考のプロセスが身に付くことです。
プログラミングを学び、華々しくエンジニアとしてのキャリアを築くもよし、仮に従事する機会がなかったとしても、物事を整理して考える力はあらゆる仕事に対して効果的です。プログラミングを学ぶ事はあなたの人生にとって必ず有意義なものになるでしょう。
おすすめのプログラミング勉強方法
ここからはプログラミングを学ぶにあたってお勧めする方法を4つ紹介していきます。
方法その1「ゲーム・アプリケーションで学ぶ」
プログラミングを学ぶのに必要以上に敷居を高くする必要はありません。ビル・ゲイツもマーク・ザッカーバーグも最初は興味から、遊び心から始めています。
もし“興味を持っただけ”という段階であれば、必要以上のコストや時間をかける事なくまずは触れてみましょう。あなたがPCをお持ちであれば、WEB経由で環境構築する事無くプログラムを体験できますし、スマートフォンがあれば即座にアプリをダウンロードできます。
実際に興味を持った方がいれば、下記のようなサイトが参考になると思いますので、参考にしてみてください。
・ゲームでプログラミングが楽しく学べちゃう!厳選17サイト
・【初心者向け!】スマホでプログラミングを勉強できるアプリ9選
方法その2「書籍で学ぶ」
本格的に学ぶ場合、書籍を使用した勉強法は日本人に馴染みがあり有効な方法です。書籍で効率よく学ぶ上で注意すべき点がありますので、2点記載いたします。
《暗記を頑張らない》
プログラム言語は外国語とは違います。英語で話すためには単語や構文を記憶する必要がありますが、プログラミングをする上では机の隣にマニュアルがあれば十分です。
暗記に時間を割くのではなく、どんどんコードを書く時間に充てるようにしましょう。
《オリジナルの課題を考えて取り組む》
書籍の中には必ず課題が用意されています。その課題を参考に自分だけの課題を考えてみましょう。書籍の課題の条件を一部変更する、前の章で学んだ内容を盛り込んでみる、など。
正解のない課題を自分に与える事で、本当の意味での理解に繋がりますし、クリエイティブなプログラミングの面白さが垣間見えるはずです。
方法その3「国家資格で学ぶ」
エンジニアとして働くことを具体的に思い描いているのであれば、国家試験である基本情報技術者試験の合格に向けて学んでみましょう。
予め断りを入れますと、この資格取得を目指し学ぶ過程ではプログラムを書く能力はあまり向上しません。しかし、プログラミングをする上での基本的な考え方(アルゴリズム)が理解できるほか、システム設計の考え方やテスト手法、セキュリティ管理やプロジェクトマネジメントにいたるまで関連する幅広い知識を獲得する事ができます。
プログラム言語には流行り・廃りもあり、今主要な言語が10年後・20年後も通用する保証はありません。そんな時に拠り所となるのは、言語に依存しないエンジニアとしての基礎能力です。
そして、資格を取得した暁には「高度なIT人材である」事の証明になります。会社の面接を受けるにあたって、能力がある証として、本気でエンジニアを目指す意思表示として好意的に受け取られることは間違いありません。
思いたったが吉日。興味を持たれた方は申し込み概要をチェックしてみましょう。
IPA 独立行政法人 情報処理推進機構
方法その4「仕事で学ぶ」
仕事で取り扱うプログラムはいわば商品です。仕様通りの動作はもちろんのこと、コーディング規約(プログラミングをする上でのルール)の遵守や、イレギュラーケースにおける動作の確認・対処等、給与の対価として高い品質が求められます。
最も重要なポイントは、今現在稼動している生きたプログラムを参照する機会が得られる事です。仕事をすると実感しますが、プログラムは書く能力よりも見る能力がより重要となります。高品質なプログラムに触れる機会が自身の能力を高めてくれます。
エンジニアの不足に伴い、入社後に十分な研修を行ってくれる会社も多数ありますので、「仕事上で能力を伸ばす」方法が実践しやすい環境にあります。
まとめ
情報技術があふれた現在でも、プログラミングを特別なスキルと考える人は多いです。しかし、生まれながらエンジニアという人種は存在しません。
少しの興味と体験してみる・学んでみる行動力さえあれば、誰しもがエンジニアとなり、高待遇で世の中を驚かせるような仕事をする可能性を秘めています。
シーシーエーでは、ゼロからプログラミングを学び、リーダーになっている社員もおります。ご興味をお持ちの方は是非お問い合わせくださいね!
2022.01.21
AIの時代!次世代のエンジニアになる為の勉強法とは?
◆AIとは?
AIの正式名称はArtificial Intelligence(略称AI)、人工知能の略になります。
人工知能とは、人間の脳が行っている知的な作業をコンピュータで模倣したソフトウェアやシステム。
具体的には、人間の使う自然言語を理解したり、論理的な推論を行ったり、経験から学習したりするコンピュータプログラムなどのことをいいます。
上述の通り、実は人工知能いうの明確な定義って実は決まっておりません。
理由としては、各々で認識がずれていたりするからなんです。
AIは1950年頃から、話題にはなっておりましたが理解されておらず技術力等の問題により断念されてきました。
・第一次人工知能ブーム
・第ニ次人工知能ブーム
・第三次人工知能ブーム
このように実は何度か話題になりその度に断念されてきました。
今は第三次ブームに当たりますね。
現在「ビッグデータ」と呼ばれて いるような大量のデータを用いることで人工知能(AI)自身が知識を獲得する「機械学習」、
次いで知識を定義する要素を人工知能(AI)が自ら習得するディープラーニング(深層学習や特徴表 現学習とも呼ばれる)が登場したことが、ブームの背景にあります。
◆AIの活躍の場
今の世の中様々な分野でAIが取り入れられてきています。
医療、介護、ショッピング、家電や自動車
例えば、、
●実店舗でもAIが活躍?
人工知能とロボットを組み合わせた接客ロボットが、実店舗で活躍しています。
ロボットはお客さんがやってくると、顔認証をして来店歴がある顧客なのか、常連客なのかを識別します。
常連客の場合、来店回数や、過去に顧客が注文をしたメニューなどの情報をもとに、AIを駆使して顧客に適したサービスを提供します。また同時に、データを分析し、売り上げ向上に役立つ統計情報を得る機能も備え付けられています。
実際に、この機能を導入しているラーメン店では、来店するとロボットが「いらっしゃいませ」と声をかけ、来店客を特定します。
その後顧客の来店回数が3回に達しているとクーポンを出したり、顧客の年代に合わせた食べ方のアドバイスなどをくれます。現在は、ロボット接客を受けたい場合は、事前にアプリから顔登録が必要なようですが、今後この作業の必要性もなくなる位、技術が発展していくかもしれません。
参考
AIがラーメン店で接客。おいしい食べ方の指南も
また、
【課題】
中国・貴州省の省都である貴陽市では、経済成長や都市化の進展により市内中心部の交通渋滞が大きな社会問題となっています。
【解決策】
NTTデータは中国科学院ソフトウエア研究所と共同で、交通管理用のカメラを通じて収集した大規模な交通量データを分析。
渋滞予測・信号制御シミュレーションを行って信号パラメーターを最適化するAIにより、中国貴陽市の観山湖区19交差点の信号機約220機を制御する実証実験を行いました。
渋滞緩和および交差点における交通処理量の改善効果を検証した結果、対象エリアにおける渋滞が平均で7%、最大で26%改善され、交通処理量も平均6.7%改善したことを確認しました。
参考
http://www.nttdata.com/jp/ja/services/sp/ai/004/index.html
◆今後の需要は?
ECやWebメディア、農業、医療などの領域はIotやビックデータが普及し、データが蓄積することでさらなる進化を遂げることになると思います。
画像認識や音声認識などの領域も同様でしょう。
ディープラーニングに関しても、GoogleやFacebook等がソフトウェアのソースコードを公開し世界中のエンジニアが利用できる環境にあります。
その結果、かなりのスピード感で改良、進化を遂げており、例えば記憶機能を持つようなディープラーニングのアルゴリズムが現在注目を集めており、記憶し、考慮した上での論理的な質問回答が研究レベルでは実現しつつあります。
また、自動運転や需要の予測などの環境情報の解釈、理解が課題であった領域でもどんどん実用化されていくことになるでしょう。
成長戦略「未来投資戦略2017」で、政府は『AI』やモノのインターネットであるIoTなどを産業や社会生活に取り入れて様々な社会問題を解決する目標を掲げるなど、『AI』を活用した政策運営に力を入れています。
また、『AI』を活用したものづくりや医療・介護サービスなど、新しく需要が見込まれる分野を想定した地方創生推進交付金の支給対象の拡大も検討されています。
今後もこうした政策的な後押しも受けて、『AI』は私たちの身の回りで一層活躍の場を広げていくと考えられます。
◆学ぶために必要なスキル、言語は?
AIエンジニアは、AIの知識・技術を持つ人が不足していることから、一般的なエンジニアよりもかなり良い待遇で雇用されているようです。
まだ活躍の場は、限られてくることから、ITエンジニアとしての経験を積み、技術力を備えている人が、さらにAIエンジニアに必要なスキルを習得していくことが重要になりそうです。
数学の知識、データベースの運用知識などそもそもAIのエンジニアとしてではなくとも必要な知識も重要で、
例えば・微分積分学 ・線形代数学 ・確率論、統計学についての理解は偏微分が機械学習のパラメーター最適化につかわれたり、統計学を使ってデータ解析を行ったりするために必要です。
データベースの運用知識、MySQLやNoSQLなどのデータベース関係データベース管理システムの知識はデータ解析を行うための必須スキルです!
ただ、やはり機械学習を学ぶ面が新しい分野になるかと思いますが
既にPythonライブラリとして提供されています。
有名なものであれば、・scikit-learn ・genism がよく使われています。
また、深層学習のフレームワークも多くあり、・TensorFlow ・Chainer ・Caffe ・Pytorch などがあります。
Pythonは現在の機械学習、科学計算の分野で最もシェアを獲得している言語です。
「機械学習をするならPython!」と言ってしまっても、過言ではありません。
◆どんな勉強をしていけばいい?
私もいろいろ調べてみましたが、大枠で言うと以下の勉強が重要になりそうです。
他のプログラミングに比べたら必要な数学的基礎知識が多いですが、
・まずは前述した数学の知識
微分積分学、線形代数学、確率論、統計学を中心にデータ解析などを理解するうえで必要そうです。
・機械学習の基礎知識・機械学習アルゴリズムの知識
ここを把握することが難関になりそうです。
基本的には本で読むか、講師付きの学習を行うか。
ここになるでしょう。
そもそも数学としての知識がないと理解するのも難しいのですが、
「コンピュータにも人のように学習できる能力を与えられたらいいんじゃない?」という発想から、研究が始まり実際にできるようにしたのが機械学習です。
今までプログラムしていた「このような特徴があれば、それは猫だ」というルールを自動で獲得することが機械学習の目的と言えるでしょう
オススメの本
人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) [単行本]
松尾 豊
KADOKAWA/中経出版
2015/3/11
・Pythonの知識
Pythonで実現可能なものは簡単にいうと、・WEBアプリ ・データ解析/分析ツール ・人工知能 です。
Pythonが人工知能の分野で使われる理由として
・Pythonは科学技術計算の分野で発展してきた
・Python自体の汎用性や言語自体の簡潔さが人気を博した
・Pythonが持つ習得しやすさ、生産性の高さ、コードの可読性により多くのひとから支持され
※googleの言語という事からも使われる理由かと思います。
PythonはPearl,PHP,Rubyと同様に動的言語です。 Pythonは教育用言語であるABC言語の影響を受けています。
Pythonは静的で型に厳格なC言語やJava言語と比較すると習得しやすく、教育用言語として子供が最初に学習する言語としてもよく利用されます。
動画での勉強、書籍での勉強様々ありますが、チュートリアルなどでいきなり作っていくのも良いでしょう。
特記:次世代言語Julia
Juliaは将来Python及び上記動的言語にとってかわるAIの言語になりうるか!
Juliaは、マサチューセッツ工科大学で2012年に開発された汎用プログラミング言語である。現在もバージョンアップしており、バージョン1.2が最新である。
近年、人工知能やでーたサイエンス分野で大きな注目を集めている。
juliaの特徴
・オプショナルな型宣言、リッチな型システム、動的型付け
・多重ディスパッチと呼ばれる、引数の型の組合せに応じて関数の振舞いを定義出来
る仕組み
・just-in-time(JIT)コンパイラとLLVMバックエンドによる高速な実行
・Lispのようなマクロやその他のメタプログラミング機能
・C等の静的型付け言語に迫る早い実行速度
簡単に言うと「コードが簡潔で高水準な記述が出来る」「Pythonのように書けて、Cのように動く」です。
以上、近未来に向けた取り組みは既に行っていかなければ、5Gのインフラ整備終了後には凄まじい勢いで発展すると思われるので、準備周到にしておく必要かあるでしょう。
2022.01.21
【口コミから見る】SIerで楽しめる人、面白くないと感じる人
「SIerで働くのって実際のところどうなの?」「やりがいは感じられるの?」と、SIerで働いた経験のない方は当然感じますよね。この記事では実際にSIerで働いてる人から集めた口コミをベースに、SIerでの勤務にやりがいを感じている人と、面白くないと感じている人のそれぞれの意見をまとめました。
SIerで楽しめる人の口コミ
【社会の役に立っているから】
まず多く挙げられたのが「社会やクライアントの役に立てているから」というコメントです。仕事は大変だけど、誰かに感謝されたり、社会に役に立っていると感じられることがやりがいにつながっているようです。
ネットワークインフラそのものに需要があり、地方自治体の広域ネットワークの構築など、社会的にも必要とされている仕事に、一定の貢献感を持つことができた。
(エンジニアリーダー/30代男性)
自分の携わった開発案件が、新聞やテレビで取り上げられていたりするので、とてもやりがいを感じます。家族や知人に誇れる仕事だと思っています。
(エンジニア/20代男性)
実際に開発プロジェクトに入っているときは正直大変だと感じることもありますが、終了後にお客様から感謝された時は、大変だけどやってて良かったと思うことができます。
(プログラマー/20代女性)
【スキルが身につくから】
スキルについても多く挙げられました。ITの世界はとてもスピードが早く、10年同じ仕事を続けていたら、その後食べていくのに苦労すると言われることもあります。
開発言語一つ取ってみても、PHPからrubyやPythonなどの言語に人気がシフトしていますよね。エンジニアにとって、新しいスキルを身につけるというのは欠かせない姿勢であると言えると思います。
実際の口コミをご紹介しましょう。
客先常駐という形で働いているため、常駐先の業務内容によっても変わってきますが、現場によっては様々な知識や技術を吸収できるため、自分のスキルアップ・成長に繋がります。あくまで自分自身の勉強と現場で働きながら覚えていく形になるので努力は必要ですが。。
(プログラマー/30代男性)
いろんな案件に携わることになるので、とても成長できます。事業会社だと異動でもしないと基本的に同じことを繰り返す印象がありますが、SIerだとプレッシャーは大きい反面、様々な案件に携わることができるため、新しく得られる気付きが多いと思います。
(プロジェクトリーダー/30代男性)
サービスのデリバリや納期調整など開発だけでなく、営業的な仕事も含まれるので、エンジニア以外のスキルや人脈も身につくのは、自分のキャリアにとってプラスになると思う。
(開発リーダー/20代男性)
SIerを面白くないと感じている人の口コミ
次はSIerをあまり楽しむことができていない、面白いと感じていない人の口コミをご紹介します。
【残業が多い・ハードだから】
まず挙げられたのが、残業に関するコメントです。SIerは納期が明確に定められていることも多いので、間に合わない可能性が高くなると、どうしても残業を通じて間に合わせようとする傾向があるようです。
仕事の進め方や残業の方針が配属されるチームによって異なるため、配属先によってはノー残業デーの日であっても、残って仕事をしていたりする。やる気によって個人の能力に大幅な差がある。
(システムエンジニア/20代男性)
アサインされるプロジェクトによってはかなりハード。その上、評価されないことが重なったりすると、かなりやる気がなくなる。
(プログラマー/20代女性)
業務過多になり疲弊している方々を非常に多く見ました。それにより、さらにパフォーマンスが発揮できず苦しんでいる方も多かったです。
(開発マネージャー/30代男性)
【スキルが身につかないから】
先ほど、「SIerで楽しめる人の口コミ」のセクションで「スキルが身につくから」という口コミが挙がっていたことを紹介しましたが、その一方で「スキルが身につかないから」という口コミも見られました。
仕事内容や心の持ち方によって、そのように感じる人もいるようです。
今担当している業務は、スキルをあまり必要としない、データセンターでの監視業務などの運用、保守がメインです若手の時であれば、まあそれでもいいかもしれませんが、個人としての成長はほとんど見込めないです。教育もほとんどされません。
(システムエンジニア/30代男性)
SIerは総じて技術力のある人は少ないです。なので、当然エンジニアとしてのスキルの成長にも限りが出てしまいます。そのせいもあってか、回りではどんどん転職している印象です。
(システムエンジニア/20代女性)
まとめ
今回アンケートを集計して感じたのは、SIerで働くことにやりがいを感じるかどうかは、心の持ち方次第な点が大きいということです。もちろん毎日とてつもない量の残業をしていたら、なかなか前向きな気持ちにはなれないと思いますが、今の仕事が成長につながっているか?自分の仕事が社会の役に立っているかどうか?については、仕事への向き合い方次第で、気持ちを180度変えられると思います。
これからSIerで働こうか迷っているという方は、ぜひやりがいを持って日々働いてほしいと願っています。