大学生になり将来SEになりたいと思うようになりました。
C言語の基礎の学習が終わり最近はjavaにも手を出し始めました。
ここに至り、今後どんなことを学んでいけばいいのか悩んでいます。
先人の方々のご経験で、これはやっておくといいということ、読んでおいた方がいい諸本があれば助言よろしくお願いします。
現在はデータベース系統に興味を持ってUbuntu上でPostgreSQLを構築して勉強しています。
平日にC言語の関数一覧を上から5つ選びそれに関するプログラムを組むことと、JAVAの基礎を学び、PostgreSQLの勉強も少しづつやっています。
平日にやったPostgreSQLの知識で、休日にUbuntuでいじるというサイクルで過ごしています。
拙い文章で申し訳ないです。
よろしくお願いします。
/--------追記----------------/
皆様のご回答ありがとうございました。
こちらの質問が他のユーザから「問題・課題が含まれていない質問」という御指摘を受けましたのでここにお詫び申し上げます。
次回から漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿ではなく、壁にぶつかったときに皆様のお力をお借りしようと思います。
この度は申し訳ありませんでした。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答16件
0
ある程度プログラムの知識がついてきた段階で必要になることは、「1つのプロダクトを組み上げてみる」ということかと思います。
プログラミング言語を「使える」というレベルと、プログラミングを通じて「完成形まで持っていける」ということの間には大きな壁があります。
投稿2016/06/14 04:40
総合スコア146258
0
諸本についてはこちらを参考に
読んでおいたほうがいい本
私は特に、古典ですが「人月の神話」をお勧めします
プログラミングスキルを磨くための素晴らしい本も多数ありますが
ITの世界に身を置くならば、読んでおくべき本だと思います
投稿2016/06/14 09:15
編集2016/06/14 09:16総合スコア3116
0
ベストアンサー
プログラム言語は所詮ツールです。それをどう使いこなすかが重要です。
新入社員を数多く見てきましたが、考える力が弱いという印象があります。
プログラムの設計や開発業務というのは論理的な思考能力が要求されます(論理的思考はプログラム開発に限ったことではないですが)。緻密さとかは性格に由来する事が多いのでなかなか難しい面がありますが、論理的思考というのは鍛えることができます。プログラミングはその力を鍛えるのに最適だとは思いますが、ある程度の基礎がないとプログラミングだけではなかなか身に付けることは難しいです。
それと、物事を抽象化する能力も必要になってきます。C言語はほぼマスターしているようですが、C++やJavaなどのオブジェクト指向言語を扱えるようになっておくと更に有利になります。
なお、論理的というのは、形式論理(AならばB、BならばC、よってAならばC)ではなく、ディベートの基礎でもある「トゥールミンロジック」です。詳しくは、ググってください。
プログラマを職業にした場合、ずっとのべつ幕なしにプログラミング作業をしているわけではなく、仕様書を作成したり取扱説明書を書いたりなどなどドキュメントの作成もかなりのウェイトを占めてきます。これらも論理的な思考ができないとなかなかいいドキュメントを作成することはできません。
まあ、後は学生なら自由な時間はいっぱいあるのでたくさん本を読むことです。専門書にかぎらず色々と広範な知識を得ることは人生を豊かにしてくれるし、仕事にもプラスになります。
投稿2016/06/14 09:02
総合スコア3579
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/14 11:46
2016/06/14 13:48
2016/06/14 15:47
0
こんにちは。
皆様もおっしゃっていますが、何か一つ完成させてみてはいかがでしょうか。
やりとげた!という自信にもつながると思います。
余裕があれば資格の勉強をしてみてもいいかもしれません。
学生のうちに、いっぱい勉強して、いっぱい遊んでくださいね!
ここからは余談です。
先日、上司がこんなことを言ってました。
「お客様やメンバーとの打ち合わせでも、保守でも、必ず人間関係は発生するもの。
人付き合いを蔑ろにしたら、良いものは作れないと思う。」
挨拶ができるとか、質問が出来るとか、当たり前のことを当たり前に出来ることも大切かなと…
投稿2016/06/14 08:03
総合スコア102
0
なんか、前にも似た質問あったよねーと思って探してみたら見つかったので。
投稿2016/06/14 07:42
退会済みユーザー
総合スコア0
0
他の方にプログラム言語のアドバイスはお任せします。
仕事としてプログラムを扱う場合、大学生の内に学んでおいて頂きたい能力は、分からないことを調べる能力です。
技術能力も勿論必要ですが、課題を自らで解決する能力はより重要です。
そのためにも英語で調べものを出来るようにしておいたり、他の人にモノを上手く説明する能力(コミュニケーション能力ともいうのか)や逆に人の意見を上手く汲み取ることが必要になってきます。
他にもteratailで回答数が多い質問を読んでみると良いと思います。
投稿2016/06/14 06:17
総合スコア21
0
maisumakunさんの回答にある通り、何かを作りきるということは大きな経験値になると思います。
これに関して、私がお勧めすることは、既存の製品を真似てみるということです。
DBに興味がおありのようなのと、大学生ということなので、何か自分が普段からよく使うサービスはありませんか?(Twitterとか?FacebookとかLineとか)
これらの興味が持てそうなサービスを極々小規模で実装してみることはいい勉強になると思います。
Web系が嫌だということでしたら、計算精度は度外視にしてalphagoだとか。最終的に使う技術は異なるでしょうが、
postgresqlに点数情報や学習情報を記憶しながらというのも面白いと思います。
(少なくとも私はやってみた結果面白かったです。)
私もつい最近まで大学生でしたが、この質問のような気持ちがよくわかります。
言語の勉強も大事ですが、最終的には物を作るという視点も大事にできたらいいかもしれませんね。
投稿2016/06/14 05:48
総合スコア130
0
がんばってますね。
でも、一人でやってると不安になったり煮詰まったりしますね。
だからここで質問されてるのでしょうが…
で、そろそろ人付き合いを広げてもいい頃合いではないでしょうか。
身近にはいないかもしれませんが、勉強会や交流会に参加して
同好の士を探してみるのもいいかもしれません。
どちらにお住まいかは分かりませんが、
大学ならばいろいろ伝手があるんじゃないかなあ。
投稿2016/06/14 12:04
総合スコア7466
0
何を学んだらいいかではなく、何をやりたいのか、ではないでしょうか。
同じ言語でも、ゲームを作るのと業務アプリを作るのとでは、アプローチの仕方が全然違いますからね。
その上で更に付随する技術、ゲームだったら3D関連とかの映像技術が必要でしょうし、業務アプリだったらデータベースとか必要になりますね。
ウェブアプリなら、サーバー側とクライアント側でそれぞれ技術は異なりますし。
自分がやりたいこと、やってみたいことから始めないと、途中で飽きてしまうかもしれませんよ。
逆に興味がなくてもやってみたら興味が沸いた、なんてこともありますが…。
投稿2016/06/14 05:51
総合スコア17000
0
個人的な見解ですが、
ひとえにIT業界と言っても私の経験上、要求されるものが違うことが多いです。
①サービス系
②製品(パッケージ)
③SIer
将来どの道に進むかで異なる部分はありますが、
概ねは同じかもしれません。
PG⇒SE⇒PL⇒PM
で、まずはPGスキルとして身に着けたいということであれば、
得意言語を身に着けるのが良いと思います。
しかしながらサービス系などだとRuby On RailsやPythonなどが多く使われることもあります。
逆にSIerなどだとフレームワーク知識が要求されることもあり、
Javaもまだまだ健在ですね。
製品系は製品によってまちまちです。
で、現在、Javaを学習されているとのことなので、
まずは、独習Javaを全てものにすると良いと思います。
そのあと、Strutsなどにチャレンジして、
デザインパターン(ゆうきひろしさんの)など読んでみては如何でしょうか?
投稿2016/06/15 07:30
総合スコア118
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/15 08:51
2016/06/17 06:18
0
Googleで1400万円以上稼ぐエンジニアになるためにマスターすべき11のスキル を参考に。
日本ではSEやプログラマは給料が安いですから、
英語をネイティブレベルにマスターしてアメリカで年収1,000万円以上稼いでください。
投稿2016/06/15 04:29
総合スコア16417
0
やはり基礎ができてきたら、何かアプリケーションを作成することをお勧めします。
そこでAndroidを勉強してみてはいかがでしょうか、AndroidではGUI、通信、DB、セキュリティなどなどプログラミングに必要な事柄がまんべんなく扱うことができます。また、開発環境を整えるコストが不要なこともおすすめです。
あとはSEといっても様々な職業があるので、どのような仕事があるのかを調べてみるのもいいでしょう。
投稿2016/06/14 14:57
総合スコア18155
0
自身が興味を持てることを勉強していればいいですよ。
一部の人以外は、仕事で学んだ事以外はほんの少しのベース知識に過ぎません。
実際に仕事を初めてからも覚えることが多数あります。
要件や設計、実装、テスト等など、仕事としてやるには開発プロセスの一部でしかありません。
自身でなにかサービスを作って運用する等はいかがですか?
その時に色々な課題が出てきて、それを解決していくことが実際の仕事に近いと思います。
投稿2016/06/14 12:46
総合スコア6621
0
今後どんなことを学べば? ということでしたら、下記のことは身に付けておいて、ハズレはない、と思います。
・WEB技術
・データベース(RDBMS, PostgreSQLも)
・オブジェクト指向(わたしは苦手ですが)
・サーバインフラ(Linux, Ubuntuも)
投稿2016/06/14 11:57
総合スコア103
0
他の方もおっしゃってますが、やはりソフトを1つ造り上げるのがいいと思います。
JavaならAndroidのアプリも作れると思いますのでなんらかのデータを管理するようなアプリを
作ってみるのもいいかと思います。
企業向けの顧客名簿管理や、個人向けの住所録、家計簿、
音楽ファイルや画像ファイルのデータベース構築、
ゲームが好きなら、ゲーム内のアイテムなどをデータベース化して、検索&抽出ができるようなアプリなど。
まずは作って公開し、ユーザーの要望やバグの対応などを行っていけばSEのスキルとしての実践になるとおもいます。
投稿2016/06/14 07:25
総合スコア866
0
データベース系に興味があるということなので、PHP、BISON、Rなどのスクリプト言語やシェルを覚えるといかと思います。
最近、クラウド関係が徐々に広がりをみせているので、ASW(Amazon Web Service)などもいいかもです。
DBが主であれば、言語的にはC#/VBAなどを抑えておいたほうがよいかと思います。
投稿2016/06/14 05:22
総合スコア80
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。