Skip to main content
3 answers
4
Asked 420 views

What skills and classes do you need to become a software engineer?

I am currently a junior in high school taking AP cs principles. I am planning on taking AP cs A next year in order to prepare for my career goal.

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

4

3 answers


0
Updated
Share a link to this answer
Share a link to this answer

Surya’s Answer

A strong foundation in software engineering begins with a deep understanding of fundamental algorithms and data structures. Fluency in basic algorithms, particularly searching and sorting, is essential as most programmers handle large datasets. Daily practice ensures you're comfortable with their implementation across various scenarios. While memorizing every advanced algorithm isn't necessary, knowing their existence and general purpose will guide you in selecting the right approach when faced with complex problems; detailed implementations can always be referenced as needed.

Equally important is mastering the basic constructs of a chosen programming language. This provides a solid starting point, allowing you to build a working foundation. Advanced language features can be learned as specific needs arise, referencing detailed documentation to expand your knowledge. However, understanding how to use a language effectively goes beyond mere syntax; it requires grasping software architecture. Think of programming language knowledge as the words and grammar, while architecture is the art of crafting a compelling story. This architectural understanding develops through experience, but it's crucial to begin by consciously planning your approach to each problem, considering how different components will interact and contribute to the overall solution.

Mastering these concepts takes time and hands-on experience, so consistent practice and application are key. Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

david’s Answer

Darren,
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.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jo Ann’s Answer

Hello Darren, while skills and necessities may shift, it's beneficial to seek out courses and training that concentrate on these key areas to kickstart your learning journey:
- Computer Programming and Coding Techniques
- Developing Software Applications
- Mastering Object-Oriented Design (OOD)
- Perfecting Software Testing and Debugging Methods
- Enhancing Problem Solving and Logical Thinking Abilities
- Improving Written and Verbal Communication Skills
- Excelling at Teamwork and Collaboration
0