Software Engineering

Table of Contents

“The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform… But it is likely to exert an indirect and reciprocal influence on science itself.” - Ada Lovelace

“Software is a great combination between artistry and engineering.” - Bill Gates

“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” - M. Conway

Computers are good at tedium.

Why does one love programming? the simplicity and purity of the relationship, sound of keyboard, the feeling of control, the gratification of the outcome, the challenge of the puzzle, the room for improvement, the patience of the machine

TODO

  1. Newton’s method:
    1. https://en.wikipedia.org/wiki/Newton%27s_method
    2. https://go.dev/tour/flowcontrol/8
  2. OpenID Connect
    1. https://www.google.com/search?q=openid+connect+github+actions&sca_esv=6031b854f1326109&ei=hZVZZ8rnG5G8p84PmNKC8Ag&oq=openid+connect+git&gs_lp=Egxnd3Mtd2l6LXNlcnAiEm9wZW5pZCBjb25uZWN0IGdpdCoCCAIyCxAAGIAEGJECGIoFMgUQABiABDIFEAAYgAQyBRAAGIAEMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeSOkkUKoHWLgPcAF4AZABAJgBbaAB6AKqAQMzLjG4AQPIAQD4AQGYAgWgApMDwgIKEAAYsAMY1gQYR8ICDRAAGIAEGLADGEMYigWYAwCIBgGQBgqSBwM0LjGgB4MY&sclient=gws-wiz-serp
    2. https://developers.google.com/identity/openid-connect/openid-connect
    3. https://www.microsoft.com/en-us/security/business/security-101/what-is-openid-connect-oidc
    4. https://auth0.com/docs/authenticate/protocols/openid-connect-protocol
    5. https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect
    6. https://openid.net/developers/how-connect-works/

Tags

  1. Agile methodology
  2. Apache Camel
  3. API Versioning
  4. Asynchronous programming
  5. Bad programming practices
  6. Base64 encoding and decoding
  7. Build tools
  8. Caching
  9. Characters, Character Sets and Encodings
  10. Code aesthetics
  11. Compilers and LLVM
  12. Computing process, Thread and Scheduler
  13. Continuous integration and continuous delivery (CI/CD or CICD)
  14. Contexts and Dependency Injection (CDI)
  15. Convention Over Configuration
  16. cron schedules
  17. Dependency hell
  18. Disaster recovery
  19. Enterprise Search Engines
  20. Environment variables
  21. Error handling
  22. Git
  23. GitHub Actions
  24. gRPC
  25. Hosts file
  26. html and css
  27. Idempotence or Idempodent operation
  28. Inbound Outbound models in programming
  29. Linux
  30. Managing certificates in Java_Home and Websphere_Application_Server
  31. Multi threading and Concurrency
  32. Numeral Systems
  33. Object-Oriented Programming
  34. ObjectMapper
  35. OpenAPI
  36. Parsing Grammer Expressions and Specifications
  37. Path
  38. Performance Engineering
  39. Policy Language
  40. Process improvements
  41. Programming - how to get better at it
  42. Programming outside of work
    1. Open source projects
    2. To apply or not to apply
      1. Applying for a job in Silicon Valley companies
    3. Preparation
      1. What a Software engineer should know?
      2. Large Scale System Design and Architecture
      3. Example scenarios where a senior software engineer has to analyze huge amounts of data to solve problems
      4. The only 6 types of questions you need to know to ace any coding interview
      5. Coding challenges
        1. General tips for solving coding challenges
        2. Websites and other Resources to prepare for coding challenges
        3. Topics and questions for coding challenges
        4. Wordle Coding Exercise
        5. Knowledge gaps and ideas for Proof of concepts
        6. Some cool programs every programmer should make atLeast once
      6. Can you cheat recruitment process by practicing Algorithmic Puzzles?
      7. The 2 types of software engineering interviews and how to prepare for them
      8. What is the best way to prepare for Google interview in 3 months?
      9. How often do tech companies ask LeetCode Hard questions during interviews?
      10. Why do I need to know how to code on paper if it is only useful during an interview?
      11. How should I prepare for the Amazon online coding interview?
      12. Why is there a huge difference between algorithm questions in a technical interview and the actual software development?
      13. What does it take to crack Google’s interview?
      14. What questions were you asked in the programming interview for Google, Amazon, Facebook, or Microsoft?
      15. How to Crack Your Next Software Developer Job Interview: An Actionable Guide
    4. How databases store passwords securely
    5. How to interview engineers?
  43. Recursion
  44. Redis
  45. Regular Expressions (regex)
  46. Reverse proxy server
  47. Scripts to do something on multiple applications
  48. Short Circuit Evaluation
  49. Special characters in proxies
  50. Testing
  51. Toolbox
  52. Understanding programming
  53. Vulnerabilities
  54. Websphere Integration Developer
  55. Web developer
    1. Front end development

Links to this note