会社でいきなりコンピュータエンジニアになる事を要求されたら

「会社の部署変更で技術覚えなければいけなくなったけど、何すれば良いと思う?」という質問を受けたことがあります。 人によって違いますが、多くの場合は「若いから」とか、「学校でコンピュータ習ったことがある」からという理由でそのような役回りが来ている気がします。 ある程度今まで技術的な部分までやっていた人ならば問題がないのですが、相談をしてくる知人の多くは特にコンピュータが好きだったわけでもなく、突然の試練に戸惑っている方が多いと感じました。 このページは、そのような知人のためのメモを作るという目的を含んでいます。 しかし折角作るので、状況が似た方々、学生のうちに技術を身につけて自分の武器にしたい方々、その他の方々などの助けになれば幸と考えております。 なお、ここに書いてある内容は私の趣味が多分に含まれており、どこまで書いてある方式を採用するかは読む方々の裁量に一任しております。

[広告] 未経験からエンジニアへキャリアチェンジ。カウンセラーがばっちりサポート

1. はじめに

まず、全くこの分野に関しては考えたことも無く、コンピュータも使う以上の事に興味が無かった場合、いきなり技術と言われてもそもそも何があるのかが良くわからないというのが正直なところだと思います。 そこで、私が最初に重要だと思っている事が三つあります。

不思議に思うこと
まず、一番重要なのはこれだと思います。 「何故、これは動いているのだろう?」「どういう仕組みなんだろう?」などを不思議に思うという事が出来る人の方が物事の理解が深くなると思います。 「技術者になれ!」といきなり言われた場合、まず最初に入門者用の本などを読む方が多いと思います。 このような場合でも、書いてあることに対して「何でこういう仕組みなんだろう?」「どんな利点があるのだろう?」と考えて、さらにそれを調べることが出来ればしっかりとした理解が出来ます。 逆にこれが無いと、受験勉強のように覚えるだけ覚えて実はあまり身についていないけど安心だけしてしまうという事象に陥ってしまう可能性があると思います。
何を知らないか知ること
これはちょっと哲学チックかも知れないと思うのですが、結構重要だと思います。 当たり前ですが、まず、一番最初は何も知りません。 これは、自分が何を知らないかも知らないという意味です。 技術と一言で言っても、その範囲は膨大です。 ハードウェア、ソフトウェア、プロトコル、法律、キーパーソン、有力企業、その他いっぱい、を全部知っている人がいるとは到底思えません (中にはほとんど知っているぐらいのモンスタークラスの人もいますが、、、)。 ただ、ある程度知識がある人は、「この情報(技術)は自分の知らないことだけど、ここは知っている。ここは学習しとくべきだ。」というのが自分でわかります。 自分がすべきことを達成するために何を学習し、何を身につければできるのか、逆に何はしなくても良いのか、などを理解することが重要なのです。 何もわからない状態の人は、本屋に行って棚に置いてある本の多さに「どーしよー」とただ立ち尽くしてしまう可能性があるのですが、何を調べたいか(何を知らないか)を知っていればこのような事は起きません。 最初は多少難しいかも知れませんが、自分が何を知らないかを具体的に知る事も最初の学習では大きなハードルだと思います。
どこをどう調べれば良いか知ること
最後に、自分が何を知らないかをわかったところで、次のハードルは「どうやって知ろうか?」です。 一般的な技術であれば本などになっていることが多いのですが、最新技術などでは本どころかインターネットでもほとんど情報を発見できない事もあります。 また、急ぎの場合やちょっとした事で本を買うまでも無い場合などは、googleで0から検索するよりは、Web上でどこに書いてあるかある程度わかっていると効率も良くなります。 「誰か知っている人に聞く」などの解決方法がありますが、「誰が知っているか」などを知らないと聞くことも出来ません。

個人的な思い込みかですが、上記3つの事柄をクリアできると、かなり効率的に知識や技術が身につけられると思います。

2. 手を動かそう!

0からはじめるときに私がお勧めしたい方法は、とにかく手を動かす事です。 私は本を読むだけだと実感が湧かず時間が経つと忘れてしまいます。 一方、自分で作ったり設定したりすると身につきやすいと感じています。 自分なりに何でそうなのだろうと考えてみたのですが、きっと作業を行なう過程でわからないことが発生してそれぞれ順番に調べていくので総合的な理解が出来るのだろうと思いました。

3. 手を動かす課題集

では、実際に手を動かす作業をしてみましょう。 色々思いつく、もしくは解説できるものを羅列しようと思っています。 これ以外にも色々あるでしょうし、参考程度に考えていただければと思います。

インターネット技術を知ろうとしてみる

インターネット技術を知ろうとしてみる(2)

インターネット技術を知ろうとしてみる(3)

プログラムを書いてみる