Skip to content

Commit

Permalink
+++
Browse files Browse the repository at this point in the history
  • Loading branch information
Offirmo committed Oct 11, 2024
1 parent 9ac80ca commit 967d0f4
Show file tree
Hide file tree
Showing 20 changed files with 234 additions and 24 deletions.
5 changes: 5 additions & 0 deletions stack--current/0-CONTRIBUTING/10-toolchain.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ TODO evaluate Rpack https://rspack.dev/
## linting

TODO re-evaluate ESLint https://eslint.org/blog/2024/07/whats-coming-next-for-eslint/
https://eslint.org/blog/2024/10/eslint-json-markdown-support/

TODO https://biomejs.dev/

## environment manager
Expand Down Expand Up @@ -139,3 +141,6 @@ https://github.com/folke/ultra-runner
- TODO evaluate https://yarnpkg.com/features/release-workflow
- TODO evaluate changesets
https://www.totaltypescript.com/how-to-create-an-npm-package


TODO https://knip.dev/
6 changes: 6 additions & 0 deletions stack--current/0-meta/tsconfig.json.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ REMINDER: the build script relax a few rules in dev mode (--watch), see `build-t
* added nouncheckedsideeffectimports https://devblogs.microsoft.com/typescript/announcing-typescript-5-6/#the---nouncheckedsideeffectimports-option
*

### PENDING 2024/10/11 5.7
https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/

path rewriting `allowImportingTsExtensions true "rewriteRelativeImportExtensions": true,`
es2024

### 2024/08/29

big pass following some issues
Expand Down
1 change: 1 addition & 0 deletions stack--current/2-foundation/prettify-any/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,4 @@ Note: was formerly using prettyjson and got inspired by it.
"@types/prettyjson": "^0.0.30",

TODO review https://github.com/jestjs/jest/tree/main/packages/pretty-format
TODO review https://www.npmjs.com/package/@parischap/pretty-print
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ MUST be semantic!!


* TODO device detection to refine the inset? https://css-tricks.com/snippets/css/media-queries-for-standard-devices/

TODO https://css-tricks.com/recipes-for-detecting-support-for-css-at-rules/
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Color selection
* https://uxmovement.com/content/why-you-should-never-use-pure-black-for-text-or-backgrounds/
* https://ianstormtaylor.com/design-tip-never-use-black/
* https://bestmotherfucking.website/ is using true white/black
* Ideas "Alternatives to Using Pure Black" https://codepen.io/marcobiedermann/pen/ExqKeoW
* Github is using rgb(36, 41, 47)

### TODO additional themes?
Expand Down
3 changes: 3 additions & 0 deletions stack--current/3-advanced--browser/css--reset/NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ TODO look at https://wiki.csswg.org/ideas/mistakes


TODO https://survey.devographics.com/en-US/survey/state-of-html/2023/yFuZtjtGXu0jQtnJNbota/finish


https://fxdx.dev/ "Firefox Developer Experience"
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@
* can't style "details"
* progress becomes greyed when out of focus
*


https://webkit.org/blog/15865/webkit-features-in-safari-18-0/
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@


## overall direction

IC or management ?
TL vs PM vs EM ?

https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/

"director ceiling" https://www.reddit.com/r/ProductManagement/comments/10ldwq7/how_to_make_the_jump_from_senior_to_director_at_a/


------------------------------------------------------------------------------------------
https://www.teamblind.com/post/Made-it-to-FAANG-Director-without-a-single-promotion-ever-NS2LaxE7
https://www.teamblind.com/post/Made-it-to-FAANG-director-without-a-promotion-ever-HVX5th8f

I finally (recently) made it to FAANG Director without ever being promoted in my entire career.
Expand Down Expand Up @@ -52,18 +65,106 @@ New btw, is my own company that I use to manage my rental properties.
TC 1.1million
Yoe 15
Net worth 8 million (single income family)
------------------------------------------------------------------------------------------


## Day performance (minimum pre-requisite)


### perf categories
* demonstrable impact from main role
* ex. dev = code, PRs, tickets implemented, features shipped, bugs fixed
* Engineering Excellence AKA “I do hard things”
* Code reviews that I’ve given that I’m proud of.
* Direction = Technical decisions and proposals
* Organizational Impact
* interviews
* mentoring

https://www.techinterviewhandbook.org/understanding-compensation/

### evidences / data signals
* Take weekly notes!
* Beware of recency bias! Polish your start & end of review period!

https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/
1:1 notes

Pull requests
Jira tickets
Documentation, Architectural diagrams and other artifacts

Relevant Slack threads, e.g. debating a technical decision (links & screenshots)

Projects you’ve both led and contributed to

Mentorship and development

Positive feedback from others:
Kudos
Slack call-outs
Thanks in retro
Verbal shout-outs from your manager or key stakeholders, public or private

Interviewing and recruiting successes/wins

Leadership opportunities, directly connected to your technical efforts or otherwise (e.g., community efforts, team-building exercises, implementing team-wide processes, helping with new hires onboarding, share performance/self-development tools)

### self-assessment

### individual goals

See SMART goals (MModels)


Descriptive action
(what you plan to do and who you plan to do it with)

Outcome you want to achieve
(result)

Specific success measure
(metric)

Due date
(timeline)


Also:
- manager: 1. Build a shared understanding of expectations and goals from the outset
- manager: 2. Distribute opportunities, support, and resources equitably
- manager: 3. Hold yourself accountable for providing timely, fair, and actionable feedback.


## progression


> Promotion is this carrot that dangles in front of you. When you focus on it, you’d be miserable.
> Always focus on actual work and scope. You’d be rewarded by jumping ship sooner than the next promo lands.

P3 should be learning how to engineer high quality software
P4 should be doing the lion’s share of engineering
P5 should be leading your team’s execution on engineering
P6 should be driving action in your teams, after identifying opportunities themselves


## job change

### offboarding
* internal blog posts
* networking
* private files on own computers
* CV blurbs, incl. numbers!!


### onboarding
* meet everyone
* "what should I know?"
* "who should I meet?"



## TOSORT

"director ceiling" https://www.reddit.com/r/ProductManagement/comments/10ldwq7/how_to_make_the_jump_from_senior_to_director_at_a/


startups
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ antisèche https://docs.google.com/spreadsheets/d/1KBBw1IkffjMwoy6anErauYwmKkVMW

funnel https://posthog.com/newsletter/how-to-get-job-startup

https://www.techinterviewhandbook.org/understanding-compensation/


https://www.techinterviewhandbook.org/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ IAM -- CIAM "Customer Identity and Access Management" = a type of identity and a
IAM -- CIAM -- 01 Improves customer registration and login experiences while reducing the risk of account takeover (a rampant problem in the consumer space because of password reuse)
IAM -- CIAM -- 02 Offers customized and branded experiences for consumers, businesses, and enterprise customers
IAM -- CIAM -- 03 Provides a scalable solution that can support hundreds of millions of customers
IDE "You're not productive enough without a productive IDE"
IDE (Integrated Development Environment)
IDEALS
IDEALS -- 1 Interface segregation
Expand Down Expand Up @@ -282,6 +283,7 @@ languages -- weekend https://stackoverflow.blog/2017/02/07/what-programming-lang
layer -- abstraction
layers -- shearing
lazy-loading
legacy code = code without good testing coverage that we don’t recall writing https://www.booktopia.com.au/working-effectively-with-legacy-code-michael-feathers/book/9780131177055.html
let's deploy to production https://www.youtube.com/watch?v=5p8wTOr8AbU
LIFO
linked list
Expand All @@ -295,6 +297,7 @@ loop - breaking out of
LTS, maintenance LTS, active LTS https://nodejs.org/en/about/previous-releases
magic number
map
math https://math4devs.com/
MDN
memory -- heap
memory -- stack
Expand Down Expand Up @@ -476,6 +479,7 @@ test -- test double https://martinfowler.com/articles/mocksArentStubs.html
the room https://lethain.com/getting-in-the-room/
this
thread
threads -- virtual https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html
TLS "Transport Layer Security"
tool -- http://devdocs.io/
tool -- sprawl
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ client/server -- multi-tier architecture -- 03 business
client/server -- multi-tier architecture -- 04 data access
client/server -- multi-tier architecture https://en.wikipedia.org/wiki/Multitier_architecture
collaborative experiences https://zknill.io/posts/collaboration-no-crdts/
design -- intuitiveness vs. confusing, cluttered, dense, not practical, lack of visual hierarchy
design -- ease of use vs. clunky, all over the place,
design -- design aesthetic
components https://www.componentdriven.org/
Contrast ratio https://www.siegemedia.com/contrast-ratio
CORS (Cross-Origin Resource Sharing)
Expand Down Expand Up @@ -106,6 +109,12 @@ CSS -- zoom https://www.oddbird.net/2024/07/09/zoomies/
CSS https://developer.mozilla.org/en-US/docs/Learn/CSS/First_steps/Getting_started
dark patterns -- hall of shame https://hallofshame.design/
dark patterns https://www.uxtigers.com/post/dark-design
data fetching -- 1 fetch on render
data fetching -- 2 Fetch-Then-Render
data fetching -- 3 Render-as-You-Fetch
data fetching -- 3 Render-as-You-Fetch -- Relay EntryPoints https://github.com/relay-tools/typescript-relayjs-examples/issues/1
data fetching -- preload-on-intent
data fetching https://17.reactjs.org/docs/concurrent-mode-suspense.html#traditional-approaches-vs-suspense
data fetching https://martinfowler.com/articles/data-fetch-spa.html
design -- guides https://owickstrom.github.io/the-monospace-web/
design quality -- 1 Intuitiveness vs complicated, overwhelming, cluttered, steep learning curve, significant cognitive load.
Expand All @@ -131,6 +140,7 @@ DOM -- Nodes -- 10 Document Type = <!DOCTYPE html>
DOM -- Nodes -- 11 Fragment
DOM -- Nodes -- types = ELEMENT, ATTRIBUTE, TEXT, CDATA, PROCESSING_INSTRUCTION, COMMENT, DOCUMENT, DOCUMENT_TYPE https://devdocs.io/dom/node/nodetype
DOM tree = Nodes = text, elements, attributes, comments... includes elements such as <body> and <table>, among many others.
ECMA -- 2024 https://socket.dev/blog/tc39-advances-10-ecmascript-proposals-key-features-to-watch
ECMAScript - European Computer Manufacturers Association Script (ES)
emojis https://nolanlawson.com/2024/09/17/the-continuing-tragedy-of-emoji-on-the-web/
events -- event delegation
Expand All @@ -157,6 +167,7 @@ hypermedia
hypertext
i18e Ecosystem Performance = Cleanup, Speedup, Levelup. One Package at a time. https://e18e.dev/
iframe
spirit -- browsing https://christianheilmann.com/2024/09/15/lets-bring-back-browsing/
iframe -- fenced
iframe -- sandbox
iframe -- seamless
Expand All @@ -167,6 +178,7 @@ JS -- book -- Exploring JavaScript (ES2024 Edition) https://exploringjs.com/js/b
JS -- exports https://webpack.js.org/guides/package-exports/
JS -- tasks & microtasks https://devdocs.io/dom/html_dom_api/microtask_guide
JSON - Javascript Object Notation
latency -- high latency environments https://csswizardry.com/2024/09/optimising-for-high-latency-environments/
layout composer https://github.com/namecheap/ilc
lazy loading -- preloading https://www.differentshelf.com/lazy-loading-isnt-just-lazy-its-late-the-web-deserves-faster/
lib -- react -- v19 https://vercel.com/blog/whats-new-in-react-19
Expand All @@ -176,12 +188,13 @@ MIME - Multipurpose Internet Mail Extensions
monitoring -- labs = made by a lab, ex. camera
monitoring -- Real user monitoring (RUM) = passive monitoring technology that records all user interaction with a website or client interacting with a server or cloud-based application (vs. lab) https://en.wikipedia.org/wiki/Real_user_monitoring
monitoring -- synthetic = own test bot https://en.wikipedia.org/wiki/Synthetic_monitoring
native apps with JS https://v2.tauri.app/
node -- tenant isolation = node is single thread, hence issues with security, esp. AWS lambda! solutions: workerd?
organic vs inorganic concept = coming from a real user or a bot/AI or app etc.
perf -- content jump = https://css-tricks.com/content-jumping-avoid/
perf metrics -- "9 must known" https://twitter.com/alexxubyte/status/1769748487317651962
perf metrics -- core web vitals -- 01 Largest Contentful Paint (LCP) = loading performance. LCP must occur within 2.5 seconds of when the page first starts loading
perf metrics -- core web vitals -- 02 Interaction to Next Paint (INP) = interactivity. To provide a good user experience, pages must have a INP of 200 milliseconds or less.
perf metrics -- core web vitals -- 02 Interaction to Next Paint (INP) = interactivity. To provide a good user experience, pages must have a INP of 200 milliseconds or less. https://www.debugbear.com/blog/inp-element-interactions
perf metrics -- core web vitals -- 03 Cumulative Layout Shift (CLS) = visual stability. To provide a good user experience, must should maintain a CLS of 0.1. or less.
perf metrics -- core web vitals -- First Input Delay (FID) DEPRECATED https://web.dev/articles/fid
perf metrics -- core web vitals https://web.dev/articles/vitals https://web.dev/explore/learn-core-web-vitals
Expand Down Expand Up @@ -248,6 +261,7 @@ UI -- views
User Agent Interface (UA) https://www.bram.us/2021/07/08/the-large-small-and-dynamic-viewports/#large-viewport
UX -- Above the fold = is the area of a webpage that fits in a browser window without a user having to scroll down. This is the content that is first seen by the user and often dictates whether they’ll continue reading the webpage.
UX -- honeycomb = useful + usable + findable + desirable + accessible + credible = valuable https://en.wikipedia.org/wiki/User_interface#A_model_of_design_criteria:_User_Experience_Honeycomb
vanilla https://plainvanillaweb.com/index.html
viewport
viewport -- small <= dynamic <= large
viewport -- visual
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

6 Reasons Users Hate Your New Feature https://www.slicedbreaddesign.com/blog/6-reasons-users-hate-your-new-feature
[ ] https://skamille.medium.com/
[ ] personal MBA
Expand All @@ -17,6 +16,9 @@ computers should adapt to users = not necessarily if the solution is good (ex. t
core actions
core actions -- active users
core mental models (of the product)
CSAT -- visual appeal
CSAT -- hard to move
CSAT
customer segmentation = Strategic, Enterprise, Mid-Market, SMB
earliest -- 01 feedback-able product (EFP)
earliest -- 02 testable product = first release that customers can actually do something with
Expand Down Expand Up @@ -58,6 +60,7 @@ first-mover advantage https://en.wikipedia.org/wiki/First-mover_advantage
funnel
Go-To-Market (GTM) = plan of an organization, utilizing their outside resources (e.g., sales force and distributors), to deliver their unique value proposition to customers and to achieve a competitive advantage https://en.wikipedia.org/wiki/Go-to-market_strategy
growth +++ https://growth.design/
growth -- bundles
growth -- cognitive load
growth -- concepts https://growth.design/psychology
growth -- friction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
[ ] concepts https://dgraph.io/docs/design-concepts/
[ ] great articles https://dgraph.io/blog/
[ ] https://carloarg02.medium.com/how-i-scaled-amazons-load-generator-to-run-on-1000s-of-machines-4ca8f53812cf
[ ] https://discord.com/blog/how-discord-stores-trillions-of-messages
[ ] https://medium.com/@sureshpodeti/system-design-twitter-a98e7d134634
[ ] https://newsletter.pragmaticengineer.com/p/building-the-threads-app
[ ] https://slack.engineering/scaling-datastores-at-slack-with-vitess/
Expand Down Expand Up @@ -393,6 +394,11 @@ scaling ~ elasticity
search -- https://vespa.ai/ (NO OpenSearch)
security
serverless
serverless -- debugging sucks, but can be alleviated by fast dev-cycle and using unit tests/not including too much code in Lambda itself
serverless -- Default architecture everyone arrives at seems to be: Lambda → SQS/SNS/Kinesis → Lambda
serverless -- Deploy your app as one (all Lambdas as one, rather than each Lambda individually). Cloudformation helps (blue green deployments FTW)
serverless -- Don’t break things down too small (dare I say microservices). Keep your lambdas and code grouped logically rather than striving for smallest unit of work
serverless -- forces devs into working within limits - mainly memory and time per lambda function invocation. This then forces good habits around breaking down complex operations, which by default results in better resilience and scalability. E.g. we have to break down large rule executions into multiple executions per issue (instead of processing 1000s of issues in bulk)
service
service = software functionality https://en.wikipedia.org/wiki/Service_(systems_architecture)
service availability
Expand Down
Loading

0 comments on commit 967d0f4

Please sign in to comment.