まだこのプログラマーとして働き始めて1年も経っていないですが、
自分で何かアプリを作れる力が身につきそうもありません。
勉強方法は以前teratailで教えていただきましたように、オープンソースを読んだりサンプルを書き写したりしたため、
Javaの基礎知識は身についたように思いますし、Androidアプリ開発のための参考書を買い、そのサンプルコードも
書き写しました。しかし、解説されれば理解はできるのに自分で作ることができません。
向いていないという言葉で終わらせたくはありません。
皆さんが初心者だった頃、どのように勉強して、自力で何かを作れるようになりましたか?
また、自力で出来るまでどのくらい時間がかかりましたか?
Javaに限らず色んな方にお答えいただければ幸いです。
プログラミングと直接関係ないので、不快に思われるかもしれませんが、よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
なんだかんだでいると思います。
保守作業、要は既存システムの改修・追加案件のみで何年もやっているプログラマーさんは。
(私もプログラマーデビューでは改修案件で結構長いことしてましたし、今でも少なくないです)
「自分で何かを作る」というのは「要件を具体化し、設計ができる」というのに等しいと思います。
実現までのプロセスを思い浮かべられるかというところですね。
皆さんが初心者だった頃、どのように勉強して、自力で何かを作れるようになりましたか?
また、自力で出来るまでどのくらい時間がかかりましたか?
ここで「私はどれくらい勉強してどれくらいかかりました」と言ったところで
おそらく貴方の助けにはならないと思います。目安にもならないと思います。
同じだけやったとして同じようになれるという保証はできないからです。
※私が天才タイプですぐ出来るようになったというわけではなく
人それぞれ必要な時間ややることが違うからです
かといって「向かないから諦めろ」と言っているわけではありません。
まだ1年程度であれば、まだまだ勉強することはたくさんあるはずです。
「書き写した→解説されれば理解はできる」というのは「コピペプログラマーくらいにはなれたかな」ということでしょうか。
となれば次の段階にステップアップしましょう。
「コピペでやっている部分をなぜこのような処理を書いているのか理解」し「コピペでやってきた部分を徐々に減らしていく」です。
そうすることで実現に必要な処理を時には調べながら、自身で想像しながら作っていくことが出来るようになります。
今まで作ってきたものがあるのでしたら、それを課題として、自分なりのやり方を模索しながら作ってみてはいかがでしょうか?
あせらず、1つ1つ身につけていけば必ず成長していけるはずです。
追記:
しばらくは「引き出しを増やす時期」ではないかなと思います。
プログラミングは学校の勉強と違って丸暗記ではなく、概念や考えることによって身につくものだからです。
何かやりたいことや課題、問題にあたったときに「そういえばこういうことがあったような・・」で
思い当たる節が瞬時に出てくるかどうかが大事です。
「こういうところにあったな」で開ける引き出しをいかに増やすかが成長につながってくるでしょう。
今のうちに調べたことや覚えたことを整理しておくと良いかもしれません。
それが貴方の引き出しになります。
今の書き写しも決して無駄にはなりませんが、身になっているかどうかです。
その書き写しは自身の引き出しになっているでしょうか?
引き出しにするためには「なぜそうなっているか」概念や考え方を身につけることです。
「こうなったらこう動くのは分かった。では条件を変えてみたらどう動くだろう」を試してみてみることで、
より深く理解でき、自身の引き出しとなります。
余談:
「考える力」というのを身につける意味でもteratailに日々たくさんあがってくる質問に回答者として参加してみるのもありだと思います。
「問題解決の力」が身につきますし、時にはうろ覚え部分を明確にするために調べることもあるので「調べる力」も身につきます。
「問題解決の力」が身につくと「作り上げる力」も同時に養っていけますよ。
投稿2017/08/23 06:22
編集2017/08/23 07:35総合スコア80765
0
頼まれて作ってるうちは楽しさなんて湧いてこなくて当然かと思います。
自分で何か作った物は愛着が湧いてどんどん手を入れたくなりますよね。新しい技術を身に付けたら自分で作った物に取り込んだりしてみたくなるというものです。
ひとまず何でも良いので手を動かしましょう。作る物が思い浮かばなかったら「このプログラムどうやって動いてるのか知りたいし、私もこんなの作ってみたい」と思う物をさがしましょう。GitHub にアカウント作って色んな人のソースコード見ているうちに、なんとなく作り方分かってくる物です。
まずはあんまり考え込まずに手を動かす事です。規模が大きすぎた、難しすぎた、で諦められるのが趣味です。仕事では許されませんが。
投稿2017/08/23 06:04
総合スコア5030
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
英和辞典を一ページ目から最後まで通読してみても英会話ができるようにはならないでしょう。
他の方がおっしゃっているように手を動かしてみなければ始まりません。
教科書のサンプルから始めてもいいですが、自分でプログラムコードを打ち込んで動かしてみて、「何か使いにくいなあ」と感じたところを書き換えてみるというところから初めてはどうでしょうか。最初は、文字表示の色を変えてみるとか、卑近で小規模な課題設定で構わないと思うのです。
自分で最初から作ってみると、まずは文字が表示された、というだけでも感激があります。逆に、この段階で感激とか改善意欲とかを感じないとするとプログラマより営業とか広報とかプロデューサとかディレクターとか、別の方向を目指してみたほうがいいのかも。それはそれで大いに結構な話かと思います。
ちなみに私も複数言語を独学でマスターしましたが、最初期はゲームを作りながら勉強しましたね。もちろん数あてゲームとか神経衰弱とか素朴なものですが。それでもフロー制御とか配列の使い方とか基本的なことは幅広く復習できてよかったと思います。
awkでマインスイーパーを作ろうとして、マップ処理に関数の再帰呼び出しを応用することを思いつき成功したときの感激は、20年ぐらい昔のことですが、よく覚えています。
投稿2017/08/23 08:23
総合スコア13669
0
まだこのプログラマーとして働き始めて1年も経っていない
働く前はどうだったのかわからないのですが、1年未満でアプリをバリバリ作ってるなんて、「天才」と呼ぶべき人くらいじゃないでしょうか。そんな人プログラマに限らず、私の周りでは見たことがないです。
まだまだ思い悩むには早いです。興味の湧いたところから情報を吸収していけば、いつの間にかある程度はできるようになっていくものです。未だ来ていない先のことは考えず、兎に角ひたすら頑張ってみては如何でしょうか?
「石の上にも三年」です。三年経ってもまだ「見習い」と変わらなければその時考えましょう。
投稿2017/08/23 08:16
総合スコア3579
0
初心者の定番は、
1.電卓アプリ
2.ペイントアプリ
3.ドローアプリ
4.簡易CALC系
5.DB連携
6.通信系
7.実I/Oの入出力
でしょうか。
前提として、環境構築、ツールの類の選定、設定等は、できる必要があります。
投稿2017/08/23 06:25
総合スコア2028
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/23 10:40