2 answers
Asked
287 views
What types of skills are necessary to become a computer engineer?
What types of skills do you need before pursuing the career of a computer engineer/software engineer?
Login to comment
2 answers
Updated
Jenna’s Answer
I think the underlying skills that you need are:
1.) Mental stamina - the ability to focus closely for very long periods of time without being exhausted
2.) Problem-solving - the ability to break a problem down and come up with things to try
3.) Self-learning - the ability to recognize what you want/need to learn, find resources, and learn new skills your entire life and career
4.) Collaboration - the ability to work with other people, come to agreements, and enjoy teamwork
5.) Communication - the ability to get other people to understand your ideas and to understand theirs
There is so much to learn and so many ways to learn in this field. Software Engineering is a career field where you will learn your entire career. Here is a simple, practical way to imagine what you would need to do:
1.) Learn the basics of a modern coding language, so that you can complete the easiest challenges on Code Wars in that language.
2.) Learn version control with Git, so that you can organize the work that you do as you write code, build things, and take notes.
3.) Find your first teachers, mentors, and peers in software engineering, so you can have some direction, support, and encouragement.
4.) Build simple things that work, so that you can practice and learn a complete modern toolchain and stack.
5.) Build those simple things with best quality code that you can and eventually refactor some of your prior work, so you can come to write code of professional quality.
Formal school will provide a structure and most of that. For free or inexpensive online teachers, I can recommend three of my own who have YouTube channels: Brad Traversy of Traversy Media, Mosh Hamedani of Code With Mosh, and Ben Eater. Brad and Mosh also have courses on their own websites and Udemy. The Udemy courses go on sale several times a year for less than $20 each, which is an incredible value. Ben Eater has the most innovative way I have found of teaching people about digital electronics, encodings, logic gates, computer components, basic computer architecture, and coding languages.
For mentors, I can recommend using Merit at https://www.get-merit.com/ to meet people working in the field and ask them questions.
1.) Mental stamina - the ability to focus closely for very long periods of time without being exhausted
2.) Problem-solving - the ability to break a problem down and come up with things to try
3.) Self-learning - the ability to recognize what you want/need to learn, find resources, and learn new skills your entire life and career
4.) Collaboration - the ability to work with other people, come to agreements, and enjoy teamwork
5.) Communication - the ability to get other people to understand your ideas and to understand theirs
There is so much to learn and so many ways to learn in this field. Software Engineering is a career field where you will learn your entire career. Here is a simple, practical way to imagine what you would need to do:
1.) Learn the basics of a modern coding language, so that you can complete the easiest challenges on Code Wars in that language.
2.) Learn version control with Git, so that you can organize the work that you do as you write code, build things, and take notes.
3.) Find your first teachers, mentors, and peers in software engineering, so you can have some direction, support, and encouragement.
4.) Build simple things that work, so that you can practice and learn a complete modern toolchain and stack.
5.) Build those simple things with best quality code that you can and eventually refactor some of your prior work, so you can come to write code of professional quality.
Formal school will provide a structure and most of that. For free or inexpensive online teachers, I can recommend three of my own who have YouTube channels: Brad Traversy of Traversy Media, Mosh Hamedani of Code With Mosh, and Ben Eater. Brad and Mosh also have courses on their own websites and Udemy. The Udemy courses go on sale several times a year for less than $20 each, which is an incredible value. Ben Eater has the most innovative way I have found of teaching people about digital electronics, encodings, logic gates, computer components, basic computer architecture, and coding languages.
For mentors, I can recommend using Merit at https://www.get-merit.com/ to meet people working in the field and ask them questions.
Updated
Neha’s Answer
Dear Aaric,
The realm of computer science is vast and the skills you need will largely depend on what career path you're drawn to. At the heart of it all, you'll need a keen interest in technology, a knack for logical reasoning, a good grasp of mathematics, and the ability to code. To lay a solid foundation, academic courses in Algorithms, Operating Systems, Data Structures, Computer Architecture, Digital Electronics, Computer Applications, Quality Assurance, Networking and Security can be immensely helpful.
There's a whole world of specializations to explore, including:
- Application/Web Development/Software Development
- Computer Security and Networking
- Hardware/Integration/Quality Assurance
- Data Science/AI/Machine Learning
- Research and Development
If software engineering or application design and development piques your interest, you'll dive into the intricacies of computer languages, coding, user applications, and database programming. Starting with Python or Java can help you understand the basics of software development. As you progress, you can specialize in areas like Full Stack, Database, UX, UI, Front End, Back End, DevOps, Automation Engineering, and Performance.
To get started, check out this free course from HarvardX online, which offers a comprehensive introduction to computer science: https://pll.harvard.edu/course/cs50-introduction-computer-science. Additionally, FreeCodeCamp is a fantastic resource for learning different programming languages: https://www.freecodecamp.org/.
If you're more inclined towards security and networking, there are a multitude of specializations and certifications you can pursue. For those interested in device learning, operating systems, admin, support, quality, and testing, there are also numerous certifications and exams that can open up exciting career opportunities.
Remember, the world of computer science is your oyster, and the possibilities are endless. I hope this information proves helpful as you navigate your journey.
The realm of computer science is vast and the skills you need will largely depend on what career path you're drawn to. At the heart of it all, you'll need a keen interest in technology, a knack for logical reasoning, a good grasp of mathematics, and the ability to code. To lay a solid foundation, academic courses in Algorithms, Operating Systems, Data Structures, Computer Architecture, Digital Electronics, Computer Applications, Quality Assurance, Networking and Security can be immensely helpful.
There's a whole world of specializations to explore, including:
- Application/Web Development/Software Development
- Computer Security and Networking
- Hardware/Integration/Quality Assurance
- Data Science/AI/Machine Learning
- Research and Development
If software engineering or application design and development piques your interest, you'll dive into the intricacies of computer languages, coding, user applications, and database programming. Starting with Python or Java can help you understand the basics of software development. As you progress, you can specialize in areas like Full Stack, Database, UX, UI, Front End, Back End, DevOps, Automation Engineering, and Performance.
To get started, check out this free course from HarvardX online, which offers a comprehensive introduction to computer science: https://pll.harvard.edu/course/cs50-introduction-computer-science. Additionally, FreeCodeCamp is a fantastic resource for learning different programming languages: https://www.freecodecamp.org/.
If you're more inclined towards security and networking, there are a multitude of specializations and certifications you can pursue. For those interested in device learning, operating systems, admin, support, quality, and testing, there are also numerous certifications and exams that can open up exciting career opportunities.
Remember, the world of computer science is your oyster, and the possibilities are endless. I hope this information proves helpful as you navigate your journey.
I am really grateful you took the time to answer this question.
Aaric