本人现在学习了C语言和java语言,只是会明白了一些基本知识,水平也就是写一些程序的代码。我知道要精通还差得远。我想成为一名软件工程师,我还应该学习哪些知识?学习的顺序是怎样的?比如说数据结构?数据库?