『【駆け出しエンジニア向け】DEVパイセンから実務の失敗談を聞こう』イベントレポート
どうも
、Techpitのタカヤン(@s_tky_a)です!
先日、永田町GRiDにて開催された駆け出しエンジニア向けイベントのレポートです。
イベント概要
2020年2月10日、「【駆け出しエンジニア向け】DEVパイセンから実務の失敗談を聞こう」が開催されました。Techpitにて教材を執筆している現役のエンジニアの方が、初めて実務の場にでた際に経験したしくじり談を披露し、駆け出しエンジニアはそこからたくさんの教訓を学ぶ良い機会となりました。
1. 開始
2. パイセンによるしくじりLT
ー しくじりLT:1人目
『新卒でエンジニアとして働き始めて精神的に参ってから、再び立ち上がるまで』
★エンジニアとして入社した当時の課題★
★自分なりに見出した解決策★
★反省と学び★
参加者のツイート
ー しくじりLT:2人目
登壇者)『みなさんWEBアプリケーションの脆弱性ちゃんと意識してつくってますか?』
その中でも、上から3つ(XSS・SQLインジェクション・CSRF)は特に要注意です。
XSSがあると、以下のようなことが可能となります。
・個人情報の収集
・セッションハイジャック(ログインしないで他人のアカウントをのっとれる)
・買ってない商品が買ったことになってたり
・フィッシングサイトに誘導
・マルウェアダウンロードさせてPC乗っ取り
これ以外にも、いろんな攻撃につなげることができる超危険度の高い脆弱性なんです。
それではなぜXSSを埋め込んでしまったのか?
この時は、大手の案件だけに、セキュリティホールは作れないし、コードも入念にチェックしていました。先輩エンジニアの方々からのレビューでも高評価だったし、俺1人でも結構できるじゃんと内心思っていたほどです。
しかし、その後セキュリティ診断を受けた際に、XSSが見つかったのです。
エスケープの処理をかけていなかったのが原因でした。
そしてここで悟ります。
入門したてのエンジニアであろうと、何年たったエンジニアだろうと人間である以上ミスります。
人間がミスしない前提で仕組みが作られてたりしたら、仕組みそのものが悪い可能性が高いです。
ではどうすればよかったのか?
× 一生懸命頑張ってもっとしっかりチェックをする
× 自分だけじゃなくて他の人も巻き込んでチェックする
〇 エンジニアが意図せずともエスケープされている
エスケープをしたくない時だけ、逆にコードを書いてあげるだけで、XSSを指摘されることはなくなりました。
人間がミスしない前提の仕組み
これは、至る所にあります
例)
・お客さんへの請求金額を電卓でがんばって計算してる
・超重要書類の発送先を目検でやってる
・請求書を受け取ったが、後で処理しようと思っている間に忘れてしまった
「ヒューマンエラー 実例」とかでググるといっぱい出てきます
今日みなさんにお持ち帰りいただきたい、大事なことをもう一度言います。
人間はミスります。
これに尽きると思います。
なので、その前提でものごとを考えましょう。
参加者のツイート
ー しくじりLT:3人目
未経験からエンジニアとして入社した自分はというと、
入社後の1週間は、
・開発環境はDockerでの構築
→手順は整備されていて、無事完了
・その後、簡単な画面の改修など任される
・Git/GitHubでの開発の流れを学ぶ
ここまでは順調だった。
2週目からのは、
【2ヶ月後にサービス開始の案件を担当】
・チーム開発
・DBから素の売上データを取得して、大/中/小項目ごとに集計して表示する
(ここから雲行きが怪しくなる。)
あれ?
思ったようにデータの集計ができない。
フロントに渡った時のデータが想定と違う。
フロントにデバッグ用ロジックを仕込み、バックエンドでロジックを少し変えては、フロントにデバッグ表示するというのを繰り返した。
この時、自走力というキーワードに固執していた自分は、他人に聞くのはよくないと思い聞かなかった。
ここで、初の挫折を経験した…
結局、時間をかけて考えることによって上記の問題は解決しました。
そして、より詳細な機能の実装に入るにあたり、手戻りが怖いので先輩エンジニアに一度方針を相談することに。
先輩)『良いと思いますよ!』
『これペアプロで作っちゃいましょう!』
登壇者)『ペアプロ??🤔』
ペアプログラミング(英: pair programming)とは、
2人のプログラマが1台のワークステーションを使って共同でソフトウェア開発を行う手法という説明が起源である。
参考)Wikipedia
そこで、実際にペアプロをやることに、
自分が開発をし、その隣に先輩にいてもらって、実装についていろいろとみてもらいました。
その結果、開発を加速させるためのコツを自然と吸収でき、やりたかった実装もスムーズに終わり、プラスなことしかなかったです。
ペアプロに前向きな企業は、良い企業だと思うので、企業説明の際に『質問がありますか?』と聞かれた際には、『御社ではペアプロやってますか?』と聞いてみるとよいかと思います。
結論、真の自走力とは?
1人で走ることが自走力ではなく、周囲を巻き込んで前に進んでいくことが真の自走力である。
参加者のツイート
3. 交流会
飲み物とピザを片手にみんなで楽しく交流をしました。積極的にパイセンエンジニアに話を聞きにいく方もいれば、学習者どうしで情報共有をする方もいたりと各自有意義な時間をすごしていたという印象です!
感想
イベントの感想を集めました。現役エンジニアによるしくじりLTと交流会どちらも学びと気づきが多く、非常にためになる会でした!
最後に
改めて、参加者のみなさん、本日は、Techpitのイベントにお越しいただきありがとうございました。またお会いできたら嬉しいです。
ちなみに今後もイベントを開催したいと思っています。ただ次回の具体的なイベント案はまだ決まっていません。なので、もしよろしければ、「こんなイベントなら参加したい!」「こんなことに悩んでいる!」などお聞かせください。※本イベントに参加した人・参加できなかった人関係なく、教えてください。
▼イベントリクエストフォーム
https://form.run/@request-next-event
運営紹介
Techpitは現役のエンジニアが作った教材で学習するプログラミング学習プラットフォームです。
Instagram風SNSサイトを作ってみよう!【Rails】
TInder風マッチングアプリを作ってみよう!【Rails】
trello風todoアプリを作ってみよう!【Rails】
などの70種類以上の様々な学習教材で学習できます。
この記事が気に入ったらサポートをしてみませんか?