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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

4回答

1971閲覧

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

notNewArai

総合スコア12

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2015/09/26 01:03

質問

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

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

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

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

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

自分で考えたこと

  • 環境面
  1. 個人でサービス運営する
  2. スタートアップにJoinする
  • スキル(よくわかっていないため、かなり抽象的な表現になってます)
  1. 企画力
  2. 収益化力
  3. プログラミング力

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

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
「方向性も決めたいし、実装もどっちもやりたい(どちらかとは決められない)」なら、それをできるとこを探す。あると思います

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

投稿2015/09/29 17:14

shoji

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

投稿2015/09/26 01:38

TetsujiMiwa

総合スコア1124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2015/09/28 03:45

S.Toyoda

総合スコア116

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

投稿2015/09/27 16:08

SKYYFISH

総合スコア654

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問