要弄软件开发需要准备什么

要搞软件开发需要准备什么啊
本人马上大三了,感觉自己的定位还不是很明显,希望前辈指教一二。(问题一)

本人这个学期从ACM退役的,发现自己对那个代码不是很有兴趣,这个代码写着写着就会头痛,心里面其实蛮佩服那些能坚持ACM的,不论是拿的什么奖。在ACM里面的一年里,其实自己学到了也蛮多的,一是:自己的编码能力确实提高了,毕竟是天天在那AC的。

这个学期完全觉得没有学到什么,没有什么进步,真是完完全全的玩了一个学期。从教练那里得到介绍,我说我想从事软件开发那一块,于是老师便叫我跟着一个老师做,那老师是搞网站的和数据库的。对此我怀疑在这个老师那里可以学到什么,数据库?产生这样的怀疑的原因是,我对这个软件开发了解不够,这个数据库重要吗?
从老师那里可以学到什么?表示很疑惑(问题二)

我觉得我的目标还是c/c++那一块吧!但是不知道再怎么深入,但求一老前辈指点。(问题三)

为什么我选这个软件开发有兴趣呢?原因是自己对这个软件破解比较感兴趣,觉得这两个是互相弥补的。我是这么认为的,一c/c++为主要目标,破解作为个人兴趣吧!
------解决方案--------------------
唉,要能够投入精力嘛。不要像个花孔雀一样,只是为了瞧不起其它老师和同学而学习,应该为了真正的爱好而学习。