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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

6回答

1055閲覧

詳しく学ぶのは、効率が悪いのか

mov_mel

総合スコア11

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2019/05/10 14:01

プログラミングの学び方について、意見を聞きしたいです。

ある会社のシステム部に入社し、プログラミングと出会いました。

私は、プログラミングが楽しいです
とても。
時間を忘れて没頭し、日常生活においても、「このアプリはどう動かしてるんだろう」「私ならどう動かすかな」と、気になって仕方がないです

理解できるまで基礎と睨み合い、「基礎がこうなら、もしや、こういうこともできるのでは?」と考えて
調べて試して、解決した瞬間の、感動の虜です

でも、職場の方は。「そんな深くまで、理解しようとしなくていい」「初心者のうちは、コードはコピペで貼ればいい」と言います。
ネットなどで見ても、「まずは早く全容を把握した方が、成長は早い」と書いてあります

私の学習方法は、良くないのでしょうか
いちいち仕組みに向き合っていたら、前に進めないのでしょうか
先輩方のご意見を伺いたいです

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

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

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

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

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

m.ts10806

2019/05/10 14:19

これはタグはC#ではなく「プログラミング言語」とかもう少し汎用的なものにしたほうが良いのでは(厳密には低評価がつく内容ですが、回答はそれなりにつくとは思います。)
mov_mel

2019/05/10 22:41

ご指摘、ありがとうございます 初めての質問で、少し思い詰めていたため、この掲示板の使い方が理解できていなかったようです。 次回から、ここはどんな内容を質問すべき所なのか、質問のやり方を 確認してから、質問するように致します
m.ts10806

2019/05/10 22:52

質問は編集できますので適宜ご対応いただけたらと。
guest

回答6

0

ベストアンサー

でも、職場の方は。「そんな深くまで、理解しようとしなくていい」「初心者のうちは、コードはコピペで貼ればいい」と言います。

業務の場合は納期と要件、指揮系統があるので、上司に従いましょう。
「初心者のうちは、コードはコピペで貼ればいい」というのは残念すぎる発言ですが、
「そんな深くまで、理解しようとしなくていい」というのは、場合によっては的を射ていることもあると思われます。
(本筋の役割と違うところで止まってしまって、そのアーキテクチャの基礎から理解をしようとし始めると、いくら時間と予算があっても足りなくなってくることでしょう。)

時間を忘れて没頭し、日常生活においても、「このアプリはどう動かしてるんだろう」「私ならどう動かすかな」と、気になって仕方がないです

理解できるまで基礎と睨み合い、「基礎がこうなら、もしや、こういうこともできるのでは?」と考えて
調べて試して、解決した瞬間の、感動の虜です

とても良い習慣で、開発者向きの資質だと思います。
プライベートな時間を使って何年か続ければ、いつでも転職出来るような実力が付くと思います。

ただ、
会社/上司がそれを求めているかは別問題なので、
合わないと思ったら転職も検討した方が精神的/キャリア的に健全でしょうね。

私の学習方法は、良くないのでしょうか
いちいち仕組みに向き合っていたら、前に進めないのでしょうか
先輩方のご意見を伺いたいです

学習効率は人に寄るので一概には言えません。
モチベーションを保つのは重要な要素の一つなので、やりたいように学習しましょう。
業務中に「学習」にどれだけ時間を割いて良いかはプロジェクト管理者と相談しましょう。


若干違和感を感じるところとしては、

理解できるまで基礎と睨み合い、「基礎がこうなら、もしや、こういうこともできるのでは?」と考えて

調べて試して、解決した瞬間の、感動の虜です

という方法を選択した場合、全容を把握することからスタートしないと基礎と睨みあうということが成立しないと思います。
やろうとしていることが「基礎」というよりは「ごく狭い範囲での応用」になっている可能性は結構あるんじゃないかなという印象です。
その部分だけでは無く、その周辺ヵ所/技術についても把握するように心がけると効率が良いとは思います。

投稿2019/05/10 14:37

tanat

総合スコア18709

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

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

0

個人的な感覚ですが、
「初心者のうちは、コードはコピペで貼ればいい」という意見には賛成できませんが、
「そんな深くまで、理解しようとしなくていい」という意見には賛成できます。

「いちいち仕組みに向き合っていたら、前に進めない」ということも多いからです。
仕事でやっている以上は求められるのは学習結果ではなく成果物です。
お金を払って学習する学校と違い、お金をもらってお客様の要求に対して成果物を出しているわけですから、
ゴールまではなるべく真っすぐに進むのが本分ですし、

「このアプリはどう動かしてるんだろう」「私ならどう動かすかな」「基礎がこうなら、もしや、こういうこともできるのでは?」

いずれも「横道」です。場合によりプロジェクトのやり方からはみ出す可能性もありますよね。
お客様には成果物を作る側が初心者かどうかなんて関係ありません。
(まあ・成果物が成っていればいいわけですからコピペかどうかも関係ないわけですけど)

直接成果物とならないのであれば、自身の仕事をきちんと終わらせて、
空いた時間や合間に自身だけの環境で考えて試すべきと思います。
それか帰宅後、自宅の自分のPCに環境作って(もちろん基本的に業務の環境を持ち帰ってはいけません)

もちろん、興味を持つのは非常に良いことです。
興味を以て進んだ結果、得られる知見もあるでしょうし、それが活かせる機会が来ることもあるかもしれません。
でもそれは今目の前の仕事とは離れるという認識だけは持っておいてください。

「そういうもの」と概要のみ(機能説明とINPUT/OUTPUT)理解して進める必要があることも多いです。
仕事でプログラミングをやっていると、案件に最初からではなく途中から(本当に途中ではなくひと段落ついたSTEP2とか別段階)参画することも少なくないです。
そういうときに求められるのは「大体こんなシステム」程度の理解で「それより設計書にそってガンガン作っていってよ」だったりします。
プログラム的には基盤もできているので一から作ることは少なかったりしますが、「その作りの根底の理解」より「これまでの作り方に倣って作る」だけで進めていく必要があったりします。
(正直、基盤部分を深く追っていっている余裕はないので)

基礎の基礎の基礎である部分はきちんと身につける必要はありますが、あとは「そういうもの」と飲み込んで進めていく必要がある機会のほうが多いです。
※ただそれが「基礎の基礎か」「そういうものと飲み込んで良いものか」自身で判断できないうちはなるべくきちんと修める方向で、周囲と相談しながら進めてください

投稿2019/05/10 14:26

編集2019/05/10 14:36
m.ts10806

総合スコア80765

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

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

0

あくまで、私が勝手に思う「コードをコピペする際に、このくらいまでは調べといて欲しい」ことですが

  • 各行の文法的意味(条件分岐、ループ、関数呼び出し など)

この時点で調べてもわからない場合、先輩等に聞いたほうが早いでしょう。

  • 呼び出してる関数の入力・出力・注意点 をリファレンス等で確認
  • 以上を踏まえた全体的な流れ

これ以上は調べる必要はありません。
趣味の時間でやるとよいでしょう。


追記:
掲載されているコードがGPLのソフトウェアのソースの断片だったりすることもなくもないので
ライセンスの確認も必要っちゃ必要です。

投稿2019/05/11 00:38

編集2019/05/11 10:35
asm

総合スコア15147

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

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

pepperleaf

2019/05/11 11:39

コピペって、普通は、昔のコードのコピペと思ったのですが、違う? 修正する時に同じ様な事やってるから、そこから、コピペとか。 ただし、一見、同じでも前提が違うワナが待ってたりもする。
asm

2019/05/11 13:36

どこからコピペするにしろ、理解してないコードをコピペするのは危険です。
guest

0

趣味であるなら間違いではないと思いますが、業務であれば間違いです。
ハッキリ言って業務で求められることは、いかに早く正確に作成するかです。
工数が少なくなれば少なくなるほど会社として利益になるからです。
ですので、求められていること以外の横道は効率が悪いという判断になります。

ですが、趣味であればそのように深く掘り下げることは良いことだと私は思います。
スキルアップに繋がりますし、そうやって技術をみにつけることにより効率の良い
作業ができるようになるでしょう。

だから、そのような学習は趣味でやりましょう。

投稿2019/05/10 15:38

YAmaGNZ

総合スコア10222

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

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

0

大体、他の方の回答で良いと思います。

「まずは早く全容を把握した方が、成長は早い」

--> 成長は早いかも知れませんが、仕事の遂行は遅いかもしれません。仕事の内容にもよりますが、担当はプロジェクトの一部と思います。全容を把握すれば、後々、役に立つ(?)かもしれませんが、「全容を把握する」時間が余分になります。

私の学習方法は、良くないのでしょうか

学習方法としては、間違えていないと思います。ただ、それは学習であって、仕事の方法ではありません。業務としてそれが許されているか、です。
多分、今の職場では許されてないと推測します。そういう職場を期待するならば、転職を考えるべきですが、それが許されるところは多くないでしょう。

投稿2019/05/10 15:15

pepperleaf

総合スコア6383

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

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

0

会社の求めることも一理はあります。が、ケースバイケースです。

私の大学時の教官は**「実在しないプログラムの出力結果」**を発表し、大金を動かしたらしいです。起業とかも持ちかけられましたが、とても賛同する気にはなれませんでした。

投稿2019/05/10 14:46

HogeAnimalLover

総合スコア4830

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問