Skip to content

AlexGalhardo/Software-Engineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Engineering

English Introduction

  • I created this repository while I was in college, mainly to save my notes and personal studies on software engineering as a backup.
  • Over time, many people started to give stars and fork this repository, especially Brazilians who are starting their studies in the area.
  • This repository also motivated me to create my personal website at the end of 2023, to do something more organized and to reach more people, mainly to improve my English studies as well, in addition to serving as a portfolio and sharing side projects that I have been doing in my free time for educational purposes.
  • In July 2024, I did a major refactoring of this repository with more information, content and better organization of the files.
  • I wish I had a reference like this with hundreds of other useful study references when I started studying programming and technology back in 2016.
  • I really enjoy sharing knowledge and making these study notes, whether for personal or professional purposes, I hope they are useful for you too.

PT-BR Introdução

  • Eu criei esse repositório enquanto estava na universidade, principalmente para salvar como backup, minhas anotações e estudos pessoais sobre engenharia de software.
  • Com o passar do tempo, muitas pessoas começaram a dar estrelinhas e fazer o fork desse repositório, principalmente brasileiros que estão começando os estudos na área.
  • Esse repositório também me motivou a criar meu site pessoal no final de 2023, para fazer algo mais organizado e para alcançar mais pessoas, principalmente para melhorar meus estudos em inglês também, além de servir como portfólio e compartilhar projetos paralelos que venho fazendo no meu tempo livre para fins didáticos.
  • Em julho de 2024 fiz uma grande refatoração nesse repositório com mais informação, conteúdo e melhor organização dos arquivos.
  • Eu gostaria de ter tido uma referência assim com centenas de outras referências úteis de estudo quando comecei a estudar programação e tecnologia la em 2016.
  • Uma boa parte desse repositório esta em português, e o restante em inglês. Dizer que aprender inglês em pleno século XXI é extremamente importante e essencial é clichê né.
  • Eu gosto bastante de compartilhar conhecimento e fazer essas anotações de estudos, seja para fins pessoais e profissionais, espero que elas sejam úteis para vocês também.

References

The 4 Steps to Competence

  • 1 - Unconsciously incompetent: “you don’t know how much you don’t know”
  • 2 - Consciously incompetent: “you know how much you don’t know”
  • 3 - Consciously competent: “you already know how much you know”
  • 4 - Wisdom: “unconsciously you don’t know how much you know”

The 4 Ways to Spend Money - Milton Friedman

According to economist Milton Friedman, there are 4 ways to spend money:

  1. Spend my money on me:
    • In this case, I have the incentive to look for the best value for money
    • Good service at a fair price
  2. Spending my money on other people:
    • In this type of situation, the objective is to save money, the price is more important than the quality of the service
    • An average service for a good price
  3. Spending someone else’s money on me:
    • In this case, money is spent with great attention to quality, but with little interest in seeking the best price
    • Excellent service at a high price
  4. Spending someone else’s money on a third party:
    • In a situation like this, there is little incentive to care about both service quality and price
    • Bad service for a high price or good service for an extremely high price

Principles

  • “Bad software that adds value > Perfect software that adds no value.”
  • “Learn to say: I DON’T Know, and if necessary, try to learn.”
  • “Premature optimization: the root of all evil.”
  • “Remember that dinosaurs are almost always the best references.”
  • “He who thinks little makes a lot of mistakes” - Leonardo da Vinci
  • "In God I trust. Everyone else must bring data.”
  • “Lack of money is the root of all evil.”
  • “There is no silver bullet.”
  • “Make it work > Do it correctly.”
  • “Increase revenue > reduce costs.”
  • “SaaS > PaaS > IaaS > In-House”
  • “You != Unicorn”
  • “Always try to understand what is happening under the hood.”
  • “Write code != program != software engineering”
  • “Maintenance > Performance”
  • “No metrics, no optimization”
  • “Never stop questioning”
  • “Software engineering is 80% THINKING about the problem, and 20% HOW to solve the problem.”
  • “The more knowledge you have, the less you know. EGO = 1 / knowledge.”
  • “Everyone should care about quality”
  • “At least 80% of the code of good software has been redone, shortened or better yet, deleted. Less is more."
  • “2+2 is not 5, no matter how many people say that.”
  • “Principles > Analogy.”
  • “Talk and learn from people smarter than you.”
  • “Always try to use the single source of truth.”
  • “Don’t reinvent the wheel. That’s what ready-made frameworks and libraries exist for.”
  • “It’s always good to study a tool in depth before putting it into production.”
  • “Modularization is everything.”
  • “Good artists copy, great artists steal.”
  • “Innovation only exists in a world of restriction, not abundance.”
  • “There will always be something to improve. Done is better than perfect.”

Information vs Knowledge

img

Knowledge vs Confidence

img

How we learn

img

Critical Thinking

img

Maslow's Pyramid

img



Always Have Fun


Stay Hungry, Stay Foolish