A Day In The Boy's Life -79ページ目

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

同じ境遇の人もいるかもしれませんが、私には会社で先輩と呼べる人がいません。

いや、正確にはいるんですけど同じ仕事をしていて、自分の担当の仕事に関して的確にアドバイスをしてくれる人というものがいません。

プログラムをこう書けばいいよとか、それにはこういうアルゴリズムが有効なんだよとか、このコマンド便利だよとかってレベルで教えてもらえたり、自分のアウトプットに対して良し悪しを判断してくれる人がすぐ身近にいなかったわけです。


仕事の進め方とか、考え方とか、悩みとかを相談できる人はいるので、そういった人はその方面で凄くお世話になってたりもするんですが、自分が担当するエンジニアとしての仕事そのものについて、わからないことがあれば自分でどうにかするというスタンスでどうにかやってきたりしています。


昔からわからないことがあればググるってエンジニアの仕事としての課題とかは解決していたんで、ネットそのものが良い先輩のような位置づけと思ったりしてます。



答えを教えてくれる先輩としてのインターネット


検索エンジンが発達してくれたおかげで、とりあえずエラーメッセージなんか貼り付けて検索すれば、近い問題を抱えた人の情報が出てきて、何とか自己解決もできるような状況になってます。


なので、この手の問題というのはローカルのシステムのローカルの仕様に伴う問題でもない限りは、労せず答えをネット上で見つけられたりします

まぁ、ローカルのシステムのローカルの仕様というのは、自分自身(もしくは後輩)が作ったようなものなので、あまりその問題というを抱えることは無かったりして、凡ミスのバグ取りに苛まれるぐらいなもんだったりしました。


ただ、そもそもその仕様で作ることが正解なのかどうかがわかりません

今でもこの辺のことって答えを探せるようなものでもありませんし、そんなローカルのアプリケーションの仕様ってその環境に左右されたり経験によってどう作るべきかみたいなところが身に付いたりもしますので、一般的なデザインパターンやアルゴリズムの話があったとしても、そこにピタッとフィットするような解というものが落ちているわけではありません


そんな問題は、ある程度経験をつんだ先輩がいたら最適解を出してくれるだろうにな、とかは思ったりしたことがあります。

逆に、その答えを周りが持っている状況にいる人であれば、ネットはあまり存在意義を発揮しないのかもしれません。

「人がどう思っているかとか興味が無い」って言ってあまりネット自身に興味を示さない人もいたりしますけど、そういう人って自分の意見に対して絶対の自信を持っているんだろうなって感じたりもします。

それは、ネットに係らず他人の意見をあまり聞かない人なのかもしれませんけど。



ソーシャル化が発達して見えてくるロールモデル


最近は、ネットでのソーシャル化が進んだおかげであちら側にいる人との素性というものも見えやすくなってきています。

勤め先や年齢問わず同じ業界で働いてる人の一言一言を見てると、自分の考えの良し悪しというものもそれを対象にしてある程度見えてきたりもするわけです。

結局自分の頭の中の世界だけで出した答えってたかが知れていたりもしますし、自分の頭になく周りに知っている人もいないという状況になれば、さらに外界に求めるしかないわけです。


ネット上には「この人スゲー」って人もいっぱい出てくるわけで、それは自分のレベル間を如実に表して残酷にする一面もある一方で、純粋にお手本にできる人の存在というものを作ってくれたりもします。

技術って取あえず作ることができるレベルに達するのってそこまで難しくも無かったりしますけど、そこで満足してしまうとずっと停滞してしまう結果になってしまいます。

同じエンジニアの人の考え方を見てると、その先ってずっと深いところがあるんだなって思うことができますし、その間にある自分との差を生み出す壁って何なんだろうかって事がそこから教えられたりもします。


検索するだけでは到底知ることが無かっただろう事が、ソーシャルネットワークを通して情報として入ってきて、普段耳にすることの無い自分にとっては、それがとても斬新に聞こえてきたりもしています。

リアルな先輩としての意見として聞けば構えてそれが全てのように受け取っていたかもしれませんが、フラットなネットの世界では、あまりそういうところが無く一つの意見として受け止められるのも大きいかもしれません。


結局、自分がネットに求める事ってそういう周りから得られない知識を充当してくれるよき先輩としての役割を担ってくれているのかなと感じたりしています。




社会人を始めた頃は、何事も愚直にやってみるみたいなところを思ってたりもしていましたが、経験を重ねるに従って「これはやっても無駄な仕事だな」という頭の中で変な切り分けをするようになってきてしまいました。

昔は、何も考えずにただ与えられることを素直にやってただけというのもあるんですが、自分は「何事も無駄なことなんて無い」というようなポジティブ思考を持ってたりもしてる方なんですけど、やはりそれは繰り返しの中でこれ以上、自分がやっても無駄だなと思うことは出てきたりします。



時間感覚的な無駄か、成長的な無駄か


経験を積んで過去にやったことがあるようなことを繰り返しさせられると、どうしても無意味さというものを感じてしまいます。

すでに自分が持ちえている知識というものがあって、それ以上そこから得るものがないのであればなお更そう感じてしまいますし、それがやることに対して時間感覚的な無駄として置き換えられてしまったりもするわけです。

また、「10年働いてみてスキルという言葉に対して思うこと 」にも繋がっていくことですが、自分の中でできることとできないことがはっきりしてくると、そのできないことを無理に自分でやろうとすることに対し、無駄という言葉を使うようにもなってきてしまいます。


経験が浅い人にとって見れば、何事も無駄と感じてしまうのはリスクにもなってきます。

吸収しやすい時期を一つのことだけに集中して、その他のことを一掃してしまうとその道が途絶えたり、無駄な領域を取って代わってくれるパートナーがいないと自分ではそれ以外何もできないという状況にも陥ってしまいます。

突き詰めれば失敗さえも無駄にはなるわけですけど、そんな経験も無く合理的に美味しいポジションだけを渡り歩いたところで、得られる知識は非合理なものだけとなるでしょう。


コピー取りをするというタスクを割り振られたとしても、コピー機の使い方を覚えられるとか、自分がそれをしなかった場合にその作業を担当する人がいて業務というのが成り立っているわけだからその苦労を感じることができたんだとか前向キングな発想もできたりするんですけど、経験を重ねると自分以外にそれをやる人がいないという状況を除けば、自分が動くよりは単位時間で賃金の安い部下や例えそうじゃなくても時間を買うという意味で専門業者に任せてしまった方が良いという発想になってしまいます。


コピー取りというきわめて単調な作業じゃなくても、プログラミングという専門知識を持っていれば比較的対応しやすいタスクを新人などに担当させ、業務ロジックや環境構築といったタスクを比較的その経験が豊富なエンジニアが担当することになるのも同様のことにはなるでしょう。


無駄を意識しないことで成長できる部分と、無駄を意識することで別の領域に対応できるステップアップができたりもするんだなと思ったりするわけです。



無駄という割り切りと支払う代価


無駄を意識するというのは、論理的にそれを無駄という認識の下で割り切って切り捨てていく必要があります。

屁理屈つけて無駄だと切り捨ててしまうことは、それによる代償を払うことにもなりえます。

人が無駄だと思うことは、誰かにとってのチャンスにもなっているわけで、そのニーズを拾い上げて対応するサービスもあるわけで、代金を払うことで自分はその無駄を取り除くことができるわけですが、代わりに空いたその時間を使ってそれ以上の価値を創造していかなくてはならなかったりします。

が、多くはそんなことできている人もそうはいないわけで、ただ単に手間というものを取り除くだけのために、その作業を他に押し付けてしまうことをしているような気もします。


先に書いたように無駄だというのは自分の中での思い違いなだけであって、それをやることで得られるものも当然あるわけです。

それを考慮せずに無駄だと一掃してしまっては得るものも得られないことになってしまいます。

経験を積めば、その道を最短経路で進む道筋が見えてきたりもしますが、総じてその代価というものはどこかで支払ったりしているわけで、自分の中の無駄とその代価というのは需要と供給のバランスがおかしい状況ではない限り、同じ価値を支払うことになるわけです。

しかし、それは労働の代価としての価値であって、それ以上に手放すものも多くあります。


不景気やらエコやら騒がれる現在において、無駄の排除ってどの場所でも徹底的に行おうという風潮があったりしてますが、一見合理的に見える選択もその無意味と判断した中にある定性的な価値というものはあまり考慮されているように見えません。

優秀なエンジニアを雇うことさえも、目に付くのは技術者集団を雇い入れることへのコストばかりとなり、外注を使えばよいとかプログラミング程度なら新人レベルでも問題ないと言うような環境を生み出せば、トラブルやサービスの根本となる技術への信頼性の低下も招きかねません。

そして、そういったものって捨てるのは簡単でも育てるのは非常に時間のかかるものであったりもします。


話を広げすぎましたけど、こういうことって個人としての考えにも当てはまるわけで、変に合理的に無駄を切り捨てていった結果、得られるものを得られなかったという状況にも陥るのだと思ったりもするわけです。



まとめ


年を重ねるに従って、無駄なこととそうじゃないことというのは論理的に頭の中で切り分けられていったりします。

変に先を見通して無駄と一掃してしまうこともしばしばあって、そこから得られるであろう機会的な損失というものも多くなってきているのだろうなと思ったりします。

経験をすればするほどその判断って瞬時に行われたりもするので、そこで失うものも考慮しながら行動しないといけないなと感じたりします。




使いやすくなりました! はてなブックマークボタン


って事で、以前の数字だけのはてなブックマークボタンから、新しいデザインのはてブボタンに変えてみました。

ベースは、以前に書いた「はてブボタン設置用ブログパーツを改良してみたよ 」のJavaScriptになっています。



アメーバブログに新しくなった「はてなブックマークボタン」を設置する


下記のソースをサイドバー設定のフリープラグインの中に貼り付ければ、はてなブックマークボタンを設置することができます。


<script>
$(document).ready(function(){
    var page_url = location.href;
    if (page_url.match(/^.+\/entrylist[\-0-9]*\.html$/g )) {
        var entries = $(".newentrytitle a");
        var classname = ".updatetime";
        var flg = 0;
    } else {
        var entries = $(".foot a:contains('記事URL')");
        var classname = "div.entry .theme";
        var flg = 1;
    }
    for (i = 0; i < entries.length; i++) {
        var url = entries[i];
        if (flg == 0) {
            title = entries.eq(i).text();
        } else {
            title = $("div.entry h3.title").eq(i).text();
        }
        var hatena_btn = '<a href="http://b.hatena.ne.jp/entry/' + url + '" class="hatena-bookmark-button" data-hatena-bookmark-title="' + title + '" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><sc' + 'ript type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></sc' + 'ript>';

        var twitter_btn = '<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="it_boy" data-text="' + title + ' | A Day In The Boy&#39;s Life" data-url="' + url + '">Tweet</a><sc' + 'ript type="text/javascript" src="http://platform.twitter.com/widgets.js"></sc' + 'ript>';
        $(classname).eq(i).append('&nbsp;&nbsp;&nbsp;' + hatena_btn + '&nbsp;&nbsp;' + twitter_btn);
    }
});
</script>

ただし、上記のJavaScriptのソースには「Amebloに設置していたツイートボタンをTwitter公式のものに変えました 」に書いた公式のTwitterへ投稿ボタンもあわせて設置するようになっています。


※ 上記のスクリプトの中には、私のIDとブログタイトルが含まれています。適宜自分のTwitterアカウントのIDとブログタイトルへ変更してください。最近、私のアカウントが含まれる形でTwitterボタンを設置している人がいて、他の人がTwitterへ投稿した際に、私にmentionが飛んでくるんですけど、まったく関係ないし意味が無いと思いますので・・・。修正方法は、先のエントリ内に書いています。


また、Twitterへ投稿ボタンが不要であれば、下から5行目の「var twitter_btn」で始まる1行を削除して、その下の行を下記のように編集することで、はてブボタンだけ設置可能です。


$(classname).eq(i).append('&nbsp;&nbsp;&nbsp;' + hatena_btn);

元々このブログで過去に紹介したスクリプトを利用している場合は、下記の箇所だけを置き換えるだけでも新しいブックマークボタンに変更することができます。

var hatena_btn = '<a href="http://b.hatena.ne.jp/entry/' + url + '" class="hatena-bookmark-button" data-hatena-bookmark-title="' + title + '" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><sc' + 'ript type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></sc' + 'ript>';


もちろん、記事一覧 やテーマごとや日付指定のページでも自動でブックマークボタンが表示されるようになっています。

フリープラグインの文字数制限に引っかかって登録できないって場合は、「AmebloのフリープラグインのJavaScriptをGoogle codeにホストしたよ 」も参考にどうぞ。