A software developer’s job is to deliver the right solution to the right problem. To do this effectively, software developers must be part of a group with a diverse combination of skills, and must understand the various roles involved. While developers’ primary focus is to write code, they also need to contribute to figuring out what code to write, and how to integrate it into the existing code base. Understanding all phases of the software development lifecycle allows developers to better understand their own role in that process.
As a software developer, my primary role has been to design and write code. But I have also been involved in vision and scope definition, gathering requirements and recommending solutions, documenting business rules, writing functional and technical documentation, creating wireframes and prototypes, product management and change management.
This “blogfolio” contains a portfolio of my work. It also contains a blog that discusses technical topics involving JavaScript, Ruby, SQL, object-oriented design and TCP/IP.
Work Samples
Code
JavaScript: Object Creation Patterns
This code demonstrates four different patterns for creating objects in JavaScript. (View)
React/JavaScript: Tic-Tac-Toe Game
This is a tic-tac-toe game, written in JavaScript and React. (View) (Play Game)
Ruby: Blackjack Game
This is a terminal-based version of Blackjack, written in Ruby. (View)
Python: Port of Ruby Blackjack Game
This is a port of the Ruby blackjack game to Python. (View)
C#: Multithreading, Using a RESTful Service
This code demonstrates the use of various features and techniques in C#. (View)
VB.Net: Multithreading, Using a RESTful Service
This code duplicates the preceding C# sample in VB.Net. (View)
Windows Win32 API: CBT Hooking
This code uses CBT hooking to customize the appearance of the Visual Basic message box. (View)
T-SQL: Various Code Samples
SQL code routines to handle various database tasks. (View)
Web Technologies
This code sample from the PPLS Tracking System application displays a modal dialog box that handles the adding of parts to or removing of parts from a particular distributor in a vendor table. All of the associated code is there, demonstrating a range of web technologies. (View)
Documentation
HealthCompare.com: Technical Design
This is a technical design document for an enhancement to an online enrollment system application that enables the awarding of click-through commissions to linked websites. (View)
UML: Documenting System Architecture and Behavior
This document contains a set of diagrams and other artifacts that document a software system. Taken together, the items illustrate a UML-based approach to documenting a problem domain, from a high-level overview down to details of architecture and behavior. (View)
Diagrams
PD Manager: Property Item Wireframe
This is a wireframe sketch of a property item entry. A property item is an item that is being held by a police department in their property and evidence storage area. (View)
Mixing BSCS: Process Barcode Scan
The Mixing Business Support Control System controls a rubber mixing machine that is part of an overall process of manufacturing tires. This diagram shows all the checks that are made to a bale of rubber in the input queue before allowing it to be introduced into the mixer. (View)
PPLS: Process Vendor RFQs
This diagram shows the flow of work for generating Vendor RFQs (Requests for Quote) for multiple open DIBBS (Defense Logistics Agency Internet Bulletin Board System) solicitations for a single NSN (National Stock Number). (View)