Khabza Career Portal
Menu
  • Jobs
    • South Africa
    • Eastern Cape
    • Free State
    • Gauteng
    • KwaZulu-Natal
    • Limpopo
    • Mpumalanga
    • North West
    • Northern Cape
    • Polokwane
    • Western Cape
  • Companies Hiring
  • Government Jobs
    • Z83 Application Form
  • Where to study
    • SA Bursaries
  • News
    • Cover Letter and Resume
    • Business
    • Education
    • Fashion
    • Finance
    • Food
    • Health
    • How To
    • Law
    • Lifestyle
    • Marketing
    • Product
    • Property
    • SEO
    • Sport
    • Technology
    • Travel
  • About
    • Contacts
    • Privacy Policy
    • Terms of Service
Menu
Google Logo

40 Google tips to become a great software engineer

Posted on 15 May 201525 October 2019 by Khabza
0
SHARES
Facebook
Twitter

Google’s Guide for Technical Development provides tips on how to become a successful software engineer.

Many people ask what they should do to become a great programmer, and Google’s Guide for Technical Development can help.

Google is known for employing some of the world’s best software engineers, and the company’s guidelines are therefore of great value.

The guide from Google 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 in order to graduate,” said Google.

“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 a topic.”

The section below is a summary of Google’s advice on how to become a successful software engineer.

Google’s recommendations for academic learning

According to Google, having a solid foundation in computer science is important to become a successful software engineer.

Google advises budding software engineers to use the guide at their discretion, and advises users to also learn things outside of this guide.

Introduction to CS Course

Take Introduction to Computer Science courses that provide basic instructions for coding.

  1. Udacity – intro to CS course
  2. Coursera – Computer Science 101

Code in at least one object-oriented programming language: C++, Java, or Python

Beginner Online Resources

  1. Coursera – Learn to Program: The Fundamentals
  2. MIT Intro to Programming in Java
  3. Google’s Python Class
  4. Coursera – Introduction to Python, Python Open Source E-Book

Intermediate Online Resources

  1. Udacity’s Design of Computer Programs
  2. Coursera – Learn to Program: Crafting Quality Code
  3. Coursera – Programming Languages
  4. Brown University – Introduction to Programming Languages

Learn other Programming Languages

Notes: Add to your repertoire – JavaScript, CSS & HTML; Ruby; PHP; C; Perl; shell script; Lisp; and Scheme.

  1. w3school.com – HTML Tutorial
  2. Codecademy
  3. Udacity – Mobile Web Development
  4. Udacity – HTML5 Game Development

Test Your Code

Notes: Learn how to catch bugs, create tests, and break your software.

  1. Udacity – Software Testing Methods
  2. Udacity – Software Debugging

Develop logical reasoning and knowledge of discrete math

  1. MIT Mathematics for Computer Science
  2. Coursera – Introduction to Logic
  3. Coursera – Linear and Discrete Optimization
  4. Coursera – Probabilistic Graphical Models
  5. Coursera – Game Theory

Develop a strong understanding of Algorithms and Data Structures

Notes: Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), data structures (binary search trees, red-black trees, hash tables), and Big O.

  1. MIT Introduction to Algorithms
  2. Coursera Introduction to Algorithms Part 1 & Part 2
  3. List of Algorithms, List of Data Structures
  4. Book: The Algorithm Design Manual

Develop a strong knowledge of operating systems

  1. UC Berkeley Computer Science 162

Learn UX Design

  1. Udacity – UX Design for Mobile Developers

Learn Artificial Intelligence

  1. Stanford University – Introduction to Robotics
  2. Natural Language Processing
  3. Machine Learning

Learn how to build compilers

  1. Coursera – Compilers

Learn cryptography

  1. Coursera – Cryptography
  2. Udacity – Applied Cryptography

Learn Parallel Programming

  1. Coursera – Heterogeneous Parallel Programming

Work on projects outside of the classroom.

Notes: Create and maintain a website, build your own server, or build a robot.

  1. Apache List of Projects
  2. Google Summer of Code
  3. Google 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.

  1. GitHub
  2. Kiln

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.

  1. CodeJam
  2. ACM ICPC

Become a Teaching Assistant

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. Applications are usually accepted several months in advance.

Latest post

  • Download SAPS Police Trainee Application Form
  • Common Mistakes in the Stock Exchange
  • Solid Reasons to Choose Huawei Matebook 13
  • Specifications of Huawei P Smart 2021
  • Watch Fit 2 Huawei as a New Fitness Tracker 
  • Useful Math Website for Students – AssignMaths.com: Your Savior from Boring Assignments 
  • How to Immigrate to Canada as a Dentist
  • How To Get More Media Coverage for Your Business
  • How To Have the Perfect Girls’ Night In
  • What Is the Benefit of Being an ISO 27001 Certified?
  • Benefits of Using Hostgator for Your Business Website
  • Forex trading strategies to help you win big
  • DPSA circular lists for Government Vacancies 2022
  • No Certified Copies Needed For Government Job Applications any more
  • South Africa SA Government Jobs: Circular 17 of May 2022
  • South Africa SA Government Jobs: Circular 16 of May 2022
  • How To Plan for Health Care Expenses in College
  • Why Your Restaurant Should Accept Cryptocurrency
  • 5 South African Highest paying jobs | No 5 receive (R616,000 Per year)
  • Top 5 job ideas for inexpert people

Follow

Subscribe to notifications

Enter Your Name and E-mail Address to Get Updates




©2022 Khabza Career Portal | Theme by SuperbThemes