Skip to main content
4 answers
4
Updated 189 views

How knowledgeable must I be to be a software engineer?

I am an 8th grader and I am wondering what education and skills will help me be a successful software engineer?

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

4

4 answers


1
Updated
Share a link to this answer
Share a link to this answer

Atul’s Answer

I've spent a significant chunk of my life, 40 years to be precise, immersed in the exciting world of software. So, you're interested in becoming a software engineer? That's fantastic! Do you have a knack for Math and love solving complex problems? These traits are key in this field.

Success in software engineering comes from a deep-rooted passion for the craft, an unyielding perseverance to develop software, and a sharp eye for problem-solving, including spotting and squashing those pesky software bugs. It's also crucial to master the computer languages your future employer might require.

The software industry is incredibly fulfilling. You'll see the fruits of your labor come to life and it's a feeling like no other. Remember, while you might be coding solo, teamwork is essential to bring your software to life and get it ready for production.

Embrace challenges, both during your high school years and in college. You can explore various paths, from Computer Science to Computer Engineering, and even Electrical Engineering. The latter is a bit more challenging than the former, but remember, it's all about knowing your skills, recognizing your limitations, and playing to your strengths.

I've had an incredible journey in this field, with no regrets. It's been a rewarding adventure that has allowed me to live the American dream.
1
0
Updated
Share a link to this answer
Share a link to this answer

Kartik Ashok’s Answer

Here's a friendly guide to the main topics and ideas you'll need to grasp to chase your dreams in software engineering:

Computer Science Basics: Get a firm grip on the heart and soul of computer science. This includes things like how complex computing is, the structure of computers, how operating systems work, and the ins and outs of networking.

Programming Languages: Be a master in at least one programming language, like Java, Python, C++, or JavaScript. Also, getting to know other languages and frameworks can be a big help, depending on the projects and tech you're dealing with.

Algorithms and Data Structures: It's super important to understand common algorithms and data structures when you're designing software solutions that are efficient and can grow. This includes things like sorting and searching algorithms, trees, graphs, hash tables, and more.

Software Development Methodologies: Get comfortable with software development methods like Agile, Scrum, or Kanban, as well as the best ways to control versions (like Git) and collaboration tools (like Jira, Trello).

Database Management: Knowing about database systems and query languages (like SQL) is a must if you're working with data-driven applications and building efficient data storage solutions.

Web Development: Be skilled in web development technologies like HTML, CSS, and JavaScript, and get to know front-end frameworks (like React, Angular, Vue.js) and back-end frameworks (like Node.js, Django, Flask).

Mobile Development: Understand mobile app development platforms like iOS (Swift, Objective-C) and Android (Java, Kotlin), and cross-platform frameworks like React Native or Flutter.

Software Testing and Debugging: Learn about testing methods, how to write test cases, and techniques for debugging to make sure your software products are reliable and high-quality.

Security Principles: Be aware of common security risks and the best ways to build secure software, including things like encryption, authentication, and authorization mechanisms.

Continuous Learning and Adaptability: With technology always changing, being willing to keep learning and adapt to new tools, languages, and frameworks is a must to stay ahead in the field.

This list covers the main areas you'll need to know, but remember, software engineering is a wide field, and the specific skills and knowledge you'll need can change depending on the industry, area, and role you're aiming for. Always learning and getting hands-on experience are the keys to becoming a top-notch software engineer.
0
0
Updated
Share a link to this answer
Share a link to this answer

Teresa’s Answer

Sure, a computer science degree can be a big plus, but it's not the only path you can take.

You've got other great options too! For instance, there are tons of programming bootcamps that can get you up to speed. Or, how about signing up for free training on Trailhead at Salesforce?

But remember, having a knack for math and problem-solving is pretty important in this field. Plus, you've got to be the type who loves staying on top of tech trends and innovations. In this profession, being a lifelong learner is pretty much the norm.

And hey, since you're still in school, why not check out any tech clubs or classes (robotics, programming, hack-a-thons, etc.)? They could be a great way for you to dip your toes in and see if this profession is your cup of tea.
0
0
Updated
Share a link to this answer
Share a link to this answer

Rebecca’s Answer

Thank you for your question. I am glad to hear that you would like to be an software engineer.
Below are my suggestions :
1. You start doing the programming now. Identify some simple programming languages to start first, e.g. Python, Scratch, etc.
2. Find the language structure and syntax. There are plenty of resources online.
3. Start doing some simple programming yourself. Practise makes perfect!
4. After you familiar with the programming syntax, you can do some small projects, e.g. control a toy car, robotic arm, etc.
5. You can learn another programming language when you familiar one
If you would like to develop your careers as software engineer, I strong recommend you to take the computer science courses in colleges. It gives you an overview of computing theories and you can learn different coding skills.
Hope this helps! Good Luck!
May Almighty God bless you!
0