I take on short and long term projects for both local and remote clients ranging from technical advice, reviews, or presentations lasting only a few hours to software development projects spanning several months and multiple product releases. I work primarily from my offices in Boulder, Colorado. Onsite visits and work may be arranged on an as-needed basis.
Please contact me today to arrange a free initial consultation.
Defining and adopting a robust, scalable, and workable software architecture is a foundational step in creating an enterprise-scale system. My architecture services ensure the solution suits your business needs and satisfies user requirements under given constraints such as budget, deadlines, SLAs, existing technology requirements, team composition and skillset. I take a practical, hands-on approach, working actively with business stakeholders and the development team throughout the software development lifecycle to ensure the product architecture is well defined, documented, communicated and stays on course.
- Architectural Styles - SOA, shared-nothing, event driven, layered, component-oriented, multi-tier
- Scalability & High Availability - Clustering & failover, Business Continuity / Disaster Recovery, performance optimization
- Security - Authentication, authorization, digital encryption, firewalls, PCI DSS / PA-DSS, reviews & best-practices
- Platforms & Frameworks - Windows, Linux, .NET, Java EE, LAMP
My software design and development experience ranges from large-scale, multi-tier enterprise/commercial systems to web applications to desktop and mobile applications to components and libraries to prototypes and demos. I typically use an agile, iterative development methodology geared towards getting code in customers' hands early and often with minimal process overhead while providing predictable, repeatable results. However, I can also adopt your organization's established processes where appropriate to help coordinate joint development efforts. My custom software solutions come complete with detailed design and code documentation as well as automated unit/integration tests.Technical Skills Summary
- Design/Architecture - Distributed Systems, Multi-Tier, SOA, OOD, Design Patterns, Clustering, High-Availability
- Security - Digital Encryption & Signatures, SSL, PCI DSS, Claims-Based, NTLM, SSO
- .NET - VS, C#, .NET 2.0-4.0, WCF, WF, ASP.NET, ADO.NET
- Java - JSE 6, J2EE, Servlets, EJB, JAXB, JAX-RS, JMS, JDBC, JSP, Spring, iBatis, ant, Eclipse, JBoss, Tomcat, Jetty
- Windows - Vista, Server 2008, VC++, COM/COM+, Windows API
- Linux - Red Hat, Ubuntu, Fedora, Bash, SSH
- Mobile - iPhone SDK, Objective-C, SMS, Windows Mobile
- XML - XML, XSD, XPath, XML DOM, SOAP, WSDL
- Database - SQL Server 2005/2008, Analysis Services, OLAP, T-SQL, MySQL
- Standards/Protocols - SOAP, LDAP, MIME, HTTP, TCP/IP, SMTP, IMAP4, POP3, JPEG, MPEG, SCSI
- Other - Agile development with SCRUM, SVN, CVS, UML
In Program Management I focus on ensuring that your business's products and services will exceed your customers' expectations. I will work with you to translate your requirements into product features and a product backlog or a functional specification. Before and during implementation, I can mentor your team with templates, tools, and guidance in using an agile, customer-centric development methodology. To set your project on track and keep it there I can create a release plan, coordinate work among groups and team members and drive your project to a successful completion.
For Entrepreneurs - If your startup is preparing to seek a round of venture-capital funding or to be acquired, I can help you enter into this process 100% prepared for a technology review. Starting with a one to two day technology assessment, I will meet with your staff and review your organization's skillset and processes, current product(s), technology roadmap, intellectual property and patents. From that I will prepare an analysis identifying gaps that need to be addressed. I can also work with you to remediate issues or refer you to other qualified professionals for help in specific areas.
For Investors - For venture capital firms and businesses considering acquisitions, I provide due-diligence services to provide answers to your technology questions: What is the current status of the company's technology - does it have a well-architected, solid foundation, or is it a prototype or demoware? Is the technology tested and documented? Does the company have a viable technology plan and intellectual property? Is the right team in place to execute on this plan? I will meet with the staff, review their documentation, code, and patents, and prepare an analysis of my discoveries with details on the technical risks and opportunities I have uncovered.