Verified Expert in Engineering
Richard has run the gamut from technical support to co-founder. Over his career, Richard has accumulated both a deep level of technical understanding as well as a broad comprehension of the other requisite elements of building and growing a successful business. His breadth of experience and technical expertise make him uniquely suited to solve business problems with technology.
Git, IntelliJ IDEA, Vim Text Editor, FreeBSD, Linux, OS X
The most amazing...
...technology I've built is a real-time, fault-tolerant framework to serve a highly-collaborative application on old browsers and terrible networks.
Senior Software Engineer
- Continued development of the Vertiscale WaaS (Workspace as a Service) product under the new company's direction.
- Designed a highly scalable, event-driven workflow engine for performing asynchronous, long-running provisioning tasks.
- Analyzed product catalog to find overlaps and increase efficiency and quality through pooling and sharing development resources.
Senior Software Engineer
- Designed a schema for modeling data models, errors, synchronous services, and asynchronous services.
- Created a code generation utility to leverage the aforementioned schema to generate models, interfaces, and security interceptors.
- Defined a complex interaction structure for a secure, hybrid-cloud application.
- Designed reusable components for asynchronous messaging, database interaction, and security.
- Designed the architecture for a multi-project, multi-module environment.
- Assisted in driving product from idea to beta, allowing the company to be purchased by Neverfail.
Principal Software Engineer
- Provided technical expertise and support with scoping of consulting projects.
- Developed consulting solutions which incorporated the Cloud Elements platform and SaaS product.
- Managed and mentored a team of junior developers.
- Designed a workflow engine to serve immediate consulting customer needs as well as to be provided as a future platform feature.
- Created a RESTful API definition and project structure allowing pluggable implementations and strict versioning.
- Participated in an incubator with emphasis on Lean Startup methodology, vetting and refining the nuvos business model.
- Co-designed and implemented a GUI toolkit allowing true write-once, run anywhere Java code through abstraction of drawing and event handling. Target platforms include desktop applications (AWT, SWT, JOGL), modern browsers (HTML5 Canvas via GWT), outdated browsers (FlashCanvas, JNLP, or Java Applets), and Android native.
- Built a set of device-agnostic APIs for accessing device features such as Contacts, GPS, and Accelerometer.
- Designed a SaaS product to create executables for various target devices (HTML5, Android, iOS) from a single Java codebase.
- Built an SDK focused on ease of use by developers including simple, asynchronous APIs and code generation.
- Designed and built an asynchronous NoSQL object database with abstract backing stores allowing pluggable storage systems.
Senior Software Architect
- Designed and built an application from the ground up enabling a highly collaborative workflow.
- Developed and maintained a library of event-driven and resilient pieces including network libraries and databases.
- Designed an in-browser storage mechanism to facilitate a thick-client application with full offline support in browsers not supporting modern browser storage technologies.
- Developed custom GWT components to provide speed and flexibility while building a web application which felt like a desktop app.
- Managed a team of junior developers providing mentorship and training in the highly-specialized software stack.
Senior Software Developer
- Architected and implemented server architectures for building highly scalable Internet-based applications using Java. Solutions include a versioned and concurrently-accessible database, a network communication framework capable of ensuring ordered delivery of messages over unreliable networks, and a publish-subscribe framework distributing filtered results to thousands of clients in near real-time.
- Designed and built a corresponding client architecture to deliver a highly-collaborative and real-time application in a web browser using the Google Web Toolkit. Solutions include a client-side database designed to allow full offline use of the application and provide convergence upon reconnection and a modified MVC framework allowing any Java UI implementation without duplicating business logic.
- Assisted in design, implementation, and maintenance of Nuvos, a software library designed to be simple, scalable, event-driven, and programmer-friendly. Modules implemented include an asynchronous database architecture with pluggable back-ends, event-driven TCP and UDP channel socket services, a kernel framework for parallel and ordered execution of tasks with fine-grained locking, code generation utilities with both XML (used via Ant) and Java bindings, and both DNS and HTTP clients and servers using the aforementioned channel services.
- Orchestrated several release cycles of hosted applications. Responsibilities included organizing regression testing, managing build and deploy scripts, and managing actual deployment to servers.
Node.js, REST APIs, JAX-RS, JAXB, JDBI, Android API, HTML5 Canvas, JDBC, Java 2D
Vim Text Editor, Apache Ant, Apache Maven, IntelliJ IDEA, Java Concurrency, Javadoc, Subversion (SVN), Terraform, Auth0, Git, VMware, Gradle, Helm
Agile Software Development, Object-oriented Design (OOD), REST, Concurrent Programming, Test-driven Development (TDD)
FreeBSD, Linux, MacOS, OS X, iOS, Docker, Bluetooth LE, Android, JavaFX, Kubernetes, Amazon Web Services (AWS), Amazon EC2
Software Development, CI/CD Pipelines, DHCP, HTTP, DNS
Ionic, Guice, GWT, AngularJS, Spring, PhoneGap
NoSQL, PostgreSQL, Amazon S3 (AWS S3), MySQL, Memcached
Bachelor's Degree in Computer Science
Southern Polytechnic State University - Marietta, GA
Unfinished Degree in Computer Engineering, Computer Science
Middle Georgia College - Cochran, GA