“The best thing about working for a startup is seeing your code deployed the same day you write it.”
– Charles Lee, co-founder of CoderSchool.vn
Read our interview with Charles Lee, Silicon Valley coder and co-founder of CoderSchool.vn, to learn:
- Advantages and disadvantages of working at a big company or a startup.
- Actionable tips you can use to improve your coding.
- How you can benefit from a free Swift, Ruby or Android course at CoderSchool.vn.
Charles Lee is an American developer. He has a lot of experience working in large and small companies in Silicon Valley. He also loves to teach developers how to improve their skills.
What did you study in university?
I got my Bachelors Degree in Computer Science from the University of California, Berkeley in 2006.
Why did you choose a career in computer science?
As a kid I was always obsessed with computers. I played games all the time. Then I decided to make a game of my own. It was a tank battle game. I found I enjoyed writing code to calculate game graphics. After that I was hooked.
What was your first job?
I joined Palm Computing for 2 years after university. Palm made handheld computers, kind of like the iPhone but before the iPhone and not as good. I mostly worked on code that handled how the device found and connected to wifi networks.
And your second job?
After Palm I spent 3 years at Volkswagen. I wrote code that integrated Google Earth into the navigation system for Volkswagen cars.
What did you learn in your first 2 jobs?
The biggest thing I learned was “Be less theoretical and more practical.”
Here’s an example. At Palm I spent a TON of time writing a super efficient algorithm to find and optimize the wifi connections for the device. My boss wondered what was taking me so long.
He took one look at my code and said “What are you doing!? Our users will have lots of wifi networks available. Your code is great, but we don’t need anything like that.” Then he threw away my code.
That experience showed me that simplicity and practicality are often more valuable than elegance.
Then you left the big company life and went to some startups.
Yes. It was back when Facebook games were beginning to take off.
The first startup I joined was a social media gaming company called “A Bit Lucky.”
I spent a year there. Then I left with one of my colleagues to another new company called “Luvocracy.” It was a “social buying” service.
I was one of the first 5 people at Luvocracy. It was very different to go to a tiny startup after working at Volkswagen and Palm. When I started we didn’t even have furniture in the office. We sat on the floor.
It was a super intense experience. We raised $16 million and went from zero to 1+ million users in about a year.
How was working in a startup different from working in a big company?
Oh wow, they are totally different.
Here are 3 big differences I found:
- More ownership. You will get a lot more ownership at a small company. By “ownership” I mean you are much closer to decision-making and can influence decisions. Your work is also more important at a small company. In a big company if you screw up it doesn’t matter much. But in a startup if you screw up it can cause huge problems.
- Less mentoring. Big companies always have someone more senior than you that you can learn from. At startups sometimes you will be forced to handle a project you’re just not ready for. At Luvocracy I was in charge of scaling the database from zero to millions of users. I didn’t know what I was doing. I wasn’t ready to do that but I learned a ton.
- Everyone does everything. At a big company people will say “Oh, that’s not my job.” But at a small company you just can’t say that. Things need to be done that are no one’s job! You must have an attitude like “Ok, don’t know anything about that but I’ll take care of it.”
What are some resources you’ve found useful in your coding career?
- Hacker News. It’s a great place to learn about new coding developments. New frameworks are there first.
- Rework. This is a book about business process. I found it really helpful to understand better how to work with people and inside a team. People and soft skills are so important for coders.
- Your Brain at Work. This book taught me more about how our brains work. It helped me work more effectively.
It’s not a resource, but I’d also add that code review — getting others to review your code and give you feedback — is a GREAT way to improve your code. Also reviewing others’ code. None of us likes to get criticism, but it’s so helpful.
You founded CoderSchool.vn. What is it?
CoderSchool.vn is a school for developers in Vietnam. We teach free 8 week courses in Swift, iOS and Android.
Why did you found it?
I’ve always loved learning new coding languages. After Luvocracy was acquired by Wal Mart, I began getting involved in training Wal Mart developers. I really enjoyed it.
When I visited Vietnam a few years ago people told me “Hey, Vietnam really needs something like that!” I liked the country and people. And I love teaching code. So I decided to move here and open CoderSchool.vn. I modeled it on CodePath.com, which is a training company I really admire in the US.
Is it really free?
[Laughs] Yes. It’s really free for developers. We make our money through company sponsors.
What kind of developers should consider applying to CoderSchool.vn?
We look for coders with minimum 2 years of experience. They should be curious and want to learn. We’ll give them awesome skills in Android, Ruby and Swift/iOS!
What’s involved in the course?
Courses are 8 weeks. We meet several days a week from 7-9pm at night. Total time commitment is 10-20 hours each week.
Can anyone apply?
CoderSchool.vn is open to everyone. There is a selective application process though. We ask applicants to build a basic app. If they show us good work and show us they are serious students, it’s likely we’ll admit them.
We teach only in English though. Students must be able to speak and write English.
How has the CoderSchool.vn course helped its graduates?
CoderSchool.vn gives students skills that are in demand.
Here’s an example. Last year at the end of our course we had a “Swift Demo Day.” Our student teams displayed the applications they had created during the course.
One team made a buying app. A man in the audience that day had hired an outsourcing company to make a similar app, but it had failed. The man hired our team on the spot!
How should our readers apply?
Just come to CoderSchool.vn right now and apply!
Or email me. I’m always around to answer questions.