Technical and Non-technical tips

From a SWE

By Weiyuan Liu | Staff SWE, Hubble | GDE, Google Cloud

As you embark into the industry...

Being an engineer is easy

Being a good engineer is hard

Things I wish I could tell myself 5 years ago

Disclaimer!


Take away what you believe in, ask around, get more infoObjective, but also with some opinions

10 + 6 tips

In the Workplace

In the Workplace

Don't lock yourself to a framework / language

Don't lock yourself to a framework / language


Learn the principles, not just the language

Follow trends with some caution

Follow trends with some caution


  • Do your due diligence before adopting some technology
  • Some self-questions: is there enough adopters?

Use linters whenever you can

Use linters whenever you can


  • Structured code
  • Learn to write structured code

Be wary of creating long pull requests

Be wary of creating long pull requests


  • Huge PRs usually is harder to review and is prone to lower discovery of bugs. Some tips here.
  • Longer turnover for reviews
  • Split big PRs to smaller PRs with a descriptive title

Know when to ask for help

Know when to ask for help


  • If you are stuck on a problem for too long, ask for help!
  • Try to find the solution yourself first
  • If needed, talk to your manager/buddy at work and find a good balance

Drop the Arrogance

Drop the Arrogance


  • Don't take offense at feedback in pull requests (pride is ok, but not too far!)
  • Don't jump to rebutt, but give no action for recourse
  • Don't assume that that you know everything

Be a team player

Be a team player


  • When in doubt, ask for the reason why the feedback is required, without confronting
  • Vocal is good, + Listen is better
  • Don't silo knowledge

Use your shortcuts!

Use your shortcuts!


  • e.g: CMD + p (or CTRL + p) in code editors to quickly locate a file
  • CMD + arrow keys, or OPTION + arrow key, for faster travesal in characters
  • Challenge yourself - restrict using the trackpad/mouse for short periods of time

Environment

Environment


  • Unix based systems are generally better for development
  • Windows Subsystem for Linux (WSL) can also work

Hiring tips

Hiring tips


  • Prepare your algorithms
  • Don't oversaturate your resume with details
  • Be truthful and yourself

Outside the Workplace

Outside the Workplace

Do your side projects or open source

Do your side projects or open source


  • Expose yourself to other working styles
  • Learn something that you don't get to do at work

Participate/volunteer in community activities

Participate/volunteer in community activities


  • Lots of knowledge sharing comes from community events/conferences
  • Another avenue for networking
 

Teach/coach in boot camps and the likes

Teach/coach in boot camps and the likes


  • Hone your coaching / mentoring skills before you become a senior engineer
  • Another way to practice your skills outside of work

Public speaking and blogging

Public speaking and blogging


  • Recognized as a good engineer
  • Get feedback as well

Read, read and read

Read, read and read


  • Hackernews + newsletter
  • Books

Find a mentor

Find a mentor


  • Learn from their experiences
  • Network from public events

Let's talk more offline:


Linkedin / Github : bit.ly/weiyuan