Rob Nelson

Platform Migration
When developing analytical tools for large data sets, I developed a proposal to evaluate and migrating to a less expensive, more capable data storage and query platform. I was tasked with identifying and procuring a new platform to meet our expanding needs. I developed a methodology to evaluate different data storage/query solutions for our analysis project ...that avoided the high costs of our existing system that didn't have technical limitations and inefficiencies in queries. The system was a multi-instance set of Oracle servers. My proposal resulted in my leading the effort to identify system requirements and creating a team, which I lead, to evaluate alternatives for a new data storage platform that would host 100TB of data and support analysis through performant querying. The approach I designed for the team, involved the following steps:
  • Define requirements and constraints to include (cost, schedule, query speed, storage size, power, cooling, flexible queries, "flat" architecture, low side/high side--loading fast on "ai gapped" H/S)
  • Define evaluation methods for systems and write an alternatives analysis -- what are the tactical advantages to an approach and what are the strategic advantages
  • Recognize the challenges the future is likely to to bring to our project and can the platform grow to provide additional capabilities
  • Use the criteria to identify the systems for additional consideration based on a paper study of likely candidates
  • Build a team and plan for system evaluations with real data and queries running on the candidate hardware platforms
  • Organize and Execute the plan to quantify efficacy of each candidate system running on each hardware platform
  • Choose a system that met constraints, then work with local resources to implement the system.

The system we purchased was a software only solution, that we ran on commodity Dell hardware. An issue we faced is the vendor suggested we use 10Gb as the interconnect. 10Gb hardware was very expensive at the time; We were able to accomplish equivalent performance running TCP over Infiniband-4 (IB-4).

Take Away

Many organizations are lifing on-prem managed applications and migrating to cloud hosting of their critical applications. Many techniques I learned in the data platform migration are relevant in migration to cloud platforms: including costs, sizing, and compromises. Particularly in understanding how to meet all clients' and end users' needs.

Data Generation and Simmulation
The TMDS/MSAT Electronic Medical Records (EMR) system maintains service members’ medical histories by integrating data from numerous internal and external sources. Because the team does not have direct access to these external systems, I developed a suite of tools to generate synthetic data for training and testing. Ideally, we would replicate the external applications to produce full longitudinal medical record datasets, but this has not been feasible due to resource constraints.

To address these gaps, I created several tools to generate high-fidelity synthetic EMR data: ... Ideally we would have copies of the same external applications so we can generate synthetic files to load longitudinal medical records into our EMR system. Using live data and the inherent risks of masking records wasn't acceptable to the Governemtn or team. To address these challenges, I developed a few tools to create synthetic EMR for use in training and testing:
  • Collaborated with domain experts to design realistic clinical scenarios and data sets that reflect expected medical record patterns and thoroughly exercise TMDS/MSAT functionality.
  • Built a Python-based synthetic-demographics generator to ensure no real PII enters the system. The tool produces fully synthetic patient profiles and simulated medical data for use in training and system testing.
  • Implemented a synthetic blood-donation data generator (Python) that automatically creates blood-donation records for training and testing workflows.
  • Data message patient demographics remapper used to refresh messages so scenarios can be retested (Python); Changed the patient demographics information so external data files could be reused in testing and training TMDS/MSAT.
  • Created a synthetic-message generator (Java/JSON) that assembles representative longitudinal medical records for training and end-to-end system testing.
  • Built a message-to-JSON parser to enable scenario-based, data-driven testing of TMDS/MSAT business rules.

These tools allow the team to validate system behavior, train users, and evaluate new features despite the absence of real-world data feeds.

Take Away

When faced with challenges, I used my varied skills to design and build tools that helped ensure realistic synthetic data generation and supported the team's testing and training needs; without compromising data security or privacy.

This work helped strengthen Python and JSON knowledge as well as develop siginicant domain knowledge related to HL7 and other data formats in the Electronic Health Records domain. I place a priority in understand the domain in which I'm working.

I believe domain knowledge — gathered thorough collaborative development — is mission critical to best serve the end users who are using tools to perform their duties more effectively.

Analytics and Collaboration
The ideal situation for product development is developes' access to domain experts and clients. I had an experience at PNNL where I worked very closely with analysts and cyber-security domain experts to build a solution. ... Working collaboratively with analysts resulted in a DevOps-like environment where features were conceptualized and delivered in a matter of hours rather than months.

SQL and Python provide light-weight tools to quickly demonstrate capability and then codify the result for deployment into a production environment: In working one-on-one with end users, I was able to quickly prototype ideas that could then be deployed and used in a quick turnaround. These interactions with cyber domain experts, analysts, and analysis consumers lead to:
  • Developing analytical tool that captured domain knowlege and put more analysts on equal footing.
  • Creating a GUI based query tool that allowed anaysts to focus on problems, not SQL queries and infrastructure.
  • Exploring and implementing ontologies that highlight hidden traits in the data.
  • Web-based application to deliver data and provide query capabilities outside the immediate work group.

Take Away

Sitting side-by-side with domain experts and clients — whether it's in a pair programming scenario or working through a functional design — is a force multiplier in developing meaningful data solutions. The insights provided by true domain experts trumps technical elegance of a solution. This experience led to significant, personal career advancements. It also drove home to me the value in working with domain experts, rather than strictly IT staff, to design and implement a system.

Software Development
I've had a long career of software development; solving problems through coding and deployment of systems into commercial environments. I've also used coding skills to address regular project and leadership challenges. Coding is a skill that I've used to build tools to help others and myself be more effective in our daily work. ...I I've recently experimented with vibe coding and AI-assisted development. The experience rekindled my interest in software development.
  • Algorithms, Data Structures, and their implementation as production solutions.
  • Coding Standards
  • LLM integration and utilization.
  • Mobile application development.
  • System automation.

Vibe coding with AI agents has transformed how I approach software development. I can now rapidly prototype solutions by collaborating with AI to generate code snippets, debug issues, and optimize performance. This has significantly reduced development time and allowed me to focus more on design and user experience. This isn't perfromed without consideration of best practices and code quality; my role has shifted to that of a code curator and architect, ensuring the AI-generated code aligns with project goals and maintainability.

Understanding core programming concepts enables me to effectively guide AI-generated code. My foundation in traditional software development and programming languages like C/C++. Python, and SQL is crucial to successful application development. My experience with algorithms allows me to evaluate and refine AI-suggested solutions critically. This blend of traditional skills and AI collaboration has enhanced my productivity and opened new avenues for innovation in software development.


Take Away

I'm particularly interested in how AI agents can assist developers in creating Web-based applications that meet end user needs as well as deploying applications that makes use of LLMs. However, I also see the value in traditional programming skills. AI assisted coding doesn't eliminate the need for solid programming fundamentals. A strong understanding of programming concepts, algorithms, and data structures is essential to effectively leverage AI tools. Developers must be able to critically evaluate AI-generated code, ensuring it is efficient, secure, and maintainable. My value remains in critical thinking, system architecture, and maintaining the context of software decision chains

Project Planning
I led a team with the charter to create a web-based analytical platform supporting remote sites across the US. I knew a linear waterfall methodology wouldn't yield a good solution. I sought a better approach and Iterative development (SCRUM) was a great alternative. I know many say SCRUM is dead, but ... I feel it's not the process that was the problem, it's how most organizations tried to mold it to meet their management style.

I realized this was a cultural shift for the engineers and Government client. In order to bring about the cultural shift, I arranged training in Agile SCRUM for the whole team, including the Government client. This was intended to level-set the team in Agile development methodology.

We formed a cross functional team whose members were included in every phase of the project. The team was comprised of:
  • A Product Owner (Government Client)
  • A project manager who helped track budgets, prepare status reports, and take care of project administration (the bridge between Agile and traditional project management)
  • Developers
  • Technical Writer
  • Tester
  • Project Admin
  • Project Leader
As project leader, I identifying the requirements (working with the Product Owner, Analysts, Technical Experts, and Production Team), techical direction, and tasks we were taking on.

I recruited the team members at PNNL and identified the approach for running the project (SCRUM). I saw to it the team, including the product owner, were train in the SCRUM process by professional trainers. We were able to follow the SCRUM process, since team members had been trained in the process and bought into the approach. We were able to deliver a system that eventually replaced the thick-client Python GUI (a system I developed 6 years previously and still in service).

Including a project manager in the team was a key to allow the team to employ agile development while maintaining comfort for management. The project manager was able to track the budget, prepare status reports, and take care of project administration. The project manager was the bridge between Agile and traditional project management.

Take Away

While many organizations feel Agile has failed them, I've used Agile as an oppourtunity for collaborative development between technical staff and domain experts. The team I led was able to successfully implement Agile SCRUM because we took the time to train the team and the Product Owner in the process. We included subject matter experts who understand the requirements and constraints of the project, then developed a system that met there approval in small successes.

Agile is collaborative development with domain experts and end users who must be integrated into the team. Now AI agents streamline this process as a developer can sit sholder-to-shoulder with an end user and prototype solutions that meet their needs, before their eyes.
Web Development
Learning and staying current challenges all of us in the IT profession. It's also what keeps IT interesting. Web-based applications development isn't new to me, but the technology is always changing and AI is changing it further. I've continued to expand my skills by studying HTML/CSS/JS and... the technologies that support development of modern applications and architectures.

My objective isn't simply to learn about the technologies; it's to expand my skill set and follow my passion for developing useful products for end users.

AI changes the game for Web development. I can now sit with an end user and develop a solution that meets their needs, before their eyes. I can use AI to generate the code and then refine it for efficiency and updating the styling to have a crisper, more modern look. I can also use AI to generate the code for the backend, which allows me to focus on the front end and user experience. The skills I have developed Learning web development basics allows me to make the most of AI agents to generate code that meets the end user's needs.

There is a great deal of satisfaction to creating tools people use to address critical problems. The satisfaction is greater when the tool is up front and not hidden in the background. Creating the UI also provides opportunities to work collaboratively with the end users.

My ultimate goal is to land another position as a developer/Team Lead for developing or growing a Web-based tool that benefits the end users, making them more effective in their daily tasks. I'd also like to learn how to use AI agents to maintain and enhance legacy systems.

Take Away

Web and backend development are rewarding and requires knowledge in a number of different areas. AI is a tool that extends developer efficiency and allows developers to focus on the user experience and functionality of the application. AI agents can be used to generate code and then refine it for efficiency and styling. AI agents can also be used to generate the code for the backend, which allows developers to focus on the front end and user experience. The key to building a successful Web-based application is to work collaboratively with the end users and domain experts to create a solution that meets their needs.
AI Deployment
I design and develop web-based and mobile applications that leverage Large Language Models to make expert-level guidance accessible to everyday users. Projects such as Travel-EZ.me and Ask-My-Geek.net focus on ... transforming simple user inputs into well-structured AI queries that deliver fast.

relevant, and accurate results. These tools allow users to “ask an expert” without needing prior domain knowledge—for example, assessing whether a suspicious text message may be a scam, or generating a personalized travel itinerary based on location, activity level, family needs, and food preferences. Another project, Skills-Ez, helps users create structured learning plans to efficiently build new skills. Across these applications, I emphasize intuitive UX, optimized prompt engineering, and practical AI solutions that reduce friction while increasing confidence, clarity, and value for the end user.

My ultimate goal is to land another position as a developer/Team Lead for developing or growing a Web-based tool that utilizes AI clients to benefit the end users, making them more effective in their daily tasks. I'd also like to learn how to use AI agents to maintain and enhance legacy systems.

Take Away

In development roles, I focus on creating AI-powered applications that simplify complex tasks for users. By leveraging LLMs, I aim to democratize access to expert knowledge, enabling users to make informed decisions quickly and confidently. My projects prioritize user experience and practical AI integration to deliver tangible benefits in everyday scenarios.

As a leader, my focus would shift from building individual applications to guiding teams in developing AI-driven solutions that align with organizational goals. This involves strategic planning, fostering innovation, simplifying complexity, and enabling people to perform at a higher level. This is the approach I've taken in all my leadership roles.
Mentorship and Team Development
Throughout my career, I have primarily served as an individual contributor while consistently taking on leadership and mentorship responsibilities when they added value to the team. I have trained... and mentored interns, supported junior and mid-level developers in building relevant technical and professional skills, and helped onboard contributors from non-traditional or adjacent fields.

I work closely with professionals and technicians to translate complex requirements into achievable goals, helping teams deliver measurable outcomes for clients and end users. By fostering collaboration, skill growth, and accountability, I’ve contributed to stronger team cohesion and improved delivery without formal management authority. This experience has shaped my leadership style: hands-on, supportive, and outcome-driven.

Take Away

As a mentor and team builder, I focused on values to foster growth, collaboration, and accountability within teams. By providing guidance, sharing knowledge, and encouraging open communication, I helped individuals develop both technical and professional skills. This approach not only strengthened team cohesion but also improved overall delivery and client satisfaction.

I've always tried to lead by example and foster a positive, collaborative team environment.