Garlic Software

We are a professional software development consulting firm specializing in the complete software development lifecycle. We can take your idea from the conceptual stage up through the successful shipment and support.

“Scott is a smart software engineer with a broad interest in various software technologies. Scott is clear and articulate with excellent verbal and writing skills.”
–PayPal Senior Product Manager


We specialize in the following platforms and technologies:
  • iOS Apps (iPhone / iPad / iPod Touch)
  • Macintosh Application
  • Server web services and APIs
  • Objective-C
  • C++
  • C
  • Perl
  • Apache
  • MySQL
  • Xcode
  • Build automation
  • Source code control (Subversion, Perforce, CVS)
  • Unit Testing (cppunit, OCUnit, xUnit, GHUnit)
  • Arduino

“Scott is a brilliant engineer. He consistently delivered quality designs and code for our projects. I would hire him again.”
–AlphaSmart Director of Software


8 Reasons Why You Should NOT Hire Us


  1. You do not like to pay for “expensive” software engineering consulting rate. We are usually the guys that companies call when their software project from an off-shore outsourcer fails. In our experience, in the long run, what appears to be inexpensive costs more due to buggy, unreadable, inextensible software.
  2. You find it exhilarating to sleuth out thousands of bugs lurking in your software.
  3. You like the waterfall development process and your development cycle is 18 months long. On the other hand, we will take careful time to scope out your project, understand your needs, and give you a realistic timeframe of completion of your project. Usually, we are as fast as your original schedule, if not faster because of item numbers 6 and 7 below.
  4. You like to outsource your development instead of hiring a locally, highly skilled developer who understands your local practices, language, licensing issues, and copyright issues--not to mention someone who works close to your own time zone.
  5. You don't think that customer service is an integral part of software development. Whereas, we like to build a relationship with you and ensure that you are happy every step of the way.
  6. You don't mind paying again for several iterations of your software development due to dodgy programming or changing user requirements. On the other hand, we prefer to create user stories, functional specifications, and refine the specifications as we are going through the coding phase. If something changes, we will gladly do so without you having to specify every detail upfront and then paying money to change it later.
  7. You like the challenge of maintaining unreadable, uncommented, spaghetti code. Whereas, our software solutions are highly structural taking advantage of Design Patterns and good software practices. We create extendable, readable, clean, and commented code that will make it easy for other programmers to maintain and make additions to.
  8. You don't care about creativity in software development. You don't mind a software developer who blindly copies a snippet of code from a website and plugging it into your software without much thought (a Just Do It mentality) and regard about the problem they are solving, the current state of the software they are working on, and your own current software needs. It doesn't matter whether it would break something else. They'll just keep adding code to keep fixing what was a problem before till you have software bloat. Whereas, we believe that creativity and efficiency is the hallmark of good software design and we love our work!

“I worked with Scott for about a year, managing projects to which he contributed as a software designer and developer. I found his work to be timely and conscientiously performed. He is an original thinker and had excellent knowledge and skills in the necessary tool-set. His attitude was patient and good-humored at all times.”
–Adobe Program Manager



Non-disclosure agreement


Sample Contract


Contact

For more information you can use the contact form to request additional information and discuss your individual project.