Skip to content

Instantly share code, notes, and snippets.

@deeTEEcee
Last active February 25, 2020 02:34
Show Gist options
  • Save deeTEEcee/488169b6787f0c241b97303522440e9f to your computer and use it in GitHub Desktop.
Save deeTEEcee/488169b6787f0c241b97303522440e9f to your computer and use it in GitHub Desktop.
My Software Engineer Important Knowledge

How to onboard a new engineer?

  • Show general architecture through diagrams and concrete examples.
  • There should be clear enough instructions that a new onboarding engineer can just look through a document and follow that to setup a local development environment and be able to set breakpoints and play around with the environment. (Even startups with smaller code bases will fail to follow up on this because it's not "priority" but it definitely should be.)

** Top tips for Docker **

  • Docker images involve layers which means more is stored than the commands in front of you. Many times, you have caches that are saved.
    • You might want to remove those caches.
    • Anytime you need to remove (or maybe even modify) a file in the same directory, pack all those commands in the same "docker command" and &&. (An example reason for this is if you had a cache that you wanted to remove, placing that rm command in the next docker command will force that cache to still be stored in docker layers).
  • When modifying docker files, think in terms of "top-bottom." Whenever you modify a command at the top, it forces the layers below to get updated. So when you modify a command in line 1, the next time a docker image gets pulled, it will have to download all the new layers?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment