Michael Gao is a Software Engineer at SolarCity. In this episode, Michael talks about his decision to return to the Bay Area after graduating from Johns Hopkins University in Baltimore, Maryland. Michael started out as an environmental engineer, researching hurricane induced power outages but later became a software engineer. To help contribute to his research group’s model, he learned R programming, and eventually learned other software tools to explore ways to the model faster and more accurate.
Michael Gao

Michael Gao

He remains curious in learning. He sees programming as a tool, and the application is where his passion derives from. He feels it’s quite fortunate and a coincidence for him to become a software engineer. He talked about how he got the job at SolarCity by learning about the opportunity at a conference. Michael compared the differences between working as *a contractor within an applied science program* at NASA and SolarCity.

 
Continue reading

 

For the second interview, I’m happy to invite Henry Ng, a software engineer at SolarCity. 吳奉全  is Henry’s Chinese name (if you are wondering). He can speak Mandarin and Cantonese (and English of course).
Henry Ng

Henry Ng

We chatted about Henry’s decision to move to the Bay area from Canada, and about the differences he’s found between San Francisco and other parts of the world. He thinks people in SF are more forward thinking. People in SF believe they can change the world and improve society. He talks about how Canadians fit into the Silicon Valley. Visa issues and housing conditions are big concerns to almost every immigrant here.

 
Continue reading

 

For the first interview, I’m honored to interview Jordan Olthoff, a software engineer at SolarCity. In this episode, we learn that Jordan grew up in San Diego and came to the Bay area 6 years ago. He studied psychology in college and has pharmaceutical research experience. He recently started his career as a Software Engineer at SolarCity. We had an interesting discussion about how psychology might influence his thinking and help him in developing software.
Jordan Olthoff

Jordan Olthoff

Continue reading

If you are front end or full stack software engineer, you usually manage your app’s dependencies in your package.json (NPM) and bower.json (Bower). Do you have the experience that you need to update all the dependencies to the latest version?

 

I understand some developer don’t like to use the latest version of libraries because of compatibility issue. However, I feel most of the time, the updated version of libraries are more stable and reliable (bugs fixed and people’s open source contribution to make the software better). Our team at SolarCity before didn’t update some dependencies to the latest version for one of our apps. However, I found out that one of the error we saw wouldn’t even happen if we use the latest version of the library. Therefore, after discussion, we decide that we would use the latest version of libraries from then on. One problem is that it’s such a pain to update dozens of libraries in our json file.

Here is the package file for my previous project: OpenElect. Oh dear, how many dependencies are there…it will take years to manually update the version number.

package.json example

Continue reading

The programming Editor is a Software Engineer’s best friend (quote from Brian Hsu!!) A software engineer spends most of his time in Editor to write codes (excluding the time we spend on Google and Stack Overflow, of course). So what Editor should you choose for your software engineer life?

 

Well … there is no real answer for that. You choose whatever you like and make the best use of it. Each Editor exists for a reason. If you can have the highest productivity using a certain Editor, then go for it!

Continue reading

What terminal theme do you currently use? Do you find sometimes it’s hard to find a specific line in your screen?

I used to use normal terminal, but it’s really hard for me to find information in an all text environment.

Screen Shot 2015-02-08 at 3.24.34 PM

I first changed my theme to Homebrew (from preference)

Screen Shot 2015-02-08 at 3.25.43 PM

Black background and green text made my eyes feel better. But I thought there should be a better way to distinguish between username, file directory, status, etc.

Therefore, I researched and found a way to make using terminal easier.

Screen Shot 2015-02-08 at 3.32.37 PM

Continue reading

Have you ever faced these kind of situation in your lives?

  • You read a good article and want to take note of it.
  • You draft an idea for project/homework/work and need to re-edit a lot.
  • You are planning for traveling/working/to do.
  • You wish to store all your relevant documents in the same place for easy comparing.
  • Just have a thought and need to record your thoughts (handwriting, audio, or video).

I used to save my files in word documents, but the file management is so hard. I can’t find the material I want in a short period of time once the number of my file exceed a certain amount.

Continue reading

“Premature optimization is the root of all evil.” – Donald Knuth

I like what Dr. Knuth said about optimization. Currently in my life, I don’t have too much time or too many choices to do optimization in lots of my situations. Because I lack a solid CS foundation (you can read the story here), I learn new stuff mostly when I face a challenge. Even though I really wish I could have taken CS classes or done some related projects, I do enjoy this “Just in time learning process.”

Continue reading