Aggressive Style 5

読者です 読者をやめる 読者になる 読者になる

Aggressive Style 5

昨今はコミケ関係を中心に書いています。同人やニコニコ動画方面で活躍される方の相互リンクをお待ちしています。

Webプログラマーを志す学生さんが、学生のうちにやっておきたい11の事

0.本記事の対象について

コンピューター系の企業と言っても様々ある。例えばエアコンなどの制御をするファームウェアを担当するような組み込み系プログラマーやSE、スーパーのPOSシステムや銀行のシステムを担当するプログラマーやSE、そしてテレビゲームのプログラマー、そして今回説明するWebサービスのユーザーを管理する部分や、データーベースの結果をサイトに反映する部分を設計をするwebプログラマーなど様々だ。1〜7節まではwebプログラマーの業務に直結しやすいと思った事、8以降は業務に直接関係は無いがやっておきたい事を纏めた。

本記事はC言語Java言語でif文for文で何らかのプログラムを作った事のある学生さん(特に大学1年生〜3年生)などを対象として、Webプログラマーの面接を受けるまでにやっておきたい事を11点に分けて話そう。このうち、「これはやっておきたい」と言うものを実践してくれればと思う。

目次

  1. macを導入する
  2. 統合開発環境(IDE)に使い慣れる
  3. Subversion(svn)やGitHubなどのバージョン管理ツールに慣れる
  4. GitHubに登録し、ソースコードを人に見せる準備を整える
  5. LinkedIn,Twitter等コネクションを結び易いネット環境を作る
  6. PHP+MySQL等でフォームや掲示板を作ってみる
  7. LinuxUNIXを使ったサーバー管理
  8. 基本情報技術者試験を受験する
  9. アルゴリズムやデータ構造の復習をする
  10. 数学の復習も忘れずに(線形代数解析学、確率統計、グラフ理論等)
  11. 労働法の確認

1:macやモバイル無線LAN機器を導入する

1-1:macの導入を勧める3つの理由

macを導入する3つの理由は以下の通り。

  1. ターミナルからUNIXコマンドが使える
  2. プログラムに必要なツール(コンパイラ等)が「macPorts」経由でインストールできる
  3. Objective-Cを書くのに必要な、「Xcode」が最初からインストールされている

簡単に言えばプログラムを始め易いと言う事に尽きる。1は、Windowsの場合だとCygwin等をインストールしなくてはならない事が多い。2は「sudo port install ****」と打ち込めば大抵のプログラムのライブラリはインストールできる。3はiPhoneアプリを作る練習をするのに必須のアプリで、最初からmacを選んでおけば後で買い増さなくて良いからだ。又C言語をやるのに必要なgccと言うコンパイラも、Xcodeの設定をする際にインストールされるので楽である。

1-2:モバイル無線LAN機器やデザリング対応の携帯電話を用意する

自分は面接するとき、面接の場でmacbook airを使って過去に制作したWebサイトやソースコードの説明をする事もある。この際に必要になってくるのが、モバイル無線LAN機器やデザリング対応のスマートフォンだ。これがあるとかなりの場所でインターネットにPCをつなぐ事が出来る。面接会場は大抵会社の会議室である事が多く、無線LANが張られていない事もあるのでこれらの機器は準備しておきたい。

面接に使うwebサイトなどは、近くのマクドナルドやスターバックス等の場所で準備をして、面接時にすぐ開けるようにしておく事が肝要だ。最近のmacだと電源を落としても、落とす前の状態を保持してくれているので便利である。又windowsの場合は「休止モード」にしておけば、電源を落とす前の状態から再開できる。

モバイル無線LAN機器としては「e-mobile」や「UQ WiMAX」などもあるし、昨今のLTEにしても良いだろう。自分はデザリングをする目的でauのHTC EVO(IS12WT)にしている。

2:統合開発環境(IDE)に使い慣れる

以下は無理にとは言わないが、会社に依ってはIDEが指定される場合もあり、慣れておくと会社に入ってから楽かも知れない。IDEとして代表的なものとして、eclipseVisual StudioXcodeなどがある。IDEを使っていると、メソッドが使われている部分で「F5」を押すと、そのメソッドまで飛べ、メソッドの動作を瞬時に確認する事ができたりするので便利だ。

さらに行数の長いプログラムの不具合修正や改良に使うのがgrep検索だ。これは複数のファイルから特定の文字列のある行を検索する機能で、複数のファイルにまたがって同じような修正や改良をするのに使う事もある。ツールで検索するやり方なども覚えておくと良いだろう。

3:Subversion(svn)やGitHubなどのバージョン管理ツールを使う

企業に入るとソースコードの管理にバージョン管理ツールを使う事があり、こうしたツールに速いうちから慣れておくと良い。自分はバージョン管理ツールを使うようになったのも、ここ1年くらい前の話である。最も数千行にわたるようなソースコードを書く事自体ないので、使う由が無かった。さてバージョン管理ツールはプログラムの変更箇所を、後から見返し易いようにする為の物だ。又何かエラーがあったとき、素早く前の状態に戻すためのツールでもある。

具体的にはコミットと言う作業を行えば、何かソースコードに変更があった時に新しいバージョンとしてソフト側が管理してくれる。ここでなるべく非公開にしたくないソースコードのバージョン管理を行いたい場合はSubversionを、とりあえずやり方に慣れておきたいと言う場合はGitHubを使うと良いだろう。とりあえず何かしらのソースコードを書きつつ、使い方に慣れて行くと良い。

4:GitHubに登録し、ソースコードを人に見せる準備を整える

最近ではWeb系企業等を筆頭に、GitHub等に公開されているプログラムのソースコードを見て採用の判断をする会社もある。過去に作ったソースコードは、「自分はここまでできる」「こういう物を作った」と言った内容証明になり面接の説得力も増す。又自分も今回から面接の自己PR欄にGitHubソースコードを掲載するに至り、面接で素晴らしい!と言われる事もあれば、場合に依っては面接が免除となる事もある。

5:LinkedIn,Twitter等コネクションを結び易いネット環境を作る

最近はLinkedInなど就職や仕事向けのSNSが登場した。ここからはその活用法について話そうと思う。

LinkedIn活用法1:他人のレジュメを参考にする

LinkedInでは自分の経歴や職歴をレジュメとして公開できる。この際他人の経歴や職歴を参照することもできる。他人の職歴や経歴を見て、「自分は○○社で△△を経験し、いずれは□□を経験していく」など今後の指針を立てたり、あるいは英語でどうやって経歴を書いて行くのかなどを確認するのにも役に立つ。

LinkedIn活用法2:Twitterなどと連動して、コネクションを増やしてみる

さらに仕事専用のTwitterアカウントを開設して、そこから色んな仕事をする人をフォローしていき、LinkedInでコネクションを結んで行っても良いと思う。LinkedInはそもそもサイトなので、人に見られてなんぼだ。なので自分がアイドルにでもなったかのように、色んな場所に自分を売って行く位の気概で良い。

6:サーバー管理をVPSで行う

PHP等のWebプログラマー関連の面接をしていると、「Linux使った事有りますか?」「UNIX(CUI)操作ができますか?」「UNIXコマンドの意味と用法を答えて下さい」などの質問や紙に書かせるような質問が度々ある。これはサーバー運用の経験があるかを聞く為の物。昨今自分はmac OS Xのターミナルコマンドをちょっといじる程度なので困った質問だ。

ここでふと自分の大学時代の頃を思い出す。大学時代、先輩がPCルームでSorarisのXserverを管理をしていて、不正なユーザーの不正なプロセスを見つけたらkillコマンドを使って管理していた。又自分の配属されていた研究室だと、後輩がLinuxでメールサーバーを立ててメーリングリストのユーザー管理などを行っていた。こんなように自分でサーバー管理の仕事を作ってしまうのも就職には有効な手段だと今更気づくのだった。

6.1:自宅サーバーが用意できない場合はVPS(Virtual Private Server)で!

そこで自宅にネット回線が無いので、自宅サーバーの代用になりそうなVPSサービスと言うものを発見した。VPSとは、Virtual Private Serverの略で一台のサーバ上で仮想サーバを何台も起動する特殊なソフトウェア、またそのような仮想サーバを提供するレンタルサーバのサービスをいうようだ。要はVPSと言うものを使えば、Linuxの(仮想)サーバーの練習ができるようだ。

6.2:Linuxの勉強目的に「VPSサーバー」を探してみる

さくらインターネットがやっている「さくらのVPS」も月額980円〜なので、無料のサービスが無いか粘り強く探したところ「HOST1FREE」と言う無料のVPSサービスを発見した。

興味があって登録したいという方が居たら、「無料のVPSサーバー「HOST1FREE」の申し込みとssh接続(Symfowareについての考察blog)」さんを見て欲しい。このサイトでは無料VPSサービスの登録から、sshでHOST1FREEに接続するまでが書かれている。2012.12.6現在、HOST1FREEの無料VPSに飛ぶURLはfacebook上に無いため直接こちらから登録フォーム画面に移動して欲しい。

このように自分でホームページを作る事も就職対策では有効だ。これはサイトのデザイナーを志すような場合でも同じである。7.ではhtmlやcssでホームページを作る次の段階でやるべきことに付いて話す。

7:PHP+MySQL等でフォームや掲示板を作ってみる

7.1:まずはhtml+css+JavaScriptで何らかのホームページを組んでみる

ホームページの基礎となるのはやはりhtml+cssだ。最初はhtmlタグだけでも良いので、見栄えの悪いホームページを作ることから始める。次にcssの練習をしていこう。各ページに共通するbody,header,footer,navタグなどの設定をcssできちんと行い、そこそこの見栄えのホームページを作って行く練習をしていけば良い。cssの練習をする場合は、気に入ったサイトの見よう見まねで覚えて行くのも良い。さらにサイトに動きが欲しいときはJQueryAdobe Flashの練習をしてFlashメインのサイトを作る練習をするのも良い。

7.2:次に掲示板を作成してみる

そしてhtmlやcssのタグの使い回しを覚えたら、いよいよPHP+MySQLを覚えていく。何かの会員登録をしたとき、登録フォームに内容を入力していき、確認メールが送られ、クリックしたら登録完了。このような流れで会員登録を経験した人は多いはずだ。このように登録フォームの書き込みの内容を、データーベースに挿入(Insert)し、それを表示(Select)するようなアプリケーションとして掲示板がある。

掲示板を作るにはXAMPPと言う環境を導入し、PHP+MySQLを使って実装していく。「PHPとMySQLで掲示板を作る」「Saity先生のPHP基礎講座の一覧(第20回〜第27回):PHP pro」
を見ながら作成してみると良い。正直上記2サイトは難しいので、掲示板に入力する部分と表示する部分までを勉強して行けば良い。これを6.で差し押さえたVPSサーバーにアップロードして行き、実際にサーバー上でプログラムが動作しているか調べて行く。

7.3:慣れたら練習していきたい事

7.3.1:クラスの使い方や変数の修飾子の使い方に慣れる

筆者は自分でプログラムを書くとき、あまりクラスを定義しない事が多い。大学時代Javaでクラスの使い方を覚えたのだが、PHPでも複数のページに共通する部分はrequire_once文などがあるので、それで代用してしまう事が多いのだ。しかし企業では「お前はガンダムの腕を作れ、俺はガンダムの足を作る」と言うように、複数人で分散して開発する事が一般的だ。この為クラス等を理解したプログラムを書く練習をしておくと良い。特にクラス変数を定義する際に、public、protected、private等の修飾子をきちんと付け何処で使われる変数なのかを意識してプログラムして行くと良い。

7.3.2:MVCを採用したフレームワークCakePHP」に慣れておく

7.3.1で企業は複数人で役割分担して開発していると書いた。PHPの場合はMVCと言う概念を使ったフレームワークと言ったものを使って、デザイン、プログラムなどの分業を行っている。企業に依って使っているフレームワークも違い、独自のフレームワークを使っている会社もある。また研修段階でこれらのフレームワークの使い方に慣れさせる期間なども用意されている(実際に使わない事もあるが)。

さて様々な企業の面接を受けていると、一番良く使われるフレームワークCakePHPである。CakePHPも参考書があり、それを読んでみるのも良い。


CakePHP2 実践入門 (WEB+DB PRESS plus)

CakePHP2 実践入門 (WEB+DB PRESS plus)

7.3.3:クエリパラメーターの改ざんに気を払う

クエリとは、このブログの「RyuichiXP/********」や、googleの「search?q=********」や、YouTubeの「watch?v=********」の********部分の事だ。ここの値を変えると、内部で生成されるSQLのSELECT文の内容が代わり、結果的にサイトの表示が変わるはずだ。

自分でホームページなどを作る場合は因数分解を楽しむかのように、ここから「データーベースのどのテーブルのカラムがSELECTされているのか?」を考えてみるのも勉強になるだろう。さてこの3つを比べると、YouTubeだけ何やら暗号っぽい値になっている事が分かるだろう。これは動画の番号「例:000000」を暗号化して、ユーザーに動画番号を把握させないようにしていると言う訳だ。暗号化の形式としてはmd5やcryptなどがある。ちなみにmd5は復元可能な暗号形式なので、その数文字分だけを切り出したものを暗号とする事もある。数学の整数論などが得意な学生さんは、大学で暗号化や圧縮などの研究に携わってみても良いだろう。

ソーシャルゲームなどはアニメーションがFlashで表示され、そこから元の画面(PHP)に戻るときに特定のアイテムの部分のクエリの数値を改ざんして、アイテムを不正に入手すると言った芸当がかなり頻繁に行われている。このように金に関わる情報がザルだったりする事あるので、サービスを使う際には気をつけて利用したい。

7.3.4:SQLインジェクションに気を払う

こんどはこの********に「'」「"」など一文字加えてやると、内部で不正なSQLが発行され、データー全件分が表示されててしまう。この現象の事をSQLインジェクションと言う。昨今のSONYPlaystation Networkの事件は、このSQLインジェクションが原因とされている。この対策としては入力する文字にmysql_escape_string等エスケープ処理を施したり、場合によっては削除(str_replace)したりする事も必要だ。

7.3.5:XSS攻撃に気を払う

例えばこのブログにはhtmlタグが使われている。ここでscriptタグや?phpなどが挿入されると、無限ループを起こしてシステムが破壊されたり、sql文が発行されて不正に情報が漏洩してしまう原因となる。この現象の事をXSS攻撃といい、それを防ぐ為にhtmlspecialchars関数でhtmlタグを他の文字に置き換えたり、strip_tagsでscrpitタグを取り除いてしまうなどの対策を取る必要がある。

以上を気をつけておくと面接で「セキリュテイは万全ですか?」と聞かれた時に反応できるようになる。これはWebでなく、データーベース扱う全ての職種に当てはまる。「独習PHP」の第十一章にセキリュテイ対策に具体的に書いてあるのでそれを読んでみて欲しい。


独習PHP 第2版

独習PHP 第2版

8:基本情報技術者試験を受験する

8.1:基本情報技術者試験だけの勉強は避けよう

基本情報技術者試験は日系のSE系の企業に受ける上で評価の対象となる試験だ。一部の日系のWeb系企業でも、基本情報技術者の資格を取っていると、資格の祝い金や給料に反映される事もある。さて、筆者は大学時代何度か基本情報技術者試験の落選の常連であった。

未だに取ってない人間ではあるが、基本情報技術者試験に対して、試験を受けるのはいいことだが、試験を受けるだけの勉強は避けた方がよい。これはTOEICの勉強はしたけど、実際の英語で他人と話したり英語で文章を書いたりする勉強をしていないのと同じ事だ。以下は「とりあえず取っておこう」という学生さん向けに話をしていこうと思う。

8.2:コーデイングに慣れてから受験する

基本情報技術者の試験を受けるタイミングはどの時期が良いか?それはある程度C言語でポインタが使えたり、Java言語でクラスが使えたり、SQL文がコーデイングできるようになってからで良いと思う。コーデイングの経験が浅いと、どうしても試験を受けるだけの勉強になってしまいがちだ。その為「ここにこの変数を入力すれば良い」事は分かっても「この変数はシステムのどの部分を担ってるのか?」と言った事が分からない事も多い。

話変わって午後の試験ではC言語Java言語、SQLなど幅広い言語の問題を答える事となるだろう。これらは実務に使われそうな予約システムだとか、○○システムを仕様書(問題文)から実装する状況を想定したものだ。ここでシステムの特定のクラスを実装する過程が問題になるような流れとなる。

8.3:基本情報技術者試験で先につながる知識

さて基本情報技術者試験の中で役に立つ知識としてスタックやキューなどのデーター構造や、ソートのアルゴリズムだ。「プログラムコンテストチャレンジブック」等を読んでいると、説明の所々にスタックやキューの言葉が登場する。これらの実装にについて書かれた名著として、「新・明解C言語によるアルゴリズムとデータ構造(柴田望洋)」がある。


新・明解C言語によるアルゴリズムとデータ構造

新・明解C言語によるアルゴリズムとデータ構造

この本はC言語のif文やfor文など基本的な事を勉強した後で、ポインタや構造体などの使い方を覚える段階で大変役に立つ本だ。この本の良い所は、関連する基本情報技術者の過去問を収録してあるので試験対策に良い点。それだけに留まらずソートにおける配列のポインタの状況などが他の本より丁寧に解説されていて読み易い点。ソートのアルゴリズムの計算量やアルゴリズムを改良し、計算量を減らす手法が解説されている点などがある。

9:アルゴリズムやデータ構造の復習をする

8.3などと並行してやっておきたいのはアルゴリズムの復習だ。今から思い返せば大学時代、自分はスタック、キュー、リスト、木構造幅優先探索深さ優先探索グラフ理論などを勉強した。例えば数独の答えを探すようなアルゴリズムとして幅優先探索深さ優先探索が用いられたりするが、今使いこなせと言われたら使いこなす自信が無い。

話変わって、ある日「プログラミングコンテストチャレンジブック」と言う面白そうな書籍があったので早速購入した。この本では、上記の幅優先探索の説明と応用例のみならず、様々なアルゴリズムの説明が丁寧に解説されているので、是非読んでみて欲しい。


プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

一方自分が現在進行中でやっているのが「Cracking The Coding Interview」の日本語訳の「世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~」だ。この書籍は米国のIT企業で聞かれるプログラミングの問題を纏めたものだ。ただ解答を載せているだけでなく、「この問題でビット演算を使うと、計算量がO(N*M)まで削減できます」と言ったその解法を選ぶ根拠まで書いてあるので大変勉強になる。大学の研究の様な長い命題ではなく、短く小さい命題でこのような事がいっぱい書いてあるこの本は、勉強中の自分としては大変嬉しい。自分が大学時代には、こういった本は見つけにくかったので本当に勉強し易くなったものだ。第一節には面接の対策法が載っているので、日系欧米系を問わずIT企業を受験される学生の方は、一度手に取って見る事を勧めたい。


Cracking the Coding Interview: 150 Programming Questions and Solutions

Cracking the Coding Interview: 150 Programming Questions and Solutions

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

こういった書籍を勉強しつつ、TopCoder.comのようなプログラムのコンテストに参加するのも良いだろう。TopCoderはある問題の解答を提出し、点数を参加者同士で競うと言うもの。又他人の解答などを見る事ができるので、何処が悪かったか?などの復習もし易いのでお勧めだ。

10:数学の復習も忘れずに(線形代数解析学、確率統計、グラフ理論等)

一方大学の内にしか勉強できないのは数学の勉強だ。OpenGLなどを使って3Dをやる人は線形代数、画像処理や音声処理にはフーリエ変換などの解析学、さらには迷惑メールの判定にベイズの定理と言った確率論、データーマイニングには統計学、最後に電車の乗り換え案内にはグラフ理論と数学の絡んだプログラムの事例も多い。このようにプログラムには数学の知識が必須の場合が多く、現在行っている業務と関係が無くとも勉強しておきたい所だ。数学を知っておくことで様々なジャンルの基礎を知ることにもつながり、長い目で見て仕事の幅が広がることもあるかも知れない。

特に線形代数解析学、確率統計など大学一年〜二年で習う数学は、様々なジャンルの基礎であるし、暇があったら勉強し直したいと思う事も多い。一方「プログラミングコンテストチャレンジブック」を読んでいると、一部グラフ理論を使った手法が解説されている。こういった書籍を読み解き易くするためにも、日々の数学の練習を怠らないように注意されたい。

11:労働法を確認する

最後はプログラムのことから離れて労働法について話す。まず我々は会社に雇用してもらうことで、初めて仕事が与えられる。ここで雇用(こよう。雇傭)とは、当事者の一方(被用者)が相手方(使用者)に対して労働に従事することを約し、使用者がその労働に対して報酬を与えることを内容とする契約の事だ。つまり我々労働者と使用者の間でこのような労働契約を結ぶ事に依って、我々は仕事する流れとなる。ここで契約の内容を具体的に記載された物は就業規則と呼ばれる。我々は就業規則を読んだ上で、労働契約書にサインする事によって契約は完了するわけだ。

11.1:就業規則は隅っこまできちんと読む事

このような就業規則は自分の経験上、労働基準法労働契約法などを参考に作成される事が多い。就業規則に良く書かれる内容は、残業時間、解雇などの条件などが具体的に書かれる事が多い。色々な会社を回っていると、このようなすごい就業規則の条項に出会う事も。


(転勤について)

第x条:労働者は使用者が転勤を命じたとき、これを拒否する事はできない。

職業選択の自由と言う言葉はどこかで聞いたが、何だかちょっとそれに反するような怪しい条項だ。こういった場合は、後でも良いので労働基準法の条文と照らし合わせて正しいかそうで無いかを調べておこう。

11.2:残業時間について

この業界で仕事していると、どうしてもついて回るのが納期前などの残業だ。この際残業代はきちんと付くかどうかも気になる所であろう。この残業代について定めた条項が労働基準法第三十七条だ。


(時間外、休日及び深夜の割増賃金)

第三十七条  使用者が、第三十三条又は前条第一項の規定により労働時間を延長し、又は休日に労働させた場合においては、その時間又はその日の労働については、通常の 労働時間又は労働日の賃金の計算額の二割五分以上五割以下の範囲内でそれぞれ政令で定める率以上の率で計算した割増賃金を支払わなければならない。ただ し、当該延長して労働させた時間が一箇月について六十時間を超えた場合においては、その超えた時間の労働については、通常の労働時間の賃金の計算額の五割以上の率で計算した割増賃金を支払わなければならない。(労働基準法第三十七条より一部引用)

平たく言ってしまえば、60時間超えた場合は残業代に割増料金を上乗せせねばならない。この60時間というのが大切なポイントで、時間を超えると検査を受けなくてはならず解雇の要因とする会社もあるようだ。逆に言えば、会社は割増料金を支払いたく無いが為に、労働者に60時間以上の残業を申請させないようにしていると言う訳だ。

さらに「A時間までは残業代としてあらかじめ支払います」という労働契約の会社もある。この場合A<60である事が充分条件である事は言うまでもない。仮にA>60ならば、上記の条項に反するからである。場合に依っては、面接の質問で「残業時間が60時間/月以上の残業代についてはどうなるんですか?」とカマをかけてみるのも有効だ。ここで適当な事を言うようならば、労働契約を無視する会社である可能性も高い。又業務委託(自営業として雇い入れる)として雇い入れるから残業代の支給は無しと言うような労働契約もあるので注意したい。

11.3:万一不当解雇されそうになった場合は

こういった業界に居ると体を壊しそうになった時や、使えないと速攻で解雇となることがある。さて雇用とは使用者と労働者が雇用契約を結ぶ事だった。これとは反対に解雇とは、使用者の一方的な意思表示による労働契約の解除する事と定義される。これとは反対に労働者側が使用者に、労働契約の解除を申し出る事を自己都合退職と言う。このとき解雇や自己都合退職をに関して以下の表にまとめてみた。

契約解除の方向 必要な書類
解雇(会社都合退職) 使用者 → 労働者 改善指導書、解雇予告通知書、解雇通知書、解雇理由証明書
自己都合退職 労働者 → 使用者 退職届

改善指導書とは労働者を能力不足により(普通)解雇する時に用いられる書類だ。平たく言えば「弊社は労働者△△に、○○という指導を施したのにもかかわらず能力不足が改善されなかった」と言う事を証明する書類の事だ。「IBM「社員大量クビ切り」の内幕(選択)」に依れば、日本IBMの事例がこれに近い方法で社員を解雇している。IBMはターゲットとなる労働者を選定し、退職に応じない労働者を、PIP(Performance Improvement Program)と言う改善指導書のような物を発行。こなせない量の仕事を労働者に与え退職に追い込むような方法を行っている。こういう風に労働者を解雇する理由として、労働契約法第十六条がある。


(解雇)

第十六条  解雇は、客観的に合理的な理由を欠き、社会通念上相当であると認められない場合は、その権利を濫用したものとして、無効とする。

上記のように何の理由も無く社員を解雇できないから、会社は回りくどい方法を取っているのだ。特に理由が無い場合や、本来会社の都合での退職であるにもかかわらず、労働者を何度も呼び出して自己都合退職を強要(退職強要)するケースも少なくない。

自分は勤務3ヶ月を過ぎた頃から、何度も何度も上司に呼び出され退職強要された事がある。尚解雇には30日前に労働者に予告する必要があり、例えば15日前に予告無しに解雇を言い渡す場合解雇予告手当を支払う必要がある(労働基準法二十条と二十一条)。



第二十条  使用者は、労働者を解雇しようとする場合においては、少くとも三十日前にその予告をしなければならない。三十日前に予告をしない使用者は、三十日分以上 の平均賃金を支払わなければならない。但し、天災事変その他やむを得ない事由のために事業の継続が不可能となつた場合又は労働者の責に帰すべき事由に基い て解雇する場合においては、この限りでない。

○2  前項の予告の日数は、一日について平均賃金を支払つた場合においては、その日数を短縮することができる。

(労働基準法第二十条より)

さて15日前に数回目の呼び出し時に上司に能力不足に依り自己都合退職しろと言い渡された。こういった場合は会社側に解雇にできない理由があるので、解雇通知書と解雇理由証明書を会社に請求し続ける事だ。絶対に退職届を提出しては行けない。会社に言って駄目だったら労働基準監督署に連絡し、上記書類を会社に提出させるように運んで行くのも良い。詳しい事は「労働者側の視点に立つ労働問題サポートブログ」等を見て欲しい。

さて最近流行の「社畜」という言葉に代表されるように、会社は都合良く労働者を使いたい物だ。労働基準法などを読むとどのように都合良く使いたいのか?と言う部分が見えて来るし、面接で「こういう契約だけど」と言われたときに的確な判断がし易くなるので押さえておきたい。

最後に

今回自分の面接対策の為にこの記事を書いた。面接の質問やプログラミングの試験の問題などから、会社がどのような事が出来る人間が欲しいのかを考えここに書き出してみた。何でも書き出してみると言うのは、現状を整理する上で大変役に立つし、自分の実力がどれくらいか?と言うのも見えてくる。いざ就職活動が始まったら、こうして面接の質問の反省点を「面接で気をつけたい○○のこと」と言う内容でブログに纏めてみると良い。いっその事就職の記事で、アフィリエイト収入を得てみるのも良いだろう。それでは皆様の健闘を心より願う(2012.12.8)