相談) 業務系SE向きなプログラミング勉強法と今後のキャリア
今年4年目となるSEです。プログラミング言語を覚えたいのですが、どうすれば良いのか分かりません。
プログラムを覚えることで仕事に幅ができるでしょうか?
かんたんに自己紹介させていただきますと、元々文系の大学を出ており、「コンサルタントとかしてみたい」と調べていくうちにITコンサルの仕事があることが分かりIT業界に入りました。
ですが、会社もよくある人売り系の会社で特にキャリアパスとか考えてくれず、インフラの運用・監視の案件に突っ込まれてしまいました。
なので、サーバーの運用や保守しかしておらず、特に技術というものが身に付いてません(しかも年収が300万を切る状態)。
会社に文句を言っても「技術がないからそういう案件しかない」と言われ、保守業務に面白みも感じられず転職を考えています。
ここで本題に入らせていただきます。
- 業務系SEをしていて面白みを感じられないのですが、他の仕事をしても同じでしょうか?
- 業務系で必要とされるプログラミング技術とはどのようなものでしょうか?
- プログラムをするなら何か作成しないと上達しないと聞きましたが、それでも覚えるべきでしょうか?
今のところプログラムができないと困るといった場面はありませんでした。が、ないとこのまま似たような案件しか来ないのかなと考えると覚えた方がいいのかと悩んでいます。
かといって何から手を付ければよくわからないという状況です。
だいぶふわふわした質問ですがお答えいただくと幸いです。
読者の方から相談メールをいただきました。
同じような悩みを持っている方向けに回答内容を一部紹介します。
Contents
プログラムを覚えることで仕事に幅ができるでしょうか?
プログラムが書けるようになれば、開発の仕事ができるようになりますし、運用の仕事でもDevOpsのように手順を自動化することもできます。つまりは仕事の幅が広がります。
業務系SEをしていて面白みを感じられないのですが他の仕事をしても同じでしょうか?
Webサービスやスマホアプリなどの自社サービス運営企業だと、業務系SEとは違った面白さがあります。
自社プロダクトへの愛着がわいたり、新機能を提案したりもできます。
業務系システムが他社から依頼されたシステムを開発するのに対して、自社サービスだと自分たちのシステムなので、違った感覚になるかと思います。
業務系で必要とされるプログラミング技術とはどのようなものでしょうか?
業務系システムではJavaがよく使われています。Javaの中でも業務システムでよく使うのは以下のようなものです。
- DBアクセスする(JDBC, SQLJ, EJB, JPA, JDO, Hibernate, MyBatis)
- Webアプリケーションを実装する(Servlet, JSP, HTML, CSS, JavaScript)
- フレームワーク(Spring, Struts, JSF, Play等)を使った開発ができる
- オブジェクト指向技術(カプセル化・継承・ポリモーフィズム・デザインパターン)を的確に使える
このようなスキルがあると、業務システム開発の仕事で重宝されます。
プログラムをするなら何か作成しないと上達しないと聞きましたが、それでも覚えるべきでしょうか?
プログラミングは本を読んだだけでは身につきません。プログラムを作成する中で身につきます。
覚えるべきかどうかはあなた次第です。
小学校でプログラミング教育が必修化されますが、すべての人が覚えなければいけないものでもありません。
「あなたがプログラミングをしたいかどうか、学びたいかどうか」で決めればいいと思います!