Simon Willison’s Weblog

Entries tagged softwareengineering in 2012

Filters: Type: entry × Year: 2012 × softwareengineering ×


What are good ways to develop software architectures using multiple languages?

There are a bunch of options for communicating between different languages, but these days the simplest is definitely JSON—it maps directly to common data structures in PHP, Python, Ruby and so on. Treat it as your common interchange format and you can’t go far wrong. It’s very easy to build simple internal web services on top of JSON.

[... 109 words]

What are the best practices for onboarding new software engineers?

I’m a huge fan of “deploy on the first day”—which forces the issue in getting all of their accounts set up, their development environment ready, showing them where source control is, how code review works and so on. Even if it’s just adding themselves to the about page or humans.txt file, it means they can come in on day two ready to get real work done.

[... 106 words]

To become a better developer ? To read more OR to create/contribute to open source projects?

Contribute to an existing project, rather than starting one yourself. There are a bunch of benefits:

[... 231 words]

What communities and interest groups in London should software developers get involved in?

The monthly Hacker News London Meetup Group (held near Old Street) is a great opportunity to meet up with entrepreneurial-minded hackers—the talks are usually a good combination of technical and startup/entrepreneur material, and it attracts a really interesting crowd.

[... 61 words]

Did Mark Zuckerberg have any knowledge on building scalable social networks prior to starting work on Facebook?

I’m going to bet he didn’t have this knowledge, simply because back when he launched Facebook in 2004 almost NO ONE had this knowledge—there simply weren’t enough “web scale” products around for the patterns needed to run them to be widely discussed.

[... 143 words]

Why do tech companies provide MacBooks for software development?

Smart tech companies give their engineers the laptops that they ask for. Engineers are EXPENSIVE, and anything you can do to increase their productivity is worth the money. If they prefer to work on a Mac, buy them a Mac.

[... 55 words]

How can a new developer get involved in open-source projects?

I was going to say the same thing. Find a useful project in GitHub (preferably one that clearly has an active maintainer), fork it, fix a bug (look at the project’s issue tracker) then make a pull request.

[... 80 words]

Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect?

Being an expert web developer isn’t about which framework you know, it’s about the fundamentals. It’s important that you know how the tools you are using work, so you can fix things when they break—Joel Spolsky’s law of leaky abstractions is a great essay about this: http://www.joelonsoftware.com/ar...

[... 260 words]

How does Linkedin use Node.js?

They use it for the backed for their mobile app. Here’s an article with more information: http://venturebeat.com/2011/08/1...

[... 29 words]