SNS・YouTube

【体験談】文系Fラン大学卒業後、SESとしてプログラミングをした話

文系Fラン大学に在学中の就職活動をしている皆さんに少しでも役に立てるよう、就職活動から現場配属後の仕事までの実体験をお話しできたらと思います。

文系Fラン大学で4年間勉強してきたけど、就職活動でシステムエンジニアが気になってきた….。

最近はプログラミングがとても人気で、システムエンジニアに転職するため多くの方がプログラミングスクールでプログラミングを習っています。
よくYouTube広告で流れていますよね…(少しうざい)。

システムエンジニアとして就職するには、「専門学校」や「プログラミングスクール」に通わなければいけないイメージがあると思います。

ですが、文系Fラン大学でも「新卒」というカードを使用して、システムエンジニアとして働くことができます。

現に私も文系Fラン大学でしたが、SESとして働くことができました

では就職活動から現場配属後の仕事までの実体験をお話ししようと思います。

就職活動開始

私は2018年に就活を開始しました。

就活解禁日はには働きたい業界が決まっておらず、スーツすら届いていませんでいた。

IT業界に決め、プログラミングをやることになった理由

私の大学は毎年企業側から大学に訪問し、就活生とのマッチングを行っています。

私もそれに参加し、様々な企業の説明を聞きました。

IT業界の説明もあり、各IT企業が説明をしてくれます。

そこで多くのIT企業が、「未経験の文系学生でもOK」と言っており、文系の私でもシステムエンジニアとして働けることを知りました。

私は「IT業界がこれからさらに伸びる」や「技術が身につく」と思い、IT業界で働くことを決めました。

更に、パソコンいじるのが少し得意なので、それもIT業界に決めた理由となります。

試験~面接

私は10社くらい試験や面接を受けましたが、1回の試験と2回の面接がほとんどでした。

IT業界の試験は少し特徴的な試験問題があります.

SPI試験を導入するIT企業はあまり多くありませんでしたが、CABテストを実施しているIT企業がほとんどでした。

CABテスト

CABテストは簡単に説明すると、規則性の問題です。
例えば、3つ画像があり、4つ目の画像として適切な画像を選ぶ問題です。

CABテストは最初とても難しいですが、慣れるとすらすらと解けるようになります。

面接

面接に関しても特にITに関する内容を聞かれることはなく、学生生活の話など一般的な面接内容となります。

なので、面接対策は特別な内容を対策する必要はありません。

就活の成果

私は10社を受けましたが、そのうち3社は次の段階に移りました。

ちょうどその時彼女に振られて、いろんな意味で疲れていましたが内定をもらうことができました。

私は2回面接のIT企業の内定をいただきました。

他の2社は「試験合格後の、最終面接で時間を間違える」や「SPIに落ちましたが、面接をした後人柄がよいと言われ、ぜひ入ってほしいからもう一度SPIを受けてほしい………2回目も落ちる」

でした。

基礎学力が低い私は試験で特に苦戦しました。

内定後

内定者向けの食事会や、内定者向けの新人研修がありました。

新人向けの研修では社会人マナーに関する事と、プログラミングについて教わりました。

私は4月からSESとして働くことになりました。

SESとは?

客先のオフィスにエンジニアを派遣し、システムの開発や運用を行います

SESは自社のサービスではなく、派遣社員として客先のシステムを開発します。

最初はSESなどあまり気にしていませんでしたが、SESは派遣されるので客先が大企業であろうと給料は自社基準となります。

なので客先の正社員と、派遣されている人が同じ新卒(同じ業務内容)でも給料の差がある可能性もあります。

大企業のSEは専門学校や経験済みである場合が多いので、文系Fラン大学には少しハードルが高いかもしれません。

入社後の3か月のプログラミング研修

入社後は外部のスクールで3か月間の研修を受けました。

プログラミングは想像以上に難しかったです…

Java研修

Javaは約1か月間研修を受けました。

Javaの環境構築から基礎部分の学習です。

環境構築

Javaをやるには、PCの環境を構築する必要があります。

基本的にプログラミング言語は英語で、環境構築するための設定も英語なのでとても苦戦してしました。

手順がいくつもあり、1つでも間違えると正しく動作しません。

基礎部分の学習

最初は、Javaを実行して文字を表示させたり、if文を使用して条件分岐を実装しました。

if文までは調子が良かったですが、for文や配列が出てきたり、クラス、オブジェクト指向が出てきてから完全に頭がパンクしてしました。

if文は条件分岐なので、BMIのシステムを作成することができました。

ですがfor文や配列が良く分からず、終わってしまいました。

SQL(データベース)

どの現場に出ても、データベースを扱う言語であるSQLをやる可能性が高いです。

SQLはJavaなどのプログラミング言語とは少し書き方が異なり、さらに混乱しました。

Javaが全然できていないのに、SQLを始めても大丈夫なのかと不安になりながらSQLをやりました。

その他の言語

JavaやSQL以外にも、HTML、CSS、Servlet/JSPなどやりました。

Servlet/JSPとなると、HTMLとJavaが混ざっているような言語で全く理解できず進めていました。

研修で気づいた点

私は3か月の研修を得て多くの事に気づきました。

研修で気づいた点

  • パソコンが得意より、基礎学力が必要
  • ショートカットキーを活用する
  • 検索して自分で解決する

私は最初に「パソコンいじるのが少し得意」と書きましたが、そんなことより義務教育で習う基礎学力が一番必要なことを感じました。

基本的には・国語・数学・英語ができれば問題ありません。

国語

国語は、設計書を正確に読むのに必要です。

更に、プログラミングは論理的思考が必要です。

論理的思考があることで、なぜそのプログラムがバグを起こしているのか、そのバグを治すにはどのようにしなかればいけないのかの道筋を立てることができます。

数学

数学が必要な理由は、プログラミングの基礎を理解しやすくするためです。

プログラミングは変数というものがあり、値を変数の中に入れます。
数学だと中学生で習う代入に似ています

代入をしっかり理解すれば基礎は問題ないと思います。

英語

英語が必要な理由は、プログラミング言語やエラーログなど様々な場面で英語で解読する必要があります

変数やデータベースなども基本的には英語で記述する必要があるので、英単語ある程度の文法が理解できれば苦ではないと思います。

苦戦した点や気づいた点

私は「国語」と「数学」の学力がなかったので、プログラミング言語のロジックを理解できませんでした。
ロジックを理解できないのに、ロジックから理解しようとしたため覚えるのに時間がかかってしまいました。

ロジックから理解するのではなく、とにかく本に書いてある内容を模写してプログラムを実行する方が速く覚えることができます

また、英語が全く読めないとエラーが発生した際の原因を理解することができません。

現在はGoogle翻訳などがありますが、現場によってはGoogle翻訳などのサービスが禁止の可能性もあります。

英語はある程度読めると、プログラムがスムーズになります。

現場配属

3か月の研修終了後、現場に配属されることになりました。

現場での作業では分からない事が分からない状態になり、一年間ととても大変でした。

設計書

設計書は客先によってルールがあるので、客先のルールに沿って設計していけば問題ありません。

客先のルールに沿って書くことはある程度慣れてきますが、特に難しいのが客先のシステムを十分に理解しなければいけない点です。

私は現場配属後は設計書を作ることはありませんでしたが、仕事に慣れてくると任されるようになります。

客先のシステムを理解して設計書を作るのは簡単そうに感じて、とても難しい仕事です。

プログラミング

現場に配属され、生まれて初めて企業のソースコードを見ることができます。

ソースコードを見ていると、for文と配列が…..

これは完全に終わったと思いました。

分からないなりにGoogleで検索して実装していましたが、何度も怒られていました

実際に動いているソースコードを活用する

実際に動いているソースコードは、基本的には問題なく正常に動きます

自分で一からソースコードを書くのではなく、実際に動いているソースコードを活用して実装するパターンが多いです。

自分で1からソースコードを入力すると、客先のルールに沿ってプログラムすることができません。

客先のルールに沿ってプログラムしないと、バグが発生したり、他の人が修正するときに修正に時間がかかってしまいます。

必要なのは現場のルールに沿ってプログラムをすることなので、実際に動いているソースコードを活用するのがベストです。

ソースコードを活用でも理解し始める

ソースコード活用ではプログラミングを覚えることができないと思い込んでいましたが、実際は逆で、多くの事を理解することができました。

ソースコードを活用してもエラーは発生します。

エラーが発生したら、デバッグ実行をしてエラーの個所を確認するので、try&errorを繰り返します。

try&errorを繰り返すうえでGoogle検索で確認し、修正を行い、プログラムを完成させプログラムに関して理解を得ることができます。

テスト

私はとてもテストが苦手でした。

修正したソースの場所の確認を様々なパターンで確認します。

テストはデータベースに想定したデータが入っているか想定したデータがファイルとして生成されているか

様々な観点を網羅的に確認する必要があります。

テストが不十分だと、試験チームのテストでエラーが発生

私のような新卒が行うテストは基本的に今回修正分の確認となります。

今回修正分の確認テストだけの場合、本番環境に実装した際バグ発生してしまう可能性があります。

システム全体で動かした時にバグ発生しないかを確認する作業が必要です。

基本的には全体確認はベテランの方が行います。

今回修正分のテストで発見するべきエラーを、システム全体での確認で発見すると…

テスト不備です。

プログラミングに慣れるまではとても大変

今までプログラミングとは無縁の環境にいても、SEとしてプログラミングをすることは可能です。

プログラミングに慣れるまではとても大変な日々ですが、プログラミングを覚えて損はありません。

IT企業を探す際、少しでもプログラミング研修があるか確認してみましょう。