質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

サービスの方向性決めながら、実装するエンジニアになるために、必要な環境やスキルとは?

受付中

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 1,558

score 12

 質問

もうすぐ就職する、大学4年生です。
働くうちに、自分がぶれないよう、将来なりたい姿を考えました。

「サービスの方向性を決めながら、実装もする人」
が、私がなりたい姿です。

ただ、そこに到達するには、
どんな環境にいるべきなのか、どんなスキルを身につけなければならないのか、
全然イメージできません!w

どのような環境・スキルがあれば良いでしょうか?
経験談でも、「社会人経験者として、こういうスキルじゃない?」というのでも、何でもいいです。教えていただきたいです!
(「実際にやってみればいいじゃん。」という意見があると思いますが、色々な事情で、計画を作らなければなりません。)

実際に、そういった立場で働いている知り合いがいればいいのですが・・・。
いないので、是非この場で教えていただけるとありがたいです。
宜しくお願いします。


 自分で考えたこと

  • 環境面  
1. 個人でサービス運営する
2. スタートアップにJoinする

  • スキル(よくわかっていないため、かなり抽象的な表現になってます)
1. 企画力
2. 収益化力
3. プログラミング力
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

+2

業務フロー図の読み書きと、ER図の読み書きの勉強してみるといいです。

業務フロー図は、顧客(ユーザ)が目的を達成させるために、
どのように業務をこなしているかを明確にできるツールです。
サービスを考える上では、意識し無くてはならない物です。

ER図は、システムのデータの流れを明確にするツールです。
システム設計をする上で、非常に役に立ちます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2


20代後半のWeb系で会社で働いているソフトウェアエンジニアです。何度か転職しています。

「サービスの方向性を決めながら、実装もする人」 
という質問者さんの言葉から想定するに、

質問者さんは、
大学でプログラミングをし、その作ることの楽しさを感じながらも、
言われたことをただ作るのではなく、能動的にサービスを作っていきたいたいので、
サービスに口出してそれを作っていけるソフトウェアエンジニアになりたいのかなと思いました。

それを前提で、私の知るIT業界のざっくりとした最近の状況を回答とさせてもらいます。
それぞれ、メリット・デメリットがあり、なにが合うか、なにが好きと思うかは質問者さんのことをわからないので明言はできないと思いましたため。。。

▼業種▼
IT業界といっても、ざっくり次のようなものがあります。
・Web系(自社でサービスを開発。ECサイトやゲームなどで自社の売上や利益を)
・SI(主に大企業から社内システムを受注開発する。)
・組み込み(TVや洗濯機、車などハードにソフトを組み込む)

かなり雑ですが、
Web系は自社でやっているのでスピード感もあり能動的にサービスも、実装も行っていける。(セクショナリズムがある場合もあってディレクターがいったことをただつくるだけという会社もあり)。しかし、技術が好きな人が多く休日なども趣味として勉強したりしている人が多い。技術が好きなら、サービスを作っていくというのをまじかで感じながら、サービス開発していくための技術力を高めれる。

SIは主に受託で会計や顧客管理など発注側の業務システムなので、発注側はシステム開発はコストと捉え、いかに安く作るかを考えます。そのため、受注側(SI)は安く作らないといけなくなるので売上が少なくなります。SIは利益を確保するためには、安い人件費の海外に外注して作ってもらったり、少ない社員でシステムを作り一人あたりの売上を上げるために国内に外注するなどし、社員の主な業務は実装よりもプロジェクトマネジメントをしているといった会社も多いです。国内の大手から発注された中小SIは実装ができますが、仕様書がわたってきてそれ通りにつくるだけなので、あまり提案はできないと思います。提案したところで、発注側までその話を通すのに時間がかかるので、あきらか改善したほうがよいことでも、とりあえず仕様書通りにつくっておけば文句はいわれないといったようになり、技術力はつくかもしれませんが、提案はしにくいと思います。


組み込みは、よくわからないです。車の自動運転、ルンバやApple TV、Apple Watchとかあるんので、実は今後注目かも?
Web系にはない、ハードを強く意識する必要があり、さらに、絶対止まらないなど別の技術が要求される気がします。

業種をまとめると、やる気があればWeb系があっていると思います。
企業によりますが、実装しながらも、その開発に口をだせる会社が他の業種よりも多くあると思います。

▼職種▼
Web系でいうと、だいたい次のような職種があります。
・営業・マーケティング(Web広告やメルマガ、サイトのコンテンツ企画などで顧客にサイトをアピールし、集客、顧客障害価値を高める)
・デザイナー(主にサイトのデザイン、バナーやアイコンなどの作成)
・ソフトウェアエンジニア(サイトの新規開発、改善、バグ対応)
・ディレクター(サービスについて一番理解している人。他の職種の人をマネジメントし新機能の企画や改善などを行う調整役)
・カスタマーサポート(顧客対応、顧客のニーズを把握、改善や顧客の声を社内に伝える)

最低限このレベルで専門的にやる必要があると思います。

質問者さんの
「サービスの方向性を決めながら、」だとすると、ディレクター。日々の業務では、機能だけでなく提携やイベント、クーポンなどサービス面からビジネス的な数値(売上、会員登録数、課金率など)を上げることを企画し、それを他の職種のひとにやってもらうために、いろいろとマネジメントしていく。実装はツールつくるぐらいならできるかもだが、がっつりはできなさそう。
「実装もする人」だとすると、エンジニア。新規開発、既存機能の改善、バグ対応などの設計、実装、テスト周りを日々行う。エンジニアが方向性も決めれる会社もあるし、決めれない会社もある。比較的エンジニアが多い会社=システムがあるから会社の売上/利益がなりたち、エンジニア以外の発言権が弱い会社の場合エンジニアが方向性を決めやすいかも。

さらに、傾向として大企業やサイト規模が大きくなるにつれて、さらに職種が細分化されます。
例えば、エンジニアの場合、iPhoneやAndroidのネイティブアプリエンジニア、フロントエンジニア、サーバーエンジニア、インフラエンジニアなどと分かれたりもします。

これは、あくまでも傾向であり、企業によりけりなので面接で自分は「サービスの方向性を決めながら、実装もする人」になりたいですということを伝えます。そして、その会社に勤めたら、実際に毎日の業務でどのようなことを任されて(期待されて)、こんなことやりたいといったらできるのかどうかを話し合って相互に理解を深めます。それにより、実際にその会社で働いたときに、具体的に「サービスの方向性を決めながら、実装もすんなことをやるか自分の中でできる限りイメージできるようになれたらいいと思います。

サービスの方向性を考えることと、実装をすることが分業されて嫌だなーと思うかもしれませんが、分業することもメリットもあります。
一人でサービスを作ることは、企画、開発、インフラ、サービス、改善、問い合わせなど一通りサービス開発を経験して学べるというメリットがあります。しかし。サービスが大きくならないと大量トラフィックをさばく経験ができないや、そもそも一人なので作りたい完成系までたどりつくまでに時間がかかりすぎるといったデメリットもあります。
職種を分けて効率的にサービスをつくることで、一人と比べると短期間でより大きなサービスに成長しやすくなります。大きなサービスになることでいろんな問題が起きたり、業務提携やTV CMや海外展開などさらに大きなことができる可能性が増します。そういったメリットもあると思います。

まあ、職種はある程度効率的にやれる単位で分けただけなので、質問者さんが望む「サービスの方向性を決めながら、実装もする人」という役割がある会社も多いとはいいませんがあると思います。
※会社の規模やステージにより役割が変化していくことはあります。

まとめ
ということで、
「ディレクターかエンジニアのどちらかと決めれる」なら、どちらか決めて、その役割の中でどれだけ、実装ができるか、どれだけサービスの方向性を決めていけるかというのを面接で聞いて、それに自分が満足できるかを考える
or
「方向性も決めたいし、実装もどっちもやりたい(どちらかとは決められない)」なら、それをできるとこを探す。あると思います

以上
少しでも参考になったら嬉しいです

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

もし思い描く将来像が個人事業主のようなものに近いならば、
企画から実装までやってみて、リリースを経験してみる事じゃないでしょうか?
そこまでに最初に作ったサービスのリリースまでに必要な技術は都度調べで良いと思います。

実際にリリースまで経験してみれば収益を増やすために足りてない事が
明確になって来るので、足りないものを埋めていくように勉強するのが効率良いと思います。

ただ、ある程度の規模の現場でSEのように働きたいのであれば、
#1の方の回答の方が近いかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

そもそも、「サービス」を定義できるほど、「サービス」という概念を理解できていない点が、最大のネックだと思います。ですから、まずは、「サービス」を運営・運用・保守する側にまわって、「そもそもサービスってなに?」というのを「納得」して「表現」できるようにすることが大事です。
※これは、人の言葉を借りてはいけません。自分の言葉で「納得」「表現」できないとまずいです。
※※お勧めは、「保守」です。保守を格下にみる人がおおいですが、「保守」から学べることは非常に多いです。特に、サービスの提供する側の価値とサービスを受ける側の価値を目の当たりにするので、いい経験になりますよ。

「実装する」技術の方は、「サービス」を立ち上げる、その時に必要なものとして習得すればよいです。事前に、#1の方が書いているようなものをやっておくのもいいでしょうし、プログラム言語のひとつを習得しておくのもマイナスにはなりません。UMLのダイアグラムを書けるように練習しておくのも良いと思います。
※絵ではなく図で理解・表現できる力は、「実装技術」の基礎になるので、はやくから取り組むといいですね。
※※世に出ると、結構多くの人が「図」を書けません(笑)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • Rubyに関する質問
  • サービスの方向性決めながら、実装するエンジニアになるために、必要な環境やスキルとは?