10年SEやってみたけど転職しておけば良かったと後悔している。SE辞めたい!異業種・異業界に転職したい!新人・若手に伝えたいこと

SEを10年続けてみた結果!転職したくてもできなくなった…

プログラミングがわからないSEはどうすればいい?

SE悩みあるある

SEだけどプログラミングがわからないんだけどどうすればいい?3つの対策

投稿日:2018年6月29日 更新日:

SEやってるんだけどプログラミングがわからない、という悩みを抱えるSEは多いです。

SEというとプログラミグができて当たり前というイメージがありますよね。ですが、10年以上SEをやっているわたしからすると、プログラミングできないSEなんてごろごろいるんですよ。

じゃあプログラミングはできなくてもいいの?と言われると、そりゃできないとまずいのですが…。

まずはしっかり『プログラミングがわからない』という事実に向き合っていきましょう。しっかり問題を分析し、自分にあった対策を取っていきます。

プログラミングがわからない…どうすればいい!?

1.プログラミングがわからないなら勉強する

プログラミングがわからない、と一言で言ってもその原因はたくさんあります。

  • 勉強していないからわからないのか?
  • 勉強しているけどわからないのか?
  • プログラミング自体はわかるんだけど、ロジックを組み立てることができないのか?
  • 他人のソースコードがわからないのか?

勉強してないからわからない

まず最初に言えることは、勉強していないからプログラミングがわかりません、という人は、IT業界にそもそも興味がない人だと思います。

IT業界に興味がない、プログラミングがわからない、これでは仕事を続けていても辛いだけですので、新卒3年以内に異業種・異業界へ転職してしまったほうが幸せになれるでしょう。

勉強しているけどわからない

勉強しているんだけどプログラミングがわからない、という人もたくさんいるはずです。わたしがたくさんのSE見てきた限りでは、プログラミングができる人とできない人ははっきり分かれます。できる人は『勉強しなくてもプログラミングがわかる』っていうぐらい飲み込みが早いです。

要は、プログラミングスキルの習得にはある程度のセンスが必要になる、ということです。

プログラミングはセンスです。

と言ってしまうと元も子もないので、勉強しても理解できない人にアドバイス。プログラミングは下記の3つの要素で出来上がっているということを強く意識しておいてください。

  1. 処理は連続する
  2. 処理は分岐する
  3. 処理は繰り返す

ソフトウェア工学の話です。おそらくですが、最近のSEの多くはC#やJava、PHPといったオブジェクト指向な言語から入る人が多いでしょう。ざんねんながらオブジェクト指向はプログラミング初心者向きではありません。わたし個人としては、C#、Java、PHPでどれだけプログラミングの勉強をしてもスキル習得スピードは上がりません。

初心者が勉強すべきプログラミング言語は『C言語』なんです。C言語にはプログラミングの基礎だけで出来上がっている言語です。基礎さえ完璧に抑えれば、あとはどんな言語であっても派生して習得することが可能です。

実際に、わたしはC言語なら完璧にマスターしたって言えるぐらいで、C#やJava、PHPを1週間程度の勉強で実務で使えるようになっています。C言語での開発はたしかにほとんどなく遠回りのように思えますが、C言語の習得がプログラミングスキル習得の近道なんです。

プログラミング自体はわかるけど自分でロジックを組み立てられない

これは論理的な思考能力が高くないパターンです。たとえるなら、学校の勉強は得意だけど仕事を効率よく進めることができないタイプ。地頭の良さ、と言うかもしれません。

これは別に能力が低いと言っているわけではありません。この論理的な思考力というのはある意味、天性の才能に近いです。

残念ながら、論理思考力は大人になってから身につけるというのはむずかしいです。そういった自己啓発系の書籍がたくさんありますが、読んだだけではほぼ改善は不可能でしょう。

論理思考力があるかないかは、数学が得意かどうかによります。数学の中でも特に『図形の証明問題』が得意かどうかです。

  • AはBである。
  • BはCである。
  • よって、AはBである。

現場に散りばめられているわずかなヒントをつなげていき、正解を導き出す。これがSEの仕事です。こういったことを論理的に証明すること、これこそが論理思考なのです。

これを理解して仕事に活かせるかどうかがポイントです。論理思考力がない…と判断したならば、SEを続けていても明る未来はないかもしれません。

他人のソースコードがわからない

これはわたしもかなり当てはまることなのですが、他人のソースコードが理解できないという人も多いです。

実はプログラミングがわかる、自分でロジックが組める、でも他人のソースコードが理解できない…このパターンが一番危険です。

なぜなら、一応仕事ができるため仕事はもらえます。ですが、品質の高いものを作り出せないのです。

ソフトウェア開発の多くはすでに誰かが作ったソフトウェアの改造だったり派生の開発です。他人のソースコードに手を入れるのですが、ソースコードを理解できないばかりに影響範囲を明確にすることができず、改造したら関係ないと思っていたところがバグってしまう…

バグが出ればお客さんからクレームが来ます。クレームを受けると…死にたくなるぐらいヘコむ時があります。

  • とにかく時間をかけてソースコードを読む。
  • 作った本人・知っている人がいるなら聞く。
  • こういう理解なんだけど正しいよね?と関係者にレビューしてもらう。

ソフトウェア開発でバグは避けられないものです。なので、責任が100%自分に乗っかってこないように、

『あのときちゃんとレビューして、あなたも正しいって言いましたよね?』

と責任を転嫁させることです。

…クズっぽい意見かもしれませんが、SEが仕事をする上では本当にこのように『自分が潰れないようにする』という対策が重要なんです。

2.ランサーズやクラウドワークスを使って実務経験を積む

プログラミングがわからなくて辛いという気持ち、わたしもよくわかります。…わたしの場合は2週間程度で基礎は習得できていましたが。

わたしの周りの友人でもプログラミングがわからないという人はたくさんいました。一緒に勉強したり、教えることもありました。

その過程で見切りをつけて転職をしてしまった人もたくさんいます。わたしはプログラミングがわからずに転職をする、というのはどちらかというと正しい判断だと思っています。

プログラミングはある程度のセンスが必要ですので、適正がないと判断したらさっさと異業種・異業界に転職したほうが懸命です。わからないことを一生続ける人生は周りの人からも責められるし苦痛でしかないからです。

ですが、プログラミングってのはなかなか置くが深く、2年~3年と続けてようやくわかってくるという人もいます。見切りをつけるタイミングってむずかしいですよね。

プログラミングがわからない、だけどSEを続けたいと言う人は、とにかく経験を積むことです。机の上でするプログラミングの勉強には限界がありますし、実践で習得できるスキルとは天と地ほどの差があります

今はランサーズやクラウドワークスでプログラミングの仕事を請け負うことができますので、腕試しとお小遣い稼ぎのつもりでやってみるのが良いでしょう。

全く知らない状態から、自分の力ですべて解決させる。この行動がとても大切なんです。人は追いつめられた時にこそ大きく成長することができます。

くれぐれも、

  • 先輩が教えてくれない
  • 自分にはテストの仕事しか回ってこない
  • プログラミングの仕事さえ回ってくれば自分だって…

と、受身の姿勢にならないことです。ちなみに、わたしも新卒から3年間はテスターとして過ごしていました。一切プログラミングをやらせてもらえないし、スキルも上がらない。その時に基本情報処理・応用情報処理を取得し、

『じゃあプログラマとして使ってみようか』

となり、SEへとステップアップできたわけです。

3.プログラミングが不要の仕事をする

プログラミングがどうしてもわからん!という人は、いっそのことプログラミングが不要の仕事をするのもアリです。

どこの会社でも、社内SE・テスター・事務職はあるものです。プロジェクト異動や部署異動を希望してみましょう。

ただし、転職なしで社内SEになるというのはかなりの狭き門です。なぜなら、社内SEは会社に数人しかいないことが多いですからね。転職ならば複数の会社に応募できるので、ある意味枠は広いです。

理想なのは社内SEとして転職する。年収も下がるということは聞かないし、プログラミングを一切しない社内SEもいます。一応、社内SEへの転職は異業種・異業界への転職となることが多いのですが、唯一コンピュータスキルが活かせる異業種・異業界への転職となるでしょう。

テスターとして過ごすのもアリっちゃアリなのですが…IT企業の中ではテスターは下っ端です。年齢が30歳…40歳となったとき、どう思うか?

給料も低いし、もし会社が傾けばまっさきにリストラ候補でしょう。進んでなるというものでもない気がします。

じゃあ事務職がいいのか?というと、そちらも微妙です。最近ではAIやブロックチェーンの技術が進歩していますからね。ブロックチェーンはbit coinといった仮想通貨の技術のイメージが強いのですが、本来は『コンセンサスの自動化』です。今まで人と人の間でやり取りしていた承認作業が自動になるということ。これにより事務職系はかなり減るのではないかと予想しています。

ホワイトな企業だと簡単にリストラはせず、何らかの手段で生き残る方法を精一杯考えてくれますが、どこへ行ってもあまり居心地の良いものではないでしょう。

まとめ

  • プログラミングがわからないなら勉強する
  • 実務経験に勝る勉強はない
  • どうしてもわからないならプログラミング不要の仕事をする

勉強しないのは論外ですが、闇雲に勉強すれば良いというものではありません。実務経験に勝る勉強はないので、ランサーズやクラウドワークスを使って武者修行のつもりで経験を積んでみましょう。

ちなみにわたしもランサーズやクラウドワークスを使って副収入を得たりしています。Amazonが提供するAPIを使って商品のデータ取得を一括で行えるようにするツールを開発したりしています。

SEは仕事を通して習得するスキルがプライベートでも使えて、さらにお金を稼げる。仕事もたくさんあるし経済的な安定が手に入る職という強みがあります。ですが、無理はしないようにしましょう。

SEをやってメンタル潰れた人をたくさん見てきました。一度うつ病になると何度も繰り返していますね。転職するかどうかの基準は『健康に影響が出るか』というのがポイントです。うつ病になるぐらいなら転職をしてしまったほうが良いです。

  • この記事を書いた人
sakamoto

sakamoto

10年以上SEを続けている現役のSE。3年は続けろという言葉を信じた結果、3年後にはSEを辞められなくなり、スキルさえ上がればと思い10年続けるもセンスが無く中途半端に仕事ができるばかり。日々、バグを出しながらメンタルをすり減らしながらSE続けてます。

-SE悩みあるある

Copyright© SEを10年続けてみた結果!転職したくてもできなくなった… , 2019 All Rights Reserved Powered by AFFINGER4.