Categorias
great stuff

Outbox Pattern. This document is part of Unico’s Dev… | by Cassio R. Eskelsen | Único | Dec, 2024 | Medium

medium.com/unicoidtech/outbox-pattern-40e52ef68019
Sent from my iPhone
Categorias
great stuff

A beginner’s guide to database locking and the lost update phenomena – Vlad Mihalcea

vladmihalcea.com/a-beginners-guide-to-database-locking-and-the-lost-update-phenomena/
Sent from my iPhone
Categorias
great stuff

The TRUTH About Brazil | Worth Visiting? Is it safe? Best things to do?

Categorias
great stuff

Things they didn’t teach you about Software Engin…

https://vadimkravcenko.com/shorts/things-they-didnt-teach-you/

 

Categorias
great stuff

grep.app | code search

Search across a half million git repos
Sent from my iPhone


Sent from my iPhone
Categorias
great stuff

10 GitHub Repos To Make You a Better Developer. G…

https://medium.com/@AmanPawasker/10-famous-github-repositories-that-will-make-you-a-better-developer-guaranteed-e7342e2f6f1b
Categorias
great stuff

So many bad takes — What is there to learn from the Prime Video microservices to monolith story | by adrian cockcroft | May, 2023 | Medium

adrianco.medium.com/so-many-bad-takes-what-is-there-to-learn-from-the-prime-video-microservices-to-monolith-story-4bd0970423d4

Categorias
great stuff

ORMs are nice but they are the wrong abstraction…

workdad.dev/posts/orms-are-nice-but-they-are-the-wrong-abstraction/

Categorias
great stuff

Multi-Channel Notifications Service with Spring-B…

blog.stackademic.com/multi-channel-notifications-service-with-spring-boot-3-apache-camel-camel-whatsapp-85ab7942666f
Categorias
great stuff

GitHub – kuchin/awesome-cto: A curated and opinio…

github.com/kuchin/awesome-cto
Sent from my iPhone
Categorias
great stuff

Software Engineering at Google

abseil.io/resources/swe-book/html/toc.html
Sent from my iPhone
Categorias
great stuff

GitHub – deepseek-ai/DeepSeek-LLM: DeepSeek LLM:…

github.com/deepseek-ai/DeepSeek-LLM
Sent from my iPhone
Categorias
great stuff

Invent 2023?—?Werner Vogels Keynote Recap. | b…

walid.io/re-invent-2023-warner-vogels-keynote-recap-ad2e24a33676
Sent from my iPhone
Categorias
great stuff

Mastering Effective Prompting Part 1

www.ai-engineer.me/mastering-effective-prompting-part-1-2/

Categorias
great stuff

Don’t use DISTINCT as a “join-fixer” – Simple Talk

www.red-gate.com/simple-talk/databases/sql-server/t-sql-programming-sql-server/dont-use-distinct-as-a-join-fixer/
Sent from my iPhone
Categorias
great stuff

Measuring developer productivity? A response to M…

tidyfirst.substack.com/p/measuring-developer-productivity-440?utm_medium=web
Sent from my iPhone
Categorias
great stuff

guide/style.md at master · uber-go/guide · GitHub

github.com/uber-go/guide/blob/master/style.md
Categorias
great stuff

Como evitar o fallback em sistemas distribuídos

https://aws.amazon.com/pt/builders-library/avoiding-fallback-in-distributed-systems/

 

Evitar o fallback em sistemas distribuídos

Categorias
great stuff

System Design Blueprint: The Ultimate Guide | by Love Sharma | Apr, 2023 | Dev Genius

Developing a robust, scalable, and efficient system can be daunting. However, understanding the key concepts and components can make the…

Origem: System Design Blueprint: The Ultimate Guide | by Love Sharma | Apr, 2023 | Dev Genius

Categorias
great stuff

Architecture of a neobank – Starling Bank

Architecture of a neobank – Starling Bank

Starling Bank is the third largest – after Revolut and Monzo – among those digital banks referred to as challenger banks or neobanks in the UK. Starling Bank is a 100% cloud-based, mobile-only digital bank with a modern architecture designed based on the best practices in security, reliability, and resilience. It provides fintech developers with innovative APIs for account opening, payments, loans, etc., as well as a developer platform, custom backend ledger, and functionality for integration with Apple Pay and Google Pay.

The architecture of Starling Bank is based on the following principles:
1. Microservice architecture
2. Do everything at least once at most once
3. Async + Idempotence + Retry
4. Each service constantly working towards correctness
5. Often achieve Idempotence by immutability 
6. No distributed transactions
7. Don’t trust other services

Backend technology stack
1. Java services in Docker and CoreOS
2. AWS: EC2, VPC, CloudFormation
3. REST (JAX-RS)
4. PostgreSQL
5. Jetty, Guice, Guava, Hystrix
6. Homegrown libraries: SQL database access layer, configuration, command line, background processing
7. No Spring, no JEE app servers, no Kubernetes, no Terraform 
8. Prometheus for monitoring
9. ELK for log aggregation
10.PagerDuty for incident alerting

Builds and deployments
1. Continuous deployment to non-prod, sign off into prod
2. Auto build, dockerize, test, scan, deploy < 1 hr
3. Code release to production up to 5 times a day
4. Single stateless service per instance
5. Rolling deployments by termination

An interesting question is: How do they achieve data consistency without transactions? The answer is that they use an approach in which each microservice constantly works towards data consistency. In this way, the system implements eventual consistency. It is acceptable in most cases, except for card transactions, for which it is important to know the correct, up-to-date balance when a customer is about to use a card. To guarantee data consistency, they use two patterns, which are at the foundation of this architecture:
1. Recoverable Command
2. Catch-up processor

public interface RecoverableCommand{
void process(UUID uid);
int markItemAsProcessed(UUID uid);
}
public abstract class CatchupProcessor implements Runnable{
protected abstract Stream<UUID> selectItems();
protected abstract RecoverableCommand recoverableCommand();
}

If a microservice fails to execute a command, the catch-up processor will try to re-execute it and fix the data. They both work with object ID parameters while the context data is stored in the DB. Catch-up processing gets triggered by the scheduler every 5 minutes. This approach makes microservices stateless and resilient. An EC2 instance with a stateless microservice can be safely restarted at any moment, which is critical for resilience and scalability.

Categorias
great stuff

Free Programming Books – GoalKicker.com

Free Programming Books on Android development, C, C#, CSS, HTML5, iOS development, Java, JavaScript, PowerShell, PHP, Python, SQL Sever and more

Origem: Free Programming Books – GoalKicker.com

Categorias
great stuff

“The Hot Potato Process,” an article by Dan Mall

A better way for designers and developers to truly work together.

Origem: “The Hot Potato Process,” an article by Dan Mall

Categorias
great stuff

Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

Designing Loggi’s event-driven architectureA new chapter for Loggi’s services communication

Origem: Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

Categorias
great stuff

Hyperlaps

Hyperlaps© was created by hand in an artisanal way by an individual and during this tutorial, you will be advised the same parts, the same materials and tools which were used to create the game which you can see in the gameplay video of the home page.
Sent from my iPhone
Categorias
great stuff

Google Cloud Functions Tutorial – DevOps by Example

  • How to create Google Cloud Functions using GCP Console, gcloud cli, and terraform
  • How to authenticate Cloud Functions using service accounts and IAM policies
  • How to use secrets in Cloud Functions using Secret Manager
  • How to deploy Cloud Functions from GitHub using Cloud Build triggers
  • How to set up CI/CD for Cloud Functions using GitHub Actions and gcloud cli
  • How to run Cloud Functions locally using functions-framework
  • How to trigger Cloud Functions on Pub/Sub messages using Pub/Sub topics and subscriptions
  • How to trigger Cloud Functions on Cloud Storage changes using storage notifications
  • How to integrate API Gateway with Cloud Functions using OpenAPI specifications

Origem: Google Cloud Functions Tutorial – DevOps by Example

Categorias
great stuff

Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

 

A new chapter for Loggi’s services communication

Origem: Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

Categorias
great stuff

Cache miss attack – by Alex Xu – ByteByteGo Newsletter

Caching is awesome but it doesn’t come without a cost, just like many things in life. One of the issues is ????? ???? ??????. Please correct me if this is not the right term. It refers to the scenario where data to fetch doesn’t exist in the database and the data isn’t cached either. So every request hits the database eventually, defeating the purpose of using a cache. If a malicious user initiates lots of queries with such keys, the database can easily be overloaded.

Origem: Cache miss attack – by Alex Xu – ByteByteGo Newsletter

Categorias
great stuff

Em todas as minhas empresas, eu sempre tive sócios ao meu lado.

Em todas as minhas empresas, eu sempre tive sócios ao meu lado. E, depois de mais de 20 anos de experiência, aprendi que todo negócio deveria ter 3 tipos de sócios:

1) Hustler

Perfil: agressivo, comunicativo e tomador de risco
Função: liderar as organizações
Responsabilidades: contratação, vendas, relações públicas, e captação de investimento ou financiamento

2) Maker
Perfil: técnico, racional e crítico
Função: construir as soluções das organizações
Responsabilidades: desenvolvimento e manutenção de produtos (P&D)

3) Manager
Perfil: racional, analítico e organizado
Função: manter a garantir longevidade para as organizações
Responsabilidades: organizar processos, ferramentas e burocracias para facilitar o trabalho do Hustler

Categorias
great stuff

What Is ChatGPT Doing … and Why Does It Work?—Stephen Wolfram Writings

Stephen Wolfram explores the broader picture of what’s going on inside ChatGPT and why it produces meaningful text. Discusses models, training neural nets, embeddings, tokens, transformers, language syntax.

Origem: What Is ChatGPT Doing … and Why Does It Work?—Stephen Wolfram Writings

Categorias
great stuff

Saga Pattern in Microservices | Baeldung on Computer Science

 

Learn about the Saga architecture pattern to implement distributed transactions in a microservice-based application.

Origem: Saga Pattern in Microservices | Baeldung on Computer Science

Categorias
great stuff

The Distributed Computing Manifesto | All Things…

www.allthingsdistributed.com/2022/11/amazon-1998-distributed-computing-manifesto.html
Sent from my iPhone
Categorias
great stuff

25 nooby Python habits you need to ditch

https://youtu.be/qUeud6DvOWI
Sent from my iPad
Categorias
great stuff

github.com-jwasham-coding-interview-university_-_2022-09-13_02-38-11 : jwasham : Free Download, Borrow, and Streaming : Internet Archive

What is it?This is my multi-month study plan for becoming a software engineer for a large company.Required: * A little experience with coding (variables, loops, methods/functions, etc)* Patience* Time

Origem: github.com-jwasham-coding-interview-university_-_2022-09-13_02-38-11 : jwasham : Free Download, Borrow, and Streaming : Internet Archive

Categorias
great stuff

Top 5 Coding Interview MISTAKES (from a Google Engineer) – YouTube

Categorias
great stuff

What Are Microservices Really All About? (And When Not To Use It)

https://youtu.be/lTAcCNbJ7KE
Sent from my iPad
Categorias
great stuff

System Design Interview Template | Ace the System Design Interview

A system design interview usually lasts for 45-60 minutes and involves solving an abstract design problem. The problem would be something like ‘Design WhatsApp’. You would not be provided with any other requirements at this stage. This template would help you figure out how to ace the system design interview.

Origem: System Design Interview Template | Ace the System Design Interview

Categorias
great stuff

Evolução e retenção de produtos no Kekanto: técnicas e práticas

Com base na experiência de criar e evoluir o Kekanto por sete anos, vamos apresentar estratégias e dicas práticas para evoluir o produto. Serão discutidas táticas de como medir o engajamento dos usuários, compreender funcionalidades com maior fonte de retenção e a importância da primeira sessão em um app. Também mostraremos estratégias de push notification.

Origem: Evolução e retenção de produtos no Kekanto: técnicas e práticas

Categorias
great stuff

Monitoring & Observability – KnowledgeShop

Monitoring & Observability Overview Monitoring Types Why Monitor? 4 Golden Signals Anti-patterns Design Patterns Telemetry Data Components 1) Data …

Origem: Monitoring & Observability – KnowledgeShop

Categorias
great stuff

WHAT IS BITCOIN AND WHY IT HAS VALUE. BEST EXPLANATION EVER.

https://youtu.be/8qc6h3fTB2I
Sent from my iPad
Categorias
great stuff

What is complexity theory? (P vs. NP explained visually)

https://youtu.be/u2DLlNQiPB4
Sent from my iPad
Categorias
great stuff

Understanding System Design of Netflix: Backend A…

medium.com/@nidhiupreti99/understanding-system-design-of-netflix-backend-architecture-and-cloud-services-b077162e45bc
Sent from my iPhone
Categorias
great stuff

Top 20 Alternatives to Draw.io / Diagrams.net for Cloud Architecture | Medium

Top 20 Alternatives to Draw.io are: Brainboard, Lucidscale, IcePanel, Terrastruct, Fugue, Cloudmaker, Cloudcraft, and Cloudokit.

Origem: Top 20 Alternatives to Draw.io / Diagrams.net for Cloud Architecture | Medium

Categorias
great stuff

github.com-jwasham-codinguniversity_-_2022-09-13_02-38-11 : jwasham : Free Download, Borrow, and Streaming : Internet Archive

archive.org/details/github.com-jwasham-coding-interview-university_-_2022-09-13_02-38-11
Sent from my iPhone
Categorias
great stuff

6.6. Natural Language Processing — Effective Pyth…

khuyentran1401.github.io/Efficient_Python_tricks_and_tools_for_data_scientists/Chapter5/natural_language_processing.html
Sent from my iPhone
Categorias
great stuff

The new Raspberry Pi Pico W is just $6

https://youtu.be/VEWdxvIphnI
Sent from my iPad
Categorias
great stuff

Sundar Pichai has added $1.11T to Google’s market cap.

His counter-intuitive advice? “You have to reward effort, not outcomes”

It’s basically heresy. “Outcomes, not output” is THE mantra amongst product leaders and books like Inspired. Why is Sundar, a former PM himself, praising efforts over outcomes?

1. Google’s Increased Conservatism
2. What You Can Control
3. The Pendulum Swung Too Far

1. Google’s Increased Conservatism
When Sundar joined Google in 2004, it was very different from when he became CEO in 2015. In 2004, people believed any problem could be solved. And the reward structures were built such that they felt they should try to.

By 2015, Google was not a young unprofitable startup pursuing aspirational bets. It was a conservative profit machine focused on growing its great businesses. This meant folks were not taking the same big, low probability bets Google needed.

The company needed to reward the effort involved with these low probability outcomes.

This made rewarding effort, not output, the solution. The Google advice need not apply in situations where people are risk-taking. But it does in conservative environments.

2. What You Can Control
You can’t control outcomes. You can control outputs. You can control your effort and attitude, learning and quality of features. Outcome focus rewards the lucky and punishes the unlucky.

3. The Pendulum Swung Too Far
Google is famous for its use of OKRs to set goals & evaluate product teams. This approach completely ruled out outputs to focus on outcomes. But it had the result of penalizing good product teams in bad markets. It needed to come to the middle.

In summary, Google is zigging where others are zagging. It’s focusing on outputs and effort, not just outcomes. Consider if you should too.

https://www.linkedin.com/feed/update/urn:li:share:6948388764972965888?utm_source=linkedin_share&utm_medium=member_desktop_share&utm_content=post

Categorias
great stuff

Fast and reliable endend testing for modern w…

playwright.dev/
Sent from my iPhone
Categorias
great stuff

Diagrams · Diagram as Code

diagrams.mingrammer.com/
Sent from my iPhone
Categorias
great stuff

Awesome Software Architecture

Curated list of awesome articles and resources to learn and practice software architecture, patterns and principles. this repository will be updated continuously, keep yourself up to date .I created this repository to share a set of links that I found valuable and inspiring and I share them with others for improving our knowledge to

Origem: Awesome Software Architecture

Categorias
great stuff

A Netflix engineer did 7 onsites interviews for 7 tech companies.

A Netflix engineer did 7 onsites interviews for 7 tech companies.  Received 7 offers ranging $325k – $800k a year. He/she shared the resources in Blind that helped her/him to be successful. Here they are:
1. Leetcode
Always ask clarifying questions, they are meant to be vague.
Tech Interview Handbook (solve 50 suggested LCs multiple times): https://lnkd.in/dbK9TasP
Grokking Coding Interview:
Solve each question yourself before looking at answers. After struggling with certain topics, found some youtube resources that were really helpful.
– Graph problems: https://lnkd.in/dT4brkwG 
– Kahn’s topsort: https://lnkd.in/dc8VzPx7
– Dijkstra’s shortest path: https://lnkd.in/djWD4ncp
– Kruskal’s MST: https://lnkd.in/dUaF7dDr
– Union find: https://lnkd.in/dmZSyGXq
– Dynamic programming: https://lnkd.in/d85BHsQp
I would say 1/2 of my coding questions was graph related, and I used topsort, MST, union find during my interviews so its worth knowing them well.
Great resource on Binary Search (esp. for harder variants): https://lnkd.in/dPVikn9e
Quite a few LC hards involve binary search as part of its solution, but its non-obvious.
At staff level, you are expected to have great communication, come up with one or more high level solutions in reasonable time with space and time complexity, implement mostly correct, and check for errors independently.
2. SYSTEM DESIGN 
Always ask clarifying questions, they are meant to be vague.
No. 1 tip: Pay for mock interviews, take extensive notes, study, pay for more interviews. I used igotanoffer.com. Try booking different interviewers, they have different expectations, communication, friendliness.
Grokking system design: https://lnkd.in/dKBtGDDG
It’s good to complete grokking, but in practice its a little too shallow for staff level.
Watch all videos and take notes from this channel: https://lnkd.in/d32sycXJ
Most other channels like Exponent are actually not great examples of a good interviewee for staff level.
Read papers on Dynamo, BigTable, MapReduce, Cassandra, Raft, Lamport Clocks, etc.
A lot of material written by this Medium writer is great: https://lnkd.in/d_4yxAA7
Memorize Jeff Dean’s latency numbers: https://lnkd.in/dq42yWsa
If you have time, read DDIA: https://dataintensive.net
I memorized mnemonics for structure of how I execute my interview, as well as for each topic. Like OSI model, caching strategies, load balancing strategies, database types, etc. You need to make up your own in order to ingrain them.
Number 2 tip: Every system design question has a point of contention. Is it storage? Latency? Where will the system start to break? This is pivotal to figure out asap.
Basic structure:
Requirements (functional / non-functional)
Estimations (focus on contention point)
System API
Data model
High level design (core components)
Detailed design (ask where to dive in)
Bottlenecks (scale, redundancy, SPOFs, metrics, logs, alerts, dashboards, pagerduty, deployment, failure scenarios)
As staff level interviewee, you are expected to lead the interview and provide alternatives, weigh pros & cons of each approach and commit to one with justification. Outside of typical system design topics, staff level also needs to consider costs, system complexity, and business aspects (e.g. CDN too expensive for free tier).
For most interviewers, you should be familiar with at least one database technology for each category (key value, document, columnar, relational, etc). For Google, they typically want you to design from fundamentals instead of using off the shelf technologies.
Number 3 tip: Listen intently to interviewer when they speak and take their hints.
3. BEHAVIORAL
Prepare an introduction about yourself. Keep it short and sweet, highlighting background and – a major accomplishment. (Don’t be afraid to sell yourself)
The resource itself isn’t that useful but should prepare answers from your own experience and recording yourself. Take time to reflect on your past few years and make sure you have answers about conflict, projects you led, giving/receiving feedback, and challenges you solved. Don’t lie.
STAR is a good structure for your stories but I learned a better story shape from this YouTuber.
Read “Staff Engineer”: https://staffeng.com/book
For each company, make sure you know their products, their company motto and values. I kept notes which I read a few mins before my onsite starts. Prepare plenty of questions to ask.