There are many ways to become a developer. But I can assure you, mindlessly copying code from Stackoverflow is not one of them
You're allowed to make mistakes when coding. In fact, professional developers have made and still make many more mistakes than you. That's how they became professionals
You want to learn to program quickly, which is why it is taking so long.
Dogecoin, a coin created as a joke, reached a market cap of $69 billion, but you can't find 30 minutes a day to learn to code
"If you get it free, it is worthless. If you pay for it, it has value. If you build it yourself, it is priceless." - Raj More
9 commands you should know grepPrint lines matching a pattern findSearch for files in a directory hierarchy odOctal dump chmodChange access permissions wcWord count psReport process status manDisplay manual page infoRead info documents killTerminate a process
Some C++ notes for my Amazon interviews Iterate map: for (auto &itr : my_map) f(itr.first, itr.second); Random number in rage v= rand() % 30 + 100;// 100-129 Flip boolean b= !b; stable_sort vs sort -> guarantees that equal items retain their original order
In coding, it's not only about choosing the right technology. Putting good practices into place is key.
When working with objects and data structures, remember Demeter's law: - Objects should only talk to their friends; don't talk to strangers. equivalently - Objects should not rely on the inner workings of the objects they're interacting with
Timsort, derived from merge sort and insertion sort, was implemented by Tim Peters in 2002 for Python It finds subsequences of the data that are already ordered and uses them to efficiently sort the rest (merging them) Best-case time complexity is O(N), average is O(NlogN)
Optimal substructure: the optimal solution to a problem of size n, can be derived from the optimal solution of the same instance of that problem of size smaller than n. Divede & conquer: a problem that can be solved by combining optimal solutions to non-overlapping subproblems
"Watch what people do, not what they say" In the software development realm: "What people say" -> The comments "What people do" -> THE CODE Code never lies
"Intellectuals solve problems. Geniuses prevent them." - Albert Einstein
Higher-order functions are functions that: - Accept other functions as arguments or - Return a function Higher-order functions are useful to abstract over actions, not just values.
The broken windows theory is states that visible signs of - crime - anti-social behavior - civil disorder create an urban environment that encourages further crime and disorder, including serious crimes. Stay on top of broken windows in your code (and your life).
Concurrency 101 - Two events are concurrent if we cannot tell by looking at the program which will happen first. - Concurrent programs are often non-deterministic -> it is not possible to tell, by looking at the program, what will happen when it executes.