Not sure Qi Lu is the best person for this position.
Though Qi was born in China, he almost spent his all career time in the US. Probably the time he worked in China is less than one year. You can't expect this person knows China market, Chinese young people, Chinese companies well, and has connections with people in China gov.
And he worked for big companies only (Yahoo, Microsoft, Baidu). He never worked in startups. Can he find and invest good startups? I don't know.
Anyway, YC entering China is a good thing. Hope Google search will come back to China soon.
Great article. I started iOS programming in late 2009 and had solid experience of native mobile programming (iOS/Android) and web frontend/backend (RoR/Node.js/React/Go) before I started to use React Native in late 2016. I totally agree with the auther on what work well and what don't work well about React Native. Sad to see Airbnb sunsetting React Native.
In my opinion, 2 of the reasons Airbnb had more and more issues with React Native are:
1. They don’t adopt type checking for JavaScript.
“We explored adopting flow but cryptic error messages led to a frustrating developer experience. We also explored TypeScript but integrating it into our existing infrastructure such as babel and metro bundler proved to be problematic.”
“A side-effect of JavaScript being untyped is that refactoring was extremely difficult and error-prone.”
This is absolutely not just "a side-effect". In a real project, many developers modify the same code base, and the interfaces (Classes, function paramenters, props, etc) are changed frequently. I think type checking system, e.g. Flow, is a must for writing JavaScript code for either backend or frontend. My team is using Flow, and I ask my team members to adopt type checking as much as possible. When I see something like this funcA(a, b), I always ask the developer to change it to funcA(a: TypeA, b: TypeB): TypeC. It is really very helpful, especailly when we need to change code.
2. They don’t ask engineers to keep most code in JavaScript.
“Often times, it is not clear whether code should be written in native or React Native. Naturally, an engineer will often choose the platform that they are more comfortable which can lead to unideal code.”
All logic and UI should be written in JavaScript. Native code should only be used when we cannot do in JavaScript or the performance is very bad.
When I am using React Native, I do miss the simplicity of writing and debugging native code. But when you need to support both iOS and Android, it's great to just keep one code base in JavaScript. Again, espeically when you need to change the code frequently, you don't need to do the some thing twice. (One for iOS, the other for Android.)
In late 2015 (maybe early 2016), I was interviewed by the engineering manager of a 20-to-50-person tech company for a iOS engineer role in Hong Kong. I answered all tech questions well. But when I heard his last question, I knew I would not get this job. The last question is "how old are you?". I hesitated but still told him "35". He did not say anything. I know it is illegal in the US. But I was not in the US.
> I too have been approached by non-technical people who wanted to form a team, but rely on me to come up with both the idea and the product. I don't trust people who can only talk.
I like these words, especially "I don't trust people who can only talk."
If I have to choose one from end-to-end encryption and security, I will choose security. I don't mind my WhatsApp chats are scanned by police's software, if it can reduce terrorism. Of course, we need to make sure it is used for anti-terrorism only.
Update: One solution of 'make sure' is the source code of the monitoring software must be reviewed by independent and trusted software engineers/experts.
PS. Downvoting my post doesn't solve any problem. If you have any better idea, welcome to post it out. Thanks
Food, public transportation, beach, hiking in HK are good. But housing in HK is super expensive. You can't find a room in any other cities smaller than HK. People feel desperate because of the super expensive housing. The city's economy is kidnapped by real estate. I am living in HK and thinking about leaving.
LinkedIn is not that bad. Indeed it is very useful. I was contacted by many head hunters on LinkedIn and got jobs. (But I got no response when I apply for positions on LinkedIn.) LinkedIn is really a good place for head hunters.
It's totally different. Google officially stopped development and support for ADT in Eclipse. But Apple is still supporting Objective-C and most Apple's apps are written in Objective-C.