Monday, November 24, 2014

Tech Skills and Courses Google Recommends for Software Engineers, thanks to Lifehacker!

http://lifehacker.com/the-tech-skills-and-courses-google-recommends-for-softw-1660157164



The Tech Skills and Courses Google Recommends for Software Engineers

The Tech Skills and Courses Google Recommends for Software Engineers

Software engineering is one of the most in-demand and best paying careers, but learning computer science can also pay off even if you don't do it professionally. Google has a guide on the courses and experiences future software engineers should consider.

Don't Just Learn to Code, Learn How to Think Like a Computer Scientist

Recently, there's been much debate over whether or not everyone should learn to code. Software …Read more

The guide overview says:

Having a solid foundation in Computer Science is important in being a successful Software Engineer. This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. The online resources provided in this guide are not meant to replace courses available at your University. However, they may help supplement your learnings or provide an introduction to the topic.

Although intended for college students, anyone can follow these recommendations, which include skills like coding in C++, Java, or Python and learning cryptography (along with online resources to aquire those skills). 

It's not as in-depth as the bachelor's level computer science curriculum we've seen before, but it covers the basics, and the non-academic suggestions such as contributing to other projects are helpful for budding coders of all kinds as well. 

Get a College-Level Computer Science Education with These Free Courses

We're lucky to have access to so many excellent free online courses for just about anything…Read more

Guide for Technical Development | Google in Education via Business Insider



Tools & SolutionsbreadcrumbGuide for Technical Development

Guide for Technical Development

Having a solid foundation in Computer Science is important in being a successful Software Engineer. This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. The online resources provided in this guide are not meant to replace courses available at your University. However, they may help supplement your learnings or provide an introduction to the topic.

Using this guide:

  • Please use this guide at your discretion
  • There may be other things you want to learn or do outside of this guide - go for it!
  • Checking off all items in this guide does not guarantee a job at Google
  • This guide will evolve or change - check back for updates

Follow our Google for Students +Page to get additional tips, resources, and other students interested in development.

Recommendations for Academic Learnings

Recommendations for Non-Academic Learnings

  • Work on project outside of the classroom.

    Notes: Create and maintain a website, build your own server, or build a robot.
    Online Resources: Apache List of ProjectsGoogle Summer of CodeGoogle Developer Group

  • Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug things.

    Notes: Github is a great way to read other people's code or contribute to a project.
    Online Resources: GithubKiln

  • Work on project with other programmers.

    Notes: This will help you improve your ability to work well in a team and enable you to learn from others.

  • Practice your algorithmic knowledge and coding skills

    Notes: Practice your algorithmic knowledge through coding competitions like CodeJam or ACM's International Collegiate Programming Contest.
    Online Resources: CodeJamACM ICPC

  • Become a Teaching Assistant

    Notes: Helping to teach other students will help enhance your knowledge in the subject matter.

  • Internship experience in software engineering

    Notes: Make sure you apply for internships well in advance of the period internships take place. In the US, internships take place during the summer, May-September, and applications are usually open several months in advance.
    Online Resources: google.com/jobs

No comments:

Post a Comment