C#コラム

C#の派遣プログラマーが仕事をもらうために面接でするべき質問とは#1

これからC#を学んでプログラマーになって,お金を稼いでいこうと思っている人に向けて,プログラマーの働き方や,勉強するべき事,面接でどのようにすればよいかを解説していきます。

私ってどんな人?

私はプログラミング業界に15年以上いますが,いくつかの会社を渡り歩いています。そのおかげで派遣プログラマー,請負,メーカーでの製品開発という経験をしています。この経験をもとに,これからプログラマーとして活躍していきたいと思っている若手の方のために情報を発信できれば良いかなと思っています。

プログラマーの職場の種類

プログラマーと一言でいっても,その働き方にはいろいろな形式があります。どのような仕事があるのかを見ていきましょう。

メーカー(商品開発)

この仕事は当たり前といえば当たり前ですね。メーカーが何か製品を開発する。当然そこにはIT関連のソフトウェアを必要となる。じゃあそれを作る人を必要という流れですね。

プログラマーの仕事というのは,どこかの会社が製品開発を行うとか,社内のシステムを刷新するとか,そういうタイミングで仕事が生まれます。メーカーはその大元なので,メーカーに勤務するということは,その仕事の大元に携わるということになります。

請負

請負というのは,どこかの会社から「このシステムを作って」といわれて,丸ごと作って納品するというイメージです。ですので,小さなソフト会社などでは,どこからかそういう仕事をとってきて,社内の数名でそのシステムを作り上げるという感じになります。

仕事単位で値段が決まっているので,期間内に制作できなければ赤字になる可能性があります。あとメーカーと違い,仕事の生みの親ではないので,どこかで生まれた仕事を察知して,その仕事を当社でやらせてください的なことを営業マン言って勝ち取った場合のみ仕事にありつけるという形態になります。

仕事がない場合は,会社にはいくけどやることがないのでC#の本でも読んで勉強しておくという日があったりもします。

派遣

派遣はメーカーや請負をしている会社で,人手が足りない場合にその時限りで招集されるプログラマーです。基本的には他人の会社で働きます。他人の会社のデスクとパソコンを借りて,指示されたソフト製作を行うという形態です。

どこかで人手が足りない場合に召集されるのですが,その都度「面接」があります。仕事の話があるたびに,他人の会社に行ってメーカーなどのプロジェクトリーダーや部長クラスの人に面接をされて,受け答えをして,数日後に合否の結果を受けます。

この場合,自分はどこかのプログラマーを派遣する会社に勤めてはいるのですが,めったに自分の会社にはいかず,他人の会社で働くことがメインです。自分の会社の営業マンと仕事の話があれば,一緒に面接にいって,仕事をもらったら,3か月くらい派遣で働いて,延長があれば延長されるという形態の繰り返しです。

自分の会社の人間とはほとんど会わないので,飲み会の時しかあったことのない社員がいたりもします。

どの形態いいのか?

このように3つの形態を紹介しましたが,結局どの形態がいいのでしょうか?それは個人の性格次第なのですが,それぞれに良さがあるのだと思います。

私はこの複数の会社でこの3パターンすべて経験しています。派遣プログラマーに始まり,請負をする会社に勤め,現在はメーカーで製品開発のプロジェクトリーダーをしています。

そんな私だから,内情を洗いざらい,悩める若手の皆さんに伝えて,少しでも,人生設計のお役に立てればいいかなと思います。

メーカー

まず,メーカーに関していうと,お金の面でも仕事のやりがいでも,トップクラスになると思います。派遣プログラマーなどでフリーで働いている人などは,月給40万とか50万とか言っている人もいますが,そういう人はボーナスがないし,交通費も支給されないし,国民健康保険,国民年金であることが多いです。それに年功序列のおおむね逆バージョンのような給料体系になっていて,20代,30代のころはいいのですが,40代,50代になると,派遣プログラマーは仕事を見つけるのが困難になります。

メーカーであれば,20代,30代,40代,50代と順番に給料はアップしますし,ボーナスも通常あります。月50万と言っている派遣プログラマーよりも年収は多くで,福利厚生もしっかりしています。仕事的にも,40代,50代でもできる仕事が割り当てられるし,権限なども,それなりに与えられるので,非常に働きやすいです。

ただ,ストレス面では一番厳しいと思います。日々のクレームや,過去の製品の改造や,エンドユーザーとの対話など,ストレスにさらされることが多いです。気楽にプログラミングだけをしていたいという人には向いていません。サラリーマン気質で,上下関係をわきまえている人間でないとやっていけないでしょう。

求人面でもメーカーは基本的に新卒メインだし,中途採用でうまく入社するのは3つのなかで一番難しいでしょう。

請負

請負をメインでしている会社も存在します。その場合は自社のデスクでタンタンと仕事をすることができます。顔なじみの社員と,自分たちのスタイルで開発することが可能です。

会社の規模が小さかったり,営業が弱かったりすると,給料面では低い可能性があります。技術力を売りにしている会社であればいいのでしょうけど,請負だともうからない会社も多いでしょう。小さい会社なら社員といいながら,福利厚生はほぼ無いようなものという会社も多いと思います。

請負をしている会社のメリットは,派遣プログラマーと違って,他人の会社で働かなくてもよい,自分のデスクで仕事ができるということでしょうか。派遣と違って,自社の人間の指示系統で仕事ができるので,社員の人間関係がいいのであれば,楽しく働ける可能性はあります。

結局会社の規模次第。小さすぎる会社は,いつ仕事がなくなるかもわからないのでお勧めしません。

派遣

派遣プログラマーはパソナみたいな人材派遣会社と同じと思ってもらってよいです。いろんな会社が求人をしていて,それを自分の会社の営業マンが見つけてきて,一緒に面接に行って,OKなら3か月お試しで働いて,いい人と思われたら,引き続き3か月契約みたいな感じです。

派遣プログラマーのいいところは,とにかく気楽です。責任はありません。プロジェクトが失敗しようと,クレームが出ようと,バグが見つかろうと,働いた分はお金になりますし,責任を取らされることはありません。

気楽にプログラミングをして仕事をしたいという方には向いています。

派遣されるには,どこかの派遣会社に入社する必要がありますが,社員という道を選ばなくても,フリーという言う道もあります。フリープログラマーとして,派遣会社から仕事をもらうというスタイルです。この場合,仕事の単価に合わせて,給料が決まります。

当然,仕事がないときは,給料もありません。フリーとは個人事業主なので,国民健康保険で国民年金です。ボーナスなんてもちろんありません。

それでもプログラマーの単価は50万や60万は当たり前なので,派遣会社との取り分次第では,月に50万円くらいもらえる可能性があります。

ただ前述したとおり,年功序列のやや逆バージョンのような給料形態なので,ピークは30代ではないかと思います。40歳以降に,派遣として他人の会社の面接を受けて,他人の会社の机を借りて,仕事をするのは,少々厳しくなってきます。

40代といえば,メーカー職員は課長クラスになっているので,プロジェクトリーダーや責任者になっています。そういう人たちが,派遣社員を選ぶのですが,自分より年上の人はあまり選びません。

昔からの付き合いとか,技術的に何かあるなら別ですが,だれでもいい中から選ぶのであれば,20代か30代を選ぶでしょう。30代の後半は単価が高い場合もあるので,選ばれない可能性もあります。

要するに,40歳にもなって,永遠に面接を受けながら,仕事をもらわないといけないし,面接官が,次第に年下になる可能性もあるし,歳をとったからと言って,能力が高いかどうかはわからないわけです。40歳でも最先端技術を一人で学ぶ向上心と好奇心があればよいのですが,それがないのであれば,メーカーなどで勤務したほうが,会社の中で,技術を勉強することができるので,時代についていきやすいです。

とにかくフリーの派遣プログラマーは,30代まではいいですが,その後課長や部長になれるわけでもないし,仕事も決まりにくくなる可能性があるので,派遣プログラマーをずっとやっていくのはきついと思います。

若いときは派遣プログラマーで腕を磨き,その後,昇進できる会社に就職したほうがいいとは思います。派遣先が30代のプロジェクトリーダーという場合もあるので。

 

C#とSQLServerを繋いでデータを操作する4つの方法

#01_はじめに
#02_VisualStudio2022のインストール
#03_SQLServerのインストール
#04_データベースとテーブルの作成
#05_プロジェクトの作成
#06_接続先文字列の作成
#07_データテーブルでのデータの取得
#08_Sqlアクセスクラスの作成
#09_SqlDataReaderでのデータ取得
#10_SqlDataReaderの結果をカスタムクラスに入れる方法
#11_SqlCommandでInsert文を発行する方法
#12_SqlCommandでUpdate文を発行する方法
#13_Update対象がなかったらInsertする方法
#14_SqlCommandでDelete文を発行する方法
#15_Dapperでデータを取得する方法
#16_DapperでInsert文を発行する方法
#17_EntityFrameworkをインストールしてDbContextを作成する方法
#18_EntityFrameworkでデータを取得する方法
#19_EntityFrameworkでInsert文を発行する方法
#20_EntityFrameworkでUpdate文を発行する方法
#21_EntityFrameworkでDelete文を発行する方法
#22_Helperクラスを作ってSqlCommand操作を共通化する方法
#23_パフォーマンスチェックの方法
#24_4つのデータのとり方のパフォーマンスチェック
#25_4つの結果を踏まえて講評
#26_さいごに

下記URLは、ベネッセが提供する教育用プラットフォームにて
私が公開しているプログラミング学習コースです。
無料コースもあるので、よかったらご覧になってみてください。
【無料動画】「C#を勉強する順番」