この記事の信頼性
こんにちは。Web系エンジニアのカズです。数年前に未経験からプログラミング学習を始めて転職し、現在は単価80万円~90万円の案件を受注して活動しているエンジニアです。
エンジニア歴は約7年になります。使用言語やフレームワークは以下です。
・HTML 7年
・CSS 7年
・Javascript/jQuery 7年
・PHP 7年
・Typescript.js 3年
・laravel 5年
・Vue.js 4年
・React.js 3年
本記事では「新人エンジニア」いわゆる「プログラミング学習をして就職したばかりの方」へ向けて、お役に立つ情報を発信したいと思います。
プログラミング学習をして開発をするエンジニアになりたかったけど、「スキルが足りなくてテストの仕事ばかりが回ってくる」と言った方へ向けて情報を発信していきます。
本記事の内容
・前提として
・テスト業務で得られること
・テスターから開発者になれるのか
前提として
テスターから開発エンジニアになれるかという内容でお話していきます。
結論、学習を継続すれば決して不可能ではありません。
例えば、こんな方を想定してお話します。
スキル感
- HTML/CSS/Javascriptの基礎学習完了
- HTML/CSS/Javascriptを使ったポートフォリオ作成
- バックエンド言語の知見なし
- フレームワークの知見なし
現場に参入したところ、あまり開発を担当できない。という状況を想定しております。
テスト業務で得られること
・テスト観点がわかるようになる
・テスト駆動開発の考え方が身につく
・ソースコードをたくさん読める
テスト観点がわかるようになる
テスト業務と言っても、言われた通り単純な動作確認をするだけでは身になりません。
自分が今後開発者になるという視点で考えてみましょう。
以下の視点が大切です。
開発者目線で考えるべきポイント
- なぜこのテスト項目があるのか?
- 今回の改修案件内容は何か?
- 今回のソースの変更点はどこか?
- ブランチの切り方は?
- リリースのやり方は?
これらに、まず注目してみてください。
他のエンジニアが、「案件の仕様に対してこんな改修(ソース変更)をしたのか」という模範解答を第3者視点で見れるんですよね。
これって身になる学習だと思います。これができない環境の現場であれば、ちょっと難しい状況ですが。
何度も模範解答を見ているうちに、仕様や改修内容に対するテスト観点が分かってくるのではないでしょうか。
テスト観点が分かるようになれば、テスト仕様書が作成できますね。
テスト仕様書が作成できるようになれば、次は改修内容(ソースコード変更点)を必死に追いましょう。
自分の考える改修内容と、開発担当エンジニアが実際に改修した内容を比べて一致してくれば開発者になれるというわけです。
テスト駆動開発の考え方が身につく
テスト駆動開発とは簡単に言えば「実装してからテスト」を考えるのではなく「テストの考慮をしてから実装」する開発手法のことです。
最近では、このテスト駆動開発を取り入れる現場も出てきています。
テスト駆動開発のメリット
- 後工程でバグを生みにくくなる。
- 仕様を深く理解できる。
- 開発時に心理的負担なく実装できる。
何が言いたいかというと、仕様を把握してテスト観点を考えるというのは「開発者になっても必要なスキル」ということです。
今後の動向が、テスト駆動開発の現場が主流になるかどうかは分からないですがテスト駆動開発の訓練だと思ってテスター業務ができれば良いでしょう。
テスト駆動開発を意識した手順は、以下です。
①仕様を深く理解する
②テスト仕様書作成時にテスト観点を列挙する
③担当ではないけど自分でソースコードを書いてみる。(時間に余裕があれば)
ソースコードをたくさん読める
既に説明してきましたが、開発担当者のソースコード改修内容をたくさん読めます。
また、それ以外の全体のソースコードを読む時間もおそらく取れるでしょう。
そこで学びながら、自己学習に励んで開発者を目指していきましょう。
テスターから開発者になれるのか
これまで紹介してきたようなステップを踏んでいきましょう。
加えて、フロントエンドエンジニアであればReact.jsやVue.jsのフレームワークを習得してポートフォリオ作成に励んでください。
バックエンドエンジニアであればPHPまたはRubyの言語の習得に加えて、できればフレームワークを習得してポートフォリオ作成に励んでください。
テスター業務をしながら、紹介してきたようなステップを踏みつつ自己学習を続けましょう。
私が新人エンジニアの頃は、半分は「テスター」、半分は「コーダー」でした。
現場にもよると思いますが、不可能ではないです。
テスト駆動開発に興味があれば参考本を紹介しますね。
一応、サポートを受けて学習したいという方へご紹介
・SAMURAI ENGINEER
・Tech Boost
・RUNTEQ
・DMM WEB CAMP
コメント