$100,000 is the start.
The rough idea:
A software engineer at entry level is paid at $100,000 mark. After that, you can expect about 10%~20% increase on average year over year, or equivalently, the salary is doubled to $200,000 within five years, and tripled to $300,000 in another three years.
I do not intent to write a science paper based on statistical data, because the median and average are highly skewed in silicon valley comparing to the rest of the world, and consequently the stats are somewhat meaningless. Instead, I will rely on anecdotal stories and first hand experience.
There are a handful of internet companies considered in the top tier. Facebook, Apple, Amazon, Netflix and Google, known as FAANG in the finance world, happen to pay the top dollar to software engineers. The total compensation is comprised of several parts. …
What’s the best programming language for interviews if you are pursuing a software engineer position?
Python3 (Or generically Python) And I will explain below.
As a software engineer, I have learned several programming languages at different job positions, I have been interviewed at many companies of different sizes, and I have interviewed many candidates at different levels and backgrounds. The choice of the correct interview language is not a life-or-death matter, per se, but it does make your life much easier before and during tech interviews. So what makes Python3 the best interview language?
Python is a high level language, and it is closer to English compared to other languages. It is so friendly that a person with no previous programming experience may just pick it up and start coding on day one. …
I recently encountered a problem that can be solved efficiently with Fenwich Tree, aka Binary Indexed Tree. This is the notes about how to explain the algorithm to myself.
Step 1. The problem: Given an input array,
nums = [1004, 1009, 1006, 1001, 1002, 1005, 1003, 9999], how to efficiently do sum for any ranges, if element updates allowed?
Step 2. To sum up the first
7 elements, we do (in Python)
total = sum(nums[0:7]), or verbosely
total = nums + nums + nums + nums + nums + nums + nums. Notation
[0:7] in Python means range from 0 to 6, equivalent to the math close-open notation
[0, 7). Why
As a backend engineer, often I feel learning UI/UX is difficult. The concepts and workflows are different, especially when searching online, I could not make sense what are people talking about without a picture and samples.
This is a note to myself: how to initialize an empty app on Xcode11 for iOS13.
Step 1. Start Xcode and create a new project, via File -> New -> Project… (or Command+Shift+N from keyboard)
Step 2. Select Single View App, then Next.