Your Coding Teacher
380 subscribers
10 links
Coding, software engineering & #bitcoin technologies. I'll make you a better thinker, not just a better developer | Ex
Amazon, Senior DevOps @eBay
Download Telegram
Sometimes you will not have all the information you need to start working on your task.

Chances are no one will and it is your responsibility to figure it all out.

The moment you start taking this type of task you will know you are operating at a senior level.
To access AWS, you can use:

- the AWS Management Console (web app)
- the AWS Command Line Interface (CLI)
- the AWS Software Development Kits (SDKs) available for multiple programming languages
Stop starting.

Start finishing.
Programs vs Processes vs Threads

A program is source code: in C, C++, Python, ...

A process is a program in execution: web browser, text editor, ...

A thread is a flow of control within a process: browse the web while download some files at the same time.
"If a machine is expected to be infallible, it cannot also be intelligent."
- Alan Turing
Coders define the idioms of a programming language.

Learn the most common patterns of your language.

They will affect every program you write.
"In previous economic eras,

businesses created value by moving atoms.

Now they create value by moving bits."

- Jeffrey Snover
umask is used to determine file permission for newly created files. It contains the permission bits that should not be set on a newly created file

Ex: $ umask u+w

gives write permissions for users, leaving everything else unchanged
"The only constructive theory connecting neuroscience and psychology will arise from the study of software."
- Alan J. Perlis
Cloud IAM controls who can do what on which resource: a VM, a database instance, a user, etc.

Permissions are not directly assigned to users. Instead, they are bundled into roles, which are assigned to members.

Policies bind members to a role.
Design patterns in 1 tweet

Template method: define the steps for an algorithm, delegating their implementation to derived classes

Ex: Board games can have a certain structure: init game, play, nex turn, etc.

Game (chess, Go, ...) implement each step in a different way.
3 Big benefits of replication in distributed systems:

- High availability. If a machine dies, there are more to handle the load
- Lower latency. Data closer to users
- Scalability. More resources to handle higher volume of requests
When I started coding I also felt lost and overwhelmed

I thought I needed to focus only on my coding skills to get to senior

I realized the differences between a junior and a senior dev had more to do with attitude than just technical knowledge
What to expect at a FAANG interview

1. Phone screen-> Algorithm questions
2. Onsite
- Several rounds of algorithm questions
- Behavioural questions, often before the algorithm question
- Systems design (mid-senior)
- Time for your questions at the end of the round

YMMV
"Part of the inhumanity of the computer is that,
once it is competently programmed and working smoothly,
it is completely honest."
- Isaac Asimov
"Software and cathedrals are much the same - first we build them, then we pray."
Design patterns in 1 tweet

Singleton. Makes sure there is only one instance of an object.
Simplicity - the art of maximizing the amount of work NOT DONE - is essential

agilemanifesto .org
- "Why is this not working?"
- "Why is this working?"

Programmer's life
The kernel acts as an interface between your programs and hardware

Kernel processes have unrestricted access to memory and CPU

User processes have limited access to CPU and memory

That's why when your browser crashes it doesn't take down the whole system with it
"The first step of any project is to grossly underestimate its complexity and difficulty."
- Nicoll Hunt