こんばんは。
今回、私自身の悩みについて質問させてください。
私は先月6月より仕事の都合でPHPを完全マスターする為に独学でPHPを始めました。
始めたての頃は、これがあればなんでもできる!とやや興奮気味になって色々な教材やサイトをみて、睡眠不足になってしまうくらいの勢いで勉強していました。
そして約2ヶ月、毎日朝から夕方までわからないことがあればググってを繰り返し、そのたびに何度も壁にぶつかり、何度も挫折しそうになりました。
一番ネックだったのは、「理解できているようでできていないこと」でした。
ある日、某ブログのポップからこちらのサイトを見つけ、すぐに登録→質問まで至ったのですが、そこから途端に作業ペースをあげることができたものの、答えてくれる方々の思考や考え方などが個人個人で違い、ある意味混乱することも多く、ほしい答えとは違うベクトルの回答をいただくこともあり、わかりやすく、しっくりときたものをベストアンサーに選ばせていただいてました。
約2ヶ月間色々とご質問させていただいた後でいうのもなんですが、**自分には向いていないのかなぁ、**と。
度重なるパースエラーと動作しない生成物をみて感じ始めました。
元々Webデザインを学んでいた人間なのですが、この度Webサービスを作りたいと思いPHPを学び始めたのがきっかけです。
私自身、「まったくできないこと」よりも「自分にできること」を選ぶ人生を歩んできたもので、この「まったくできないこと」が長く続く時間がどこかストレスになり、このような思考になってしまったのかもしれません。
もちろん、学ぶようになって「できるようになる」喜びはこの上ないと思ってます。
可能であれば、これからもPHPプログラマーとしてお仕事をやっていきたいとも思ってますし、そのためにはもっとキャリアを積まなければダメだと思ってます。
しかし、お仕事にできるまでのスキルを持てない、努力の方向を誤り、理解できているようでできていないことが続く現状、先のことを考えると、まだまだ1からやり直していくのか、別のクリエイティブ業に移るのか、悩みます。
ここで質問です。
現在、実際に仕事でプログラムを用いてるプログラマーの方が、このプログラムを用いた仕事を選んだ理由などを共有していただけますでしょうか。
おそらく、私と同じ悩みを抱え、現状に満足できずに挫折していった方は数え切れないほど多くいらっしゃると思います。
モチベーション向上というか、自分勝手な質問だとは思いますが、ご協力いただければ嬉しいです。
いつもご回答いただいてくださっているプログラマーの方々。
いつもありがとうございます。不快に感じる質問かもしれませんが、これからの日本人エンジニアのためにも、ご回答いただけると本当に嬉しく思います。
おこがましいとは思いますが、何卒よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答15件
0
直接の質問の回答でなくて申し訳ありません。
察するに楽に無駄なく取り組める開発環境を確立させることが最優先課題なのかもしれないと思いました。
文法チェックなど実行前に判別できる軽微なエラーをエディタ上で検出出来るだけでも生産性はずいぶん変わります。
テスト環境にアップロード→パースエラー→修正&アップロード→パースエラーの繰り返しは生産性が悪すぎます。
PHP専用テキストエディタの類を探すか、あるいは汎用開発環境にPHP特化させるとか。
EclipseとかNetBeansなどは無償で入手でき日本語化もされていますので、
とっつきやすいと思われます。
ローカル(自分のパソコン)上にテスト環境は立ち上げているでしょうか。
XAMPPほかいろんな手法があります。
投稿2015/07/28 10:33
退会済みユーザー
総合スコア0
0
「プログラミングは楽し、デバッグは苦し」と、
プログラミングをする人はみな感じることと思います。
プログラムを動かしたり、バグを少なくしたりするのに、
もっとも重要なことは、分割統治、部品化、構造化することです。
PHPならプログラムが大きくなれば、まず関数に切り分け、
さらに大きくなったときにオブジェクトに切り分けていきます。
ほかにも一般的に言って、可読性を良好にすることは重要です。
ifやforのネストを浅くすること、変数や関数の適切な命名など。
(もちろん、言語仕様の把握や開発環境の整備など、全部大事ですが)
しかし、この掲示板の質問などを見ていても実感しましたが、
学び始めの人ほど、構造化や可読性を過小評価しています。
学び始めの人は、目の前のプログラムが動くかどうかが大事で、
コードのキレイさは、細かいことだと思っている。
しかし、ただコードがキレイなだけでバグは減ります。
(原因の特定が難しい特殊なバグでなければ)
またこれは先の話でしょうが、キレイな設計(ドキュメント)があれば、
コードを実装するときのバグを減らせます。
これをたとえると、虫(バグ)が湧いたとき、虫を一匹一匹追い回すより、
衛生的な環境にしたほうが、虫の発生を一気に減らせるようなものです。
ただそうは言っても、最初のうちは実感するのが難しいと思います。
私もプログラミングを学び始めの頃は、汚いコードを書いては動かなくなり、
次から次へと書き捨てていたものです。
どうやってスタイルを変えるか。手っ取り早いのは、
コード作法やリファクタリング系の本を読むのが良いと思います。
最初はなぜそうするのか実感できなくても、
自分と違う書き方や考え方に触れるだけでも、大きな発見になると思います。
一番最初はひたすら手を動かし、動くプログラムを作るのが良いですが、
あるていど慣れてきたら、自分のスタイルを見直す機会が必要だと思います。
投稿2015/07/28 20:41
総合スコア5592
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
はじめまして。
気づけばかれこれ15年程プログラマとしてこの業界で現役働かせて頂いている者です。(今は管理メインですが)
そんな私でも未だに質問者様と同じ様な事を思う事はありますよ。安心してください。
また新人にプログラム教育などを行っている立場でもあるので良く似た様な内容で悩み質問される事もありますので少しでもモチベーションUPにつながればと思い解答させて頂きます。
以下、質問者様の投稿内容をもとに私の解答させてもらいます。
※あくまでも私個人の意見ですのであくまでも参考までに
>度重なるパースエラー
キャリア15年あってもドットが抜けている事に気づかず30分以上悩んだりする事もあります(笑
何か作る際にどんな便利な開発環境を利用していてもパースエラーなしで組めるプログラマなど皆無だと思うので気にしないでください。こればかりは慣れなので2ヶ月程度では当たり前です。
むしろどんどんパースエラーを出してください。 様々なエラーを出してください。
そうする事である時エラー内容を見ただけで、間違えた場所が瞬時にわかるようになるものです。
>著書を探す
こんなのは何でもいいです。
あくまで個人的な意見ですが著書ばかり読むから理解したようで理解できていない状況が産まれる
と私は考えます。
著書などはあくまでも入り口にすぎません。どんな本でも1冊よめば十分です。
ただし新たに始めるのであれば最新のもの、また自身が開発に使用するPCで説明がある著書を購入する事をお勧めします。初心者が著書ではまる最初の内容は開発環境のバージョン違いなどで発生する謎の現象です。
winでは動くがmacでは記載通りに記述しても動かないなどはざらです。
Webデザインでいうブラウザ依存のようなものです。
>綺麗な記述、汚い記述
良く勘違いされがちですが、綺麗な記述と良い記述は別物です。
綺麗な記述については第三者にプログラムを読んでもらうという思いやりを持って記述すれば自然と
綺麗なプログラムになります。
良い記述というのはこればかりは慣れです。fuctionを分割した方がいいのか、それともまとめた方がいいのか
同じ動作をするが、Aの記述で書いた方が動作が早いなど。
まぁ正直な所、綺麗、汚い、良い、悪いはプログラマにとっては永遠のテーマだと思います。
良いプログラムだと言われて見たプログラムが私にはとても読みづらいソースだった事もあります。
もちろんその逆で私はとても綺麗に書いたつもりでも他人には慣れない読みづらいソースな事もあります。
だからといって気にするなとは言いません。始めた時からこれらを意識して書いて来たかどうかで
後々に記載されるプログラムの善し悪しに雲泥の差がでてきます。
最初は出来なくて当然です。徐々に良くなるのです。
後、書いたものを他人に見てもらってください。そういうった知人がいなければ
書いたものを後日、時間を開けてから改めて見直してください。それだけで大きく成長するはずです。
長くなりましたがとにもかくにも、質問者様が悩んでいる事
これは先人も今まさに学んでいる方々も必ず思う所なので大丈夫です。
むしろそういった悩みを持ち学んでいるという分、他者よりもプログラマとして向いていると思います。
最後にこの業界に勉強の終わりはありません。
今学んでいる内容がが明日には過去の技術になることだって十分あり得ます。
その度について行けずに挫折したくなる事もあります。。
同じ業界でやっていくことを志している同志として是非是非諦めずに頑張って頂ければ幸いです。
投稿2015/08/04 02:01
総合スコア12
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
就職に失敗して文系卒で未経験でプログラマになり、
Java,C,C++,PHPと渡り歩きました。
現在は転職し、ゲームプログラマ(インフラ・サーバサイド)になっています。
プログラム言語は「言語」
プログラムは「書いたようにしか動かない」
プログラムは「一番最初が一番難しい」
これをおまじないみたいに唱えてください。
今へこんでてもダイジョーブ。みんな同じですよ。
わかっているようでわかってない、
コンパイルすら通らない、
ただ画面に文字を出したいだけなのに、なんでこんなに躓くんだ、
自分はなんて無能なんだろうと悩むのは
最初だけ です。
プログラム言語は言語ですから、
nativeになるには時間がかかりますよ。
プログラムを初めて1年未満っていうのは、
英語を勉強しはじめて1年未満と同じです。
その状態で、ニュースキャスターみたいにスラスラ喋れる人はなかなかいないですよね。
ちゃんとスラスラ喋れるようになったら、何も考えずにコード書いてますよ。
投稿2015/07/29 00:43
総合スコア60
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 08:40 編集
0
現役ではないので、自分は適切な回答者じゃないかもしれませんが。
現在、実際に仕事でプログラムを用いてるプログラマーの方が、このプログラムを用いた仕事を選んだ理由などを共有していただけますでしょうか。
最初の動機は、計算が苦手だったから計算機にやってもらいたかった。ただそれだけですね。自分の場合
一応やめた理由の方は、地元に帰りたかっただけなので、あんまり参考にならないですね・・・ははは・・・
理解できているようでできていないこと
理解することと使いこなせるようになる事ではだいぶ差があります。
よくある話としてはオブジェクト指向とそれに伴うクラスの設計手法等でしょうかね。
この手の概念は使い込んで”便利”だと思えるようになって初めて使いこなせるような代物で、勉強よりも実践でしか培われないものですので、大変かと思います。
”楽な環境を用意すること”ってのは大事なのですが、その前提条件として、今まで苦労してプログラムが書ける人が楽になる環境、コンピュータの仕組を理解している人間が楽できるプログラム環境ばかりだと思います。お蔭で体系的に勉強できる機会が無かった方には結構つらい環境だと思います。この辺が初心者にとっては不幸な点でしょうか。
投稿2015/07/28 10:57
総合スコア148
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 00:16 編集
2015/07/29 02:26 編集
2015/07/30 06:13
0
うーん私の場合は「仕事で必要だから覚えた」という感じです。
今はPHPがメインですが、元々はVB6だったりCだったりしました。
その時その時で必要な言語を覚えていきましたよ。
プログラムが好きなので、言語にこだわりはありません(汗
投稿2015/07/28 10:41
総合スコア634
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/28 10:51 編集
2015/07/28 13:43
2015/07/28 23:58
0
私も最初にプログラムの勉強をしていたときは夢の中でもコードを書くくらいのめり込んでました。
プログラマーとして10年ちょっと働いていますが(現在は自分でコードを書くことが立場上少なくなりましたが)
何年経っても乗り越えなくてはいけない壁が現れます、それこそ何時間どころではなく1週間以上も上手く行かなくて悩むこともあります。
でも、悩んで調べて悩んで、そして解決したときの快感はプログラマーの特権です(途中の苦しみもw)
そして、この業界は次々に新しい技術などが出てくるので、好奇心を満たすのは簡単ですが、全部を勉強するわけには行かないので、どれを覚えてどれは諦めるかの取捨選択も多いです(今後、何が流行って、何が廃れていくかの判断は凄く難しいです)
でも、次々に新しいものが生まれてくるので、これが楽しめる人には良い職業でしょうね。
・悩んだ末に思い通りの動きをしたときの快感を忘れられない。
・次々と新しく出てくる技術などに心が躍る。
このような人はプログラマーで生きていくのに向いているんじゃ無いかと思います。
あと、体が丈夫なことも重要かな?w
私は悩んで試行錯誤した上で解決したときの快感が好きで、この仕事に就きました。
投稿2015/08/04 04:28
総合スコア65
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
二ヶ月で向き不向きを判断するのは時期尚早と思います。
今、毎日身につけている知識がだんだん知恵として生きるようになってくるの思うので、もう少し続けてみることをオススメします。
プログラムのロジックは一つじゃないから、人の意見を聞きすぎると迷います。
結構、人それぞれの好みの部分が強いので。
全ての可能性をヒアリングするんじゃなく、自分が進もうとしている方向を示して、それに対してピンポイントでアドバイスしてもらって、自分に足りなかった考えを補完できると、次第に自分自身で、その気づきができるようになっていけると思います。
投稿2015/07/28 14:58
総合スコア62
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 00:42
0
現在、実際に仕事でプログラムを用いてるプログラマーの方が、このプログラムを用いた仕事を選んだ理由
一度もプロのプログラマーだったことが無い私が、プロでも無いのにプログラムを仕事に使うことにした理由を話します。とは言っても社内SEだったんですけど。
職場には常駐の社外のプログラマーがいて、ほとんどの同僚は彼らにコーディングを依頼してた。仕事の精度をあげようとすれば、テストなどは自分も加わった方が良かったが、がっつりプログラムする人間はほとんどいなかった。
テストデータやテストを手動で行った場合、バグが見つかった場合、テストはゼロからやり直しになっていた。自動化のためExcelを駆使した。標準関数でスクリプトやテストデータを自動生成した。
データ構造が複雑なので、オブジェクト指向を覚えたくなった。そのためにオブジェクト指向の書籍が一番多いJAVAを覚えた。Excelマクロでそれを応用した。
テストは自動実行するようにした。基幹システムの入れ替えがC#でやるというので、C#を覚えた。このあたりで、コーディングの能力で開発会社の通常のメンバーに劣ることが無くなっていた。
仕事便利にしようと思ったら、プログラムは自然と詳しくなるし、上達すればするほど新しい課題が出てくる。問題を一つ解決したら新しい課題が見えてくる。これは誰がどこにいても変わらない普遍的なことだと思う。
それで私はこう考えています。
これはゲームだ。前のステージで手に入れたアイテムとテクニックを駆使すれば、新しいステージは必ずクリア出来る。ご褒美に新しいステージとアイテムがもらえる。エンディングのあと訪れるのは”退屈”だ。エンディングを見るのが目的になるとゲームは楽しめない。
yutaishikawa_さんは新しく出来ていないことにであった時は、その問題を次々にクリアしていけばいいと思います。向き不向きがあるので、他の分野に向かわれるのも良いと思います。どの仕事をするのであれ新しい課題を楽しめる仕事を選ぶことが重要だと思います。
また、ゴールが遠すぎると達成感が得られづらいので、直近の課題をクリアする度にこれを出来るようになったと考え、結果を得られないことはとりあえず忘れてもいいかもしれません。
投稿2015/07/28 13:23
総合スコア2883
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 00:48
0
それなりの厚さの入門書は通読されていますか?
度重なるパースエラーとのことですが、タイプミス以外でのパースエラーは、基本知識が足りていないと言うことです。
プログラミング一般の基本知識が足りていないのか、それは大丈夫だがPHPの基本知識が足りていないのかによって、読む本も違ってくるかと思います。どの本が適しているかは人によって違うので、自分で立ち読みして選ぶしか無いです。
投稿2015/07/28 12:53
総合スコア84423
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 00:35
0
私が、今の分野(プログラミング系)を選んだのは、面白そうだったからで、そして実際にやってみて面白いと感じたからです。
もし今取り組んでいることが好き、面白いと感じるなら、たとえ向いていないと思っても、続ける価値はあると思います。
「好きこそ物の上手なれ」という言葉があるように、好きなことなら時間を掛けられますし、努力もできると思います。その結果、たとえ不向きだったとしも、ある程度の技術力を手に入れられると思います。
逆に、好きじゃない、面白くないと感じるようならば、頑張ってもキツイだけなので、見切りをつけるのも一つの選択ではないかと思います。
余談ですが、エラーやバグはプロの現場でも割と日常茶飯事かと思われます。
その原因を探り、修正できるかどうかです。
投稿2015/07/28 11:33
総合スコア1156
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 00:31
0
すこし求められている回答とは方向性がずれているかもしれませんが、
100%を目指すからできない気がするのではないかなー?と思いました。
ご自分でもおっしゃっているように『自分にできること』をやってこられたなら、なおさら。
どの世界もそうですが"完全マスター"などあり得ない気がします。
私はまだまだ若輩者ですが、こちらでいつもご回答くださる熟練の方々でも自分がその言語を"完全マスター"していると思ってらっしゃる方はいないのではないでしょうか?
出来ないこと、を見ると果てしないです。
というか、できなくて当たり前です。
(中にはそういう方もいらっしゃるかもしれませんが)独学2ヶ月で『これで食べていけるぜ!』みたいなレベルになるんであれば、苦労はしませんw
なので、この2ヶ月でできるようになったこと、の方に焦点を当てられてはどうでしょう?
あと、ダイエットとかと同じで、スランプが来てそのあと一気に理解が進んだりしますよ。
たった2ヶ月で方向転換、というのでは正直ほかの道に行っても同じ壁に当たる気がします。
取り急ぎ、というのでなければ完全にPHPを切るのではなく、その近辺で自分が出来そうなところに寄り道してもいいと思います。
なんだかまとまりのない文章になってしまいましたが、あんまり悲観的にならない方がいいよ!ということです^^
投稿2015/07/28 11:06
総合スコア441
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/29 00:24
0
2ヶ月で結論に至るのは早すぎますね・・・
何事も1、2年やらないと向いてるのかすらわかりません、
10年やって初めて一人前です。
今少しでも楽しいと感じているなら、間違えなく向いてます。
誰でも、全くわからないものをやるのは、苦痛を感じます。
わかるから楽しくなるものだと思います。
ある程度構文を覚えたなら、次のステップは、実践コードを見る段階だと思います
一番早いのは、経験なしでもOKて現場に飛び込むのが早いですね
オープンソース等で、他人の書いた物を読むと、さらに上達すると思いますよ。
私が始めたきっかけはゲームが作りたいがスタートになってます。
投稿2015/08/05 03:03
総合スコア1021
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
私がプログラマしてるのは高校の時「あ、これできるわ」と思って好きなことやってたあとに就職するときにプログラムたぶんできるしプログラマにするかというノリですね。
パースエラーは仕方ないですよ。慣れみたいなもんですから、昔のゲームみたいに根気よくやるしかないです。
私もパースエラー大嫌いですw
嫌ならIDEを使って楽することですね。書かれてる方もいると思いますが無料で使えるのならEclipseとかNetBeansとかですね。
最近はほんとにいろんな技術が使われているので2ヶ月くらいじゃまだまだスタートライン超えてすぐくらいですよ。
間違ってるから理解できないんじゃないです。まだまだ歩いてる量が少ないから自分が行く方向が正しいのかさえ分からないんですよ。でも大体そのくらいのところだったら歩いたところ無駄にならないと思いますよ。
それにまだまだほんとにやること理解するべきことが山のようにあるので大変ですが一個一個やるしかないです。
一個一個やっていくうちにいろんな考え方が身についてだんだん応用や理解が進むようになります。
とりあえず3年くらい全力でやってみたらだいぶいろいろわかると思いますよ。2ヶ月で全部わかるようじゃアルバイトにでもやらせればいいやって程度の仕事だと思います。
頑張ってください
追記ですが、勉強が終わることはありません。どんどん新しい技術が出てきています。業界として新しいトレンドが生まれえたりもするし、この前までは全く関係のない知識が要求されたりすることもあります。
オンラインゲームよりも実のある内容がオンラインゲームより速い速度で更新されるようなもんです。飽きはしないですが勉強も終わらないです
投稿2015/08/04 13:06
総合スコア29
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/28 10:46