- Lecturer at California State University San Marcos
- Senior Software Developer at Hunter Industries
Big Nerd Ranch, iOS Essentials with Swift, Computer Software Engineering
Working with a small team of developers practicing software craftsmanship through “mob programming” (allowing for constant peer review and on-demand design/architecture discussions), Test Driven Development (TDD), and a drive for implementing best-practices in pursuit of delivering software of the highest quality. My team successfully went to production with a mobile app for Android and iOS devices using Xamarin Forms, bringing our experiment in cross-platform mobile development to fruition. This experiment allowed us to build two apps for little more than the price of one, and allowed users to benefit from our software regardless of their preferred platform.
Developed, refined, and taught curriculum at CSU San Marcos to teach cross-platform mobile development for the iOS and Android platforms with Xamarin.Forms for an upper-division elective (CS 481). Students with little to no mobile experience learned to create apps which typically had 100% shared code across platforms. A sample lesson on tabbed navigation can be found on Bitbucket at http://bit.ly/tabnav, and a variety of tutorials is available at http://bit.ly/jjbtutorials.
After conducting research and a proof-of-concept mobile app in 2016, embarked on a journey building a cross-platform, native (non-hybrid) mobile app that could be deployed to both iOS and Android platforms without requiring separate teams, codebases, etc. Using Xamarin.Forms, the vast majority of our code is shared across platforms, with a few exceptions where some platform-specific coding has been required. This was the first in-house mobile app the software development team took on. I hope to help grow and improve Hunter’s budding mobile app presence by helping develop mobile apps that are performant, reliable, and fun to use.
Worked in a team of 20+ software developers who are split up into smaller groups called “mobs” (see http://mobprogramming.org/ for more information on mob programming). Helped to promote and constantly improve this exceptional environment for producing the highest possible quality software for both internal and external-facing solutions while simultaneously boosting the whole team’s knowledge of the software itself and development best practices. All code is written using a TDD (Test Driven Development) approach, including unit tests and full-integration UI tests. Using specifications written in Gherkin syntax, we are able to create a living set of documentation executable as tests to ensure new code does not introduce bugs to existing functionality.
Working on software that orchestrates the handling and processing of genetic sequencing data for a bleeding-edge biotech company with goals of extending life and improving treatments by studying the subject’s genome. Personally responsible for enhancing and maintaining a WPF application monitoring the output from genetic sequencers and for various services constituting a workflow to process large amounts of genetic data. Gained valuable experience with Amazon Web Services including S3, EC2, Cloud Formation and to a lesser degree SNS, SQS and Lambda functions.
Cutting edge software development using .NET 4.0, C#, WPF, Entity Framework (SQL Server 2008 r2 Express back end), PostSharp AOP framework, MVVM design pattern employing the Prism framework and Unity dependency injection container for modular development of loosely coupled concerns that is exceptionally testable.
Developed a few small applications and websites, but the vast majority of this part of my career was spent building a complete “costing” desktop application for an athletic wear company to assist in their tracking of negotiations with factories around the world to manufacture the clothing items they design. The requirements called for an application that would run on both Mac and Windows systems, so I chose to use the REALbasic programming language and IDE (recently rebranded as Xojo), and a Microsoft SQL Server back end. For the entire application, there is only one single line of code differing for the Mac vs. Windows version. This costing system was my first foray into true object oriented software development on an even remotely large scale, and I am very happy to say that there have been almost no bugs, and the software has been in use by employees around the world since 2009. This project was an incredible challenge, and its success has been a source of pride and inspiration ever since. I am always excited when this client calls for a new feature, and gladly develop it for them in my spare time outside of my usual day job.
Founded, owned and operated a Mac-focused technical support consulting company offering on-site technical support, maintenance, hardware/software repair and upgrade service, groupware and software consulting and setup, network setup and support, and more. Acquired many repeat clients, most of whom were small to medium size businesses. Gave several presentations at a local monthly Mac user group (most published on iTunes as video podcasts).
At Spyder I was responsible for all technical support issues faced by approximately 150 users (95% Mac based, local and remote), and assisted in managing both Mac and Windows servers. I also developed new AppleScripts to automate various processes such as connecting to server shares, batch-converting image formats, and most importantly archiving email attachments to reduce issues associated with large email databases, as well as reducing strain on the backup server.
Rapidly promoted through the ranks at Apple from sales (starting in November, 2004), to keyholder, to my ultimate goal of working the technical support bar as a Mac Genius. My management and technical support experiences yielded the opportunity to fine tune my customer service skills, even in the face of highly agitated consumers. Garnered troubleshooting techniques to solve problems in both hardware and software.
Performed extensive research and subsequently designed and implemented a proof-of-concept application using Visual Basic for Applications in conjunction with Microsoft Visio. Developed code using Java in a team project for a large communications company needing an application to help determine broadband delivery capabilities based on information in a pre-existing database.
iOS Essentials with Swift, Computer Software Engineering
2016 – 2016
5 day bootcamp to learn iOS development using the Swift programming language. The “Big Nerd Ranch” is a renowned organization with phenomenal instructors and curricula, and one leaves these camps with a major boost in skills, and a lasting community with which to exchange ideas and troubleshoot issues throughout your software career.
C# Programming Certificate, C#, Microsoft .NET Platform
2010 – 2010
Enrolled in courses at UCSD Extension in pursuit of their C# Programming Certificate, completed in 2010.
Information Technology Institute
Certificate, Applied Information Technology
1999 – 2000
MA, Social Psychology
1997 – 1999
Thesis on stereotyping & prejudiced behavior, including extensive statistical analysis using SAS. Two publications resulting from stereotyping research
1992 – 1996
Honors thesis based on a customized computer-based experiment
Skills & Expertise
- Software Design
- OS X
- Visual Studio
- Entity Framework
- Web Development
- Microsoft Office
- Dependency Injection
- Mac OS X
- ASP.NET MVC
- Microsoft SQL Server
- Design Patterns
- Software Engineering
- Agile Methodologies
- Software Development
- Introduction to Objective-C(CSE-41109)
- iOS Programming 1(CSE-411471)
- iOS Programming 2(CSE-41148)
- iOS Essentials with Swift(Big Nerd Ranch)
Volunteer Experience & Causes
Causes Jonathan cares about:
- Animal Welfare
- Human Rights
- Science and Technology