BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Key Takeaway Points and Lessons Learned from QCon San Francisco 2010

Key Takeaway Points and Lessons Learned from QCon San Francisco 2010

In this article, we present take-aways as seen by the attendees who blogged and tweeted about the QCon San Francisco 2010. This QCon, the 4th in SF and 13th world wide was sold out weeks ahead of the conference -  with over  650 attendees including 80+ speakers!  QCon SF was produced  by InfoQ.com and Trifork, the company who produces the GOTO conference in Denmark.  QCon will continue to run in the SF around November of every year, QCon London will be running again in March 2011, and QCon Beijing as well as QCon Tokyo will be running in April.  Our first ever QCon São Paulo also ran in  September this year with over 800 attendees.

Table of Contents

Tutorials

Keynotes

Agile Evolution

Architectures You've Always Wondered About

Architecture Anarchists

Design at Scale

Dev and Ops: A Single Team

Intuitive Parallel Programming

Java, the Platform

More Architectures You've Always Wondered About

NoSQL

Real Life Cloud Architectures

Securing the Web: Capabilities, JavaScript, and HTML

SOA for the REST of Us

Solutions Track: Wednesday

Solutions Track: Friday

Social Events

Opinions about QCon

Takeaways

Conclusion

Tutorials

Steve Zhang liked the 2 days tutorials:

Joseph Yoder and Rebecca Wirfs-Brock's Adaptive Object Model is really nice, actually I supposed to take Dan North's architect course, but I changed my mind in the last minute. I really missed Dan North's course, but AOM is really good because it provides several patterns to make the application architecture more flexible, which is really important for using static language like Java. I think it is really useful to use this model in my current Java application development.

Continuous Delivery by Martin Fowler & Jez Humble

Steve Zhang created a mind map of this tutorial:

Twitter feedback on this session included:

MachinesAreUs: @martinfowler explaining that feature branching is the opposite of #continuousintegration #qconsf

MachinesAreUs: "Just because you have automated tests doesn't mean you shouldn't be doing manual testing" @martinfowler #qconsf

Resource-Oriented Architectures: Information First by Brian Sletten

Ethan Winograd wrote:

There has been a fair amount of talk about REST so far in the tutorials I have attended and I wanted to share some stuff with you that I am picking up out here.  For me, I was seeing REST as just a lightweight way to offer data services (possibly for a PayPal enabled mobile application).

I attended a presentation by Brian Sletten yesterday that was a really good intro to REST in the context of Resource Oriented Architectures and the Semantic Web.  It was an eye opening talk for me, which helped me see how having resolvable URLS (like you would in a RESTful implementation) that serve as data sources play a role in turning the WWW into a linked and queryable dataset.

The idea goes like this: You markup your data(on resolvable "pages" with RDF information) or let a tool mark it up for you, and when those resources get spidered, the data is consumable in a standard format which can be aggregated and queried in meaningful ways.  It has the potential to turn the entire web into a consumer curated database(think Wikipedia) that begins to build maps of what the WWW contains.

Secrets of Agile Architecture by Dan North

Dennis Doomen attended this one day tutorial:

He gave one of the best and most refreshing talks on architecture I've seen in a while. He covered an enormous amount of material in that one day, so I won't even try to cover that in a blog post. But what I particularly liked is that a large part of that content was dealing with the organizational and human aspects of building an architecture.

One of the takeaways worth noting, and which is something I recognize quite well, is the fact that it's difficult to go into an organization and build enough trust to start breaking down the organization. Often you’ll find tens and tens of things to improve, accept the fact that you probably can only change three of them, and focus on that. …

It is important to accept the fact that risks happen, so deal with it. If you can setup your architecture and development process in such a way that you can quickly (read: automated) build, test and deploy small changes, you don't have to worry too much about the likelihood of those risks. Moreover, deploying quickly gives you valuable feedback that you can use to further tune and tweak your architecture. As a bonus, it allows you to defer decisions to the last responsible moment instead of doing it upfront and running the risk you made a bad choice.

Twitter feedback on this session included:

DianaOfPortland: Definition from @tastapod at #qconsf: "Risk is a fancy way of saying 'I fear it'." Manage fear through reducing ignorance (i.e., learning).

steinhjertas: My summary of @tastapod's tutorial: The Enterprise Architect is still needed, and must have much more than just tech skills. #QConSF

rajivnarula: From @tastapod "Software arch. is a reflection of the design of the organization" - Conways Law #qconsf

JaiHirsch: Dan North: iterative thinking, continually reducing ignorance / perpetually "unfinished" but improving #qconsf

ddoomen: Dan North: "Agile is a methodology to get mediocre developers to screw up less" #qconsf

jcfigueiredo: A bad system will beat a good person every time. Dan North #qconsf

Keynotes

Evening Keynote: Forty Years of Fun with Computers by Dan Ingalls

Dennis Doomen attended this session:

Dan Ingalls appeared to be an icon in our profession and the founder of Smalltalk, the most widely referenced computer language whenever we talk about the history of object orientation. He took us through 40 years of computer engineering and appeared to have wisdom that could match Yoda's. If you have been monitoring the chatter on the #qconsf Twitter hash tag, you know what I mean.

Twitter feedback on this session included:

jakemcc: Dan Ingalls gave a very entertaining talk at #qconsf. Makes me feel like I need to create more. Also pushing me towards music and code again.

cecifernandes: Excellent talk by Dan Ingalis. Very entertaining and an awesome Smalltalk story... and live demo.

jcfigueiredo: Dan Ingalls is part of computing history and now I' m a part of it too.

Opening Keynote: Innovation at Google by Patrick Copeland

Dennis Doomen remarked on Copeland’s keynote:

He gave a great talk about the value of prototyping software products using physical mock-ups. At first it sounded a bit strange or rather unlikely, but he showed some pretty convincing stories from Google's own product development efforts. The name he gave to that concept is pretotyping, and there's even a website about that.

Twitter feedback on this session included:

stilkov: "if you're not embarrassed by your first product, you shipped too late" – @copelandpatrick at #qconsf

ardwalker: Great keynote from Google's Patrick Copeland on building the right thing at #qconsf

johaneltes: Googles keynote on innovation made my day #qconsf

signde: stellar keynote from director of engineering @copelandpatrick. re: innovation at google. possibly the best i've seen. #qconsf

A_Robson: Patrick Copeland's innovation talk was the best keynote of any tech conference ever. #qconsf

_adv: The Pretotyping Manifesto #qconsf http://twitpic.com/33v2fk

Software Design in the 21st Century by Martin Fowler

InfoWorld published an article on Fowler’s keynote, saying among others that:

Fowler touted productivity advantages of DSLs. Among DSLs used by developers include Microsoft LINQ (Language Integrated Query), Hibernate, and CSS (Cascading Style Sheets). "A well-chosen domain-specific language can really narrow down behavior of something and allow you to express your intention much better and that is the first and very significant advantage of a domain-specific language." Also, DSLs enable expression of programming activities in a way that non-programmers can understand, Fowler explained.

With continuous integration, members of a software development team integrate their work frequently. Developers using continuous integration are not discouraged from refactoring to keep code clean, Fowler said. Additionally, the notion of continuous delivery allows developers to get software into production as fast as possible, he said.

Event sourcing, meanwhile, involves storing information about system changes as an event object. A record of changes is maintained. "This is an architectural technique, architectural pattern that I [have] run into quite a lot over my years and it is again one of those things not used as much as I think it ought to be."

Steve Zhang enjoyed the keynote:

Martin's Friday's Keynote is also fantastic. I bought his latest book: Domain Specific Language, my suggestion is just to buy any of his book, you will not be disappointed.

Twitter feedback on this session included:

brhubart: Martin Fowler: If it hurts, do it more often. #qconsf

eriksowa: Continuous integration and feature branching are incompatible. Powerful merging tools don't handle semantics. Via @martinfowler at #qconsf

codeish: Regular Expressions and CSS are DSLs. DSLs should are readable by non-programmers. #qconsf

Agile Evolution

Agile Does Not Guarantee Value creation by Leonardo Mattiazzi

Dennis Doomen attended this session:

Leonardo Mattiazi's talk on Agile adoption within a Brazilian company was completing the formal part of the day. Although he didn't really introduce any new concepts or innovations, he showed us the challenges he went through to successfully transform a company of passionate people into an agile adopting organization. His use of visual media and Twitter was very good and helped keep the audience awake after such a long day. During his talk, I challenged him a few times because it all felt so unnaturally positive. But I happened to enjoy some beers with him at the conference party and confirmed that he has been very lucky with such a great group of people.

Keeping Agile Agile by Dan North

Dennis Doomen attended this session:

Dan North's session titled Keeping Agile Agile was a blast and made me smile throughout his entire talk. Apart from the recurring Dreyfus model (which is in fact quite handy if you're an consultant like me that tries to improve other people's skills), he discussed the dangers of applying best practices without thinking. The problem, as he explained it, is that most people treat best practices as something you should do, regardless of the context in which you want to use it, and without considering the pros and cons. In fact, most advocates of best practices don't even mention all those side effects. That's why he suggested to refer to these practices as patterns instead of best practices. And that resonates nicely with the way the Gang of Four have been explaining their design patterns as well. However, if you ask me, any good consultant should be looking at the particular culture, history, problem domain and people involved before introducing any practices, patterns or other proverbial silver bullets.

Twitter feedback on this session included:

trulsjor: Keeping Agile Agile at #QConSF - highly educating and amusing, mapping The Dreyfus model to best practices.

Raising the Bar: Using Kanban and Lean to Super Optimize Your Agile Implementation by Jesper Boeg & Guilherme Silveira

Greg Howard commented:

The talk was peppered with some good sound bites (“If it hurts, do it more often and bring the pain forward”). But it also stressed the meat: Boeg demonstrated a “deployment pipeline” that represented an automated implementation of the build, deploy, test, and release process—a way to find and eliminate bottlenecks in agile delivery.

Twitter feedback on this session included:

AppDynamics: Jesper Boeg: "Do frequent releases to not only get end-user feedback, but to reduce the risk of each release." #qconsf

Architectures You've Always Wondered About

Data Architecture at Twitter Scale by Nick Kallen

Twitter feedback on this session included:

A_Robson: Great talk by @nk at #qconsf. Solid stuff at impressive scale!

More Best Practices for Large-Scale Web Sites -- Lessons from eBay by Randy Shoup

Twitter feedback on this session included:

A_Robson: Randy Shoup's talk on architecture principles should be a pre-req for anyone with an Architect title. #qconsf

stilkov: Log messages that require a human to parse them is insufficient – cloud requires machine-readable messages - Randy Shoup at #qconsf

codeish: "If you do it more than twice, script it." -Randy Shoup. Automation is key in the cloud. #qconsf

andrewsmedina: "Think parallel" by Randy Shoup at #qconsf

Running Netflix in the Cloud by Adrian Cockcroft

Greg Howard said:

Adrian Cockroft, who is leading a trailblazing public cloud deployment of production-level applications at Netflix, also wrapped theory around juicy substance. He “showed the code” and the screenshots of his company’s app scaling and monitoring tools.

Twitter feedback on this session included:

greg_murphy74: Great session by @adrianco about running the bulk of Netflix on EC2. Plenty of good techniques to try out.

codeish: The Netflix talk is pretty awesome! #qconsf

Architecture Anarchists

Deliberate Discovery: Code Like You Mean it by Dan North

Dennis Doomen attended this session:

So, let's discuss Dan North's talk on Deliberate Discovery. It kept my brain hurting for the remainder of the day, even after speaking with Dan and reading his associated post. And I still don't know whether I'll be able to reproduce his message. His point is that many failures in our projects are caused by ignorance. Ignorance on technology, ignorance on organizational aspects, or even ignorance on your own ignorance. Essentially stuff you don't know yet on any level (axes as he calls it) that will reduce or hamper your throughput. And it doesn't necessarily has to apply to you or your team. Ignorance of your stakeholders can be just as catastrophic. Some of the ignorance will become apparent during poker planning sessions or your user story workshops, but that's only going to be the tip of the iceberg.

Twitter feedback on this session included:

ddoomen: Dan North: "Most fear is irrational, so we can learn how to get rid of that" #qconsf

LMAX - How to Do Over 100K Concurrent Transactions per Second at Less Than 1ms Latency by Michael Barker & Martin Thompson

Twitter feedback on this session included:

vitopn: LMAX talk was intense - from Intel CPU latency measures to an anti-queue messaging architecture - loved it #QConSF @tastapod

A_Robson: The LMAX talk has officially fried my brain. 6+ million transactions per second with disruptor pattern. #qconsf

tastapod: The LMAX guys went right back to Intel CPU architecture diagrams to figure out how to write a fast exchange. #QConSF

Node.js: Asynchronous Purity Leads to Faster Development by Ryan Dahl

Twitter feedback on this session included:

BeingAgile: Node.js talk was AWESOME. Live coding a chat room *from scratch*, and then having audience connect and heckle. #qconsf

tastapod: Live coding! Ryan Dahl hacking on JavaScript in node.js to explain non-blocking dns. #QConSF

andrewsmedina: "Node.js: Asynchronous Purity Leads to Faster Development" by Ryan Dahl #qconsf

Design at Scale

Software Shape, Organization Shape, and Process Shape: Eerie Parallels by Michael Feathers

Twitter feedback on this session included:

evanbottcher: Really enjoyed @mfeathers talk dotted with anecdotes of Conway's law in action. A lovely way to finish #qconsf

eriksowa: Finishing #qconsf by listening to @mfeathers relate anecdotes along the lines of Conway's Law. So good!

When Should You Consider Meta-architectures? By Rebecca Wirfs-Brock & Joseph Yoder

Rebecca Wirfs-Brock commented on her own presentation:

I was pleasantly surprised when the room was nearly full. I’m guessing that Martin Fowler’s earlier keynote where 1/3 was on DSLs, might’ve been the reason some curious folks attended our talk. Or maybe it was my tweet/retort to Michael:@mfeathers Meta-architectures aren’t “old” technology…they’re “proven” technology…that is showing up in many new places.

Dev and Ops: A Single Team

Continuous Delivery Presentation by Jez Humble

Twitter feedback on this session included:

AppDynamics: "If it hurts, do it more often and bring the pain forward." - @jezhumble #agile #QConSF

mtnygard: "Not screwing other teams is a requirement of your software" -- @jezhumble #qconsf

Cooperation, Collaboration, and Awareness by John Allspaw

Greg Howard said:

John Allspaw started high in his talk—sharing his ideas on the areas of ownership and specialization between Ops and Dev, a typical DevOps presentation—but backs up the theory with code-level discussions of how logging, metrics, and monitoring works at Etsy.

John Allspaw commented on his own presentation:

One of the not-groundbreaking ideas that I’m finally getting down is something that should be evident for anyone practicing or interested in ‘continuous deployment’:

“Being able to recover quickly from failure is more important than having failures less often.”

This has what should be an obvious caveat: some types of failures shouldn’t ever happen, and not all failures/degradations/outages are the same. (like failures resulting in accidental data loss, for example).

When the Fur Flies: Dev and Ops Cooperation when the Worst Happens by Michael T. Nygard

Twitter feedback on this session included:

MachinesAreUs: RT @tastapod: @mtnygard suggests bringing dev and ops into the same team and having a combined change request + defect backlog #QConSF

Intuitive Parallel Programming

Actor Thinking by Dale Schumacher

Twitter feedback on this session included:

A_Robson: Dale Schumacher built his own functional actor language... it's also an operating system and dynamic language grammar. #holycrap #qconsf

ifandelse: Dale Schumacher showed me that what I *thought* I knew about the Actor pattern was rubbish. Mind blowing session. #qconsf

Perception and Action: An Introduction to Clojure's Time Model by Stuart Halloway

Steve Zhang discovered Clojure:

I learned that Clojure is such an elegant and beautiful language, and more important is that Closure defines/redefines the concepts about value, time, perception, which are totally different with traditional object oriented model. OO is not the only thing to observe the world. This is big mindset change. Stuart's second talk about time model in Clojure is brilliant, pretty philosophy, it will take me longer time to fully understand them.

Twitter feedback on this session included:

andrewsmedina: clojure == node.js + concurrence + parallelism #qconsf

Java, the Platform

Erjang - A JVM-based Erlang VM by Kresten Krab Thorup

Twitter feedback on this session included:

MachinesAreUs: Design ideas behind Erlang: Build reliable systems in the presence of errors - talk by @drkrab #qconsf

More Architectures You've Always Wondered About

League of Legends: Scaling to Millions of Ninjas, Yordles, and Wizards by Scott Delap & Randy Stafford

Twitter feedback on this session included:

brhubart: @scottdelap: League of Legends caches all relevant configuration properties. #qconsf #riotgames

brhubart: @scottdelap: Data is useless without an easy way to view it. #qconsf #riotgames

brhubart: Randy Stafford: Domain driven design for the grid. #qconsf #riotgames

Scaling the Social Graph: Infrastructure at Facebook by Jason Sobel

Mark Bathie commented on this presentation:

With more than 500 million active users, the infrastructure team at Facebook have some serious traffic to deal with. While this isn’t hot news, it’s always cool to hear directly from the people working on the product and supporting infrastructure. Jason Sobel, Engineering manager at Facebook, gave a good talk on how they decided to stick with the technology that Facebook originally used - MySQL and PHP.

As most product managers know, a product will hit an upper limit threshold at some point and you’ll be faced with a decision to either (1) re-write using a different, or more modern language and gain improvements but risk setting back the product several years while you rewrite (this varies depending on the size of the project of course), or (2) stick with the product as-is and put up with whatever is causing problems and work around the issues. The team at facebook did both, they stuck with PHP and when they hit upper limits…what did they do? Write a compiler of course!

The compiler turns PHP into C++ and according to Jason, increased website performance 4-5x. This is major out of the box thinking, and requires a lot of technical ability just to write a compiler alone. Ultimately this allows Facebook’s web developers to keep iterating on the site at the same rate, using the same language without any impact on their internal development processes.

Twitter feedback on this session included:

mansillaDEV: MySQL queries at #FB are just vanilla SELECTs and INSERTs. All indexes are stored in memcache. "8 web servers for every 2 memcache" #qconsf

al3xandru: Fb: MySQL is simple, fast, and reliable. Caveat: the storage doesn't handle the distribution part itself #mysql #qconsf

al3xandru: Fb: We're not really heavy users of #Cassandra #qconsf

NoSQL

title.regex = "* noSQL *" by Erik Meijer

Dennis Doomen attended this session:

Another talk I went to was Erik Meijer's mathematical analysis of SQL versus NoSQL. I must admit that it was very funny to watch. But to be honest, I had no clue of what he was talking about other than being able to vent his opinion that SQL databases and NoSQL databases should be seen as complimentary rather than as competition. Taking into account that he is working for Microsoft, that may have been the real message. Nonetheless, the audience was thrilled so it must have been good.

Twitter feedback on this session included:

A_Robson: Erik Meijers #nosql talk at #qconsf proved mathematically that key/value is mathematical compliment of sql. #ftw

johaneltes: Eric Meyer presented a mathematical proof for noSQL as dual to SQL. Perfect for teaching a legacy guy like me noSQL. And very fun! #qconsf

ddoomen: Erik's session is the first one where I had no clue about what he was trying to point out. But I'm probably the problem here. #qconsf

tomczarniecki: Erik Meijer: NoSQL is relational db with the arrows reversed. LOL #qconsf

al3xandru: Objects are fully compositional, tables are not /via Erik Meijer #qconsf

Where to Put Data by Michael T. Nygard

Twitter feedback on this session included:

tastapod: @mtnygard manages to be hugely entertaining and hugely educational at the same time. "Minnesota has a 14 month winter"

stilkov: "Historically, my applications have had the shelf life of milk" @mtnygard at #qconsf

stilkov: half of the interest in NoSQL is scalability, half is getting away from passing schema changes through the DBA @mtnygard at #qconsf

stilkov: "Given enough time and perversity, you can create any query model on top of any storage model" @mtnygard at #qconsf

Real Life Cloud Architectures

Out of This World Cloud Computing by John L. Callas & Khawaja Shams

Mark Bathie commented on this presentation:

I decided to check out one of the talks in the cloud computing stream next with Khawaja Shams from NASAs Jet Propulsion Laboratory. He spoke about how they are leveraging the cloud to cope with the vast amount of image and raw data collected from their Mars Rover’s- Sprit and Opportunity. They recently migrated their compute infrastructure away from an ‘in house’ solution to Amazon AWS. By leveraging on-demand compute power in the cloud they are able to process massive volumes of image data and display it in a meaningful way to their scientists in a fraction of time compared to their ‘in house’ solution.

Twitter feedback on this session included:

mtnygard: JPL using SimpleDB for rover plan attributes, hold reference to full plan as blob in S3. Chosing consistency over availability. #qconsf

mtnygard: JPL using encrypted filesystem, HIDS in their hardened AMIs. -- Security in the cloud is possible, but not automatic. #qconsf

Securing the Web: Capabilities, JavaScript, and HTML

From E to ECMAScript and Back Again by Mark S. Miller

Twitter feedback on this session included:

rebeccawb: Very impressed by Mark Miller's Secure Distributed Javascript talk this afternoon. Elegant, simple, powerful, & well designed... #QConSF

SOA for the REST of Us

Do You Do REST? by Subbu Allamaraju

Twitter feedback on this session included:

stilkov: Now in @sallamar's talk on REST & interoperability - interesting discussion of interfaces and contracts #qconsf

Practical Guide to Using REST for SOA by Stefan Tilkov

Twitter feedback on this session included:

johaneltes: Stefan Stilkovs talk on REST/SOA was good. Would be interesting to map the 12 OAGIS verbs (also a canonical protocol) to REST. #qconsf

MachinesAreUs: Recipe for handling transactions across different REST services: Make transactions a 1st class resource - by @stilkov #qconsf

RESTful SOA or Domain-Driven Design - A Compromise? by Vaughn Vernon

Twitter feedback on this session included:

stilkov: Really liked Vaughn Vernon's session at #qconsf - very lucid explanation of how to combine REST and DDD

The Role of Hypermedia and the Future of Web Integration by Guilherme Silveira

Twitter feedback on this session included:

jcfigueiredo: Some practical implementation of Restful architecture with @guilhermecaelum #qconsf

stilkov: Example by @guilhermecaelum's at #qconsf : Restfulie.at(site).get.link("search").get.fill("flight").with(:from => "GRU", :to => "JFK").get

Solutions Track: Wednesday

The Road Ahead for Java by Adam Messinger

Twitter feedback on this session included:

brhubart: Adam Messinger: 2 new OpenJDK releases in 2011 & 2012 #qconsf

mtnygard: JavaFX APIs for better 2D & 3D graphics: cool. Split backends for Java VM or HTML5? Sounds dodgy. #qconsf

mtnygard: Plan is for 2 new GlassFish releases in 2011. #qconsf

johannescarlen: Two new Netbeans releases as well as Glassfish in 2011 #qconsf

mtnygard: Java Mobile: integrating of web technologies. WebKit, JavaScript, Java/JavaScript Bridge. #qconsf

alexismp: WebLogic and GlassFish to share same HK2 microkernel #qconsf #futureofjava (via @pieterh)

mtnygard: "It's our intent to have a premium version of the JDK." Said in addition to the open source JDK. #qconsf

mtnygard: Plan is to converge JRockit and Hotspot into one VM. Teams have merged. Unified VM to be open source under OpenJDK. #futureofjava #qconsf

brhubart: Adam Messinger: Java VM support for multiple languages. #qconsf

pieterh: Java SE 8 will feature Closures for Java - project Lamba, which will enable better parallelism #qconsf #java

When Is Garbage Not Garbage? Using Ehcache to Overcome the JVM's Limitations by Ari Zilka, Founder

Twitter feedback on this session included:

baselogic: Expected sales pitch at "When is garbage not garbage / Ehcache" Not so; excellent session. My best at #qconsf

Solutions Track: Friday

Adopting Agile Approaches for Enterprise Architecture by Brian Zeichick

Mark Bathie commented on this presentation:

Brian’s key point is that Agile is all about enabling regular communication amongst developers and project managers (Scrum masters). If people in enterprise are thinking about Agile but are unsure about its benefits, they should understand that the most common reason software projects fail or break down is because of lack of communication amongst the team. This is core to what the Agile methodology addresses.

Social Events

Dennis Doomen mentioned a couple of quotes on QCon’s social events:

  • Amazing how quickly the #qconsf crowd tore though the ice cream bars
  • Coffee: A mild stimulant popular as a late-afternoon refreshment at software development conferences.

Dennis Doomen attended a CQRS Open Space discussion:

After taking a quick bite at the Google-sponsored reception, I went to the CQRS Open Space discussion I proposed earlier that day. I was quite surprised to finally find the entire .NET minority group present at QCon. It was great to be able to hear the opinions and challenges of all those smart people. The discussion continued for more than 1.5 hour, so that's prove it is something worth discussing.

Twitter feedback on this session included:

johannescarlen: Most popular first day at #qconsf - the ice cream freezers!

brhubart: Amazing how quickly the #qconsf crowd tore though the ice cream bars.

ddoomen: The buffet at #qconsf http://yfrog.com/f/e9txsj/

JaiHirsch: A great evening with #qconsf people! Looking forward to the sessions tomorrow!

mtnygard: I'm sitting with 3 language implementers. Of different langs. Feel like I need to go invent my own to get into the conversation. #qconsf

Opinions about QCon

Mark Bathie complained on having to choose from too many good presentations:

I had to opportunity to attend QCon San Francisco last week, along with our new owners at CollabNet who sponsored the event. The only downside was that there were too many talks I wanted to go to with conflicting time slots, but I managed to catch Jason Sobel discussing Facebook’s backend infrastructure and PHP, Brian Zeichick speaking to CollabNet’s Agile development process, and Khawaja Shams from NASA Jet Propulsion Laboratory sharing their use of EC2 and cloud computing.

For Steve Zhang this was the first QCon:

My journey of 5-day QConSF 2010 is just finished, now I am on the plane flying back to Toronto. This my first time to attend Qcon conference, the whole conference is so nice, I really enjoyed the whole conference. …

The 3 days talks are really good, every day I feel struggle to choosing which one I should choose. I chose Java track (Wednesday), NoSQL(Thursday), Parallelism programming(Friday). I will say most talks are really good, some talks you will find which is not you expected. My most favorite is Michael Feather's talk: the most important part is about Conway's law: your code structure mirror your organization structure, wow!, totally striking. Before I had some kind of impression, but I was not aware of this rule, fantastic! Michael's talk is so important because it gives your insight to deeper thinking, like Zen medication, action of awaken and awareness. Thank you, Michael!

Rebecca Wirfs-Brock remarked about QCon:

QCon is a conference where people expect to soak up new technologies, design and architectural ideas, and programming languages. QCon is techno-geek mecca.

Greg Howard wrote about his QCon experience:

San Francisco’s QCon was expecting a smaller crowd, but ended up bursting at the seams: the event sold out weeks ahead of time and in many sessions it was standing room only.

Targeted at architects and operations folks as much as developers, QCon was heavy on the hot topics of the day: SOA, agile, and DevOps. But if there was a consistent trend throughout the three days, it was “No more theory. Show us the practice.”

Twitter feedback on QCon SF:

meadoch1: #qconsf so far is exceeding expectations. It's like a crash course on advanced design. Lots of validation.

Takeaways

Steve Zhang:

NoSQL, Concurrency & parallel programming and functional programming are my blind spots. Throughout a 3 days conference  I just got some concepts, since they are all very good speakers, I know what I am going to learn next steps.

Dennis Doomen compiled a set of quotes:

  • "All problems can be solved by another level of indirection, except for the problem of too many layers of indirection"
  • "Nothing scales like a stateless service"
  • “The structure of your architecture will reflect the structure of your organization” (Dan North)
  • "Erik (Meijer) just mathematically proved that NoSQL is really coSQL"
  • "How do you tell the difference between a startup and an enterprise? In a startup, everybody knows the administrator password"
  • "If you do it more than twice, script it." (Randy Shoup about automation being key in the cloud)
  • "Technology without purpose is squat" (Rod Barlow)
  • "XML is like violence. If it's not working, use it more." (Martin Fowler)
  • "Hope is not a strategy. Don't build a system based on it."
  • "Understanding the domain is a whole team activity" (Dan North)
  • "Share your fear about a thing with friends that do the same thing helps you all to act together..."
  • "Meetings == beatings" (Michael Feathers after misunderstanding a question)
  • "Test too hard and you are fixing problems that will never occur. Test too light and bad things happen."
  • "Oh?….oh!....crap!" (Dan North, about deliberate discovery)
  • "Seems wrong for the concurrency track not to be delivered in parallel"
  • "Once again, QCon is showing me how little I truly know!"

Paul McCallick attended the conference:

Yeah, it was a good conference.

There were lots of topics, but is seemed like one of the big ones was
continuous delivery.  That is the ability to roll out every code change
straight to production.  Cool stuff.

Twitter feedback on this QCon SF included:

simonguest: Returning from #Qconsf - fun panel on cloud data, and great event

meadoch1: This has to be one of the best conferences or professional education events I've been to.

dragade: Seeing some great talks on the architectures and practices of companies like Twitter, Ebay, and Google at #qconsf #qcon

IntelliZhang: Cownway's law http://tinyurl.com/2wzvyb, that is one of the best I learned from #qconsf

lorchaos: Lots of great talks, but I think @stuarthalloway presentation about clojure's time model was my favorite #qconsf

JaiHirsch: A great #qconsf + incredible people/conversations + winning an IPad = one awesome conference. Hope to see you all next year!

jezhumble: Thought-provoking and insightful final talk by @mfeathers. A great way to end #qconsf.

keithdavidson: #qconsf Really enjoying a conference that is not vendor heavy.. and about craftsmanship from all angles.

dserebren: after #qcon: JVM still rocks but Groovy, Clojure, and Erjang seem to be a lot more interesting than Java itself

Conclusion

QCon SF was a great success and we are very proud to have been able to offer such a conference. We hope to see you next year! To get announcements for the next QCon SF, feel free to sign up for updates on the QCon San Francisco homepage.

Rate this Article

Adoption
Style

BT