技術者プロフィール

はじめに

ここでは、私の技術についてのプロフィールを書いていきます。

少し長い記事ですが、興味を持っていただければ幸いです^^

IT技術に興味を持ったきっかけ

技術ではないですが、私がIT技術者を目指すきっかけを書いておきます。

私がパソコンを使い出したのは6歳ぐらい、とにかくiMacでタイピングの練習をしていました^^「特打」というソフトが面白くてww。8歳ぐらいでブラインドタッチはできるようになっていましたね。あの頃のマウスは子供にもちょうどよかったですww

初めて私がIT技術と出会ったのは14歳の時…好きなMacでたまたま「スクリプトエディタ」を開いた時がきっかけです。AppleScriptを書くためのアプリだったことは知らなかったのですが、インターネット検索で出てきたテストコードを貼り付けると「Hello World!」の文字列がダイアログで現れました。

私は、その時とても感動したんです。プログラミングでパソコンに命令を与えるなんてまだまだ自分には無理だ…と思っていたのに自分の入力した文字が画面に現れている!しかもたった1行で…

私はとにかく夢中でAppleScriptを検索して覚えていきました。今から思うとよくこんなマイナーな言語から始めたなぁ…と思いますが、for文、if文など基本的なことはAppleScriptで覚えたんです。

その後、Excel.VBA、C言語、C++言語…とどんどんプログラミングを必死で勉強していったのがきっかけです。

プログラミング技術

大体経験しているプログラミング言語を習熟度(5段階評価)とともに挙げておきます。

C言語 ☆☆☆☆

C言語の習熟度は大学で習う程度のことは完璧なつもりです。ただ、組込システムやC言語でUIを作った経験などはあまりないです。あくまでプログラミングを勉強する通過点でした。

C++言語 ☆☆☆☆

初めて出会ったオブジェクト指向…難しいというより、感動ものでした。

「まさにこれ、こんな感じで書きたかった~」オブジェクト指向がとても好きになりました。簡単なUIなら作ったこともあります。特に大学では画像処理を専攻していて、OpenCVを使う時には重宝しました。

ただ、現在も好きかどうかというと微妙…実行速度が速いのは良いのですが、オブジェクト指向もどきになりがちなような。あとシングルパスコンパイラはやはり使いにくいなぁ…

Java言語 ☆☆☆

WindowsでもMacでも動くゲームを作りたいなぁ…と思った時に使ってみた言語。基本的な構文などは全然大丈夫です。Androidアプリ開発として使った経験はありません(後に書きますがKotlinならあります)。

ただ、現在も好きかどうかというと微妙…特にゲッターとセッターが面倒だな~ww

C#言語 ☆☆☆☆☆

現在最もメインで使っている言語です。とにかく最高^^。C#8.0の構文も使えます!Linq作った人最強です!とても便利(中毒性あるけど^^;)。

WPF・Xamarin.Forms・Xamarin.iOS・Xamarin.Androidを使って、MVVM開発でいうところのModel・ViewModelを共通化する開発は、私がアプリを作成する時の第一選択です。Xamarin.Macはまだ使ったことはないですが(案件がない^^)。

個人的にC#の嫌いなところはNull安全じゃない事ぐらいですかね~(Null安全もどきは導入され始めてますが、まだまだ微妙…)

Excel及びExcelVBA ☆☆☆☆☆

「IT技術に興味を持ったきっかけ」でも少し触れましたが、Excel.VBAは私が14歳の頃から使っている言語!Excelにも自信ありです(というか複雑な処理をすぐVBAで解決しようとする人多いですね…)。「Excelができる人=VBA(マクロ)ができる人」みたいな勘違い?をしている人が多い気がします^^

UI(フォーム)の開発もできます。Excelは結構IT技術者が見落としがちな技術では?と個人的には思っています。案外Excelでアプリレベルのこともできるのに…

仕様書を自動整形するシートや、データをHTMLに変換するシート、勤怠管理(15分単位)シートを作った経験もあります。

とにかくExcelならなんでもお任せあれww(←調子のり)

Kotlin ☆☆

実務でAndroidアプリ作成のために半年ほど使ったことがあります。ただ少し忘れてそう…1~2週間あれば一通りは思い出すかな?

Kotlinは個人的にすごく便利な言語だと思いました。スコープ関数(let, also, with, run)は好きですね!あとやはり欠かせないのはNull安全言語であること!

はやくC#にNull安全の整備を~ww

Swift ☆☆

こちらも実務でiOSアプリ開発のために半年ほど使ったことがあります。ただ、少し忘れてそう…Kotlinと習熟度は全く同じ感じです。

これもNull安全言語ですね!ただスコープ関数の種類の多さでKotlinの方が好きかな?

まぁ…好きな部類の言語です^^

Objective-C ☆

まぁ…一応使ったことはあるし、書けないことはないですが、とても長い…こんなややこしい言語よく作ったなぁ~と思うレベルですww。MRCとARCが混在できてしまうのも気持ち悪い…

あえて長所を挙げるなら、C言語、C++言語のライブラリと適正があることでしょうか?

需要があるなら使いますが、iOSネイティブの新規案件ならSwiftがいいなぁ^^(もちろんXamarin.iOSでも!)

Web関係技術

ここではWeb関係の技術を習熟度(5段階評価)とともに挙げておきます。

HTML ☆☆☆

基本的なタグは一通り覚えたつもりです。HTML5になると少し自信がないかも(今でもdiv多用してます…)

HTML5も時間があれば勉強したいなぁ…

CSS ☆☆

調べながらとりあえず書けます。ただレスポンシブCSSなどはまだ未熟。横幅などによってCSSを変更するのはわかるけど、どうしてスマホ対応にできるんだ?という感じの習熟度です。

もっと上手くなりたいなぁ…

PHP ☆☆☆

プログラミング技術とも言えますが一応Web関係に^^

PHPでの動的HTML出力、DBとの連携、リダイレクトなど、初歩的な事は一通り書けます。関数も参考文献は多いのでそこまでストレスなく開発はできてます。

評価4でもいいのかな…ただ経験年数が浅いのでまだ一応3と言うことにしておきます^^

言語としては、スクリプトならではの曖昧な解釈をされるので好きではありませんが、Web関係をやるならこれが一番モダンですしね…暇があったらRubyとかPysonとか試してみよ~^^

JavaScript ☆☆☆

こちらもプログラミング技術といえますがWeb関係に^^

簡単なイベント処理やスタイルをいじるぐらいならできます。jQueryライブラリも使った経験はあります。

ただ、まだまだ自分的には知識足りないと思っています。「こんなエフェクトどうやってJavaScriptで書いたんだろう?」というサイトを見かけることが時たまあるので^^

WordPress ☆☆☆☆

基本、サイト作りはWordPressで作ることが今のところ多いですね。このサイトもWordPressを使用してます。(子)テーマファイルをいじって見た目を変えることもとりあえずできるレベルです。一からテーマを作れと言われるとまだまだですが^^

SQL(MySQL) ☆☆☆☆

SQLite、MySQLの経験ならあります。基本構文はもちろんですが、設計もプライマリーキー、インデックス、型、ビューぐらいならわかります。ただ、トリガーなどの知識はまだ経験したことがないですね(多分トリガーに相当する処理をPHPで書いてしまっているんでしょう)。

開発手法

ここでは開発手法(環境)の技術を習熟度(5段階評価)とともに挙げておきます。

VisualStudio ☆☆☆☆☆

C#好きならこれが使えないとまずいですよねww

もちろんVisualStudioForMacも大丈夫です(…というかこちらの方が好き^^)。

Xcode ☆☆☆

大昔、Xcode3.0とかの時は頻繁に使っていたんですけどね(C++使っていた時など)。

最近ではSwiftを半年担当した時に少し使ったぐらいです。

Git ☆☆☆☆☆

Gitは最低限開発者として使えないと…とか言いながらCUIはいじれませんがww

Web関係でGit使っていない人がまだまだ多い気がしますがもったいないなぁと思います。WordPressならまだわかりますが、特にHTML+CSSでコーディングしている人はGit使うと世界が変わると思います。

SourceTree ☆☆☆☆☆

Git開発では基本的にSourceTreeを使って開発しています。

Atrassian ~Confuluence~ ☆☆☆

ページの作成は普通にできます。技術とはいえないかもしれないですがww

Atrassian ~JIRA~ ☆☆☆☆

基本一人の開発でもJIRAはよく使っています。テキスト形式でやることを記述するよりもチケットとして管理した方が自分でも整理しやすいし、Bitbucketと連携してくれるのもありがたい。

そして、発注者などに進捗状況を把握してもらう手段としても使えますよね^^

Atrassian ~Bitbucket~ ☆☆☆☆☆

Gitでリモートリポジトリを使うにはこれ!無料でプライベートリポジトリが使えるのはありがたい。

もうわかったと思いますが、基本的に特に要望がない限りプロジェクト管理する時はAtrassianを使っています。

DreamWeaver ☆☆☆

基本的にHTMLやCSSをいじる時はDreamWeaver使っています。

少しWordPressとの連携が悪いのがたまにキズですが、好きなツールの一つです。

Filezilla ☆☆☆☆

少しサーバをいじるだけならFilezillaを使っています。

簡単なソフトなので技術と言えるほどではないですが^^

デザイン関係

ここではデザイン関係の技術を習熟度(5段階評価)とともに挙げておきます。

Illustrator ☆☆☆

あんまり創造的なイラストはかけませんが、作図やトレースなどは大丈夫です。

仕様書などのPDFの作成も最近Illustratorで描くのが好きです。

PhotoShop ☆☆

簡単な画像の補正や部分補正、トリミング、テキスト挿入などは大丈夫です。

アプリ開発などで写真の加工を頼まれることはあまりないので趣味程度です^^

終わりに

大体書いたつもりですが、書き抜けている技術もあるかもしれないです^^

いろいろなことに挑戦するのが好きなので、新しい技術も積極的に取り入れていくタイプです!

とにかくパソコンでの作業は好きなので、知識0の技術でも大体なんとかなるもんですww。基本的に独学で勉強してきたので、本などを買わなくても検索だけで覚えていってしまうことが多いです。

というより…それが技術者の勉強法なのでは?とか思ってます。本はまだわかりますが、セミナーなどに参加しても、実際に開発する時は調べることになるのだから、調べる技術を育てた方が技術が向上するのでは?と思っています。

特に初心者ほど有料の動画セミナーなどに参加して技術を覚えたがる傾向が見受けられますが結構無駄金になると思います^^。初心者向けの文献なんてそこらへんに転がってます。「1ヶ月でWebデザイナーに!たった1万円!」なんて売り文句はほぼ詐欺だと思ってますww。そんな簡単な世界じゃないし「正社員」とは一言も書いていない…時給数百円のWebデザイナーだって存在しますしね^^。

上級者になって学ぶべき事が分からなくなってきてから、IT技術者が集まる勉強会などに参加するのはありだと思います。

本も選び方によっては主観が入った技術を覚えてしまったり、著者が全ての使い方を書いていないこともあるので、公式ドキュメントを見るのが一番だと思ってます。でもパソコンから離れている時に関数辞典とかHTMLタグ辞典みたいなものを流し読みするのはいい勉強法だと思います^^

なんだか最後は勉強法の話に逸れてしまいましたww

長文になってしまいましたが、最後まで読んでいただきありがとうございました。

何か私にできそうな事があればお気軽にご相談ください^^