はじめに
みなさんこんにちは。IT業界8年のエンジニアであります。今まで、様々なWebアプリやWebシステムの開発に携わってきました。今回は、Javaの体験談についてお話しします。使用してきた開発環境に関するお話もしていきます。
Javaとは
Javaは、Webアプリケーションのコーディングに広く利用されている、オブジェクト指向のプログラミング言語です。強固な言語で信頼性があり、歴史が長く、世界的にかなりの人気があります。また、実行環境を問わず、どんなOSでも実行出来ることが最大の魅力です。日本には、WebアプリやWebシステムの開発を行う会社が多数存在しますが、Javaを利用して開発を行う会社が多く、Javaの知識があると仕事に直結しやすいと言えます。ただ、Javaは文法やルールが多く、それに伴いコードの記述量が多くなるため、習得するのが難しい言語でもあります。それでも、Javaのユーザはかなり多く、その分インターネットや書籍を利用して沢山の情報が得られます。インターネット上の学習サイトには「入門サイト」なるものも幾つか存在していたりするので、そこから学習を始めていけば、Javaの習得は十分に可能です。
初めてJavaに触れた時のお話
私が初めてJavaに触れたのは、大学1年の前期の、プログラミングの演習の講義の時でした。初めてJavaに触れる前も、「コンピュータで英語で命令文を記載することで様々な動作を実行させるのかな」とは思っていたので、講義ではどんなことを行うのか、おおよその見当は付いていました。また、「プログラムがスラスラ書けたらカッコイイなぁ」なんて思ったりもしました。しかし、いざ講義を受けてみると、苦労の連続でした。「Hello World」を出力されるプログラムを書けたまでは良かったものの、その後、別のプログラムを書くとなった時は、苦労の連続でした。前もって分厚いJavaの本は持っていたものの、本に書いてある通りにはならなかったことを、良く覚えています。「for文はどうやって使えば良いのか」「while文やdo…while文の中身は何を書けば良いのか」というレベルでした。結果的に、前期で単位は取れずに後期の再履修までもつれ込みましたが、再履修で何とか単位を取得することが出来ました。
業務でJavaの開発を行った時のお話
1社目
大学卒業して就職した直後からの1年4か月間は、プログラミングとは無縁の製造業の仕事を行っていました。その後、とあるきっかけで、「Javaを用いたアプリ開発の案件があるので、参画してみませんか」とのお誘いを受けて、2017年8月にそちらの案件の面談を受けて参画することとなりました。それが1社目における、Javaのアプリ開発でありました。当時はプログラミングに対して苦手意識が大きかったので、当然不安は大きかったものの、その一方で、「プログラミングの知識をここで習得しておけば、食いっぱぐれはないだろう」とも思っていたので、怖いもの見たさの思いもありました。1社目においては、撮影した動画を解析するためのWebアプリを作製する業務を行いました。画面UI、撮影した動画のサムネールのアップロードおよびダウンロードの部分のコーディングを担当していましたが、これが苦労の連続でした。画面UIにおいてはボタンのピクセル値の指定、テキストボックスの大きさの指定、撮影した動画のサムネールのアップロードおよびダウンロードにおいてはサーバーへのアップロードにおけるパス指定、端末へのダウンロードにおけるパス指定、通信に関する関数の使用方法、等々。ひたすら書籍やインターネットを駆使したり、リーダーの方に何回も質問したりして、何とかしてアプリの完成にこぎ着けました。8か月間の開発でありましたが、事実上の知識が無い状態から、基本的な知識が積み上がった状態には成ったので、それだけでも、大いなる成長でした。
2社目
1社目におけるアプリ開発から6年後の2024年11月に、今度は大手企業のWebシステムの開発に関わることとなりました。それが2社目でした。私の主な業務は、新機種と通常機種の判定、データベースの検索部分、画面UIのコーディングでした。1社目で既にJavaを経験していたので、それなりの素地はあったものの、間が空いてしまったので、「昔取った杵柄」とは中々行かない部分がありました。それでも、6年前の業務経験を思い出しながらコーディングをしました。if文を使ったコーディング、画面UIにおけるピクセルやテキストボックスの大きさ指定といった部分は、1社目におけるアプリ開発の経験を活かすことが出来たので、そこは私にとって大きなアドバンテージでした。データベースの検索部分に関しても、JavaScriptを扱っていた時の、データベースの検索に関するコーディングの経験を活かすことが出来たので、その部分も大きなアドバンテージでした。7か月間の開発に携わった後に離任することにはなりましたが、「人生には無駄なことなど何1つない」と強く感じた開発期間でありました。
開発環境
Javaを用いた開発をしていく中で、私が使用してきた開発環境にも触れたいと思います。
Android Studio
こちらは、1社目の開発にて使用してきましたが、以下のような特徴があります。
・Googleが推奨する総合開発環境で、主にAndroidアプリの開発の際に使用する。
・コードの自動補完、置換、検索といった、コーディングをスムーズに行うために必要な機能が揃っている。
・JUnitを利用したテストも可能である。
・バージョン管理システムであるGitHubやSubversionと統合されているため、チーム開発をスムーズに行うことが出来、環境に応じて設定を変更することも簡単である。
Eclipse
こちらは、2社目の開発にて使用してきましたが、以下のような特徴があります。
・コンパイラ・エディタ・デバック機能等が一体と成った統合開発環境であり、開発の効率化が図れる。
・標準でJavaの開発環境が含まれているが、プラグインを導入することで様々な言語を扱うことが出来る。
・コード編集機能も存在し、コーディングをスムーズに行うことが出来る。
私の場合は、Android StudioとEclipseの両方を使用してきました。搭載機能としては、どちらも似ている部分はあるのですが、これからはAndroid Studioを利用して開発することが主流になっていくものと思われます。もちろん、Eclipseを利用する人も多いのですが、AndroidアプリはAndroid Studioを使用することがほとんどで、Android Studioを使いこなせるようになると、それだけでもアプリ開発の仕事をスムーズに行うことが出来るようになります。
最後に
8年間、エンジニアとしてWebアプリやWebシステムの作製に関わる中で、Javaの習得は試行錯誤の連続でもありました。1社目では8か月間、2社目では7か月間、合計で1年3か月間Javaを扱ってきましたが、密度の濃い1年3か月であったと思います。私も、まだまだJavaは完璧ではありませんが、これからも開発業務を行って行っていく中で、Javaのコーディング技術を色々学んでいきます。みなさんも、書籍やインターネットを通してJavaを学習していけば、すぐにとは行かないまでも、徐々にJavaのコーディング技術は高まっていきます。焦らずサボらず、Javaの学習をしてみてはいかがでしょうか。最後までご覧頂き、ありがとうございます。