2 ms·
I'm a native growing up here in the SF Bay Area. Even for school, it's just in Berkeley across the bay. For programming, I started with Basic and assembly in
by ww520 14y ago
I'm a native growing up here in the SF Bay Area. Even for school, it's just in Berkeley across the bay.
For programming, I started with Basic and assembly in high school, then Pascal/C/Scheme/Lisp in college. Got some very valuable CS classes that I can use till today. For one semester I bought Guy Steele's Lisp reference and wrote a Common Lisp system from ground up with C while funking the complex analysis math class (low attendance); no regret.
I probably didn't know it at the time but there were a lot of advance in CS fundamentals at the time, and I felt like I've missed out on those cause I came at the tail end of them. What's funny was that I did join a database startup some time later that happened to be started by my CS professor.
Over the years, I did work in databases, network protocol/drivers, kernel device drivers, native UI apps, p2p, security, ecommerce/auction, ERP integration, complex event system, regulatory compliance, CRUD apps, fault-tolerant system, index/search, data mining, fault detection, financial app, storage system, full stack webapps, mobile apps/games, and railway analysis apps. It's very rewarding to be able to go from the very low level in the system all the way to the user facing level. Nowadays I mostly work on full stack webapps or mobile apps.
For languages I just picked them up along the way, such as C++/Java/Javascript/Perl/Python. I found that if I use them in my work, I would become good at them, otherwise I forgot about them, like I've dabbled in Fortran/PHP/Ruby/Haskell/Scala/Clojure but they become hazy after a while.
Besides the first two companies I joined, all others were startups.