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
In an interview, discuss multiple solutions to the problem but select the one you can implement in the time allocated to the interview. It's like presenting a good solution on time instead of an optimal solution 1 week after the dealine.
"Bug-free" software does not exist.
How to make learn faster - Lose the ego - Embrace failure - Iterate Quickly - Criticism is not evil - Don't be the smartest person in the room for too long - Be a sponge
Practice lots, read tons of code, write tons of code, dream coding and puke coding.
Some people prefer changing the specification to fit their code than the other way around
Readability counts - The Zen of Python
You can increase the reliability of a service by masking some deficiencies of its subservices A queue that might drop messages? Have a process to put them back in the queue and redeliver them Worst case you get them twice, which isn't an issue for an idempotent system
Profanity is the only language all programmers know well
Change your IDE to render comments in Red-black. If they're there, there must be a reason to read them. If you read a comment that should not be there, delete it. Comments rot, just like code. Nobody maintains them. Comments don't make up for bad code.
In Python, if you need to created nested dictionaries (dictionaries of dictionaries), consider creating a hierarchy of classes. It improves the API and adds a layer of abstraction between interfaces and their implementations.
In theory, theory and practice are the same. In practice, they're not.
You don't need to know every detail of JavaScript, Python, Java or C++ to write useful programs Focus on programming techniques, not on language features
Pasting code from the Internet into production code is like chewing gum found in the street
Throw exceptions instead of returning None to indicate that something went wrong. None and other values (zero, the empty string) evaluate to False in conditional expressions. This can be troublesome Let the caller handle exceptions properly. Document your exceptions.
To understand recursion, you must first understand recursion.
2-choice hashing uses two different hash functions, h1(x) and h2(x), for a hash table.
Git shortcuts $ git commit -am "commit message" // -a: any files previously added $ git branch -D [name]// To delete a branch $ git checkout -b [name] // To create a new branch and switch to it
There will be bugs in your codebase. The question is: will fixing these small bugs make a dent? Focus on what will bring the max benefit to your team and customers. The task of solving a few bugs will always be there.
Nothing is more permanent than a temporary solution
Better train people and risk they leave than do nothing and risk they stay