Introducing support for self-hosted GitLab repositories!
You can now seamlessly connect your self-hosted GitLab repositories to Choreo, allowing you to create, build, and deploy components.
In 2011, Netflix was in trouble.
They have dozens of internal services; if one fails, the error will break the UI.
20,000 requests per second, about 1,000,000+ requests from the API into upstream services in 10s.
They have no choice but to increase resiliency.
The solution was brilliant; they went beyond the classic CircuitBreaker.
3 strategies that will help you make your system resilient:
Fail Fast
You use this strategy when no reliable fallback mechanism is available.
Instead of trying, the system halts the operation when as soon as an error an error happens.
Providing immediate feedback to the other systems, saving system resources.
But it could impact the user experience.
Fail Silent
This strategy comes into play for optional or non-essential data.
In case of a failure, the API would return a null value or a default value instead of propagating the failure.
This way, the failure does not propagate, and the user might only notice if the data is critical to the operation.
Custom Fallback
Use this strategy when local data is available, for instance, in a cookie or local cache.
Instead of calling a failed service or DB, the system uses local data to provide a fallback response.
The user still receives a response even if it's not the most up-to-date or complete.
These strategies are not one-size-fits-all; you must find the one that fits your system.
The more you know your system, the better you can prepare it to bounce back from failure.
Too much information will ruin your life and peace.
Nemo is a 22 year old fresh CS graduate from BITS and just started living in Bangalore
After two years in Bangalore Nemo meets Shahrukh Khan at Church Street Social
Shahrukh Khan a serial entrepreneur makes $10 Million a year, selling mobile apps.
Nemo asks SRK, how can Nemo too earn like him?
SRK replies: Just start writing online, learn about marketing, content creation, audience building and you will get there.
But, Nemo is a FullStack Engineer fluent in JavaScript, Java, Distributed Systems and DSA
The last book Nemo read was "Designing Data Intensive Applications."
Whatever SRK said Nemo had never done those in his life and doesnโt interest him as well.
Confused Nemo.
Years passed Nemo is now 28
Nemo is on his evening walk with his then girlfriend in Kasol.
The himalayas are glowing in the golden hour accompanied by the sound of Parvati River and chirping birds.
Nemo suddenly bumps into Sundar Pichai
Excited Nemo asks Sundar his take on life and money
Sundar makes $30M a year from his job as the CEO of Google
Sundar says: If you want money, you have to work hard, get a degree from a premier institute, and deliver some of the best products of the world like Android, Chrome, etc.
Nemo is now motivated to delve deep into his passion of engineering.
He studied and gets a job in a FAANG as a Senior Software Engineer building some crazy products for billions
Happy Nemo.
Few years passed,
Nemo is now 30 years old, he has a lovely wife and a beautiful daughter
They are spending weekend night having dinner at Ritz Carlton, Bangalore.
All laugh and giggles suddenly Ritesh Agarwal (OYO Founder) enters the same hotel in his swanky car and cool outfit
Nemo saw Ritesh and thinks he should have started 10 years back and killed it like him. Now he is bound with a family and canโt take much risk.
Sad Nemo.
10 years later,
Nemo has $10M in net worth and so much passive income from his investments that he doesnโt need to work, and he's just 40.
Nemo has a lovely family and a very comfortable life if he starts something new itโd just be for fun or for a greater good.
Yet Nemo has an unanswered question
How does Nemo make $10M a year?
Every day he asks himself -
Did I take the right decisions?
Am I a failure?
What if I left my FAANG job and started on my own?
Sadly, thereโs no SRK, Sundar or Ritesh to answer his questions.
He is all alone and have to decide for himself.
Nemo is Finding Nemo.
-------
From a lens of an average person, Nemo is living a fantastic life, yet questioning himself everyday the question that are not worth it.
From Nemoโs journey we see that
- Nemo has a unique life, so does SRK, Sundar and Ritesh
- Nemo made huge money for himself. Eventually every honest work gets paid
- Too much information without context stole Nemoโs peace
So, how do Nemo save himself from these flood information and comparison that steals his peace?
1. Discard information like crazy
2. Question everything and compare if your life is identical to the other person. Mostly it wonโt be, so donโt worry.
3. Take advice from people of your area of interest. Like to build mobile apps ask SRK, want to run hotels ask Ritesh
4. Read books like emotional intelligence, an organized mind, design your thinking. It helps.
Information overload is a huge problem and learning how to navigate this flood of information is an urgent ask of the day.
Especially for software engineers because they are the most exposed profession.
A SWE processes tons of information daily either by learning or meeting new people or news.
Don't let information dictate your happiness.
=====
Like if you like Nemoโs story
Repost if you want to help someone
Comment your views - good or bad put it down there.
I am Sagar, I write notes on Software Engineering and Dev Life to entertain, educate and inspire people.
Join me for more.
Software design patterns you MUST know:
๐งฉ Singleton: One instance per class
๐ Observer: Monitor & notify object changes
๐ญ Factory: Method for creating objects
๐ Bridge: Decouple abstraction from implementation
๐ญ Proxy: Interface representing another object
๐ MVC: Separating applicationโs logic, UI, and data
โ๏ธ Chain of Resp.: Decentralized request handling
๐ Prototype: Clone objects for fresh instances
๐ Composite: Treat individual & group objects uniformly
๐๏ธ Command: Encapsulate request as an object
๐ค Mediator: Centralize external communications
๐ฆ Decorator: Add responsibilities dynamically
๐ฆ Adapter: Match interfaces of different classes
๐ผ Strategy: Define interchangeable algorithms
๐ช State: Allow objectโs state to change its behavior
๐ข Flyweight: Reuse objects by sharing common data
๐ Facade: Simplify access to complex subsystems
โ๏ธ Template: Prescribe method structure in an algorithm
๐ก๏ธ Proxy: Control access to an object or resource
๐ฒ Builder: Separate construction & representation
Mastering design patterns: the bridge from novice coder to seasoned developer.
Anything else you have used?
Please share ๐
If you want to increase your income, then master job interviews โ This skill will increase your earning potential 10X.
Here are 15 tips with a high rate of return, to get more job offers and negotiate a higher salary:
1) Being good at job interviews will increase your chances of being hired, even if you're not the most qualified.
You may not be the smartest in the room, but you can be the most prepared.
Being prepared will help you feel more confident and relaxed, and not nervous or caught off guard.
2) Always communicate your value proposition.
Highlight your relevant skills, experience, and accomplishments that make you the best fit for this specific role โ which are directly related to the job description.
Look at the job posting to understand the specific requirements and responsibilities of the role, and explain how you have the skills to get the job done.
3) Always tailor your resume to the specific role and company that you are applying to โ It will help you stand out.
Only highlight your skills and experiences that are relevant to the position you are applying for, and use keywords from the job posting to show you are the best fit for the role.
4) On your resume, focus on your achievements and results. Instead of listing your responsibilities, use examples and metrics to quantify and show the impact of your work and the results you achieved.
Instead of saying "managed a team," instead say "led a team of 10 to increase sales by 20% in 6 months."
5) On your resume, use action verbs to describe your responsibilities and achievements.
Action verbs such as "achieved," "developed," or "designed" can help to make your resume more dynamic and highlight your capabilities.
6) Always use industry-specific language and keywords to show your expertise and familiarity with the field.
Research specific language and keywords used in job postings for similar roles, and incorporate them into your resume.
7) The "Tell me about yourself" Question:
This is an excellent opportunity to give an overview of your relevant background, experience, and skills.
Focus on your most relevant experience and accomplishments (in relation to the position), and how they make you a good fit for the role you are applying for.
8) The "What's your greatest weakness?" Question:
Start with: "I'm not sure what my greatest weakness is in regards to this role, but I can talk about a weakness in the past and how I overcame it"
Highlight a past shortcoming and illustrate how you overcame that weakness with examples.
9) The "What sets you apart from other candidates?" Question:
Highlight your top 5 strengths directly related to this role.
Look at the job description to see which specific strengths they are looking for and give examples of you possessing these traits in prior roles.
10) Always follow up after the interview.
Sending a thank-you note or email is a polite way to show your appreciation and reinforce your interest in the position.
This can be a simple message thanking the interviewer for their time and reiterating your qualifications for the role.
11) Always know your worth. Never be afraid to negotiate for a higher salary. It's always okay to ask for what you want.
Think about the skills and experience you bring to the table, and how they add value to the company.
Build a case for why you deserve a higher salary.
12) Always use specific examples to demonstrate your value.
During salary negotiations, provide examples of your achievements & contributions
For example, if you increased sales by a certain percentage or implemented a new process that improved efficiency, mention these accomplishments
13) Before you begin salary negotiations, know what the market rate is for the position you are applying for.
Look up salary data for similar positions on websites like Glassdoor or Payscale, and use this information to help you determine a fair and reasonable salary range.
14) I hope this information is helpful.
Whether you are looking for a higher-paying job, improved work-life balance, or more quality time with your loved ones, I wish you all the best in achieving your goals.
May you be blessed with success and happiness in your career journey.
Fundamentals of event-driven architecture
Here are some thoughts I have been diving deep into this year, with things I learn about EDA I wanted to group them into three areas I think can help when you build EDA applications.
Identify and design
Like most things I think you have two options here, start implementing or stop and understand behaviour of your system. Previously I used to just dive in, but now understanding domain-driven design, event-first thinking it's important to map domains, highlight boundaries and design events before diving deep.
Collection of patterns
Once domains are identified, understanding messaging/event patterns can really help. Here we talk about integration patterns (e.g Claim check, splitter, message translator), just having an understanding of what patterns there are, can really help you map these patterns to various uses cases you will come across.
Operational and maintenance
Often overlooked, but how do you keep your EDA applications successful in 12-24 months? Should you be documenting your events/producers/consumers? What about standards in your events/architecture? What about distributed tracing for your events? These things need to be considered to make sure you have a high chance of success.
If you want to learn more I have a visual and extra resources for you ๐
https://t.co/POBQg6XTru
๐ง๐ผ๐ฝ ๐ญ๐ฌ ๐๐ฟ๐ฐ๐ต๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฎ๐น ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐
I've just released the new issue of my ๐ป๐ฒ๐๐๐น๐ฒ๐๐๐ฒ๐ฟ talking about Software Architecture Patterns to more than 9.000 addresses.
Here we talk about:
๐น๐ช๐ต๐ฎ๐ ๐ฎ๐ฟ๐ฒ ๐๐ต๐ฒ ๐ญ๐ฌ ๐บ๐ผ๐๐ ๐ฐ๐ผ๐บ๐บ๐ผ๐ป ๐๐ฟ๐ฐ๐ต๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฎ๐น ๐ฝ๐ฎ๐๐๐ฒ๐ฟ๐ป๐?
๐น๐๐ฟ๐ฐ๏ฟฝ๏ฟฝ๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฒ ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐ ๐ณ๐ฟ๐ผ๐บ ๐ฑ๐ถ๐ณ๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ ๐ฝ๐ผ๐ถ๐ป๐๐ ๐ผ๐ณ ๐๐ถ๐ฒ๐.
๐น๐ช๐ต๐ฎ๐ ๐ถ๐ ๐๐ต๐ฒ ๐ฑ๐ถ๐ณ๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ฐ๐ฒ ๐ฏ๐ฒ๐๐๐ฒ๐ฒ๐ป ๐ฎ๐ฟ๐ฐ๐ต๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฎ๐น ๐๐๐๐น๐ฒ๐, ๐ฝ๐ฎ๐๐๐ฒ๐ฟ๐ป๐, ๐ฎ๐ป๐ฑ ๐ฑ๐ฒ๐๐ถ๐ด๐ป ๐ฝ๐ฎ๐๐๐ฒ๐ฟ๐ป๐?
๐น๐ ๐ณ๐ฟ๐ฒ๐ฒ ๐ฒ-๐ฏ๐ผ๐ผ๐ธ ๐ผ๐ป ๐๐ต๐ฒ ๐ฎ๐ฟ๐ฐ๐ต๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฒ ๐ผ๐ณ ๐ข๐ฝ๐ฒ๐ป-๐๐ผ๐๐ฟ๐ฐ๐ฒ ๐ฎ๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป๐.
Check it from the following link:ย https://t.co/LanOF91RS8.
#technology #softwareengineering #programming #techworldwithmilan #softwarearchitecture