【適正チェック!】エンジニアに向いている5つのサインとはプログラミング【適正チェック!】エンジニアに向いている5つのサインとはWebエンジニアになりたいと考えている人は増えていますが、自分に適正があるのか不安に感じている人は多くいるのではないでしょうか。海外のプログラミングスクールを運営している方よりエンジニアに向いているタイプを紹介してもらっています。[テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。本稿は、CourseReportのブログ記事を、CourseReportより了解を得て日本語翻訳し掲載した記事になります。エンジニアになりたいと考えている人は増えていますが、自分に適正があるのか不安に感じている人は多くいるのではないでしょうか。Allabarton氏よりエンジニアに向いている5つの適正について紹介してもらいました。エンジニアとして働く上で必要な要素も述べているので、ぜひ参考にしてみてください。問題解決が好きである!エンジニアという職種は、大企業であれスタートアップであれ問題解決をすることが基本です。あなたがロジカルな思考ができ、パズルを解くことが好きであればエンジニアとして向いているでしょう。逆にすぐにイライラして、コンピュータを窓の外に投げ出したくなるような人は難しいでしょう。エンジニアというのは複雑な問題を解決するというのがメインの仕事なので。エンジニアはどうやって問題解決をしているのでしょう?彼らは「ググる」のです。これは初心者でもベテランエンジニアでもGoogleを問題解決のツールとして利用しているのです。ググる力というのは、仕事を成功させより楽しく感じるために必要な能力というわけです。コミュニケーション能力が高い!もしかしたら今までのイメージとは反対だと思うかもしれません。エンジニアは誰でも分かるレベルの言葉で同僚やクライアントとコミュニケーションを取らなければなりません。企業で働いていてもフリーランスで働いていても、物事を進める上でコミュニケーションは欠かせません。普段のコミュニケーションに加えて、公式な場での発表、クライアントとの打ち合わせなど様々あります。相手がエンジニアでなければ相手にわかるように話す能力というのもとても重要なのです。インパクトを残したい!「大きなインパクトを生みたい」という考えは仕事を成功させるために大きな強みになります。Webの開発スキルがあればユーザーがサービスを利用し、楽しむ瞬間を創り出すことができます。普段の仕事の中で人々の生活をガラッと変えてしまうチャンスを持っているということなのです。開発者というのはユーザーだけではなく会社の中でもとても重要なポジションです。雇用を作るだけのインパクトを与えているということなのです。フリーランスという職業に憧れている!パジャマを着たまま働くこと、好きな時間に起きて自分のライフスタイルに合わせて働くことを夢見たことはありますか?なぜプログラミングをする作業がフリーランスとして合っているのでしょう。それはパソコンとネット接続さえあれば世界中どこでも仕事ができるからです。言えば、Web開発者の需要はここ数年非常に求められていて今後も増えるでしょう。フリーのエンジニアでも一緒に仕事したいと思う企業は増えていくというわけです。職業的な安定がほしい!インターネット産業が盛り上がっていることもあり、どの企業もWebの開発者を必要としています。そのエンジニアリングスキルはIT業界だけでなくアート、教育、小売など様々な業界で求められてきています。Webの開発者は業界を超えて求められている仕事なのです。このニーズは今後より一層大きくなるでしょう。その裏づけとして多くの学校や教育機関が「プログラミング」を授業の一環として指導し始めています。以上、プログラミングを仕事にできる適正を紹介してきました。何事も周りがやっているからやるのではなく、自分の将来を見据えた上で学習するとより早く成長できるはずです。Railsオンラインブートキャンプを開催しています。今後エンジニアとして仕事がしたい、フリーで仕事がしたいと思っている方はぜひご覧ください。樋口隆広氏による対談の内容をまと...プログラミング現役エンジニアが教える!優秀なWebエンジニアへと引き上げてくれる10のツール本稿は、Codementorのブログ記事を、了解を得て日本語翻訳し掲載した記事になります。田島メンター!実際にプログラ...プログラミングWebサービスをすぐに動かせる!HerokuでRailsアプリを公開する方法【初心者向け】Webサービスを自分の開発環境で開発できたら、いよいよ公開ということになります。この際レンタルサーバーを借りたり、AWSを使ったりすることもできますが、もっと手...プログラミング過去160年間の情報技術の歴史から見る!インターネットの変遷とは本稿は、FreeCodeCampのブログ記事を了解を得て日本語翻訳し掲載した記事になります。Lar...プログラミング非エンジニアがWebプログラミングで勉強すべき10のことまったくのプログラミング未経験の非エンジニアだと、「いったい何を勉強をすればいいのか」がわからないということもあるでしょう。始める前に要チェック!プログラミングで挫折する3つのパターンとその解決方法プログラミングの勉強を始めたけど、途中で挫折してしまったという経験はないでしょうか。そこで今回はTechAcademyの過去7,000人以上の受講生の事例をもとに、初心者がプログラミング学習で挫折するパターンとその解決方法をご紹介します。挫折した経験がある方は、この記事を参考に再度チャレンジしてみてください。TechAcademyは2012年に開校し、非エンジニア・初心者向けのプログラミング講座を中心に開催してきました。大手IT企業の非エンジニア向けのプログラミング研修も実施しています。そんな講座や研修を開催する中で、「過去にプログラミングを勉強してみたけど挫折した」という声をよく耳にしています。そのうち、特に多い3つのパターンを紹介します。プログラミングの最初の壁として開発環境の準備があります。Vagrantを使ったローカル開発環境やXAMPPなど統合開発環境を使う方法もありますが、まったくの初心者だと、Macのターミナルの使い方がよくわからないなどの理由で断念してしまうこともあるようです。肝心のプログラミングコードを書く前に、開発環境の構築で数日たってしまい、そのままやらなくなってしまいったとう経験を持つ人もいるのではないでしょうか。「スペルミスに気が付かず、30分悩んでしまった」「コードが動かなくなってどうすればいいかわらなくなった」「ググっても解決しない」といった声をよく聞きます。友人や同僚にすぐ相談できるプログラマーがいる環境であれば解決しますが、独学だと学習効率が悪くなることがあります。Q&Aサイトなどを活用することもできますが、回答がないと待つ時間もかかりますし、すぐ解決できる回答が返ってくる保証もありません。「社内のエンジニアと円滑にコミュニケーションを取りたい」「今後プログラミングスキルが必要になりそうだから」など、プログラミングを学習する動機はばらばらだと思います。目的があっても何をしたいかの具体的な目標がないと、いざ勉強を始めてもモチベーションが続かないことがよくあります。非エンジニアで、「プログラミングを勉強したい」だけではこのようなことに陥る可能性が高いようです。先ほど紹介した挫折のパターンをもとに、4つの解決方法を紹介します。どれも第一線で活躍するエンジニアや企業が推奨している解決方法です。TechAcademyの過去の受講生に話を聞くと、初心者がプログラミングで最初に楽しいと感じるのは、何かしらが動くようになった体験であることが多いです。そのため、開発環境の構築が難しければ、すぐに動かせるものから始めてみることをおすすめします。テキストエディタとWebブラウザだけあればJavaScriptで簡単なWebアプリケーション作ることができます。そのため、TechAcademyで執筆した著書非エンジニアのためのプログラミング講座もJavaScriptを題材にしてプログラミングの基礎を学ぶ内容にしました。最近はCloud9というクラウド上に開発環境を用意できる無料のツールもあります。RailsやWordPressといったテンプレートも用意されているので便利です。普段からプログラミングについて相談できるメンターを見つけておきましょう。詳細解説」の資料でも紹介されています。この資料では、独学だと学習効率が悪いため、メンターを見つけることを推奨しています。独学で学んだ人は多いし、当然「学べる」。効率を比較すれば、早期にメンターを見つけたい。メンターがいることで、わからないことをすぐに聞くことができますし、しっかりと時間を確保してくれるメンターが見つかれば、その人のためにも頑張ろうというほどよい強制力もはたらくはずです。自分の開発しているサービスなどを見せて、フィードバックをもらうことで、第三者の視点が入ってより成長できるでしょう。1人だけでプログラミングを勉強しているとモチベーションが続かないことがありますので、一緒に勉強する仲間を見つけましょう。人事部からエンジニアにキャリアチェンジした経験を持つ村田佑介さんは、「何かコミュニティがあった方が続きやすい」とインタビューで話しています。仲間がいれば、わからないことを教え合うこともできるはずです。これもリブセンスの資料になりますが、仲間を見つけることで「目標」「スキル」「チャレンジ」「フィードバック」の4つの要素のバランスが取れるとおすすめしています。この4つの要素は、メンターをつけることでも解決できそうです。目標を持つと言っても、なかなか自分だけで決めるのは難しいかもしれません。そんなときは、作りたいサービスを具体的に決めておくことをおすすめします。サービスを作ると言っても大げさなことではなく、「自分の子どもが遊べるサービスを作りたい」「会社のメンバーの業務効率が上がるようなサービスを作りたい」といった自分の身近な人が使うサービスでも構いません。作るサービスを決めておくことで、まずは必要なスキルだけを効率的に身に付けることができます。メンターがいる場合はサービスの内容を伝えて、作る際の道筋を事前に聞いておくと良いでしょう。して推奨されています。今回の記事は以上です。解決方法の4つを全て用意するのは難しいかもしれませんが、1つずつ解決していきましょう。[お知らせ]TechAcademyでは、メンターがプログラミング学習をサポートするオンラインブートキャンプを開催しています。挫折することのないよう、開発環境はCloud9を使用し、受講生に1人ずつパーソナルメンターをつけて、オリジナルWebサービスの開発までサポートしています。期を区切っているので、一緒にプログラミングを学ぶ仲間を見つけることも可能です。プログラミング【20代の方向け】エンジニアに転職したい人が知るべき3つのポイントこれからエンジニアに転職をしようと思っている人は何から始めれば良いのでしょうか。未経験や現在異業種でお仕事をしている方にとっては、どこから手をつければ良いのか迷うこともあるのではないでしょうか。ここではエンジニアに転職したい人が知るべきことを3つのポイントに分けて解説していきます。自分が目指すエンジニアがどういった仕事なのか、知るところから始めましょう。IT業界の経験やエンジニアとしての実務経験がない場合は、エンジニアについてしっかりと把握することが難しいのが実情です。幅広くエンジニアの仕事について調べ、自分は何を一番やりたいと思っているのか、方向性を明確にすることをお勧めします。例を挙げると、エンジニアやそれに関連する仕事は以下のような種類があります。Web系サービス企業におけるエンジニアにもいくつかの種類があります。Webアプリケーションの開発を行う。ブラウザ側のプログラミングを行う。スマホアプリのプログラミングを行う。ゲームのプログラミングを行う。自分が目指すのはどんなエンジニア・仕事であるかを把握しましょう。ひとつの仕事だけを見て判断するのではなく、ひととおり調べて見てそれぞれの仕事にはどのような違いがあり、自分はどんな仕事をしたいのか、目指すべきゴールは何なのか、など転職後の理想の姿を思い描きましょう。そのゴールに向けてどこからはじめるべきかを決めることが第一歩となります。することで、思い描いたゴールに近づくためには、どのようなキャリアパスを描けば良いのか少しずつ見えてくるはずです。次のステップとして自分が向いているエンジニアとしての仕事や役割はどのようなものかを見極めることです。見極めるためには「実践する」のが一番の近道です。今の時点で興味のあるエンジニアの仕事に関連する書籍を読み、実際にプログラミングやサーバー構築など実践していきましょう。「時間を忘れて没頭してしまう」「疲れていても継続できる」「プログラミングが楽しい」と少しでも感じれば、少なくともその分野が自分自身に適正があると判断できるでしょう。参考までに、例えば以下の仕事ではどのようなことをすれば良いか確認しましょう。未経験からの転職でも挑戦しやすいプログラマーは、主にシステム開発の企業で仕様書に基づいたプログラミングをすることが求められます。おすすめのプログラミング言語は「Java」です。Javaは古くからありますが今でも最前線のプログラミング言語として非常に多くのシステムやWebサービスで採用されています。そのため、Javaに関する技術書などが豊富にでており、ネット上の情報量もJavaは圧倒的に多いです。そのため、未経験でもスタートアップ言語として人気のある言語となっています。Javaの技術書を購入してみて、自宅のPCでプログラミングを実践してみることをおすすめします。サーバーエンジニアの仕事は「サーバー」の構築・運用・保守がメインです。コンピューターや開発したシステム、Webサービスなどのスムーズな動きを実現するために欠かせない大切な役割です。サーバーエンジニアにとって必要なのは、前提としてOSやネットワーク、セキュリティなどの知識・スキルです。入門書を読みながら専門的な知識を習得し、仮想サーバなどを利用して自宅のPC内にサーバーを構築してみると良いでしょう。システムエンジニアはSEとも呼ばれ、多くのプロジェクトメンバーと関わりながらプロジェクトの進行管理を行います。そのため、必要とされるスキルは多岐にわたります。大きく分類すると、専門知識・マネジメント能力・コミュニケーション能力の3つがあります。この3つはすぐに身につけられるものではなく、現場での経験と相応の知識・スキルが必要になることが想像できます。そのため、未経験からだと少しハードルが高くなりそうですが、まずは必要な専門知識を身につけることが大切です。自分である程度のプログラミングスキルを身につけ、その次にプロジェクトをどのように設計・開発していくのかを学んでいくと良いでしょう。Webプログラマー(Webエンジニア)とは、Webサイトやスマホ用のサイトで使用するWebアプリケーションを開発するのが主な仕事です。例としては、Eコマースのショッピングカート、会員登録機能やSNSなどをはじめとして、Web上のシステム機能を開発します。機能要件の細分化・深化が年々増加しており、それに伴いWebプログラマー(Webエンジニア)の採用ニーズも高まっています。企業の体質としてスタートアップやベンチャー系企業が多く、即戦力人物の採用傾向があるため未経験の場合はハードルが高いポジションと言われているのが実情です。Webアプリケーションは、PHPやJava、Rubyなどを用いて開発されることが多いため、その言語を使った開発経験が重要となります。以上のように、どのようなエンジニアになるにしても、「専門知識」と「スキル」は前提として必要、というのが共通していることです。未経験からエンジニアに転職をすることは無謀という訳ではなく、それぞれの仕事や役割において必要な知識とスキルは異なってくるため、まず何の知識とスキルを身につけるべきかを絞っていく必要があるでしょう。あるプログラミング言語を複数並行して学習するのは難しいので、まず1つ何かに触れてみるということが大切です。エンジニアの仕事について調べていると中には、特定の資格が広く認知されており有益だという情報もあると思います。ネットワークエンジニアなら「CCNA」、サーバエンジニアなら「LPIC」などです。未経験からのスタートは「Java」が人気であることは前述しましたが、Javaのスキルを証明する資格もあります。言語を使用したオブジェクト指向プログラミングの基本的な知識を持つことを評価します。オブジェクト指向プログラミングとは、プログラミングには必要な概念でありプログラミングをする場合は理解しておく必要がある考え方です。詳細な説明はこの記事内では割愛しますが、資格を取得することで「Java」の基本を理解する証明にもなるので、まずはこの資格取得を目標にするのも良いと思います。転職活動の面接時にも強みをアピールするきっかけになるかもしれません。エンジニアに転職したい人がまず知るべきこと3つのポイントの最後は、自ら作品を作るということです。実際に面接で見せることを想定した「作品=ポートフォリオ」があると有利です。未経験からエンジニアに転職する際には、今現在、自分が持っているスキルをアピールするツールがあれば、企業側も採用後のその人の活躍イメージが湧きますよね。作品の開発実績があるということは、ゼロからカタチにすることまで一通り行った「やりきれる力」も評価に値します。技術書などを用いて実践した後に、実際にプログラムを書いてみてオリジナルの作品を武器にすれば自信を持って面接に臨むことができるでしょう。IT業界でおすすめの転職サイト・エージェントもまとめているので、転職を検討している方はぜひ活用してみてください。これまでの内容で、エンジニアに転職するためにまず何をすべきか見えてきたでしょうか。前述したように、エンジニアにも多くの種類があり仕事内容もそれぞれです。エンジニアの転職市場では、IT業界の求人ニーズは増え続けており、今後もITエンジニア不足は続いていくと見られています。「Java」を扱えるエンジニアはあらゆる現場で必要とされています。Javaのスキルを身につけることでエンジニアとして活躍できる場が広がる、ということでもあります。Javaの実務レベルのスキルを習得する方法は、技術書をもとに独学を始めたり、無料のサービスを利用してみるのも良いでしょう。長い時間をかけて独学をするよりも、短期間で実務に活かせるレベルのスキルを習得したい時は、やはりスクールを活用するのが賢い選択です。需要の高いJavaを8週間で習得ができるオンラインスクール「TechAcademy就職予備校」をご存知でしょうか。こちらのスクールでは、現役エンジニアである担当講師がメンターとなり、つまづいたり疑問点を解消してくれる環境が整っています。そこで得たスキルをもとに就職・転職のサポートまで付いており、担当カウンセラーが一貫してサポートします。このサービスを通して就職・転職が決まった方には、受講料キャッシュバック制度があるので実質、負担ゼロでスキル習得と就職先を見つけることが可能です。未経験からエンジニアを目指したいと思っている方はこの機会にチャレンジしてみてはいかがでしょうか。Depotのブログ記事を了解を得て日本語翻訳し掲載した記事になります。McDermott氏によって投稿されました。デザイナーは不可能を可能にすることを期待されます。信じられないほど複雑なプロセスを、シンプルで美しいものに作り変えるよう求められることも、何度もあるかもしれません。成功したときには、ロックスターになったような気分を味わえるでしょう。した大きな期待に応えられなかったときには、ひどく落ち込むかもしれません。デザイナーには完璧主義者の人が多く、自分自身が自分に対する最悪の批評家であることもよくあります。間違いを自分の責任と見なして、全てを台無しにしてしまったかのように思うこともあります。それでも、落胆するような状況において間違いを受け入れることで、これを成長と学びの機会とすることができるはずです。デザイナーが気づいていない真実:間違いのほとんどは、デザイナーの責任ではありません。辛い現実:いずれにしても、デザイナーは責任を負うことになります。新規の仕事やプロジェクトにおける、デザイナーの目標設定の仕方が、間違いの原因というわけではありません。ほとんどの場合、実際はその逆です。デザイナーは、多くの人が気にしないような細部のデザインまで、こだわりを持って熱心に取り組みます。神は細部に宿ることを知っているからです。問題となるのは、人についての知識が不足しがちなことです。これは、デザイナーが学校で教えられないことですが、仕事に大きな影響を与えます。デザイナーが正規の(または非正規の)教育を受けていれば、その過程で自分独自のデザインを究めることを求められます。デザインの原則、デザインと配色の関係、色彩なども学びます。これだけでは十分ではありません。デザインや美術について教育を受けることはあっても、人について深く学ぶ機会はありません。した理解不足は、デザインに影響し、ひいては予期しないUXの間違いの原因となります。デザイナーに不足しているのは、人についての知識なのです。デザイナーは合理的な人々です。インターフェースの設計に多くの時間を費やすため、デザインがWeb上でどのように機能するかを直感的に理解しています。「これは常識だ!」とデザイナー自身が思っていても、実際はそうではないこともあります。デザイナーにとっての常識が、ユーザーにも通用するとは限りません。デザイナーは設計に多くの時間を費やしているために、よく知っているだけなのです。デザイナーがプロフェッショナルであるのに対して、ユーザーが同等の専門性を備えていないこともあります。した理由から、ユーザーに対して次のように仮定するのは、間違いです。問題の核心が見えてきたでしょうか?デザイナーがこのように仮定すること自体は合理的ですが、問題を引き起こすおそれがあります。した仮定は現実に基づいたものではないからです。した場面でデザイナーに求められる仕事は、「迷える羊の群れを、頭数を減らして束ねる」ことです。条件に合うユーザーだけを選び抜き、意図したプロセス通りに彼らがサイトを利用できるような設計にします。その他の条件に合わないユーザーは、除外します。「ユーザーのためのデザイン」は、ここ数年で繰り返し提言されているアドバイスで、頭にたたき込まれているデザイナーも多いかもしれません。デザイナーは、ユーザーのニーズをよく理解して、ユーザーを中心にデザインするよう教えられています。このアドバイスには見落としている点があります。「なぜ?」と不思議に思うかもしれません。見境なく教え込まれているアドバイスですから。audience:広告やマーケティングにおいて、目標とする顧客)と一致するとは限らないことです。サイトを利用しているユーザーが、「求めているユーザー」像と一致しないことがあるのです。例として、Googleを考えてみましょう。Googleは、そのエネルギーや注意の大半をユーザーに向けています。Googleにとってのユーザーとは、検索者です。検索者により良いユーザー体験を提供するために、多くの時間と巨額の資金を投資しているのです。検索者がGoogleの唯一のユーザーでしょうか?実は、その他にもGoogleのユーザーは存在しています。広告主:Googleは広告主が自らの命令に従うことをよく知っています。Googleは、広告主やサイト運営者に対してポリシーを公開しています。彼らがGoogleのポリシーに違反して、好き勝手に利用するとしたら、広告掲載やサイトは強制停止されます。ボット(クローラ):Googleは、ボットなどによってサイト上で「通常以上のトラフィックが検出」された場合に、これをブロックします。positive)によりブロックされてしまうこともよくあります。詐欺者:Googleは詐欺サイトもブロックしています。偽のダウンロードボタンをクリックすると、ランサムウェア(ransomeware)がコンピュータにインストールされるよう仕組んであるサイトなどです。検索者:Googleの検索エンジンの利用者です。このユーザーたちこそGoogleに利益をもたらしています。彼らが広告をクリックしたり、アプリケーションを利用したり、ソフトウェアをダウンロードすることで、Googleに収益が発生する仕組みになっています。Googleは、自らの目標や利益に反するユーザーに対しては、ユーザーエクスペリエンスの提供を拒否しているのです。Googleは、ほとんど全てのユーザーに提供されていますが、Googleのユーザーリストに載っていない人々(ボット)は締め出されます。広告主が検索者にスパムを送信するとしたら、広告掲載を強制停止されます。Googleは、自らの目標や利益に反するユーザーに対しては、提供を拒否しているのです。「ユーザーのためのデザイン」は、デザイナーがターゲット・オーディエンスだけに意識を向けるという前提があってこそ有益なアドバイスになることは、十分理解できるかと思います。多くのデザイナーがユーザーについて見落としている重要な点は他にもあります。それは次の「UXの間違い3」で述べるとしましょう。Webデザインにおける「フリクション(friction)」とは、Webサイト(のレイアウトに使われている要素)の利用を阻害することを意味します。一般にデザイナーたちは、フリクションを悪いものだと考えています。Webサイトを上手く設計しなければ、意図した通りにユーザーが行動しないおそれもあります。したイメージから、デザイナーはフリクションを恐れがちです。全てのWebサイトにはフリクションが必要です。同じことがフリクションにも当てはまります。ユーザーは音楽に、フリクションは音量調節のダイヤルに、それぞれ例えることができます。望ましいユーザーだけをWebサイトに集めるために、いわばフリクションというダイヤルで、音量を上げたり下げたり調整するのです。フリクションを活用しているWebサイトの例を、次にいくつかご紹介します。Craigslist(クレイグズリスト):Craigslistは、同じ広告を50回連続で投稿されたりするのを嫌がります。そのため、Ghostingという技術によってフリクションを生み出しています。ユーザーがスパムを送信したり、広告を過度に多数回投稿した場合には、広告はブロックされて誰にも見えないように非表示になります。Google:Googleはユーザーに自らのポリシーを尊重してもらいたいようです。scraping)を行えば、「通常と異なる」ユーザーとして検出されます。警告を無視するとブロックされます。Quora:Q&Aのサイトです。respectful.(マナーと節度をもって利用すること)」というポリシーを掲げています。このポリシーを無視するユーザーには警告を与え、ブロックまたは利用禁止にします。フリクションを利用することで、他のユーザーにとって安全なサイトであることを保証しているのです。Quoraのサイトのシステムは、ユーザー体験の質を最大限に高めるようにデザインされています。デザイナーにとってフリクションは、問題となるかもしれません。それはデザイナーが、フリクションというダイヤルを調整する方法を知らなかったり、またはフリクションが存在すること自体知らないからです。デザイナーのフリクションに対する理解が不足していると、フリクションに過剰反応してしまったり、皮肉なことに望ましくないユーザーにWebサイトを悪用されることも起こり得ます。フリクションを具体的に実装するとしたら、どのようになるのでしょうか?例を見てみましょう。入力フォームを必要以上に多く設置することで、ユーザーを疲労させ、興味を失わせる(逆に入力フォームを十分に設置しないとしたら、全てのユーザーのアクセスを容易にすることになります。フリクションは重要な設計であり、その形やサイズは様々ですが、多くのデザイナーが理解に苦戦するのは確かです。この間違いを回避するには勇気を要します。それに加えて、さらに重要なことですが、目標を明確に理解していることも必要です。現在デザインしている要素は、どのような完成形が望ましいのか、開発しているWebサイトの目標は何なのかなどです。その理由は、あなたの上司、会社の役員会、クライアント、関係責任者から、目標に反する要求をされることがあるからです。相手の要求通りに進めたら良い結果は生まれないと、経験から予測できることもあるかもしれません。当初の目標に反して進めた結果、失敗プロジェクトとなるおそれもあります。「指示通りに仕事をこなしてさえいれば、彼らは報酬を支払ってくれるから構わない。」という考えで、上司に協調するのは簡単ですが。上司が自分自身のために行動しない場合には、あなたが上司に代わって行動することが重要です。上司が、彼ら自身の利益を損なうような指示を出してきたら、あなたの意見を声に出して伝えましょう。悪いニュースを伝えるべき場面です。上司に彼ら自身が犯そうとしている間違いを理解してもらうためです。ほとんどのデザイナーは自分の意見をはっきりと伝えることはありません。仕事を失ったり、キャリアに傷が付くのを恐れているからです。そのことが逆にこうした事態を招く原因となります。チームの他のメンバーと話し合いを持ちましょう。自分の意見をサポートする根拠(例えば、リサーチ、レポート、データなど)を十分に用意した上で、プロジェクトの責任者に意見を伝えましょう。最初は不可能に思えるかもしれませんが、実際には行うことは可能です。小さなステップから始めて、段階を追ってゆっくりと進めてみましょう。あなたはデザイナーとしてプロフェッショナルです。デザインツールを活用すれば、他の人が見逃してしまうようなUXの間違いを見つけることもできると思います。間違いを正すことで、複雑なプロセスを、シンプルで美しいものへと作り変えることができるでしょう。[お知らせ]TechAcademyでは初心者でもUI/UXデザインができるようになるUI/UXデザインオンラインブートキャンプを開催しています。現役UI/UXデザイナーのサポートで学びたい場合はご参加ください。アプリデザイン人事部から楽天のエンジニアに転身!プログラミング未経験からキャリアチェンジした方法を聞いてみたプログラミングの勉強をこれから始める人の中には、今後エンジニアに転身したいということもあるのではないでしょうか。その場合、実際に転身した人の話を参考にするのが近道だと考えています。そこで今回は、楽天株式会社に新卒で入社して、人事部からWebエンジニアに転身された村田佑介さんにお話しを伺いしました。BEST10株式会社CTO。2010年に楽天株式会社に新卒で入社し、最初は新卒採用の部署に所属。その後、開発部門の部署に異動して楽天ツールバーなどの開発に関わる。現在はBEST10株式会社のCTOとして活躍中。――まずは、先日村田さんのブログで公開したプログラミング未経験者がWEBエンジニアになるためにやるべきことが結構話題になっていましたね。これを書かれたきっかけから教えていただけますでしょうか。楽天のときの同期から「プログラミングを勉強したいけど、ドットインストールとか見てもどこからやったらいいかわからない」みたいなことを聞かれたのがきっかけです。1人ではなく、たまたま複数人に聞かれていました。そのときに教えていた内容をまとめてブログにしました。みんな営業系の仕事です。今は転職して違う会社にいるのですが、企画やディレクション、データ解析などの仕事をしているみたいです。何か自分で作りたいものがあるというのと、社内のエンジニアとのコミュニケーションを円滑にしたいという大きく2つだったと思います。実際にカフェで作業しながら相談を受けたりして、見ておいたらいいもののリンクなどをどんどんチャットとかで送ってました。それで気がついたら、同じように教えている人に送っているリンクがいつも同じだったことに気がついたので、それだったらブログにまとめて書いちゃおうということにしました。その順番に進めるのがいいと思います。あとこれは別で書こうと思っているのですが、エンジニアスキルって大体3レイヤーぐらいに分けられるはずです。どこに行ってもだいたい使えるスキルで、基本的なプログラミングの思考力、コンピュータの知識、インフラやネットワークの知識です。二番目が「言語やフレームワークレベルのスキル」。Rubyできますとか、Railsできますみたいなスキルです。これはそのプロジェクト固有のスキルです。この3レイヤーに分かれるかなと思っています。それで、採用する時に聞けるのは、「Rails何年やってました」とか大体二番目のレイヤーが多いじゃないですか。そこよりも一番下の汎用スキルを測る方法がないかなとずっと思っています。逆に学ぶ人にすると汎用スキルを伸ばすためにはどうすればいいかわからないのではないでしょうか。今の話を整理して「こういうことを意識していけばいいんじゃないか」みたいなものを今後ブログに残す予定です。大学は文系で、就職活動をして楽天に内定をもらったのも総合職としてでした。プログラミングを本格的に勉強したのは、内定が決まった後、大学の最後の半年間ですね。もととも2年くらいWebの制作会社でアルバイトとして、HTML/CSSを書くマークアップの仕事をしていました。そのあとで、プログラミングができる人が入ったので、横の席にいて教えてもらいながらひたすらコードを書いてました。もとはマークアップだけやっている会社だったのですが、その頃からスクリプトを使ってリッチに見せるような仕事が増えてきましたね。――では勉強というより、働きながら学んだんですね。打てますかといったところからスタートしました。――当時はプログラミング学習サービスもなかったですもんね。わからなかったらすぐ聞いて、わかるところまでググるみたいな感じだったと思いますね。それまでずっとマークアップをしてて、問い合わせがフォームの設置が面倒くさかったので、それを簡単にできるツールを作ったりしてました。今見たら汚いコードだったと思うんですけど、そういうのをひたすらトライ&エラーでやっていましたね。不動産屋さんの物件登録が閲覧できるシステムをPHPでゼロから作ることはできていました。問題がなかったと言い切れるものではありませんでしたが、なんとかリリースして実際に使ってもらってはいました。マークアップしてる時から、書いたものが画面に反映されることが楽しかったのであまり苦労みたいなことはないですね。今思えば、もう少し最初から設計やリーダブルコードという本の内容がわかっていればもっとスムーズにレベルアップできたかなという気はします。研修中の人事面談のタイミングですね。人事の担当者からしたら、総合職で採っているので「何言ってるんだこいつ」みたいな感じだったと思うんですけれども。反応なかったです(笑)。「あーそうなんだ」って。