質問: ### 現状と今後 _現在、パソコンスクールで『java・java servlet』を習っているIT関係未経験の会社員24歳(高卒)です。 プログラミングが出来るようになりたくてパソコンスクールが安かったこともあり通っています。 そのパソコンスクールはHP制作の事業も行っており、受講生が仕事をもらうこともできます(一定レベル到達後)。 java関係の学習が終了後は『html・css・javascript・php』等を学習し、仕事(在宅ワーク)をもらいたいと思っています。 その後はクラウドソーシング等でフリーランスとして仕事を受注し、在宅で仕事をすることを考えています。 ### 質問 _今後もデザイン・プログラミングについて勉強していくのですが、その他に仕事で必要な知識やスキルはどういったものがあるでしょうか? 『linux』とか『github』とか『サーバー』など何を勉強すればいいのでしょうか? 自分で調べては見たのですが、あまりに多種多様で経験者の方の力添えをいただきたいです。 よろしくお願いいたします。
回答: 現場で働くということはチーム制作です。 チームで開発したプロジェクトに対して自分の担当する箇所を修正して常に最新のプロジェクトにしなければならないのでgitはclone,branch,comit,push,pullについて理解しておく必要があります。 幾ら開発ができようともまずこれができないとチームに参加させてはもらえないことが殆どです。 チームに参加する最低条件だと思ってください。 javaの案件は入ったことがないのでそこは分かりませんが WEBの場合、LAMP環境がほとんどだと思います。 なのでサーバーに対してSSH通信などを行えるクライアントソフトteratarmなども使えるようになっておいた方が良いでしょう。 私はデバッグなどはteratarmで行っています。 シェルを回してlog出力してどこまで処理できていてどこで問題が発生しているか、といった具合です。 記述は調べればたいてい分かるので、デバッグ能力を優先してできるようになることをおすすめします。 「どこを修正すれば良いか」 は 「どこまで処理が通ってるか」 を発見しないと特定できないからです。 該当の箇所が見つかったら、その箇所はどこを参照してるのかを追いかけて流れや処理を見つければいいだけです。 簡単に言いましたが、慣れるまでなかなか難しいと思います。