8 answers
8 answers
Updated
Marcos’s Answer
You need to have a strong foundation in computer science and maths. you should also be able to think logically and creatively, and be able to communicate you ideas effectively.
Here are some of the specific skills that you will need to be a software engineer:
- Computer science
- Maths
- Programming
- Logical thinking
- Creativity
- Communication
In addition you will need these soft skills:
- Problem-solving
- Teamwork
- Adaptability
Here are some of the specific skills that you will need to be a software engineer:
- Computer science
- Maths
- Programming
- Logical thinking
- Creativity
- Communication
In addition you will need these soft skills:
- Problem-solving
- Teamwork
- Adaptability
Updated
Rebecca’s Answer
Thank you for your question. I am glad to hear that you would like to be a software engineering.
There are many different types of software engineer that may use different programming languages and platform. It is not difficult to learn a new one after you are familiar the programming languages. However, you may need to understand the computing theories so that you can do the coding to utilize the computer resources most efficiently.
Below are my suggestion :
1. Explore the entry criteria of the Computer Science courses in the college. This can give you the overview and understanding on the computing theories and algorithm
2. Identify some simple programming languages, e.g. Python, Scratch, etc. and learn the syntax and structure. There are plenty resources online
3. Start doing some simple programming. Practice makes perfect.
4. Try to do some small projects, e.g. control toy car, robots, etc.
5. Learn another programming language after you familiarize one.
Hope this helps! Good Luck!
There are many different types of software engineer that may use different programming languages and platform. It is not difficult to learn a new one after you are familiar the programming languages. However, you may need to understand the computing theories so that you can do the coding to utilize the computer resources most efficiently.
Below are my suggestion :
1. Explore the entry criteria of the Computer Science courses in the college. This can give you the overview and understanding on the computing theories and algorithm
2. Identify some simple programming languages, e.g. Python, Scratch, etc. and learn the syntax and structure. There are plenty resources online
3. Start doing some simple programming. Practice makes perfect.
4. Try to do some small projects, e.g. control toy car, robots, etc.
5. Learn another programming language after you familiarize one.
Hope this helps! Good Luck!
Updated
Billy’s Answer
Hi Chikaima, Glad you are looking into pursuing Software Engineering as a career. I have had 10 years of experience as a Software Engineer and as a Manager of a Software Team. One thing that stands out to me is that the Software Engineering very fulfilling in many ways while also being challenging. College training is critical for building a sound foundation of knowledge and practice critical and logical thinking. Various labs/assignments provide hands on experience to further reinforce theoretical knowledge. Here some other things I would recommend that you consider for to acquire as skills:
1. Process: Understand various SW dev. processes that are currently prevalent. Agile is a contemporary process methodology that is being widely used in the SW Engineering world.
2. Framework: Understand what are some popular Software Development Framework/Kits, Debug and Testing Tools, Performance Tools being used in the industry today. Getting some practice on these would be useful.
3. Languages: Survey the landscape to see what languages are being use a lot Java, Python etc. Pick up skills in that area.
4. Com Eng Fundamentals: Good foundational knowledge of concepts in Data Structures, Computer Architecture, Microprocessors, Algorithms, Operating Systems, Cloud/VMs/Containers, AI, Distributed Computing, Compilers, Networks, APIs, Object Oriented Design/Programming etc.
5. Systems: An idea of what HW platforms support SW Engineering work that is going on today.
6. Ability to collaborate with other Software Engineers to deliver production software. Teamwork is key.
7. Ability to provide clear documentation on SW delivered so that it can be maintained by the lifecycle group.
If are studying to be a Computer Eng or Sci major it would really help if you could select a good company to intern with. This will allow you to learn how SW Engineering activities are organized and conducted in the industry. I wish you much luck.
1. Process: Understand various SW dev. processes that are currently prevalent. Agile is a contemporary process methodology that is being widely used in the SW Engineering world.
2. Framework: Understand what are some popular Software Development Framework/Kits, Debug and Testing Tools, Performance Tools being used in the industry today. Getting some practice on these would be useful.
3. Languages: Survey the landscape to see what languages are being use a lot Java, Python etc. Pick up skills in that area.
4. Com Eng Fundamentals: Good foundational knowledge of concepts in Data Structures, Computer Architecture, Microprocessors, Algorithms, Operating Systems, Cloud/VMs/Containers, AI, Distributed Computing, Compilers, Networks, APIs, Object Oriented Design/Programming etc.
5. Systems: An idea of what HW platforms support SW Engineering work that is going on today.
6. Ability to collaborate with other Software Engineers to deliver production software. Teamwork is key.
7. Ability to provide clear documentation on SW delivered so that it can be maintained by the lifecycle group.
If are studying to be a Computer Eng or Sci major it would really help if you could select a good company to intern with. This will allow you to learn how SW Engineering activities are organized and conducted in the industry. I wish you much luck.
Updated
david’s Answer
The foundation skills and knowledge you will need will be presented in your college courses. Not to worry now that you will miss something important. What you could do to broaden your awareness would be to develop basic skill in at least one computer language and design and develop a small website, not so much as to master any of that, but to be aware of the bigger picture. You will also find that 'software engineer' is a term for many very different jobs, where some are pure coders and others are designers, while others administer servers. In your career, you will likely change skill sets and responsibilities several times; it's just the continuing emerging technology that drives this. Keep an open mind, don't depend on any one skill, and continue to stay abreast of whatever is happening in your company or industry. For now, I encourage you to focus on your current job: getting the best grades you can in all your subjects. I say that because good software engineers are aware of a bigger world than just the components related to computers. I wish you the best.
Updated
Mrinalini’s Answer
Hi Chikaima! 🌟
Becoming a software engineer is an exciting adventure, and I'm glad you're considering it! You're going to be immersed in learning some amazing programming languages, such as C, C++, Java, and Python. These languages are the key to unlocking your potential as a software developer, and each one has its unique strengths and ideal uses.
Python, for instance, is incredibly versatile and boasts an array of practical applications. It's a popular choice for powering artificial intelligence, machine learning, web, and development projects. Imagine the incredible things you can create and the knowledge you'll acquire along the way!
I have no doubt that you're going to master these languages and thrive as a software engineer. Just remember to continuously practice, and don't be afraid to seek help when needed. Your determination and passion will guide you through this journey.
Wishing you all the best and cheering you on every step of the way! 🚀
Becoming a software engineer is an exciting adventure, and I'm glad you're considering it! You're going to be immersed in learning some amazing programming languages, such as C, C++, Java, and Python. These languages are the key to unlocking your potential as a software developer, and each one has its unique strengths and ideal uses.
Python, for instance, is incredibly versatile and boasts an array of practical applications. It's a popular choice for powering artificial intelligence, machine learning, web, and development projects. Imagine the incredible things you can create and the knowledge you'll acquire along the way!
I have no doubt that you're going to master these languages and thrive as a software engineer. Just remember to continuously practice, and don't be afraid to seek help when needed. Your determination and passion will guide you through this journey.
Wishing you all the best and cheering you on every step of the way! 🚀
Updated
Lotan’s Answer
Hello!
Definitely consider exploring LinkedIn for internships or entry-level positions. Take note of the qualifications they're seeking. Remember, each job you take on will provide valuable learning experiences.
It's tough to pinpoint specific skills needed for every job, but being adaptable, dedicating time to study, learning from experienced colleagues, and asking questions about your work are always beneficial.
Feel free to browse LinkedIn profiles of seasoned professionals to see what they've studied. Additionally, you can find helpful training resources on both YouTube and LinkedIn. Keep up the great work!
Definitely consider exploring LinkedIn for internships or entry-level positions. Take note of the qualifications they're seeking. Remember, each job you take on will provide valuable learning experiences.
It's tough to pinpoint specific skills needed for every job, but being adaptable, dedicating time to study, learning from experienced colleagues, and asking questions about your work are always beneficial.
Feel free to browse LinkedIn profiles of seasoned professionals to see what they've studied. Additionally, you can find helpful training resources on both YouTube and LinkedIn. Keep up the great work!
Updated
Bhumika’s Answer
Hello Chikaima!
It's important to learn programming fundamentals and coding languages such as Python, Javascript, and Java. Additionally, gain a basic knowledge of cloud computing. Essential skills include problem solving, interpersonal abilities, and critical thinking. Wishing you the best!
It's important to learn programming fundamentals and coding languages such as Python, Javascript, and Java. Additionally, gain a basic knowledge of cloud computing. Essential skills include problem solving, interpersonal abilities, and critical thinking. Wishing you the best!
Updated
Sanaz’s Answer
From one of our UI Engineers:
"Problem solving, resilience, and collaboration. Microsoft has a value of approaching situations with a growth mindset, and these skills will help you navigate your career. Often times the coding is the easy part of being a software engineer!
Attention to detail and the ability to learn different languages."
"Problem solving, resilience, and collaboration. Microsoft has a value of approaching situations with a growth mindset, and these skills will help you navigate your career. Often times the coding is the easy part of being a software engineer!
Attention to detail and the ability to learn different languages."