3 answers
Asked
1930 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
3 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.
Updated
Avinash’s Answer
SO......to ans ur question..To build a great career in computer or software engineering, you need a mix of technical power and smart problem-solving skills. Here are the core areas to focus on:
1. The Coding Superpowers: Start learning core programming languages. For software and applications, focus on Python, Java, or JavaScript. If you lean toward hardware and robotics (Computer Engineering), focus on C or C++. Alongside coding, master Data Structures and Algorithms—the bread and butter of engineering problem-solving.
2. The Hardware Foundation (For Computer Eng.): You will need to learn digital logic design, computer architecture, and how microchips handle data.
3. Logical Mathematics: Brush up on your math skills, particularly discrete mathematics, calculus, and statistics, which are vital for cryptography, network logic, and AI systems.
4. The Crucial 'Soft' Skills: Tech is a team sport! You need to be a great communicator who can explain complex code to non-tech people, work well in groups, and have a 'detective' mindset for debugging errors.
How to start right now: Don't try to learn everything at once. Pick one programming language (like Python), build a few simple projects, and learn how to use Git/GitHub to track your work. The rest will naturally fall into place during your university classes!
1. The Coding Superpowers: Start learning core programming languages. For software and applications, focus on Python, Java, or JavaScript. If you lean toward hardware and robotics (Computer Engineering), focus on C or C++. Alongside coding, master Data Structures and Algorithms—the bread and butter of engineering problem-solving.
2. The Hardware Foundation (For Computer Eng.): You will need to learn digital logic design, computer architecture, and how microchips handle data.
3. Logical Mathematics: Brush up on your math skills, particularly discrete mathematics, calculus, and statistics, which are vital for cryptography, network logic, and AI systems.
4. The Crucial 'Soft' Skills: Tech is a team sport! You need to be a great communicator who can explain complex code to non-tech people, work well in groups, and have a 'detective' mindset for debugging errors.
How to start right now: Don't try to learn everything at once. Pick one programming language (like Python), build a few simple projects, and learn how to use Git/GitHub to track your work. The rest will naturally fall into place during your university classes!