カテゴリー
エンジニア全般 プログラム

初心者がプログラミングを出来るようにするために何をすれば良いのか?

プログラムを書いてみたい!という方は多いと思います。
そしてそのために何をすれば良いのか知りたい方も多いと思います。

そのためにするべき事は

作りたいシステムを決める

です。

まず自分がプログラムで何を作りたいのか探す事が重要です。
何故ならやる気がプログラミングを行う上で一番重要だからです。

作りたいものを作る時が一番やる気が出るのでその状態を目指しましょう。

次にやる事はプログラム言語が動作する環境を作ります。
これはインターネットでやり方を調べて下さい。
JavaScriptはブラウザでも動作するので比較的環境構築は楽かもしれません。

次によく言われる事ですがそのプログラム言語でHello World!を出力して下さい。
これが正常に動作すればプログラミングを行う環境は整っています。

プログラムを何に書くかですが、最初はテキストエディタでも何でもかまいません。

ここから何をすべきかわからなくなる方も多いかもしれません。
希望の動作をさせるためにどんな命令を書けば良いのか思いつかないという状態かもしれません。

いきなり最初からコードを思いつくという方は少ないのであきらめるのはまだ早いです。

プログラム言語というのは基本的に

・関数
・条件分岐(if等)
・ループ、反復処理(for等)

で構成されます。

この3のうちどれかをコードに書いていけばほとんどの動作を実現させる事が可能です。

ここからが重要なのですが、コードを書く前に

コンピュータにさせる動作を細かい単位で書き出す

ことが重要です。

例えば料理で野菜を切る時にはまず手を石鹸で洗うところから始めると思いますが、
手を洗う時も
→蛇口をひねる
→水が出ているか確認する→出ている→手を濡らす
→水が出ていない→もっと蛇口をひねる→水が出ているか確認する
といった動作を行うと思います。

このようにコンピュータにさせる命令を細かく書き出していく作業を行う事が重要です。

これはただ紙にずらずらと書いても良いのですが、プログラミングを行う時はフローチャートという形式で書く事が多いです。

このフローチャートを完成させる事がプログラムを正しく動作させるために必要な第一歩です。

フローチャートを何に書くかですが紙でも良いですしエクセルでも良いですし専用のツールでもかまいません。

カテゴリー
エンジニア全般 プログラム

フリーランス、プロを目指すために初心者が学ぶプログラム言語は何が良いのか?

プログラミングを学ぼうという方が最初に疑問に思う事はどの言語を学べば良いのか?
という事だと思います

最終的にフリーランス、プロを目指したいという人はどの言語を学べば良いのか

ゼットは3つの観点から選ぶ事をお勧めします

1、作りたいシステムでよく利用される言語

2、稼げる言語

3、難易度

です
順を追って説明します

1、作りたいシステムでよく利用される言語

これは自分が作りたいと思っているシステムでよく使われるプログラム言語を学んだ方が良いという事です。

やる気というのはプログラムを学ぶ上でも仕事をする上でも非常に重要です。

自分が一番作りたいと思うシステムで使われる言語を学ぶのがやる気を出すためには効果的です。

システム別に使われる言語の例は
・Androidアプリ→Kotlin(コトリン)
・iOSアプリ→Swift
・Webアプリケーション→Python、PHP
・WebアプリケーションUI→JavaScript
・業務アプリケーション→Java、C++
・ロボット→C++
・人工知能(AI)→Python
という感じです

上記に上げたものは一例であり他の言語が使われる事もあります。
また、時代が変わると他の言語で書かれるようになる事もよくあります。

2、稼げる言語

フリーランスを目指したり、高収入を目指したい方は報酬が高いという観点から言語を選びたいという方もいるでしょう。

稼げる言語とは需要が多く供給が少ない言語です。

注意しないといけないのは需給というのは常に変化するため稼げる言語も日々変わっていくという事です。
ニッチな言語は稼げる事も多いですが、その言語が使われなくなると仕事も少なくなるというリスクも内包しています。

最近だとAI開発が盛んですが開発者はそこまで多くないので報酬が高めになっています。
AI開発にはPythonがよく使われます。

また、スマホアプリ開発者も需給が逼迫していて報酬が高めです。
・Androidアプリ→Kotlin(コトリン)
・iOSアプリ→Swift
がよく使用されています。

その他にも報酬が高めの言語は存在しています。
どの言語が報酬が高いのか知るためには随時インターネットで検索して調べたり、エンジニアの就職、転職を支援するエージェントに聞いてみると良いと思います。

3、難易度

プログラム言語には習得するための難易度が存在します。

一般的にはスクリプト言語、インタプリタ言語の方が習得が容易でコンパイラ言語の方が難しいと言われています。

スクリプト言語、インタプリタ言語の代表的なものはJavaScript、Python、PHP、Ruby等です。

コンパイラ言語の代表的なものはJava、C、Go等です。

個人的には難易度という観点ならばPythonやPHPを学ぶのが良いと思います。

プログラミングは一般的に1つの言語をある程度深く習得すると他の言語も早く習得する事が出来ます。
ですので学びやすい言語をある程度自在に書けるようにしておくのが上達のポイントですし早く稼げるようになる近道になると思います。

最終的にどれを選べば良い?

上記3つの観点を見てもどれを学べば良いのかわからない!
決められない!
という方にゼットが個人的にお勧めするのはずばり

PHP

です。

PHPは非常に書きやすい言語であり習得難易度もそこまで高くありません。
おそらく他の言語と比べても生産性が非常に高い言語であると思います。

生産性が高いというのは同じ動作をさせるために書くコードの量が少なくて済むという事です。

PHPは習得難易度は低いですが深く学ぶとクラスや型、関数等といった他の言語と共通する概念が理解出来るので最初に選ぶ言語としては向いていると個人的には感じています。

習得しやすいという事はフリーランス、プロに早く近づける言語と言って良いのではないかと思います。

カテゴリー
エンジニア全般

フリーランスエンジニアは稼げるのか?

システムエンジニアの方が気になっている事の1つにフリーランスになったらもっと稼げるのか?というものがあると思います

その問いに対する答えは

YES

です。

ゼット自身がフリーランス案件だけで月に70万円前後の収入を得ています。

そこまでエンジニアとして特別な事をしているわけではないのにも関わらずです。

もちろんもっと高収入も狙えます。
仕事内容や言語によっても報酬は増減します。

何故フリーランスになると収入が増えるかというとそれは会社の経費や利益を自分の売上げから捻出する必要がなくなるから等の理由があります。

また、コロナ禍になってからはリモート環境になり非常に時間も体力も必要な通勤からも解放されています。
(仕事によっては事務所で作業する案件もあると思います。)

その他にも節税等フリーランスになるメリットは多々あります。

もちろんデメリットも存在しますがこれはまた違う記事で書いていこうかと思います。

フリーランスエンジニアについてもっと話を聞いてみたい!という方はゼットに答えられる事であればご相談をお待ちしています

カテゴリー
エンジニア全般

どんな人がシステムエンジニアに向いているのか?

近年なりたい職業のランキング上位にもなっているシステムエンジニア

システムエンジニアになりたい!という方もいるでしょう。 それではどんな人がシステムエンジニアに向いているのでしょうか?

個人的にはずばり

ぐちゃぐちゃに絡まった糸をほどく時に1つ1つ丁寧に結び目をほどく人

が向いていると思います

コードを書くにしろバグ調査にしろシステム設計をするにしてもその作業は根気のいるものです。
そして優れたエンジニア程細かく順を追って1つ1つ段階を踏んで作業します。

絡まった糸をほどく時勘のみを頼って適当に糸を引っ張るような人はエンジニア向きとは言えないかもしれません。
どんな言語にしろコードを書くという事はコンピュータに動作を1つ1つ指定するという事でもあり細かな過程を考えていく必要があります。

また、バグが起きた時の原因調査もログを細かく見ていく等非常に根気のいる作業です。

もし絡まった糸をほどく時に結び目を1つ1つ時間をかけてでも丁寧にほどきますという人はシステムエンジニアという職業を考えてみても良いかもしれません。

システムエンジニアというとスマートにコードをカタカタと打っているイメージを持つ人もいるかもしれませんが実際はそこまで素早くコードを書く事はあまりありませんし速く打ち込む必要もありません。

それよりも1つ1つ過程を丁寧に考えていく気質が必要です。