Jamie Barbour-Moore

Secure Software Developer

Jamie smiling in a gray suit with teal blouse.

Skills

Software Engineering

Programming Languages

Java Experience
  • Developed desktop applications using GUI libraries including Swing, Java3D and JavaFX
  • Created automated testing with JUnit, Mockito and Sikuli
  • Developed applications for Android mobile devices
Swift Experience
  • Developed iOS applications using the SwiftUI framework
  • Managed persistent data using SwiftData
  • Created automated testing with the Swift Testing framework and XCTest
C++ Experience
  • Developed desktop applications using the Qt GUI framework
  • Created automated testing using Google Test
  • Worked on communications for a CubeSat
Python Experience
  • Developed web application back ends using the Django framework
  • Created automated testing using pytest
  • Rapidly developed application prototypes
Assembly Experience
  • Worked with both ARM and x86 assembly
  • Projects included a basic messaging server running on a Raspberry Pi
  • Developed and tested on emulators prior to moving to hardware
C# Experience
  • Developed windows desktop applications on the .NET framework
  • Created unit tests using MSTest
  • Developed GUI using the Windows Forms framework
PowerShell Experience
  • Developed scripts in order to update or retrieve computer settings
  • Called from within Java programs to retrieve information from VersionOne in order to create metrics reports
  • Used in conjunction with Jenkins to automatically check Coverity status and update stakeholders through email
JavaScript Experience
  • Used in conjuction with HTML and CSS in order to develop website frontends
  • Worked with multiple frameworks including TypeScript and React
  • Used in the creation of this website, such as the dark mode capabilities
Rust Experience
  • Used with an ESP32-s3 and touch LCD display in order to develop embedded applications
  • Worked with multiple libraries including LVGL for embedded graphics and Diesel for Sqlite
  • Developed unit tests using the #[cfg(test)] attribute and documentation tests

Software Design

  • Familiarity with software architecture patterns including Model-View-ViewModel and software design patterns such as Singleton and Composite
  • Experienced with multiple software paradigms including Object-Oriented and Declarative programming
  • Skilled in creating design documentation including clear and detailed UML Diagrams
A UML Diagram showing the relationships between 6 classes with a scheduling application
Figure 1: UML diagram from a software engineering project for my Bachelors of Science in Software Development

Website Development

  • Designed and created websites, including this portfolio website, using HTML, CSS and JavaScript
  • Experience multiple options for increasing website responsiveness, including Bootstrap, JQuery and React
  • Focus on creating an accessible and pleasant user experience
A white and blue basic outline showing a layout for a landing page for a personal website
Figure 2: A low fidelity design for a previous website development project
A screenshot of a landing page for a personal website. It is primarily purple and uses a large image as a background with fancy fonts.
Figure 3: Final website created using HTML, CSS and JavaScript from the low fidelity design shown in Figure 2

Cybersecurity

Network Security

  • Designed networks following security principles, including Zero Trust Networking
  • Experienced with a variety of network environments including cloud, on premise and hybrid environments
  • Configured multiple products in order to secure the environments, including cloud service providers, firewalls, SIEMs and EDRs
A network diagram showing a corporate network, split accross two physical locations. The network also connects to the cloud and utilizes zero trust architecture.
Figure 4: Network diagram from my capstone project for my Masters of Science in Cyber Security

Secure Software Design

  • Familiarity with using software design patterns that will assist with ensuring security within the software architecture such as the Proxy pattern
  • Experienced with multiple static code analysis tools including Coverity and Semgrep
  • Experience building automated software security testing into the build pipeline, such as using Jenkins to run coverity daily and email stakeholders about security issues

Governance, Risk and Compliance

  • Familiarity with laws and regulations that impact the need for security precautions such as the GDPR and PCI DSS
  • Experienced with hardening systems following the CIS Benchmarks
  • Utilizing the NIST Standards in order to follow requirements and best practices for many different scenarious including NIST SP 800-53 "Security and Privacy Controls for Information Systems and Organizations"

Continuous Learning and Practice

  • Cybersecurity is a continually evolving landscape so I keep on top of current news and developments
  • I continue to learn new topics and practice my skills in different environments, such as hardening systems and exploring different toolsets
  • This includes using TryHackMe, as well as experimenting with configurations and tools in a home lab

    View TryHackMe Profile

Software Development Life Cycle

Agile Methodologies

  • Experience working in a team on an agile project with two week sprints
  • Automated the creation of metric reports showing how well the teams were meeting their sprint goals
  • Participated in multiple parts of the agile process including sprint planning and retrospectives

DevSecOps

  • Experience working as part of the Continuous Integration / Build team to fascilitate software merges and builds
  • Automated static analysis with Coverity in order to fascilitate the integration of security into the development process
  • Developed and maintained unit tests to ensure flaws were not unknowingly introduced during later development

Version Contol

  • Familiarity with both SVN and Git systems for version control
  • Experience restricting commits unless certain conditions are met, such as verifying the commit ties to a Jira issue
  • Setup and configured version control using multiple tools including TortoiseSVN, GitHub and GitLab

Workflow

  • Worked with multiple planning tools such as Jira and VersionOne
  • Experience creating metrics reports by automatically pulling from the planning tools
  • Created scripts in order to ensure multiple planning tools were kept in sync and changes were reflected across the system

Projects

Global Scheduling Application

A teal background with screenshots from the Global Scheduling Application with a primarily purple color scheme. In the top left, it shows the login screen where the user can enter their credentials, and in the bottom left it shows the main screen with four buttons. On the right, it depicts the appointment screen which shows all of the authors in the system as well as providing an interface to interact with them
Figure 7: An image showing the login screen, home screen and authors screen for the Global Scheduling Application.
  • Brief Description:

    A desktop application designed to keep track of appointments for a publishing company

  • Technology Used:

    Java, JavaFX, mySQL, SHA-256, CSS and JUnit

  • Development Environment:

    IntelliJ IDEA

View Desktop Application Details

Health Tracking Wearable

A teal background with views of the touch screen controls. It shows the main screen leads to the choice of three different screens: Track Exercise, Log Medication, Log Symptom. The track exercise screen also progresses to a detail screen showing the current count of exercise reps.
Figure 6: An image showing the preliminary design for the health tracking wearable.
  • Brief Description:

    A wearable device to be used in conjunction with the health tracking iOS application

  • Technology Used:

    Rust, ESP32-s3, and a Touch LCD Screen.

  • Development Environment:

    Visual Studio Code

View Embedded Development Details

Course Scheduling Application

A teal background and four screenshots of the course scheduling application with a primarily blue colorscheme. The home screen with four buttons and the courses screen with a list of courses are both shown twice. Once in light mode and portrait orientation and once in dark mode and landscape orientation.
Figure 8: Four screenshots for the course scheduling application. two are in light mode, portrait orientation and two are in dark mode, landscape orientation.
  • Brief Description:

    An Android application designed to keep track of a college course schedule

  • Technology Used:

    Java, Android SDK and Room Database

  • Development Environment:

    Android Studio

View Android Application Details

Health Tracking Application

A teal background and two screenshots of the health tracking application with a primarily teal colorscheme. The exercises screen with two graphs of exercise data (daily duration and heart rate for each exercise datapoint) is shown once in light mode and portrait orientation and once in dark mode and landscape orientation.
Figure 5: Screenshots of the Exercises Screen for the Health Tracking Application in light mode portrait orientation and dark mode landscape orientation.
  • Brief Description:

    An iOS application designed to keep track of the user's health information

  • Technology Used:

    Swift, SwiftUI, SwiftData, Swift Testing and XCTest

  • Development Environment:

    XCode

View iOS Application Details

Portfolio Website

A teal background with two screenshots of the header of this webpage. One is in light mode on a large screen and the second is in dark mode for a mobile screen. On the mobile screen the picture of Jamie wraps under the title instead of to the left of it
Figure 9: Two screenshots of the portfolio website's home page. One is in light mode on a large screen and the second is in dark mode for a mobile screen.
  • Brief Description:

    A website displaying my skills, qualifications and past projects

  • Technology Used:

    HTML, CSS, Bootstrap and JavaScript

  • Development Environment:

    Visual Studio Code

View Website Details

Qualifications

Education

Master of Science

Cybersecurity and Information Assurance

school
  • School:

    Western Governors University

  • Graduation Year:
  • Key Courses Included:

    Secure Network Design, Security Operations, Penetration Testing, Governance, Risk & Compliance, Cybersecurity Management, Cloud Security, Secure Software Design, Cybersecurity Architecture & Engineering

Bachelor of Science

Software Development

school
  • School:

    Western Governors University

  • Graduation Year:
  • Key Courses Included:

    Software Engineering, User Interface Design, Software Quality Assurance, SQL, Web Development Applications, Project Management, Mobile Application Development, Operating Systems for Programmers

Certifications

ISC2

Associate of ISC2

The Associate of ISC2 badge showing 'Associate' in the center of a blue/green square and a small 'ISC2' in the top right corner.
  • Issue Date:
  • Expiration Date:
Verify Certification

CompTIA

SecurityX CE

The SecurityX badge showing 'SecurityX' in a red bar the center of a gray circle with 'CompTIA' at the top and 'Certified CE' at the bottom. There is also a small image of a shield near the bottom of the gray circle.
  • Issue Date:
  • Expiration Date:
Verify Certification

CompTIA

PenTest+ CE

The SecurityX badge showing 'PenTest+' in a red bar the center of a gray circle with 'CompTIA' at the top and 'Certified CE' at the bottom. There is also a small image of a fedora near the bottom of the gray circle.
  • Issue Date:
  • Expiration Date:
Verify Certification

CompTIA

CySA+ CE

The CySA+ badge showing 'CySA+' in a red bar the center of a gray circle with 'CompTIA' at the top and 'Certified CE' at the bottom. There is also a small image of a shield with a magnifying glass near the bottom of the gray circle.
  • Issue Date:
  • Expiration Date:
Verify Certification

CompTIA

A+ CE

The A+ badge showing 'A+' in a red bar the center of a gray circle with 'CompTIA' at the top and 'Certified CE' at the bottom. There is also a small image of a electrical board details near the bottom of the gray circle.
  • Issue Date:
  • Expiration Date:
Verify Certification

CompTIA

Project+

The Project+ badge showing 'Project+' in a red bar the center of a gray circle with 'CompTIA' at the top and 'Certified' at the bottom. There is also a small image of a checkmark near the bottom of the gray circle.
  • Issue Date:
  • Expiration Date:

    None

Verify Certification

ISC2

Certified in Cybersecurity

The Certified in Cybersecurity badge showing 'CC' in the center of a blue/green square and a small 'ISC2' in the top right corner.
  • Issue Date:
  • Expiration Date:
Verify Certification

Coursera

Google Cybersecurity Certificate

The Google Cybersecurity badge showing 'Google Cybersecurity Certificate' in a white banner over a yellow shield with a blue banner reading 'Certificate of Completion'.
  • Issue Date:
  • Expiration Date:

    None

Verify Certification

Coursera

Google Advanced Data Analytics Certificate

The Google Advanced Data Analytics badge showing 'Google Advanced Data Analytics Certificate' in a yellow shield with a red banner reading 'Certificate of Completion'.
  • Issue Date:
  • Expiration Date:

    None

Verify Certification

Coursera

IBM Data Science Professional Certificate

The IBM Data Science Professional badge showing a teal bar reading 'Data Science' and a gold seal which reads 'Professional Certification' as well as the ICM and Coursera logos.
  • Issue Date:
  • Expiration Date:

    None

Verify Certification

Coursera

Google IT Support Professional Certificate

The Google IT Support Professional Certificate badge showing 'Google IT Support Certificate' in a white banner above a yellow shield
  • Issue Date:
  • Expiration Date:

    None

Verify Certification

Coursera

Google IT Automation with Python Professional Certificate

The Google IT Automation with Python Professional Certificate badge showing 'Google IT Automation with Python' in a white banner above a yellow shield
  • Issue Date:
  • Expiration Date:

    None

Verify Certification