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. gRPC
  24. Hosts file
  25. html and css
  26. Idempotence or Idempodent operation
  27. Inbound Outbound models in programming
  28. Linux
  29. Managing certificates in Java_Home and Websphere_Application_Server
  30. Multi threading and Concurrency
  31. Numeral Systems
  32. Object-Oriented Programming
  33. ObjectMapper
  34. OpenAPI
  35. Parsing Grammer Expressions and Specifications
  36. Path
  37. Performance Engineering
  38. Policy Language
  39. Process improvements
  40. Programming - how to get better at it
  41. 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?
  42. Recursion
  43. Redis
  44. Regular Expressions (regex)
  45. Reverse proxy server
  46. Scripts to do something on multiple applications
  47. Short Circuit Evaluation
  48. Special characters in proxies
  49. Testing
  50. Toolbox
  51. Understanding programming
  52. Vulnerabilities
  53. Websphere Integration Developer
  54. Web developer
    1. Front end development

Links to this note