Concurrent Thought is a software firm based in Chicago with clients around the world. We help clients understand, choose, and apply Big Data technologies. We also help clients master modern software development principles, like Functional Programming and Agile Development practices, while meeting ongoing business goals.

We believe in Polyglot Programming, combining the best tools, languages, and techniques to build best-of-breed Big Data, Internet, Enterprise, and Mobile applications.

Our specialties include the following:

  • Big Data Technologies: Our founder, Dean Wampler, Ph.D., has spent the past several years working with clients to build Hadoop and NoSQL systems for data warehousing and advanced analytics applications. Dean is a widely recognized conference speaker and the coauthor (with Edward Capriolo and Jason Rutherglen) of Programming Hive, published by O'Reilly Media. (Hive is a very popular SQL tool for Hadoop.)
  • Software Design Paradigms: Functional, Object-Oriented, and Aspect-Oriented Programming. We are big believers that Functional Programming is the way forward for software design, especially for large-scale, highly-concurrent, data-oriented systems. However, we leverage OOP and AOP when appropriate. We help clients adopt FP, primarily using Scala, but also applying FP to more traditional environments, including Java, JavaScript, and Ruby. Dean's book, Functional Programming for Java Developers, is indicative of this pragmatic approach.
  • Language Ecosystems: Scala and the Akka distributed computing system (Dean is the coauthor with Alex Payne of Programming Scala), plus other server-side Java, JavaScript, and Ruby stacks are the tools we use for general application development. We use Scala and Python tools for data analytics and machine learning projects.
  • Application Frameworks: Akka, Hadoop, Storm, Spark, and various NoSQL databases.
  • Agile for Large Organizations: XP, Scrum, and Lean, adapted and scaled from small teams up to enterprises.

Concurrent Thought is also in the early stages of building a next-generation platform for distributed computation over large as well as small data sets. What makes our project different? We are leveraging the powerful, composable abstractions of Functional Programming with the lessons learned from our experiences with other large-scale data systems available today. We hope to build an alternative that scales to arbitrarily-large data sets, while still providing rapid analytics capabilities. At the same time, we want our platform to remain lightweight enough to be used on very small data sets, as well. You'll have one data analytics platform that scales with you as you grow, yet remains suitable for experimentation on your desktop. In the meantime, let us bring our approach to building scalable, efficient software to your projects!

Our presentations page has links to our recent conference talks. We also sponsor several open-source projects, including Aquarium, an Aspect-Oriented Programming toolkit for Ruby, Contract4J, an AspectJ-based, Design by Contract tool for Java 5 and AspectJ, and Stampede, a flyweight workflow scheduling tool. We contribute to several other GitHub projects as well. You can find Dean Wampler's resume here.

For more information about our services, please email us at Thank you!