Tech IndustryJul 2, 2019

There are 4 dimensions of software engineering to master

1) The elementary particles: pass by ref, pass by val, garbage collection, stack space vs heap space, thread management, locks, reentrant locks, deadlocks. This is where we question how is it possible that the world of software engineering can exist and where it came from. Was there a big bang ? 2) The algorithms: BFS, DFS, Union Find, Recursion Trees, Graphs, Sliding windows, etc. These most easily demonstrate STEM-intelligence and the reason they are favored by FANGs. These are pure brain exercises. 3) The brick laying: writing your code so it's not a house of cards by making use of OOP design patterns such as factory, abstract factory, adapter, facade, observer, reactor, and incorporating SOLID principles into every line of your code. So it is defensive, extendible, readable, and robust. There's little intelligence needed here but instead lots of practice and mimicking how others do it. 4) The architecture. In an internet world, it means designing code so it can run and store data across millions of commodity machines and resistant to failure of any of those machines and scale it up. This is the hardest part and requires decades of experience. If you cannot master this you'll never make E5 at FB. Mastering those 4 dimensions, and you shall be victorious in every interview. A weakness in any one dimension and you will perish before leaving the gate.

Add a comment
New
rresoisnco Jul 2, 2019

ily

IBM xlajduf Jul 2, 2019

“And u shall be victorious”... balls. We all know its leetcode. Now TC or gtfo

Netflix mr.clippy Jul 2, 2019

Blind need a stack overflow official answer feature to their threads.

HERE progli Jul 2, 2019

hope you used the web inteface to type all that

Facebook esketitt Jul 2, 2019

Hmmm there’s much more to it

Netflix beebox Jul 2, 2019

You totally forget to mention office politics

New
Porsche996 Jul 2, 2019

No he forgot. 0) Leadership Principles

Google KennyLogin Jul 2, 2019

You missed "communicating with others". The best code in the world isn't worth shit if other people can't use it or understand it or if it doesn't match what your users want. (Also, the easiest way to be a 10x engineer is to make 100 engineers 10% better.)

Google hooli.xyz Jul 2, 2019

+1

Facebook elena25 Jul 2, 2019

This is so much bullshit. Design patterns? Really?

Booking.com Punani Jul 3, 2019

Some companies want to know if the candidate understand how patterns work. In an onsite I was asked to explain factory, Singleton, and I also needed to write a generic java class to demonstrate that I can can build one.

Facebook elena25 Jul 3, 2019

Lol. Don't work there Ask the interviewer if they've worked with any language other than java. My guess is not

Booking.com Punani Jul 3, 2019

I have never seen a union find question in interviews. Has anyone got that in their interview?

Bloomberg F.U. money Sep 5, 2019

Lol pathetic