We deliver custom software solutions and staffing services that enable
corporate, nonprofit and government organizations to achieve business goals.



Always at the ready, we take software development projects from start to finish. Have a funded idea? Or want to spin off a product or build an SaaS offering? Our experts have the experience to take your idea to production. Following a process that results in a high level of success, we communicate with you every step of the way, from outlining requirements to design and development and all the way through testing and deployment, to ensure we are bringing your vision to life. Ready to start? Contact us

Project Assessment

Want to determine if your project is on track or heading toward disaster? We will review your project and give you a technical assessment in plain English terms letting you know what things are like ‘under the hood’. We'll use objective measures and established review methods to give you a snapshot of the project's current health and work with you to establish a roadmap that ensures the best likelihood of success. This process typically results in improved project quality. Want an assessment on your project? Contact us

Technical Staff Augmentation

Our experienced team of software developers serves as an extension to your development team. Plug us in as needed, and we will immediately enhance the capabilities of your existing team. Want to multiply the effectiveness of your team? Contact us

Technology Evaluation

Need to incorporate technology into your operations, but aren’t confident in which software product or vendor to choose? We can help. We work with your staff to determine what is needed, and research solution providers to find a best fit to reach your vision. Want help deciding on technical options? Contact us

Agile Coach

Agile process ideas sound great in theory, but aren’t always so simple to implement. We can provide assessment, mentoring and specific training to help your team reach your goals of adopting agile processes. Ready to raise your teams agile skills? Contact us

Cross Training

Have an in-house team who is new to Ruby on Rails? We can join your team to both develop software and mentor the team. In the short term, this approach can increase the velocity of the in-house team, and shorten their ramp up period in the new development environment. Longer term, training and mentoring will help the team reach higher levels of productivity. Ready to bring a Ruby eye to your Java guy (or gal!)? Contact us

We do the technical heavy lifting!

Schedule Consultation

Streamlining business processes

improving efficiency


Nova Java Users Group

In 1999, CodeSherpas' founder, David Bock, started the Northern Virginia Java Interest Group. A year later, that group merged with the Northern Virginia Java Users Group and a smaller Java study group. Mr. Bock served as Vice President until 2001, when he was elected President. In his 8 years as President, the group grew from approximately 300 members to over 3000, with 2 monthly meetings, and several special interest groups on various technologies. The group also periodically offers free public training courses.

Today, CodeSherpas is actively involved in the group with sponsorships, presentations, and other organizational support.

Nova Ruby Users Group

In 2005, While helping to coordinate the first Pragmatic Studio, we used the opportunity to have the instructors present at a joint NoVaJUG/NoVaRUG inaugural meeting... effectively starting the Northern Virginia Ruby User Group. At the next meeting we welcomed our first sponsor, InfoEther.

For several years we helped coordinate the monthly meetings, tracking down speakers and occasionally speaking ourselves. Today that group is active with over 450 members, and we sponsor the group, still help coordinate, and occasionally speak.


RubyNation is the premier Ruby conference for the nation's capital. Started in 2008, RubyNation has grown in size and in quality of content each year. RubyNation is a great place for newbies to learn Ruby skills and for veterans to hone their expertise. CodeSherpas is a proud to sponsor of RubyNation. Two Sherpas, Karen Gillison and David Bock, are members of the RubyNation organizing team.

Conference Speaking

Through CodeSherpas' efforts to educate and give back to the developer communities, we often speak at software engineering conferences. Since our founding, we have spoken at over 50 software engineering conferences, including the NFJS Conference Tour, RailsConf, RubyNation, AgileIT, RubyRX, AgileDC, AgileNoVa, as well as dozens of user group meetings.

Ruby5 Podcast

Ruby5 is a twice weekly podcast delivering timely news in the Ruby and Rails community. David Bock has been regularly cohosting Ruby5 since 2010, with regular guest hosting by Kim MacCormack and Karen Gillison, among others.

Rails Girls Mentoring

Rails Girls mission is to provide tools and a community for women to understand technology and to build their ideas. Rails Girls events attract attendees from a variety of diverse backgrounds, many with no or little software development background. During the event, attendees are tutored on Ruby on Rails, and by the end of the event, many have launched a live, simple web app created using a database back end, with a basic look and feel that is accessible on the internet. Success! Karen Gillison is passionate about encouraging women to pursue and leverage technology in their lives. She is a Rails Girls volunteer and has coached several Rails Girls events in Washington, DC and Pittsburg, PA.


In 2012, we were part of a small group of software developers who desired a local outlet for professional collaboration; thus, RubyLoco was founded. Meeting the last Friday of every month, we are already planning a small 'unconference' for the developer community in Loudoun County, VA and surrounding areas.

From concept to realization

We can bring your idea to life

Open Source Projects

Stonepath Workflow

StonePath Workflow means different things in different domains; a photographer thinks of picture processing workflow in a much different way than an office clerk thinks of the tasks for filling out paperwork. At their heart though, both involve a work item with specific tasks that need to be completed, traveling through states as that work is done. Based on our experience building workflow applications for the U.S. State Department, we abstracted these workflow patterns in Stonepath - A collection of stateful workflow concepts for Ruby on Rails. This is useful for implementing workflow to automate a repeatable business process into your application.

See StonePath on Github.


When working with StonePath, we are often integrating into a multi-role office environment where we encounter rules like "The data entry clerk cannot see data once it has gone into legal review". StoneWall adds these kinds of access rules to StonePath-defined workflows.

See StoneWall on Github.

FontAwesome Rails

FontAwesome is a project to create a 'dingbats'-like font specifically for modern web applications, allowing developers to rapidly add iconography to their applications quickly, and without resulting in slower applications due to many image-loads. FontAwesome-Rails is a packaging of this web font for the Rails Asset Pipeline, allowing it to be easily added, versioned, and upgraded as newer versions are released.

See FontAwesome Rails on Github.

Business Time

Have you ever needed to calculate time based on business hours and days? This gem allows you to define your business hours, days and holidays, then gives you time calculations based on the business time. For example: 8.business_days.from_now or 10.business_hours.ago

See Business Time on Github.


Despite web applications being globally distributed, timezone support within existing web standards is weak or non-existent. There is no 'standard' way for a web application to determine the time zone of the connecting client, so operations like "send me an email at 5pm" become difficult or impossible... after all, when your server is in the cloud, its 5pm someplace every hour! TZ_Magic is a ruby gem that standardizes both timezone detection in the browser and the way that information is communicated to the server, so your application code only has to worry about one standardized timeone (like UTC).

See tz_magic on Github.

FullCalendar Rails

Typically, calendars in web applications involve a lot of complex screen rendering, logic for displaying and rearranging events, etc. The JQuery Fullcalendar project is an excellent Javascript library for providing this information. The FullCalendar-Rails gem bundles this library for the Rails asset pipeline, allowing it to be easily added, versioned, and upgraded as newer versions are released.

See FullCalendar Rails on Github.

Sentient User

For technical reasons, it is often necessary for Models in Rails application to be aware of the current user; whenever the business logic depends on the current user's role, for instance, it might make sense to have that logic where it can be unit tested and enforced for mechanisms other than web applications. (reporting, command line, or desktop applications, for instance). Sentient User is a ruby gem that makes the Model layer of your application aware of the current user of the application, so these rules can be written in the model layer, where they belong.

See Sentient User on Github.


Countless times we have solved problems for clients using Rake, email, various databases, some of our other gems, and a little bit of ruby glue as a 'back office automation' task. We've done this so often that we started the 'Rake Application Starter Kit' for our own internal use so these projects could have a consistent foundation. After showing to several people who said "can you share that with us?", we decided to give it back to the ruby community at-large. The readme and code comments are particularly thorough - feel free to use it as the start of our own internal ruby backoffice automation projects.

See RASK on Github.

Big idea? Great, now let us do the rest

Upcoming Events

Events are currently being scheduled in November for the Reston and Philadelphia Ruby Users Groups.
Stay tuned for our 2014 schedule as well!

Past Events

October 10, 2013 - David Bock Presented "What Computer Scientists Know: Recursion" at the DC Ruby Users Group in Washington, DC.

October 9, 2013 - David Bock Presented the premiere of "What Computer Scientists Know: Recursion" at the Arlington Ruby Users Group in Arlington, VA.

June 26, 2013 - David Bock gave a presentation at Arlington RUG entitled "Embrace the Nuke and Pave" as part of the Great schema.rb Showdown

June 26, 2013 - Kim MacCormack gave a presentation at Arlington RUG entitled "What's with All the Ruby Versions"

June 19, 2013 - David Bock gave an Agile Estimation talk at Agile Richmond

June 14-15, 2013 - All of the Sherpas attended and help organize and run RubyNation 2013 in Bethesda, MD

June 13, 2013 - Karen Gillison was a coach at RailsGirls DC in Bethesda, MD

May 15, 2013 - Kim MacCormack was a mentor at Girl Develop It's Code and Coffee NYC in New York, NY

Our passions: developing high quality software

and custom technical solutions


CodeSherpas delivers custom software solutions and staffing services that enable corporate, nonprofit and government organizations to achieve business goals. Whether creating web applications, conducting a project assessment, augmenting your in-house development team or delivering agile development training, CodeSherpas approaches all engagements with a passion for delivering results that propel customers to the next level. At CodeSherpas, we pride ourselves on our technology expertise and experience, but above all, on understanding our customers’ needs and creating the solutions that help them achieve success.

The team


David Bock


Vice President and Principal consultant at CodeSherpas Inc., which he co-founded in 2007. As a respected software engineer, project manager and mentor for commercial and government clients, David helps organizations solve pressing business problems through the application of technology and custom-software solutions.

  • Icn-twitter
  • Icn-linkedin

Karen Gillison


A founding partner of CodeSherpas Inc. As an analytical software engineer and project manager, she has demonstrated a commitment to developing high quality web applications to enable her clients to get products to market faster. Through time tested and assured processes, Karen consistently delivers results.

  • Icn-linkedin

Kim MacCormack


President and founder of CodeSherpas Inc. with a Master’s in Software Engineering which she brings along with her extensive experience to every aspect of the software engineering lifecycle, including requirements analysis, design, human/computer interface design, code development and quality assurance.

  • Icn-linkedin

Now accepting new expeditions:

Call us to discuss your destination



Thank you! I have received your message.

First Name

Last Name




How did you hear about us?


Contact Info

Icn-phone 888.650.7829


Icn-address CodeSherpas Inc.
525-K East Market St #190
Leesburg, VA 20176