Articles tagged with: 勉強

アクアビット航海記-私の技術とのかかわり方


「アクアビット航海記」では、個人事業主から法人を設立するまでの歩みを振り返っています。
その中では、代表である私がどうやって経営や技術についての知識を身につけてきたかについても語っています。

経営や技術。それらを私は全て独学で身につけました。自己流なので、今までに数えきれないほどの失敗と紆余曲折と挫折を経験して来ました。だからこそ、すべてが血肉となって自分に刻まれています。得難い財産です。

本稿では、その中で学んだ技術の学び方を語りたいと思います。
私自身が試行錯誤の中で培ってきたノウハウなので、これを読んでくだった方の参考になれば幸いです。

ただし先に断っておきますと、私の技術力などそれほど大したものではありません。しょせんは独学ですし。
今までに参画してきた常駐現場では多くの凄腕技術者を見てきました。私が最近棲息しているkintone界隈でも私より技術力の優れた人は無数にいます。
そのため、技術力だけで考えれば、私など手本にする価値はありません。

私が皆さんにお伝えできるのは、最小限の努力で必要な技術を身に付ける嗅覚です。それは備えてきたと思います。本稿ではそれを参考にしてもらえればと思います。

モチベーション

ずばりいうと、私の技術へのモチベーションは、面倒くさがりから来ています。さらに飽きっぽさと。

例えば仕事で何か面倒な作業が必要になったとします。
そう、Excelのブックからブックへの転記のような。

これ、一回や二回ならまだいいのです。でもそれが十回繰り返されてくると、とたんに繰り返しに飽きてしまうのです。そして作業が面倒に思えてしまうのです。これは毎日、同じ場所に通勤する営みについても同じ。

そうなると、この面倒くさい作業をやめるためにどうすればよいか、私の脳内がざわめきだすのです。

多分、新たな仕組みやアルゴリズムを考える労力の方が、繰り返す作業よりも大変なのでしょう。でもそんなことは関係がありません。それ以上同じ作業をしたくない。その思いの方が圧倒的に強いため、私を衝き動かします。アルゴリズムや仕組みを考えることは、繰り返しの作業とは無縁です。飽きないし面倒くささも感じません。本連載第二十五回で書いたように集計作業が面倒でExcelのマクロを作ったのはまさにこの実例です。

選ぶ

今までのキャリアで、私はさまざまな技術や言語に触れてきました。この言語や技術の選び方は、案外大切ではないかと思います。

私はどちらかというと新しいもの好きです。ところが、私のキャリアを振り返ってみると、言語や技術の選択に当たってそこまで冒険をしていません。

例えば、PCはWindowsとMs-Officeを主に使ってきました。サーバーを自分で構築する際も、ファイルサーバーはSamba、LAMP(Linux+Apache+MySQL+PHP)でウェブ環境を構築してきました。CMSはWordPressを主に扱いました。クラウドにしても、βテスターとして関わり始めたころのkintoneは無名でしたが、運営元のサイボウズ社はそのころからすでにグループウエアの雄として業界に地位を確立していました。今やkintoneはわが国でも著名なPaaSに成長しています。

今までに私が携わった技術や言語の中で衰退してしまったものを挙げてみます。ファイルサーバーのSambaやその際にMacをつないだAppleTalk。サービス連携の言語はJSONではなくXMLを学びました。常駐先で触る必要があったLotus NotesやLotus Scriptは衰退の最たるものです。あとはLinuxでサーバーを構築した際、採用したDistributionのRedHat LinuxやMiracle Linuxも今はあまり聞きません。

若い頃に得たVisual Basicの知識やLampの知識が今も生かせることは、私のキャリアにとってとても幸運だったと思います。衰退した言語や技術の習得に使った時間が無駄にならずに済んだので。このことは私のキャリアを考える上でとても重要だと思います。

その際、私がどういう基準で言語や技術を選んだのかは、あまり覚えていません。ただ、その当時からシェアが高いものを選んだように思います。また、安価な環境で使える言語であることも重要でした。例えばスクリプト言語はphpであれば安価なレンタルサーバーでも使えましたが、pythonやgoはサーバーにインストールする必要があったため、学びの対象から外しました。

シェアが高いということは、サポートサイトも多いということ。サポートサイトを必死に読み込めば、たいていのヒントはおのずから公開されていることに気づきます。おそらく私はそれらを踏まえながら、自分の学ぶべき言語を選んでいったように思います。

この時に単に新しいからといって新奇な言語や技術にあまり手を出さなかったことが、私のキャリアをあまり回り道に進ませずに済んだと思います。

調べる

自分が知りたいこと、実装したいことをどう調べると効率的か。

これはとても重要なところです。私が自分でプログラムに関心を持ち始めたのは1999年。まだインターネットが世間に広く使われ始めたばかりのころです。今のように少し検索するだけで技術資料が閲覧できる時代ではありません。つまり、書籍が頼りでした。

書籍は、その分野の全てを語ろうとします。まず、総論から始まり、その後で個別の説明を展開していきます。私はそうした総論の類を読みません。まっすぐ自分が求める機能を探します。書籍の場合は目次や索引が付されていますので、そこから探すと目指す機能を学べます。

その機能の説明を読むと、自分の知らない事が次々に出てきます。メソッドや関数の記述。名前空間や言語体系。細かい文法など。それらを総当たりで調べていきます。その際も、名前空間についての総論は読み飛ばします。直接、該当する名前空間の書き方を探します。そうやって個別の自分の知りたいことだけを拾いながら、その積み重ねで全体を把握していく。それが私のやり方です。
ちなみに私は読書が大好きです。が、本を読む際は全く逆のアプローチをとります。途中の部分を読むなどもってのほか。必ず最初から最後まで通して読みます。ところが不思議なことに技術書を読む際だけはそのやり方だとうまく覚えられないのです。

私が技術の世界に触れ始めたころと違い、今はネット上から情報を得ることができます。ですが、その情報には書籍のような目次・索引がありません。つまり検索エンジンを使うしかないのです。この検索の際にキーワードを入力しますが、そのキーワードにもコツがあります。

技術の言語は国際的に英語が使われています。そのため、日本語だけで検索しても求める検索結果にヒットしないことがほとんどです。まず具体的な文言を英語も含めて検索します。また、エラーメッセージにあたった際はそのメッセージを検索文言に含めます。すると、求める結果が得られると思います。その際、英文が出てきたら大意ぐらいはつかめるぐらいの英文読解力があると楽です。その上でGoogle 翻訳やDeepLのような翻訳サイトを使って日本語で意味をつかみます。

なお、当たり前ですが得た結果をきちんと読解する力は必要です。私は文系学部で学んだ技術者ですが、読解力が私のキャリアを助けてくれたと確信しています。パッと読んで分かったつもりになってしまうと、結局遠回りになります。じっくりと文章を読むように心がけましょう。

実装する

この後の連載で、私がどのように実装の経験を積んでいったかは書いていく予定です。独立するまでにはかなりの回り道と試行錯誤と無数の失敗を繰り返しました。

日中は現場に常駐していた私が、個人の業務で無理せずに実装するにはどうすればよいか。全ては五里霧中の中でした。少しずつ実績を積み上げられ、しかも安価な投資額で実装環境が整えられるような案件を痛い失敗の中で少しずつこなしていったのが私のキャリアです。kintoneに出会うまでは。

私のように個人事業主から法人を設立するまでの歩みは、自分でいうのもなんですが、相当難しいと思います。

私のようにホームページの制作から始め、まずHTMLやCSS、JavaScriptを操るスキルを身に付け、そこからサーバーの選定や調達に進み、さらにphpなどの言語がデフォルトであるWordPressのようなCMSに手を染めていくと、キャリアとしてよいのではないかという気がします。この路線は、今のところまだ衰退の兆しがそれほどなさそうですし。

その際も、自分でサーバーを立ち上げ、LAMPをインストールし、AWSやGCP、Azureといったより高度な環境を選ぶより、まずは小規模な環境から始められる規模の案件をこなすとよいでしょう。要するに安価なレンタルサーバーでも十分要件が満たせるようなものです。

ブレイクスルー

とはいえ、ロジックの構築や予期せぬバグの出現など、実装にあたっては問題が生じます。

それをどのように克服していくかは切実な問題です。それで挫折し、折れた心を抱えながら情報処理業界からも去っていく人もいるでしょう。

そもそも、どれだけ本やウェブサイトを読んでも概念がちっともつかめない場合、どうすればよいのでしょう。正直、私にも概念がつかめずに苦戦したことが何度もありました。本連載第三十二回で書いた、行列のExcelからAccessの三次元を理解したのはまさにその一つ。

そこでも書きましたが、当時チームの部下だった年下のOさんに教えを請いました。そこで教えてもらったことで私は一つ目のブレークスルーを果たしました。この時、妙なプライドや自負があって独学にこだわっていたら、今の私はなかったと思います。

私はキャリアのほとんどを独学で積み上げてきたことに誇りも自負も持っています。ですが、今でもまだまだ分からないことが無数にあります。今の私がそうした事態にぶつかった時、二回り以上も年が離れた部下に教えを請い、頭を下げられると確信できます。しょせんは私のキャリアなど独学であり、正当に大学で情報科学を学んだ方には絶対に勝てないことが分かっていますので。

ブレークスルーを果たすには、自分の中で突き詰めて考えることは必要です。でも、概念を理解するためのちょっとした気づきを自分の中だけで得るのは難しいでしょう。その時、相手が誰であろうとヒントを与えてくれる方には頭を下げ、謙虚でいられるかどうか。それが出来る技術者こそが、年配になっても現役でやれる人だと思います。

加齢による好奇心の枯渇

かつてはプログラマー35才限界説、というものがまことしやかに言われていました。35才を超えるとプログラマーとしては使い物にならない、というやつです。

この説はある部分ではあたっています。ただし、それはアルゴリズムの構築が35才を迎えた途端にできなくなる、という意味ではありません。当たっているのは年齢による体力の問題です。それはどうしようもありません。徹夜でコーディングする作業は40歳を過ぎると難しくなるのではないでしょうか。

むしろ、ロジックの組み立てをきちんと自分の頭で考えた経験を35歳までに積んでいることのほうが大切かと。そうした経験があれば、60歳の半ばであっても第一線で問題なくやれると思います。身近にその生きた例を知っています。私自身、50歳の声が聞こえ始めていますが、まだやれると思っています。

また、今の言語はフレームワークなども充実しています。また、基本的なアルゴリズムについてはライブラリが豊富に用意されています。そのため、それを呼び出すだけでよいのです。加えてkintoneのようなPaaSを使えばデータベースの構築や通知・権限設定も手間をかけずに実装できます。

そうした意味ではプログラマー35才限界説とは、かつて情報処理業界の言語や環境が発展途上だったころの名残だと思っています。ちなみに私は文系学部の出身なので、文系プログラマー限界説にも反対の立場です。女性エンジニアの方も優秀な方が多いので、男性だけが優位というのも間違っています。

ただし、それ以外に限界説が当てはまる人はいます。それは体力の問題ではなく、心の柔軟さの問題です。肉体とともに心は徐々に柔軟さを失っていきます。実年齢が30歳であっても、自分が持っている技術や環境から学ぼうとしないと、35才よりも前に限界を迎えます。上に書いたように、自分より詳しい若手に頭を下げられるかも限界の年齢を決めるでしょうね。

例えば新卒で情報処理業界に入り、会社が用意してくれた既存の業界や言語や環境の中で安定した仕事をこなしていたとします。その状態に甘んじて新たな言語や環境を学ぼうとしなかったとすれば、老いはより早くあなたをむしばむはずです。そして気が付いたときには技術者としての活躍の場がない、という悲劇に遭遇します。

私自身、今からDeep LearningやMachine Learning、ブロックチェーンや3Dプリンターを学ぶには億劫な思いを感じます。概念は大体理解しているつもりですが、それを新たな実装として試してみようとする気概が出てきません。私にも間違いなく老いは忍び寄っています。

それを防ぐには好奇心を持ち続けるしかないと思います。これは私の価値観ですが、仕事だけが毎日ではないと思います。さまざまなプライベートの趣味や出会いや楽しみを持ち、仕事以外に多様な刺激を受けるような環境に身を置く。それが40代50代になって少しずつ効いてきて、あなたの身を助けてくれるはずです。

まとめ

私なりに技術との関り方をまとめてみました。もちろんこれは私の例にすぎません。人によってそれぞれのやり方があるはず。ここに書いた内容を基に、皆さんがそれぞれの立場で取り入れられる点があれば、取り入れていただければと思います。


アクアビット航海記 vol.22〜航海記 その10


あらためまして、合同会社アクアビットの長井です。
弊社の起業までの航海記を書いていきます。以下の文は2017/12/28にアップした当時の文章が喪われたので、一部を修正しています。

前半生のまとめ


前回に書いた通り、上京した私。
悩める前半生から心機一転、新たな人生へ足を踏み入れます。

ここで後半生に入る前に、今までの連載を振り返ってみたいと思います。
ただ、振り返るにあたり言っておかねばならないことがあります。
それは、何が良くて何が悪かったかの判断を拙速に決めてはならないことです。その判断基準は人によって、時期によってまちまちだからです。
ましてや私の場合、成功者ではありません。まだ発展途上の不安定な状態です。
不安定な今を基準にそれまでの人生を判断することだけは戒めないと。

なので、ここでは振り返る基準を”起業”したという事実において判断してみようと思います。
起業にあたって、前半生の私の何が良かったのか、何がまずかったのか。
”起業”したという事実をもとに、前半生のまとめを記したいと思います。

七つの賜物


まず一つ目に挙げられるのは、私が大学卒業後、新卒として社会に出なかったことです。
新卒で採用されなかったことによって、私は社会人としての基礎訓練を受けずに社会に出ました。これは私の足かせになりましたが、型にはまらずに済んだメリットもありました。そのどちらが良かったかは、今となっては結果論にすぎません。
ただ、人と違うレールを歩んでいるという引け目を無理やり味わったことは、私の起業へのハードルを確実に下げました
また、若い時分から、一つの現場に縛られることがなく、さまざまな職場を経験できたことも、私にとってはプラスだったと思います。

二つ目に挙げられるのは、私がなにがしかの技術を手にした状態で大学を卒業したことです。
大学の学問を修めただけでなく、ブラインドタッチという技をもって社会に出ました。
これは、当時の私にとって武器となりました。
もちろん、ブラインドタッチだけで起業できるはずはありません。しかし、入力オペレータとして派遣登録できるぐらいには、私の役に立ってくれました。なぜなぜなら、社会に出てすぐ、自分の技術でお金をもらう経験を積めたからです。
私が上京して仕事したとき、大学のブランドには頼れませんでした。当時、東京では私の出た大学は無名だったからです。つまり、出身大学がどこだろうと関係がないのです。
その時、人に貢献できるスキルが己にあるかないかだけが問われます。
技術の大切さを若いうちに痛感できたのはよかったと思います。

三つ目は、自分の内面を底の底まで見つめた経験です。
人生に悩み、自分の限界を痛感し、底で這いずり回る苦しさを実感したこと。これは自分の弱さや未熟さを教えてくれました
よく「若い時の苦労は買ってでもしろ」と言います。その通りだと思います。
私の場合はまず鬱の症状が自分自身の壁として立ちはだかりました。この壁は厚く険しかった分、壁を打ち破った先にある世界の広がりを自分に示してくれました。
また、大学時代に経験したホテルの配膳のアルバイトと、ブラック企業でしごかれた経験は、私の天狗の鼻を容赦もなくへし折りました。
それらの経験は、自分にとって向いている仕事はなにかを考える上で頼りになるガイドになりました。
後半生、起業で苦しくなった時も何度もありました。ですが、それ以上に苦しい経験を積んでいると、心は折れないものです。

四つ目は、人の上に立つ経験を積んでいたことです。
私にとっては大学時代の部活がそうです。
規模の大小や、種類は問いません。形はなんだってよいのです。どういう形であれ、人の上に立つ経験。それは、起業に踏み切る上で私を後押ししてくれました。
私の場合は末端の派遣職員の立場も味わったため、両側の立場から物事を見る視点も養えました
あと、若い時期に孤独を噛みしめ、孤独に慣れる術を持っていたことも起業には助けとなりました。経営者は孤独なのです。

五つ目は、読書の習慣を得たことです。
苦しい時期に本を救いを求めたことは、一過性の快楽ではなく、書物の中から心を養ってくれました。
本の中には著者や登場人物による多様な視点と、そこから導き出された考えが詰まっています。そして、人生を多様な価値、あらゆる角度から教えてくれます。
未熟で若いうちは、実生活で熟練のための経験を得ることなど、そうそうありません。しかし読書はそれを可能にしてくれます。
”起業”して一旗をあげることも、組織の中で仕事を全うすることも、書物の中では等しく経験できるのです。
その効果を若いうちから感得できたことは私の人生の糧となりました。

六つ目は、新たな人々との触れ合いです。
違うフィールドにいる人と接点を持ち、お付き合いする。それは人生の可能性を広げてくれるのです。
この人とのご縁の大切さが自らの助けになることを知り、その出会いに感謝できたことも重要だったと思います。
読書で得た多彩な人生への見方を、人々との付き合いで実際に確かめる。その経験は、人にはそれぞれの人生の可能性があることも教えてくれました。もちろん自分の可能性も。
さらに、それぞれの人が自分の考えや価値を抱いて生きていることも身をもって知りました。それが多様性につながります。比較する基準の多さは、人と自分を比較する呪縛から私自身を解き放ってくれました。
それらの経験は、私の仕事の幅を広げてくれたばかりか、生涯の伴侶を得る時にも役立ちました。
変に人嫌いにならず、人とのご縁が自分を成長させてくれる実感を若い頃に得られたのはありがたかったです。

七つ目は、瞬発力の大切さを知ったことです。
私が上京する直前、2週間ほどの間に一気呵成に物事を決断し、実行に移しました。
その行いは、私の人生を新たなステージへと進めてくれました。
瞬発力の大切さは、後半生で起業に踏み切る際にも実感しました。
”起業”した後は、悩んでいる時間などなかなか取れません。時には後先を考えずに飛び込むこともあります。当然、失敗もあります。私がブラック企業に飛び込んだように。
でも、過ぎてしまえばそれは結果です。過去の失敗として懐かしく思える日が来るのです。
そのためにも直感に従って決断することはなおざりにしてはなりません。石橋をたたいて渡らない、などもってのほか。
瞬発力の大切さを肝に銘じたことも、私の人生の財産です。

感謝します

本稿を書いた2017年の年末は、私が常駐先から抜け、真の意味で独立を果たす時期でした。
正直にいうと、当時、安定収入が入らなくなることにためらいました。家計も苦しかったですし。
本稿を書いてから今、3年近くがたちました。コロナで経済が失速していますが、なんとかやってこられています。安定収入がない怖さも最近はそれほど感じません。
今の状況など、私にとっては這い上がるべき場所さえも見えなかった時期に比べれば大したことはありません。その時期を乗り越えた経験は、今の自分を勇気づけてくれます。
たぶん、これからも苦しい時期はあるでしょう。が、この頃に味わった苦しみを思い出せば、乗り越えられると信じています。

後半生も、さまざまな試練が私を待っています。何度も打ちのめされました。死を思う事もありました。
でも、なんとか今、本稿を書けていることに感謝したいです。

最後に、当時、私にこういう連載の場を提供してくださったCarry Meさんにあらためて感謝を申し上げます。当時の「本音採用」編集長の野田さんにも。
また、つたない私の文章と私の取るに足りない一生に付き合ってくださっている読者の方にも感謝の言葉を。そして、両親や肉親、私とご縁のあったすべての人にも感謝の言葉を。

本連載第一回で書いたように、私は個人と家庭と仕事の両立を目指しています。
そして、人には人の考えがあり、それを押し付けるつもりもありません
あくまで私は淡々と自らの起業までの歩みを記すのみ。
引き続き、後半生をつづっていきます。ゆるく永くお願いいたします。
皆様のアフターコロナが良くなることを願って。