こんな人はエンジニアを楽しめるのかもしれない

こんにちは。

今日は偉そうに、「こんな人は(ソフトウェア)エンジニアを楽しめるのかもしれない」と言うテーマで書きます。

(エンジニアとして活躍できるかどうかは別の話です)

ターゲットは、これまでプログラミングしたことないけど未経験から挑戦したい方です。

まずは僕自身の簡単な自己紹介。

僕は28才の時にプログラミングに初挑戦し、現在31才、初挑戦から早2年半以上が経ちました。この間、ほぼほぼモバイルアプリのエンジニアに携わっています。それまでは割とプラプラしていたり海外でボランティアしたりと、エンジニアとは全く無縁の人生を送ってきました。

エンジニアを目指したきっかけは青年海外協力隊での海外ボランティア。アフリカに2年間住んで現地のNGO的な組織の運営マネジャー補佐として活動していたのですが、正直、何も貢献できなかったんですよね。会計とか農業とか事業運営とか色んな領域で課題があったのですが、一緒に畑を耕すなど単なるマンパワーになることしかできず、「知識移転」や「技術移転」のような、現地の方々のスキルアップに繋がることは何もできなかったです。(青年海外協力隊では、自分たちがいなくなっても現地の人たちで「持続的に問題発見・解決」ができるように、単なるマンパワーになるのではなく、知識や考え方、技術、異なる価値観などを「移転」することが求められています。)。社会人経験がほぼないまま帰国して仕事どうするの、という不安も重なり、「何か専門知識を身につけないと何も役に立てない」と痛感したんですね。で、何の専門知識を身につけようかと考えていた時に、同じ協力隊の方が30代になってWebデザイナーになった話を聞き、これまで全く考えたことがなかったけどそういうキャリアもありかなと。振り返れば自分のボランティア活動の中で唯一役に立てたと思ったのが、エクセルで簡単な会計アプリを作り込んで現地の方に自分の助けなしで使ってもらえるようになったことなので、パソコン関連で何かできないかなと。そのWebデザイナーになった方は職業訓練校で学んだというのを聞き、私も帰国後に、Web担当者養成の職業訓練学校に3ヶ月ほど通うことにしました。

そんなこんなでWeb担当者養成の職業訓練学校に3ヶ月通い、HTML/CSSやらフォトショやらを学んだのですが、その講座のなかでちょっとだけ補講的に触れたJavaScriptが一番楽しく、かつクラスの中では一番得意だと感じました。そこで「インタラクティブに動くものを作るのが楽しいし20人の中では一番うまくできたので何とかなるかも」と感じ、スマホアプリ開発に興味を持ちました。

職業訓練校を卒業後、エンジニアとしての最初のキャリアは受託会社で、そこではXamarinとReact Nativeを使ってAndroid/iOSのクロスプラットフォームアプリを作ったり、Webアプリの要件定義や顧客折衝をしてました。そこで2年ちょい働き、「いきなりクロスプラットフォームアプリ作るの難易度高すぎわけわからん、まずはAndroidに集中したい、あともっとユーザーに近いところで働きたい」と感じ、Androidエンジニアとして事業会社に転職して今に至ります。

自己紹介が長くなりましたが、このように、ほとんど社会人経験が無い自分が「もう30才近いけど何もビジネススキルが無いのはマズい、とりあえず何を技術力を身に付けたい」という動機で始めたので、もともとエンジニアが好きと言うわけでは一切ないですし、正直今でも格別好きと言う感覚はないのですが、エンジニアって楽しいなと思っています。

年齢的な焦りは正直あるし、スキルとしてはまだまだまだまだ、本当にまだまだ途上なのも自覚している分、色々と不安に感じることもあります。ですが毎日楽しんでいるおかげで、今でも継続して成長できている気がします。

で、自分がエンジニアリングを楽しいと感じている理由は何か。

自分自身の性格を元に分析してみると、以下の要素に分解できると思っています。

1. 新しい情報に触れることが好き

エンジニアをしていると、新しい技術が登場したり既存技術がアップデートしたりと、どんどん新しい情報が流れてきます。その時の最新情報で書かれたプログラムも、数年後にはレガシーになっちゃうことが当たり前の世界。常に新しい情報をキャッチアップする姿勢が大切だと思っています。

そしてこの最新技術のキャッチアップを「自然にできる」かどうかが重要で、頑張ってキャッチアップしているようではいつか疲弊してしまうんじゃ無いかと思っています。

中にはエンジニアに関することが好きで自然とキャッチアップしている人もいると思いますが、僕の場合は分野に捉われず新しい情報を知ることに楽しみを覚え好奇心が満たされるタイプです。

なので、TwitterやらブログのRSSやらで知らない情報を得るたびに嬉しくなりますし、そこで得た知識でコードを書きたくなります。

逆にもしそうでなかったら、新しい情報を得ることに興味がなかったら、毎日「新しい情報を得ないといけない」と言う義務感やプレッシャーを感じてあんまり楽しめないかもしれません。

2. 知識を深掘りすることが好き

最新情報をキャッチアップするだけでなく、知識をどんどん深めていくことも必要です。未経験からエンジニアリングを始めると、もう分からないことが多すぎて、とりあえず調べてもたくさん情報がありすぎすり、知れば知るほど難しい知識が必要になってくるし、人によって言ってること違うし、深掘りには先が見えません。単にググって出てきた情報を覚えるだけでは足りず、「なぜそうなるのか」と突き詰め理解を深める姿勢がないとスキルにはならないと思います。

「体で覚える」要素がほとんどなくてほぼほぼ思考の世界で完結するので、普段から本を読んだり考えたりするのが好きで、「なぜそうなるのか」を考え続けることに楽しみを感じることができると、自然と理解が深まっていくと思います。


以上、この2つの要素があれば、エンジニアリングを楽しめると思いますし、無理に努力をしなくてもある程度は自然に成長するのではないかと思っています。

一方で、この2つだけだとあくまで自分の性格とエンジニアリングに求められる姿勢がある程度一致しているだけなので、これらの要素に加えてプログラミング自体に執着がある人、あるいはセンスもある人には敵わないなというのが本音です。

僕はプログラミングが好きなわけでもセンスがあるわけでもないので限界があることは感じていますし、自分の付加価値を高めるためにエンジニアリング一本では無く別の戦略も必要だなと感じています。

まぁでも人生いろいろありますし、とりあえず楽しみながらエンジニアリングのスキルを身につけ武器の1つにするのもアリだとは思うので、何かしらの参考になれば幸いです。

この記事が気に入ったらサポートをしてみませんか?