Wednesday, February 20, 2008

Purpose of this blog

Last year, I was fortunate enough to hear the Mark Zuckerberg, the CEO of Facebook, speak at a conference that was organized by Paul Graham. One of the many points that he made was that for every position in his company, he wanted to hire a software engineer. The reasoning for this is in the internet marketplace, nimbleness is everything.

Mark explained that if everyone is a software engineer, then customer service can be more responsive, marketing will understand the technology being promoted, and product will understand deeply what is possible and what is not.

But what does this really mean? What is a software engineer?

Once upon a time, a software engineer was someone who coded. It was someone who you gave programming problems to, they created code, and they showed what they could do. Sometimes, there were math problems. All that has changed. Now, everything comes down to expert knowledge of algorithms and data structures. If you don't speak fluent O-notation, you may have trouble getting your next job at the technology companies in the forefront.

From my view, this blog is really an excuse to dive deep into algorithm and data structure analysis. I had previously started a math blog which to my surprise has been very well received.

I think that it makes sense for me to start a new blog focused on the mathematics of software engineering. Software engineering is rapidly changing. I don't know if in the technology company, everyone will be a software engineer. I do know that as time goes on, the professionalism and algorithmic expertise required for the engineering job will be raised to higher and higher levels.

As I did in my math blog, I will use this blog mostly as a reference for the classic works in software engineering. I will cover selections from the following works:

For more recent and interesting progress in computer science, I will also cover the following works:

In between, I hope to cover important snapshots from the current work of technology including:
  • Javascript/Ajax
  • Ruby/Rails
  • Python
  • Java/Spring/Open Source Projects
  • C#/.Net
At all times, feel free to post your comments and questions.


1 comment:

iverson said...

Great, Looking forward to the posts!