プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

情報工学生の非IT業界エンジニアとしての生き方

 どうも。お久しぶりです。

 別に人事部というわけでもありませんが、何故か採用の場に少し関わる事があったので、珍しく私事を書いてみようかなと思います。(このブログでは基本的には私事は書かないことにしているのですが)



 就職活動中、私には悩みがありました。私は情報工学出身で、学生時代はずっと画像処理やってきたけど、プログラム自体は大学2年生の頃からペイントソフトを作ろうという理由で始めたという出発の遅いカス。プログラムが出来るとは言わないけど、かといって多少プログラムかじってる以外に何か取り柄があるかと言われれば、何もない。となると、自分みたいなのがスキル生かそうとしたら、IT戦士として殉職していくぐらいしか使い道が思いつかない。でも、いや、だからこそ、IT業界には行きたくない。でも、IT業界以外、自分が何できるのかよく分からない。会計?営業?企画?う~ん。イメージ湧かない。


 そういうことで悩んでる人が他にいるのかは知らない。知らないけど、そういうことで何すれば良いのか分からなくて、どうしようもない人が居たなら、少しでも何かの力になれたらと思って、2年前私が思い悩んでいたことと、社会人になってから1年たった感想を少し述べてみようと思います。

 IT業界に行きたくない 行く当てもない 働きたくない

 さて、私が現在の部署に配属されてちょうど一年がたちました。さかのぼること2年前、絶対IT業界には行かない、二度とプログラムは書かない、私はアマグラマだと宣言しました。

 わざわざ、こんなタイトルの記事を読もうって人なのだから、きっと少なからずIT業界に対して否定的なイメージを持っているとおもいます。3K5Kとか?人によって否定的なイメージのとらえ方は違うでしょうが、私がとらえた否定的な面は、なによりもIT業界には特別天才でもない情報工学出身の凡骨なんかお呼びでないってことでした。それの是非については、結局IT業界に行かなかった私がとやかく言う権利はないので、私はそう思ったと述べるだけにしておきます。


 IT業界には行かない。そう決めたはよいが、さて、じゃぁ、何しようか。そう考えたとき、そもそも何もねぇ、って事に気がつきました。考えるのも面倒くさかったので、とりあえず推薦貰えそうな所貰って推薦で適当に受けましたが、推薦なのに落ちました( ゚д゚)


 さて、困った。自分の足で何か探さないといけないぞ。つっても、やりたいこともない。突き詰めて考えればそもそも働きたくない。できる限り部屋でゴロゴロして過ごしてたい。ニート万歳。社会人になった今でも私はなるべく働きたくねーぞ!



2 周りが決まってきたぞ やばいぞ 何でもいいや

 そんな感じで、就活すら止め、テッキトーにグダグダしてた2月~4月。(あれ、推薦結果が出るのって少なくとも4月じゃね?と思ったあなた。鋭いですね。本当のところ言うと、1月でやる気なくなって、推薦すら受ける前から就活放棄しちゃってたんです。)

 しかし、4月も終わろうという頃になると、私以外の研究生達はもうそろそろ全員内定決まってきます。

 やっべ。これ流石にやっべ!!(この段階で推薦以外には何も受けていない)と、さしもの私も焦ったらしく、5月になってから就活再開。


 今年(2015年)の採用計画は大きく遅らされることになったので、まだ間に合う時期だったかも知れませんが、2013年だとどう考えても既に出遅れ。学歴フィルタのおかげで、最終面接までは行くんだけど、「君来るのが遅いよ」とか「やる気ある?」とか「知財なら開いてるよ」とかそんな感じで落とされまくりました。


 で、6社目か7社目ぐらいで、今の会社に偶然説明会に行くことになる。事業内容は半導体。半導体とか全く知らねぇ。ていうか、その会社の事業内容はおろか、その存在まで会社説明会当日まで知りませんでした。そもそも、なんで会社説明会に登録してたのかも分からない。適当に片っ端から登録したんだろう。

 さて、あまりに会社知らなすぎて、志望動機なんてないもんだから「福利厚生が良いから」とかマジで書いて提出した様なこの男、いったいどういう縁があったのか、何故か内々定をもらってしまった。たぶん、学歴フィルタで通ったんだと思っている。学歴なんて意味がないと言われる昨今だけど、私はそんなことはないと思うぞ。


 給料がそんなに良いような会社ではないけど、志望動機にも書いたように福利厚生は良さそうだった。何より、製造業ってのは休みが多い。そして、ITとは全く無関係の半導体会社。特に行く当てがあるわけでもないし、断る理由もなかった私は、特に悩むこともなく、快諾した。

 こうして、電気電子工学科でもない男が、何故か半導体事業の会社に行くことになった。

3 自分がやってきたことを簡単に捨てられると思うな

 その後、泣きそうになりながらも何とか修了し、残念なことに めでたく社会人になってしまったることが出来きました。

 その頃の私はとにかく、何もかもが嫌だった。何もかも捨ててしまいたいと思っていた。社会人になったら、数年は先輩社員の言うことをハイハイと聞くだけの雑務をこなして適当にお金貰いたいと考えていました。なお、今でも思っています

 私は電気電子回路なんて高校の時に習った内容が最後であったため、どう考えても非即戦力。ゼロからの再出発が出来ると喜んでいました。



 当時の私から見れば運が良かったのか悪かったのか、結果論的にはとても良い巡り合わせの中で、その考えは甘かったと思い知らされることになります。


 製造業では避けて通ることが出来ない工場研修(※ここ重要。きつい人にはきついから覚悟してくべき!)を終えた後、現在もいる部署に配属されました。配属された先は出来たばっかりの新開発事業部。開発事業部の上の組織が何故か広告関係の組織で、理由を聞いてみたら、出来たばっかで今のところ採算性ないし、置く場所がなかったからと言われるなど、期待はされてるけど、まだ地に足はついていない新しい組織。いわば、社内ベンチャーに近い感覚なのかも知れない。

 そんな部署で、私を待っていたのは「デスクトップ用サポートツール一個作って」という一言と、パワポ二枚のこんな画面で、という注文だけ。しかもよくよく中身を詰めていくと、論文漁っても未解決問題だと判明。つまり、誰も答え知らない。ていうか、プログラミングが書ける人が基本的に私しかいない。


 社会人になったら、ただただ先輩社員の言うこと聞いて雑用だけしていたい。何もかも捨てて再出発したい。その私の願いは粉々に粉砕され、想定外の開発をする日々を送ることとなりました。



 ただ、この開発は私にとっては想像以上に楽しかった。
 考えてみて欲しい。与えられた課題に対して、誰も解法を知らない。そもそも私以外プログラムを書く人が私しかいない。
 そうなると、必然的に自分で問題定義をし、自分で調べ、自分で設計をし、自分で実装する。これだけ好き勝手やって楽しくないわけがない。

 
 私の場合、もう一つ幸運だったのが、人に恵まれたこと。先輩社員に恵まれたのもあるが、何より上司が相当ハイレベルな人だった。ハードウェアからソフトウェアまで何でも出来る。ついでに営業も出来る。上司は忙しくて時間がないからプログラムを書いてはいないが、相当書ける人だと思う。
 そういう人は私は傲慢な人間というイメージがあるのだが、上司はそういう人ではなかった。賢くて面倒見のいい人だった。人を使うのも上手い。基本的にやる気というものがない私を引っ張ってくれたのもこの人だ。

 その上司に言われた言葉が「自分がやってきたことを簡単に捨てられると思うな」だった。




 何もIT業界に行かなくても、何も天才プログラマーでなくても、何一つ他の取り柄が見つからなくても、情報工学生を必要としてくれる場所に私は偶然得ました。きっとここに限らず、いろんな所でも必要としてくれる場所はあるんだと思う。


 私が入った企業は一応、人数的にはギリギリ大企業の分類に入る中堅企業ですが、それでも情報工学を専門に学んだ者は非常に少ないし、そういう課題にもあまり取り組んでいない。やっと取り組み始めたところ。そういう場所では、我々はone of themではなく、元々特別なonly oneになれるのかも知れません。

 むろん、少数派だから、よく分かって貰えないから押しつけられる面倒などもあるかもしれません。あのプログラム言語が~~~とか、Vim野郎は引っ込め~~~とか、そんな変な話題に共感してくれる人もいません。課題で困っても、そもそも手取り足取り助けることが可能な先輩もいません。その辺は環境次第ですし、多少は避けて通れないでしょう。

 IT業界に行かないのが正解なのか、行くのが正解なのかについて、IT業界に行かなかった私が勝手に比較して述べるということはしません。

 ただ、私はIT業界に行かなくて良かったと今も思っています。


 もし、IT業界に行きたくないけど、行くあてもなくさまよってる情報工学生がいるのでしたら、ITと無縁そうな中堅企業を受けてみるのも一つの手だと思います。


 冒頭で述べた採用に関わった時に、自分の研究がどう生かせるのか、とかいう質問をされました。その質問が出てくる根本部分が、本当に研究が好きで続けたいからなのか、アイデンティティが消えてしまう不安からなのか、それは私にはわからない。ただ、私のように何もかも捨てたいと思っていた人間からすれば、全て捨てたかったのにあれもこれも残ってしまったと感じている。


 自分の何が生かせるのか?
 そういうことは心配しなくても、自分がやってきた事ってのは意外と自分の手元に残ると思います。

JavaFXのWebViewがマウスイベントでJVMごとクラッシュする

 いろんな訳あってブレークポイントをつけれるエディタを内蔵したいのだ。でも、JavaFXには良いテキストエディタがない。(だいたい、いつになったら全角文字がなんか変な色がつくの直るんだ?)
 
 Threadをまたぐのは正直面倒くさいけど、背に腹は代えられない。SwingNodeでつっこんでやるから、Swingでもいいや、と思ったのだが意外にもSwingも全然ねぇ。


 なら、JavaScriptでもいいよ!ということで、検索してみたら見つけました素晴らしいエディタ。その名もAce

 ブレークポイントあり、Emacsキーバインドあり(超高評価)の素晴らしいエディタです。これだ!これを突っ込もう。


 というわけで、突っ込んでみました。

f:id:nodamushi:20150714231705p:plain

import java.nio.file.Path;
import java.nio.file.Paths;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;


public class AceEditor extends Application{
  public static void main(final String[] args){
    launch(args);
  }


  @Override
  public void start(final Stage s) throws Exception{
    final WebView v = new WebView();
    final Path p = Paths.get("ace","editor.html");
    s.setScene(new Scene(v));
    v.getEngine().load(p.toUri().toURL().toString());
    s.show();
  }

}

 一見問題なさそうに見えます。が、コピー&ペーストができません。
 そして、何よりも問題なのは、マウスクリックしていると、突然不意に落ちること。

f:id:nodamushi:20150714231938p:plain


 残されたログを見ても、やっぱりマウスイベントで落ちているようです。
f:id:nodamushi:20150714232108p:plain


 JRE8u45でも試してみましたが、結果は同じでした。


 むろん、これをFirefoxやChromeで動かしても特に問題は起こりません。
 コピペが出来ないだけだったら、JavaScriptを駆使して何とかなるかなとか思ってたんですが、JVMごとクラッシュするとなると流石にどうもならない。





 これがAceだけに限る問題なのか、WebViewそのものの問題なのか、ちょっと判断がつきませんが、WebViewもまだまだ不安定なんだなと思い知らされました。
 バグレポート?めんどくせ



 一応検索用にエラーコード貼り付け。

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=7052, tid=6804
#
# JRE version: Java(TM) SE Runtime Environment (8.0_40-b25) (build 1.8.0_40-b25)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  0x0000000000000000
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#