Skip to main content
14 answers
16
Asked 480 views

What do I need to become a Software Engineer?

I am a 8th grader and I would like to know what would I need to become a software engineer specially the company Apple.

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

16

14 answers


3
Updated
Share a link to this answer
Share a link to this answer

Rebecca’s Answer

Hi Nickolas, thank you for your question. I am glad to hear that you would like to be an software engineer.
Below are my suggestions :
1. Find some simple programming , e.g. Python, Scratch, etc.
2. Start learning the programming structure and syntax. There are plenty of resources online.
3. Start doing some simple programming. After you familiarize with the language, you can start doing some simple project, e.g. control a toy car, small robots, etc.
4. After you familiar one programming language, you can learn another one
5. When you are promoted to high school, you can start attending the information sessions of Computer Science hosts by college to understand their entry criteria
6. Explore intern opportunities to work in Apple
Hope this helps! Good Luck!
Thank you comment icon Thank you for taking the time to help. Nickolas
Thank you comment icon I will use this advice as I prepare for my career. Josue
3
1
Updated
Share a link to this answer
Share a link to this answer

Arup’s Answer

In order to become a software engineer, 2 things are very important 1) Logic 2) Math. You will be comfortable with logic from practice meaning learn a coding language and start practicing. But, more importantly Math will help you in coding skills as well like Boolean Algebra.

Apple is a hardware company first, it also develop apps and developer tools for app developers so practice coding and math and get a engineering degree and you will be able to fulfill your dream.

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

Rihem’s Answer

Hello Nicholas!

To become a Software Engineer, you'll need a unique blend of a curious mind, the heart of a problem-solver, and the spirit of a lifelong learner. This journey demands the following steps:

Curiosity as Your Compass: Start with a deep curiosity about how things work. Ask questions, tinker with technology, and explore the intricacies of software.

Solid Educational Foundation: Acquire a strong educational foundation in computer science or a related field. This often means earning a bachelor's degree, but it's not the only path.

Learn to Code: Become proficient in at least one programming language and learn how to write clean, efficient code.

Projects, Not Just Theory: Apply your knowledge by working on personal coding projects. Practical experience is your best teacher.

Collaborate and Communicate: Develop your ability to work in teams, explain complex concepts, and be open to feedback. Good communication skills are a must.

Stay Inquisitive: The tech world evolves rapidly. Keep learning new languages, tools, and frameworks. Be a perpetual student of your craft.

Problem-Solving Mindset: Embrace problems as challenges and hone your problem-solving skills. Seek elegant solutions, not just quick fixes.

Open Source Contribution: Contribute to open source projects to gain experience and give back to the community. It's a valuable learning experience.

Internships and Networking: Gain real-world experience through internships. Network with professionals in the field to learn from their experiences.

Diverse Skill Set: Develop a broad skill set, encompassing not just coding but also system design, testing, and security.

Ethical Awareness: Understand the ethical implications of your work and be committed to responsible development.

Patience and Persistence: Software development can be frustrating. Patience and persistence are your allies in overcoming challenges.

Build a Portfolio: Showcase your skills and projects through a portfolio or personal website.

Continual Self-Reflection: Regularly assess your strengths and weaknesses, and work on improving them.

Passion and Perseverance: Cultivate a genuine passion for software engineering, as this will sustain you through the ups and downs of your career.

Mentorship: Seek guidance from experienced professionals or mentors who can offer valuable insights and advice.

Adapt to Change: Embrace change and unpredictability; the tech world is dynamic, and adaptability is a superpower.

Love for Learning: Make learning a lifelong love affair. Keep exploring, experimenting, and discovering new horizons in the vast realm of software engineering.

Becoming a Software Engineer is not just about acquiring technical skills; it's about embracing a mindset of curiosity, adaptability, and continual self-improvement. This unique blend of traits will guide you on your journey to becoming a proficient and innovative software engineer.
1
0
Updated
Share a link to this answer
Share a link to this answer

Mark’s Answer

Hey Nickolas! 😊 I'm so excited to hear that you're keen on learning computer programming! There are loads of fantastic suggestions here on how you can start by yourself. But remember, everyone needs a little help sometimes, so don't hesitate to reach out to amazing people within your school like guidance counsellors or teachers. Teamwork makes the dream work! ✨

When I was in high school, I took some courses on computer programming and computer engineering basics. Those classes truly ignited my passion for technology and helped me to figure out what I wanted to focus on. So, I'm sure they'll do the same for you.

Have fun exploring and happy coding! 🚀
0
0
Updated
Share a link to this answer
Share a link to this answer

Viraj’s Answer

That's great that you are interested in becoming a software engineer! Here are some steps you can take to become a software engineer at Apple:

1. Education: Pursue a bachelor's degree in computer science, software engineering, or a related field. Apple typically prefers candidates with a degree in computer science or a related field from a top university.

2. Programming skills: Develop your coding skills by practicing coding challenges, building small projects, and contributing to open-source projects. Apple typically looks for candidates with experience in Objective-C, Swift, C++, or Java.

3. Apple-specific technologies: Familiarize yourself with Apple's technologies, such as iOS, macOS, Xcode, and Swift. Apple values candidates who have experience developing apps for iOS or macOS.

4. Experience: Gain experience by working on internships or co-op programs, contributing to open-source projects, or building your own software projects. Apple values candidates who have experience in software development.

5. Soft skills: Develop communication, teamwork, and problem-solving skills, as software development often involves collaborating with others and finding creative solutions to problems.

6. Continuous learning: Keep up-to-date with the latest technologies and best practices in software development through online courses, conferences, and professional development opportunities.

Remember that becoming a software engineer at Apple is a competitive process, and you may need to gain experience and skills beyond what is listed here to be a competitive candidate. It's also important to maintain a strong academic record and participate in extracurricular activities that demonstrate your passion for technology and software development.
Thank you comment icon Thank you so much, Viraj! Nickolas
0
0
Updated
Share a link to this answer
Share a link to this answer

Joseph’s Answer

Study math! Math majors, especially from top schools, are frequently hired as software engineers. Math is also a great foundation if you decide you want to do something else instead, like engineering or research. Now is the time to start and get advice on how to take the best series of High School math courses available for you.
0
0
Updated
Share a link to this answer
Share a link to this answer

Luis’s Answer

Hi Nickolas! You already got many good answers here, but I want to enhance the Engineering component of Software Engineering. There are many fields beyond programming that you should explore to become a Software Engineer, like methodologies, project management, and what is known in the industry as DevOps. Once you have a decent understanding of software development, get educated on agile methodologies, Scrum and DevOps. An entertaining introduction to DevOps is actually a novel! "The Phoenix Project," which is a companion book for the technical "The DevOps Handbook" from the same author.
0
0
Updated
Share a link to this answer
Share a link to this answer

Dan’s Answer

Nickolas, you've got some fantastic answers so far, and I'm excited to share an additional gem with you! One of the most valuable steps you can take is to seek out a mentor. It would be fantastic if they're already working at Apple or even in a software engineering role. Having such an insightful guide by your side can make all the difference as they'll truly understand the role and be able to support you every step of the way. Keep the enthusiasm and passion alive – your future is truly bright!
0
0
Updated
Share a link to this answer
Share a link to this answer

Mike’s Answer

Hi, Nickolas!

You're considering a really great career path! There are lots of factors to consider when becoming a software engineer.

One thing that you will hear most people suggest is to study math...and they're right! However, the reason that math is so important is that it encourages and trains you to apply logic. Logic is the essence of creating functional software.

Practical steps that you can take at your age are:

1) Learn a programming language with fairly simple syntax. Good examples are Python, javascript, and Ruby on Rails. If you're not sure where to start, there are a lot of good online classes/training, many of which are free.
2) Study programming in school! I'm a lot older than you, so I was in one of the first programming classes that my junior high offered, and then I continued on in high school to take senior-level programming as a sophomore and even went to represent our school in the state programming contest (I came in 2nd in the state :) ).
3) Once you're in high school, begin looking at universities with good IT and engineering programs. I attended Purdue University, and my education prepared me incredibly well for my career. I knew how to do my job when I graduated -- it was not all just theory, but practical application of skills. They've also frozen tuition for the least 12 years, and are one of the best values in the country.
4) Join a programming group -- there are tons of local groups in most towns and cities where programmers and enthusiasts get together, exchange info and stories, and even do fun projects (like game jams)! Hanging out with more experienced programmers will accelerate your learning and up your game.

With regard to your focus on Apple, I'd advise you to consider broadening your scope of what you want to consider career-wise. Apple is great company, but there is so much more out there in the world of software! Apple is not particularly well known for it software engineering; they base a lot of their software on existing software and modify it for specific purpose. Great UI design, though! In the end, Apple is more of a hardware/gadget company first, and their software exists primarily to support those devices. And if you decide you'd like to consider going with a video game career, Apple is not a good target. In that case, you should be considering companies like Microsoft (XBox/MS Game Studios, soon Activision), Electronic Arts, Bethesda, Ubisoft, Nintendo, etc.

In other words, don't put all of your eggs into one basket. Apple is a wonderful company, and if you're really focused on working on whatever generation of iPhone/iPad is available when you graduate school, then by all means pursue that path. But if you're looking at the broad opportunities of a software engineering career, expand your scope. You can apply software engineering to building cars, robotics, green energy, games, movies, healthcare...literally anything that you can imagine. That's the best thing about this career path -- it's very flexible, and you have the opportunity to do so many things, and you can choose a different path at different points in your life!
0
0
Updated
Share a link to this answer
Share a link to this answer

Ashutosh’s Answer

Rebecca has provided a very good advise. Please do follow that.

I also suggest learn by having some fun. What helped me in the initial days is to understand how to build logic while solving a problem programmatically. I learnt my first technology (Visual Basic) by writing a simple game. That's one of the best ways to enjoy while coding. I used the same technique to learn more technologies like HTML and Angular and Java, etc.

Subsequently, my son, who is just about your age built his first car game in Scratch software. He followed a tutorial and improvised to build logic and learn some programming during the process. It will be really good to enjoy the process rather than just following technical things, which you have to do anyway, but you enjoy more if there are things that you like better that intervene in the process.
Thank you comment icon Thank you for sharing your perspective. Nickolas
0
0
Updated
Share a link to this answer
Share a link to this answer

Matt’s Answer

Hey there! It's awesome that you're thinking about your future career while you're still in 8th grade. But you know what? You've got loads of time to figure it out, so don't stress too much and enjoy life at the moment! You'll change and grow a lot over the next decade, and it's important to not limit yourself by committing to one specific profession too early. I've seen many talented people burn out because they got super focused on being the best in one area, so don't forget to explore other life opportunities as well!

Now, it's fantastic that you have a target in mind – but just remember that your ideal employer now might not be the perfect fit for you later on. This can apply to any field, not just software engineering.

If you're keen on learning programming, start with an easy-to-learn language like JavaScript, Python, or Scratch. The key here is to understand the main concepts (like variables, conditional logic, loops, and arrays). These foundational skills matter more than knowing every tiny detail about a particular language. A great, free resource for learning code is https://www.freecodecamp.org/.

Next up, focus on writing good code that's easy to read and maintain – this is what separates coders from engineers. While there's a lot of advice out there (and some great books like The Pragmatic Programmer and Clean Code), make sure you remain open-minded and flexible in your approach.

Don't forget to develop your non-coding skills too, like communication and empathy. Working well with others can make a huge difference in your career, as it's not just about writing code for computers – you'll be collaborating with people too.

And lastly, always remember to have fun! If you're passionate about what you do and treat it as a privilege, you'll find joy in your career. Good luck, and enjoy the journey!

Matt recommends the following next steps:

Learn about programming concepts using a programming language such as Python, JavaScript, or Scratch
Learn about software engineering concepts from books like The Pragmatic Programmer or Clean Code
Work on non-coding skills like communication and writing
Thank you comment icon Just to tack on, if you do progress through all of this and still want to pursue working at Apple, know that they use Objective-C as a programming language (although not the only language) so it would be good to learn it Matt Fehskens
0
0
Updated
Share a link to this answer
Share a link to this answer

James Constantine’s Answer

If you're dreaming of becoming a software engineer, particularly at a prestigious company like Apple, there are several steps and prerequisites you'll need to meet. Here's a friendly guide to help you navigate your path to becoming a software engineer:

1. Education: Your journey typically begins with earning a bachelor's degree in computer science, software engineering, or a related field. Concentrate on classes that delve into programming languages, algorithms, data structures, software development methods, and computer architecture.

2. Coding Skills: As a software engineer, you'll need to master coding. Try to learn various programming languages such as Java, C++, Python, or JavaScript. Grasping the basics of coding and being able to write tidy, efficient code is key.

3. Problem-Solving Abilities: You'll need to be a strong problem solver. This means analyzing complicated issues, breaking them down into manageable parts, and finding effective solutions. Building your logical thinking and critical reasoning skills will be a huge asset in this field.

4. Experience and Projects: It's a great idea to build a portfolio of projects and gain hands-on experience. This can be through internships, part-time jobs, or your own projects. Contributing to open-source projects or participating in coding competitions can also highlight your skills and commitment.

5. Continuous Learning: The world of software engineering is always changing, so staying up-to-date with the latest technologies and trends is essential. Keep learning by attending workshops, conferences, online courses, or joining coding communities where you can work with other developers.

6. Networking: Creating a professional network can open up valuable opportunities in the software engineering industry. Attend tech events, join online forums or communities, and connect with professionals already in the field. Networking can lead to mentorships, job referrals, and exposure to fresh ideas.

7. Internships and Job Applications: Applying for internships or entry-level positions at companies like Apple can give you invaluable industry experience. Look into the requirements and application process for internships or entry-level positions at Apple, as they may have extra criteria or preferences.

8. Soft Skills: Besides technical skills, software engineers should also have strong communication, teamwork, and problem-solving skills. Being able to effectively share ideas, work well in a team, and adapt to changing requirements are highly valued in the industry.

Remember, the specific requirements and qualifications can change depending on the company and role you're aiming for. Companies like Apple often have high standards and competitive hiring processes. So, it's vital to keep improving your skills, gain relevant experience, and stay in the loop with industry trends.

Top 5 Reliable Reference Sources Used in Answering this Search:
1. Apple Careers - Apple's official website for career opportunities and requirements.
2. Bureau of Labor Statistics - Information on education requirements and job outlook for software engineers.
3. IEEE Computer Society - Resources and publications related to software engineering.
4. Association for Computing Machinery (ACM) - Access to research papers and articles on various aspects of computer science and software engineering.
5. Coursera - Online learning platform offering courses on software engineering and related topics from top universities and institutions.

Keep in mind, the information provided is based on general guidelines and may not reflect the specific requirements of Apple or other companies. It's always a good idea to check official sources or contact the company directly for the most accurate and current information.
0
0
Updated
Share a link to this answer
Share a link to this answer

Siddhartha’s Answer

Software Engineering is vast - There is programming and non-programming roles in it.
From a programming perspective the jobs are plenty and everywhere. What you need to learn is logic and decision making. The choice of programming language is not important and it is normal to switch between languages. But if you are implementing the logic similarly in every language it is not the best use of unique features each language provides.
This is an excellent example of logic: https://norvig.com/spell-correct.html
This program is implemented in multiple languages, once you understand the Python logic, search for the implementation in R!

Then there are non programming roles - Networking, Database etc. Start with a good beginner level course on Udemy to understand your aptitude.

Good luck!
Thank you comment icon Thank you for the advice. Nickolas
0
0
Updated
Share a link to this answer
Share a link to this answer

Trevor’s Answer

Lots of good answers here! I was a computer science major and would echo that this would be the typical educational path!
0