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

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

ただいまの
回答率

91.37%

  • MacOS(OSX)

    1357questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • プログラミング言語

    560questions

    プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

  • セキュリティー

    363questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • 機械学習

    266questions

    機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

  • 情報処理技術者

    12questions

    情報処理技術者とは、経済産業省が「情報処理の促進に関する法律」に基いて行っている国家試験、及びその資格保有者のことを指します。情報技術の原理・基礎に関する知識や技術があるという評価を受けることができます。

全くのど素人に知って欲しいこと・知るべきことはなんですか?

解決済

回答 6

投稿 2017/11/27 23:10

  • 評価
  • クリップ 5
  • VIEW 502

syoma

score 7

私はまだIT業界で働いたことがありません。
そして、今まで情報系の専門学校や教育機関に身を置いたこともありません。
高校は普通科・文系で卒業し、大学は四年生経済学部2回生で中途退学しました。
しかし、夢はシステムエンジニアです。
将来的にはpythonを扱う仕事で開発をしたいと考えています。

ただ、最初に学ぶ入り口としてJavaがいいかなと思い
これからIT業界で働くために独学の勉強をし、始めてから1年が経ちますが
Java Programmer I (silver)を取得することができたので
数ヶ月後にIT職への転職予定をしております。
ただ、転職先はPHPの仕事みたいなので、PHPの勉強を始めております。
仕事に就いたら、国家資格の情報セキュリティスペシャリストの取得を目指し
仕事と並行して勉強しようと考えています。

IT業界での仕事はどういうものなのか
これから知ることになるかとは思いますが
どういう仕事なのかを仕事が始まる前に聞いてみたいと思い、この場をお借りしました。
勝手ながら、ご意見をいただけるとありがたいです。

私は未経験・未知識なので、この業界で働き始める人たちのスキルレベルや
必要最低限の知識、業界の厳しさ、仕事の難しさなど全くわかりません。
しょうもない質問ですが、よろしければ、どなたかお答えいただければと思います。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • ockeghem

    2017/11/27 23:45

    質問の内容が明確でないように思いました。質問文のうち、どのパラグラフが質問でしょうか。あと、「情報セキュリティスペシャリスト」という資格は今はありません。後継の情報処理安全確保支援士のことだとは思いますが、目指す資格の正しい名称くらいは書けるようにしましょうよ。 https://www.jitec.ipa.go.jp/1_11seido/sc.html

    キャンセル

  • syoma

    2017/11/28 00:41

    お返事ありがとうございます!質問の内容に関してはもちろん具体性はありません。なので、この場をお借りするのは失礼かとは思いますが、自分の業界を目指す人に何をいうのかを知りたかっただけです!あと、質問内の名称を正しい名称に修正するつもりはありませんが、自分の誤解に気づきました!ありがとうございます!

    キャンセル

  • 退会済みユーザー

    2017/11/28 23:11

    複数のユーザーから「プログラミングに関係のない質問」という意見がありました
    teratailでは、プログラミングに関して困っていることがないと思われる質問を推奨していません。
    「質問を編集する」ボタンから編集を行い、具体的に困っている理由や解決したいことを明確に記入していただくと、回答が得られやすくなります。

回答 6

+18

総論

私はこのteratailで500回以上、回答してきました。

すると、何回も同じような質問を繰り返している人を見かけます。
一方で、一を聞けば十を知り、メキメキ上達していく人もいるでしょう。

さて、伸びていく人とそうでない人は、何が違うのか?


知るべきことはなんですか?

  1. 技術的資産を貯めること、
  2. 技術的負債を溜めないこと。

結論から言うと、技術的資産を貯める方向に行く人が、技術的に伸びていきます。
しかしいったい、何が資産で、何が負債なのか? 以下、説明していきましょう。

仕様の理解

  • 資産 → コードが基づくべき仕様を理解して、正しく動かす
  • 負債 → 意味が分からないまま、コピペのツギハギで動かす

解説:エラーはコードの文法に違反しているものですが、
バグは仕様とコードの差から生じます。

だから、仕様とコードを対応させる必要があります。
最近普及してきたDDDなども、コードをドメインの言葉に合わせていく技法です。

仕様の理解には、自分の専門分野の知識、業務知識が大事です。
典型的なのはたとえば、会計の知識や統計の知識とかがそうです。

また、仕様を理解する点において、英語数学は大きな武器です。
たとえば流行の機械学習でも、このふたつが理解する武器になるでしょう。

英語と数学は、最新のプログラム言語やフレームワーク(FW)よりも、
陳腐化が確実に遅いです。おそらく一生使える技術でしょう。

一方、言語やFWはひどいときには、流行した来年には、もうオワコンになっている。
だから、言語やFWの学習だけで力を使い果たさず、英語と数学を細く長く学びましょう。

コードを読む

  • 資産 → 他人が書いたコードを読み、良い要素があればマネしていく
  • 負債 → 書いたら書きっぱなし。自分のコードですらまともに読み返さない

解説:プログラムは書くより読む方が難しいので、読む技術が重要です。
ただ、実用的なプログラムは、読むには、規模が大きすぎたり、複雑過ぎたりします。
そこで、キレイなコードが書いてある本を、何度も読み返すと良いです。

たとえば、とくにJavaなら、ファウラーの『リファクタリング』がオススメ本。
リファクタリング」は読んで書き直すことだから、読む技術の訓練に良いです。

この『リファクタリング』を最近読み直したら、実装の書き方にとどまらず、
設計的にもドメインモデリングしていることに気づき、あらためて感心しました。
OOPで書くとどういうコードになるのか、という良いサンプルでもあります。

また、Javaでは、「デザインパターン」の本も良いと思います。

変更を容易に

  • 資産 → テストを書くなどして、プログラム全体を使いやすくしていく
  • 負債 → その場しのぎの修正を繰り返し、全体が分からなくなっていく

解説:テスト、ロギング、例外処理、UML、ドキュメント……などを書く。
これらは手間は掛かりますが、プログラムを使いやすく、資産化していきます。

一方、動けばいいやと場当たり的な修正を繰り返すだけだと、
だんだん全体の構造が不透明になっていきます。

たとえば、IF文やFor文のネストが深くなっていくとかです。
とくに長期間に渡って保守すると、一回一回は一行の修正とかでも、
何年も経つにつれて、手に負えない技術的負債になっていきます。

変更が大変で、ちょっといじると、すぐ動かなくなってしまい、
とても触りたくない、負の遺産になります。これを維持するのは苦しい。
なるべく早く捨てたい、次に押しつけたい、トランプの「ババ抜き」になってしまいます。

ここで、詳細は省きますが、正しくオブジェクト指向で書くと、変更容易になります。
関数型も筋の良いプログラミングですが、
今回のようにPHPとJavaが前提なら、基本的にOOPが向きます。

OOPの話をすると長くなるので詳細は省きますが、ここでは一点だけ、
スモールオブジェクトで構成すると、テストが容易になる、ということに触れておきます。

逆に、深くネストしたIF文やFor文は、テストしにくいのは自明でしょう。

結論

  1. 意味が分からないまま、コピペのツギハギで動かす
  2. 書いたら書きっぱなし。自分のコードですらまともに読み返さない
  3. その場しのぎの修正を繰り返し、全体が分からなくなっていく

まとめると上記が、典型的な技術的負債を溜め込むアンチパターンです。

逆に今回、技術的資産にした方は、どれもイニシャルコストが高いものです。
英語や数学が典型的ですが、学習コストが掛かります。オブジェクト指向も難しい。
初期コストが高いと避けがちなので、ずっと身につかないままという場合も多い。

だから、「継続は力なり」で、筋の良いやり方がたとえ難しくても、
たとえ忙しくてできない期間があっても、細く長く続けて学んでいくことが重要になります。

一日や二日では効果を実感できなくても、一年や二年も経つと大差になります。
結論をまとめると、「急がば回れ」「ウサギとカメ」です。昔からの真理。

投稿 2017/11/28 03:50

編集 2017/11/28 06:12

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/28 09:14 編集

    お返事ありがとうございます。
    技術的資産・技術的負債についてわかりやすくご説明いただきありがとうございます。
    確かに意識するべき考え方や姿勢、取り組みの在り方に関しては
    おっしゃっていることの全てが模範回答になります。

     ■英語や数学が典型的ですが、学習コストが掛かります。オブジェクト指向も難しい。
     ■初期コストが高いと避けがちなので、ずっと身につかないままという場合も多い。
     ■だから、「継続は力なり」で、筋の良いやり方がたとえ難しくても、
     ■たとえ忙しくてできない期間があっても、細く長く続けて学んでいくことが重要になります。

    これらはこれから先何十年と仕事を続ける上で大切なことですね。
    心して臨みたいと思います。
    ありがとうございます。

    キャンセル

checkベストアンサー

+9

夢はシステムエンジニアです

既に何人かの方が指摘されていますが、IT業界の仕事の中でもシステムエンジニアは特に日本語能力が必要です。
例えば、システムエンジニアの仕事の中に、ヒアリングというものがあります。システムの仕様をまとめる際に、お客様に質問をして、その回答をまとめ、仕様書を作成しますが、その質問のやりとりのことです。
その際、システムエンジニアの質問があいまいだと、お客様は困惑して回答できないか、あるいは勝手に自分の喋りたいことを喋るわけです。それでは仕様はまとまらないですよね。

実はあなたの質問自体がそうなっているのです。

第一パラグラフ: 自分の生い立ち、将来の夢
第二パラグラフ: 今まで勉強してきたこと、将来やりたいこと
第三パラグラフ: 下記

IT業界での仕事はどういうものなのか
これから知ることになるかとは思いますが
どういう仕事なのかを仕事が始まる前に聞いてみたいと思い、この場をお借りしました。
勝手ながら、ご意見をいただけるとありがたいです。

第四パラグラフ: 挨拶

こうしてみると、質問文らしきものは、第三パラグラフの「IT業界での仕事はどういうものなのかこれから知ることになるかとは思いますがどういう仕事なのかを仕事が始まる前に聞いてみたい」という箇所で、つまり、「IT業界はどういうものか聞いてみたい」という質問と思われます。

でも、回答者は、勉強の仕方や、あなたに足りないものの指摘をしていますよね。つまり、IT業界での仕事についての回答は得られていないわけです。それは、あなたの質問の日本語文章が悪いからです。

このように、他のIT技術よりも、日本語こそが重要なのです。仮にシステムエンジニアではない、もっと別の職種を目指すのであれば、システムエンジニアよりは日本語能力が重要でない職種もあります。でも、その職種につくならば、技術面で他の方よりも抜きん出る必要がありますよ。
将来セキュリティエンジニアを目指しているようにも感じましたが、セキュリティエンジニアも日本語能力が重要です。もし、その理由が知りたければ、別途質問して下さい。

エンジニアはリタイアするまでずっと勉強し続ける必要があります。teratailで質問するのも勉強なのです。なので、システムエンジニアになったつもりで、明確な質問をするようにしましょう。それが私からのアドバイスです。

投稿 2017/11/28 06:55

編集 2017/11/28 06:56

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/28 09:02

    お返事ありがとうございます。
    現状の日本語能力の不足(無さ)とシステムエンジニアとしての
    日本語能力の必要性・重要性を目の当たりにしました。
    これからより感じるものだと思いました。
    下記文章は結果に基づいた正当な原因です。
    意識して、学びにしていきたいと思います。

     ■でも、回答者は、勉強の仕方や、あなたに足りないものの指摘をしていますよね。
     ■つまり、IT業界での仕事についての回答は得られていないわけです。
     ■それは、あなたの質問の日本語文章が悪いからです。

    これだけ具体的な指摘をいただけるとは思いませんでした。
    ほんの一部でしかないとは思いますが、ありがたき雀の涙です。
    本当にありがとうございます。

    キャンセル

+5

質問文で長々と書いてますが、必要な事を過不足なく伝えるために、まず日本語と英語を勉強してくださいな。

投稿 2017/11/28 00:16

編集 2017/11/28 00:18

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/28 00:43

    お返事ありがとうございます!日本語ができない日本人ですが、できないなりに気持ちだけ入れております!わら 英語は将来的に視野に入れております!頑張ります!

    キャンセル

+2

数学の中の論理学と統計学ではないかと。
プログラムを作るのに論理学が必要で、世界の仕組みを理解するのに統計学が
あるとそう困らないと思います。

投稿 2017/11/27 23:33

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/28 00:53 編集

    お返事ありがとうございます!やはり数学から勉強する必要があるんですね!しかも、その中でも論理学と統計学ですか、ありがとうございます!具体的なアドバイスをいただけて光栄です!また落ち着き次第、できるだけ早めに勉強に取り掛かりたいと思います!欲張るのはあまり良くないですが、何かあったらで結構なのですが、数学の参考書や教材などオススメのものがありましたら、教えていただけるとありがたいです。。

    キャンセル

  • 2017/11/28 19:06

    論理学は知りませんが、統計学は「統計学が最強の学問である」 西内 啓
    ダイヤモンド社 2013.1 がわかりやすく実用的でお勧めです。

    キャンセル

+2

JAVAとかPHPとかいろいろ書いておられますが、どのプログラミング言語を勉強するか拘るのはあまり意味がないですね。仕事の内容次第でどの言語を使うべきかは変わってくるし、今はやりの言語が3年後もトレンディである保証はどこにもないですから。プログラミング言語よりも自然言語のスキルの方を磨いておくべきです。英語はすぐにも必要ですよ。将来的になどと悠長なことを言っているようでは先が思いやられます。

それから、IT業界といったって色々ですよね。銀行の会計システムを作る部署と製薬会社向けに遺伝子解析システムを作る部署では求められる知識は大きく違うはずです。ITそのものより、それを応用する先についての理解を深めることが重要ではないでしょうか。

投稿 2017/11/28 01:02

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/28 09:22

    お返事ありがとうございます。
    おっしゃっている意味がなんとなくですが感じてきました。
    自然言語(特に日本語と英語)の重要性は変わりません。なめてました。
    申し訳ございません。

     ■プログラミング言語よりも自然言語のスキルの方を磨いておくべきです。英語はすぐにも必要ですよ。

    将来的にとお伝えしたことは、おっしゃる通り悠長な回答だと感じております。
    勉強するべきことの優先順位がまだつけられませんので
    自分なりに早く英語に関しては取り掛かります。
    まぁ知ったこっちゃないかもしれませんが。。
    そのタイミングで周りとの差、業界と自分との差がひらくこともわかりますので
    なんとかしていきます。本当にありがとうございます。

    キャンセル

+1

頑張って欲しいですね。IT業かまた、未経験ですが、会社選び時に真面目でお願いします。
ブラックの入社してしまうと、仕事より体が壊れますから、後,再就職も難しいです。
入社前に、会社文化・自分何年働くか・自分何が実現したいか・この会社自分会うか・・詳しく確認してね。

投稿 2017/11/28 00:09

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/28 00:48

    お返事ありがとうございます!会社選びにこだわると就職も難しくなったり、逆にこだわらずに選ぶと自分と合わない会社に就きやすくなったり、会社選びは選び方から考えさせられますね!短期インターンシップに参加するなど、会社の選び方について何かいいアドバイスがあるとありがたいです!

    キャンセル

  • 2017/11/28 20:12

    wantedly 使って、まず会社の雰囲感じて見てね。後はネットワックですね、meetupとかワークショップとかで色々聞くのがいいかもしれないですね。

    キャンセル

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

ただいまの回答率

91.37%

関連した質問

  • 解決済

    JavaとPHPの好きなところ、嫌いなところ

    PHP、Javaでの開発経験をお持ちの方(できれば両方)で、 それぞれの好きなところと嫌いなところがあれば教えて下さい! ちなみに私の場合、 Java 【すきなところ】 ・宣言と

  • 受付中

    ゲーム製作:コマンドラインでの体力%形式での表示

    コマンドライン上でパーセンテージ(%)で表示した体力が、時間と経過と共に徐々に減少していく、という表現をしたいのですが、どういう処理をしたらいいのかわかりません。よろしくお願いしま

  • 受付中

    初心者が勉強するのに良いプログラミング言語は何ですか?

    初心者用の言語って何かあれば、教えてください。 今大学生で就職でプログラマーが良いと聞きました。

  • 解決済

    PHP の配列(json)から値を取得

    json形式で帰ってくる値↓のうち、2つ目のValue2.7775155510512981を取得したいのですが、 上手くいきません。 {   "Values":[     {   

  • 受付中

    Javaの配列の代入に関して

    Java及びプログラミング初心者です。 以下のjavaプログラムがあります。 public class Main {     public static void main(S

  • 解決済

    GCの必要性

    GCの必要性について様々議論あると思いますが、memory_get_usage()などの関数で測ってみましたが、結局ある程度メモリが使用されるとメモリが解放されるという仕組みがGC

  • 受付中

    例外の必要性

    OOPでは例外は欠かせないもので、これをしっかり書きましょうとよく言われています。では、例外はどの例外をどこまで書けばよいのかという疑問を感じました。 http://qiita.

  • 解決済

    web情報を取得する時に画像も取得する

    web情報を取得する場合、例えばphpであれば $contents = file_get_contents($url); echo $contents; で取得できま

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

  • MacOS(OSX)

    1357questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • プログラミング言語

    560questions

    プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

  • セキュリティー

    363questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • 機械学習

    266questions

    機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

  • 情報処理技術者

    12questions

    情報処理技術者とは、経済産業省が「情報処理の促進に関する法律」に基いて行っている国家試験、及びその資格保有者のことを指します。情報技術の原理・基礎に関する知識や技術があるという評価を受けることができます。