Aalaya , Mumbai asked Xiaoyun Yang, Naval Reactors; LooseLeaf AddedTuesday, February 9, 2016 at 11:48 PM important skills for a computer/software engineer I love computers and I want to be a computer or software engineer when I grow up. Currently I am in middle school, what topics/subjects should I focus on right now? Also, do you suggest some books or any specific language that I should learn ? Also, what are the qualities one should possess for the same ? Related to Computer, Engineering Skills, Preparation for College, Software Reset Sort By Default Xiaoyun Yang , Naval Reactors; LooseLeaf Answered Tuesday, February 9, 2016 at 11:48 PM Hey Aalaya, From my experience, the best way to learn programming is by making a game. I learned programming by making various arcade games of increasing complexity (start with Snake, then Tetris, then Pacman etc). I think learning it this way is both fun and instructional as you know exactly what the end product should look like and you can see if something is out of order. Problem solving is the most important quality to possess. The second most important skill is knowing how to leverage the online community to acquire solutions, i.e., googling for tutorials, stackoverflow Q&A, or Github Repository sample code. There are endless things to learn in terms of computers and software, the best way to succeed in this field is to focus on learning enough to solve the problem at hand, which sometimes require deep understanding in the theory. Unless your problem is very esoteric, you can always find a TON of examples online. I always start with an example of something similar, study the code (use google for specific questions), then modify the example little by little until it turns into exactly what I need. If that's not your learning style, you could take an online course from Coursera in beginner programming; the class includes a bunch of videos and homework problems for you to solve. I liked those courses that gives you a way to upload your homework assignments and give you actually feedback. The only programming book I ever read is Functional Programming in Scala, which is a very good theory book about a new paradigm of programming that I wanted to learn on my own. I really like the book, especially the theory and the examples, but I think it may not be a good place to start for someone who is beginning. I think the best way to learn programming is to just start making something. As for the language, I suggest either Python or Javascript because they are both really popular languages and requires minimal setup for you to begin right away. Good luck in your journey and feel free to message me anytime if you need anything! Xiaoyun