Your Coding Teacher
372 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
"How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure?" - Edsger W. Dijkstra
Basics of most programming languages * Variables * Data types * Conditionals (if - else) * Loops (for - while) * Functions * Arrays * Dictionaries * Classes and objects That's enough to build many interesting applications
You: "I just coded a real masterpiece! Only I and God two know how it works." Also you, 3 months later: "Now only God knows."
I don’t see why developers make six figures, all they need to know is: - Linux - Bash - Go - Python - JavaScript and frameworks - Git - Docker - Kubernetes - Terraform - Distributed Systems - AWS - GCP - Prometheus - Grafana - Being On-call - Security
The best thing about being a developer is that you can work from anywhere at anytime The worst thing about being a developer is that you can work from anywhere at anytime
Software Engineering isn't rocket science ... it's harder
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." - Dennis Ritchie
Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. int f(const vector<int>& nums) { int res = nums.size(); for(int i = 0; i < nums.size(); ++i) res ^= (i ^ nums[i]); return res; }
5 Benefits of building a deployment pipeline - Greater visibility of the deployment process - What changes have broken the app - Releases to prod have passed all steps in the pipeline - How long does it take to release - How long each step takes In summary -> Visibility
There are no easy answers. With experience, yo realize that most questions should be answered: "It depends"
Good programmer != good mentor. YMMV.
Check for if (-1 == x) instead of if (x == -1) to avoid bugs like if(x = -1)
People just want to see tasks done. Don't bore them with the low-level details. Use higher levels of abstraction in your conversation with them. And move things forward.
By no means will you be an expert after finishing a tutorial. The only way to really learn is by practicing. You are going to learn infinitely more by doing than by reading or watching.
It is often easier to not do something dumb than it is to do something smart
It's never been easier to learn to code, with so many resources available to learn from.
Channel photo updated
Is your program stuck in an infinite loop or just taking long? This is called the halting problem. Alan Turing proved that a general algorithm to solve the halting problem for *all possible program-input pairs* cannot exist.
Difference between mutex and semaphore - Mutexes only provide mutual exclusion (only 1 thread access the critical section) - Semaphores are signaling mechanisms (for example, to signal that something is complete) Binary semaphores can be used as mutexes (but not viceversa)