Projects
Home
a CV for Bryan Gilbert, B.Sc.(Hon), M.Sc. – a full stack DevSecOps developer
Project: No Password Authorization
- Organization: Open source
- October 2020 to present
- Situation: Continually encounter the need to add user authentication into projects. This is work-in-progress project. Watch (https://npuser.org) for information as this project is developed.
Project: BC Registries - BC Online PPR Replacement
Senior full stack developer
- Organization: BC Registries
- Project: Personal Property Registry (PPR) mainframe replacement
- November 2019 to April 2020
-
Situation: Registries was replacing its legacy software applications with a modern technology stack. Our team began the development of this replacement using DevOps practices of continuous delivery and integration; Agile methodology; human-centred design; open source programming languages and frameworks, and a cutting-edge enterprise containerization platform. This multi-year project was cut short due to budgetary constraints.
- Outcomes:
- Vue 3-ready front end UI
- In 10 days developed PPR preliminary prototype application that illustrates a possible vision of what a PPR could be.
- Collaboration with business stakeholders, subject matter experts, UX designer, API and DB team, and other product delivery teams.
- Continuous integration via Github actions, automated unit tests and static analysis tools.
- Agile team player.
- Part-time facilitator and scrum lead.
- Ensure quality and adherence to specifications through the use of automated testing
- Presentations and demonstrations for stakeholders and other product teams
- Established strong, productive relationships and contributed to a positive and supportive culture
- Participate in technical communications with stakeholders
- Tech Stack: VUE.js (composition api), JavaScript, Docker, Docker-compose, SCSS, Git, Jest, OpenShift, Sentry, Launch Darkly, ZenHub,
Project: Educational Electronic Health Record System (EdEHR)
Product lead, solutions architect and full stack developer
- Organizations: On contract to various educational institutions
- December 2019 to present
- Continue the development of the EdEHR as initiated by BCCampus (see below).
- Develop, lead and implement a series of in classroom pilot experiences in various BC educational institutions.
- Continue providing enhancements to the EdEHR, including directing and leading a small development team.
Project: BattleSnake
Python, FastAPI web server
https://dashboard.heroku.com/apps
As a challenge and for fun I joined the world of BattleSnake. This is such a cool idea because beginner programmers can start small and more experienced developers work on their design and algorithm skills. A BattleSnake is a web server that minimally responds to a “move” web service call. The BattleSnake game displays a grid (say 11 by 11) and up to eight snakes (different web servers). The game consists of a sequence of moves; each move being a web service call to each of the web servers. Each server responds with the best move it can determine for its snake. Each snake is moved and it dies if it hits another snake, goes out of bounds or butt heads with another snake the same size or bigger. The game ends when there is one surviving snake. Oh, it’s important to know that each web service call must complete within one half second or the game will decide which way your snake will move.
Because this is so simple and because so many people have provided starters, tutorials and documentation it is easy for a starting developer to try it out and work with others. Yet the problem of finding a safe move for your snake is super hard. Many people are adding in machine learning and AI to find the solution.
Unlike other people’s work my web server is written in Python using the FastAPI with Pydantic. I’ve also designed my own algorithms to create a snake that is quite competitive agains some other proficient snakes.
https://github.com/bryan-gilbert/starter-snake-python
Project: BCcampus - EdEHR
Solutions architect and MEVN full stack DevOps developer
Project: EAO - EPIC & MEM
Full stack MEAN developer in an agile team.
- Organization: Quartech Technologies to BC Government
- 2017, 6 months
- Objective: replace legacy information system with a modern technology stack that supports
continuous delivery and integration of digital products through DevOps practices.
- These are open-source projects:
- Outcomes:
- Achieve improved efficiency and transparency of the provincial environmental assessment processes that provide citizens and stakeholders with more intuitive access to project data and information.
- The project was based at the Province’s Continuous Service Improvement (CSI) Lab where developers are encouraged to experiment with modern product delivery tools and techniques including: the Agile Methodology, open source programming languages and frameworks, and a cutting-edge enterprise containerization platforms.
- Agile team consisted of key ministry personal, project management, developers and DevOps
- Bryan provided
- Full stack MEAN development skills (MongoDB, Express, Angular, Node)
- Add features and perform maintenance on the applications using AngularJS, Javascript, NodeJS, Express, MongoDb, Mongoose, Openshift, etc.
- 7th top contributor to ESM-server project (139 total contributors since 2013)
- 10th top contributor to MEM project (137 total contributors since 2013)
- Create tools to perform extract transform load (ETL) tasks
- Mentor less experienced team members
- Automate importation of documents provided by ministry
- Back end data modelling
- Front end UI, data processing, manipulation, display and downloads
- Prototyping
- Tech Stack: Angular, JavaScript, SCSS, CSS, JSON, RESTful APIs, MongoDB, ETL, Nginx, WebStorm, Git, OpenShift, Agile, Scrum, Slack, JIRA, Continuous Integration.
Project: React in a day
Learns new technologies quickly and accurately
- 2018, 1 day
- Objective: Complete an assignment within 24 hours to demonstrate technical ability.
- Situation: The assignment required React. Unfortunately, Bryan had no exposure or experience with React or the React environment. He could’ve declined the assignment but instead he took the challenge to not only do the assignment within the time period but to learn React too. React is considered a moderately difficult system to learn and most say to allow several weeks to gain basic proficiency.
- Outcomes:
- Learned how to create, develop and deploy a React application (with Babel and Webpack).
- Make API calls to retrieve data from other sites
- React work completed on time. Provided a complete installable open source repository with the results:
Project: DevOp MeetUp
Shares and mentors
- Started May 2019
- MeetUp website
- Objective: Explore various aspects of full stack DevSecOps with a focus on these technologies: Docker, Security, Node.js, Express, MongoDB, and Vue.js
- Open to all levels of experience and interest.
- This is a chance to share knowledge and to learn from others.
- We have semi-regular table discussions and
- members are welcome to host workshops on topics they wish to share.
- Past and planned workshop topics
- Basic server setup and security
- Basic Docker
- Docker Compose, security and environment variables
Project: Carmanah CRM
Effective solutions
Project: Carmanah Solar CTO
Continuously deliver value that affects the top and bottom line
- Organization: Carmanah Technologies
- 2009, 4 years
- Custom solar product configure to order (CTO) for integration with Salesforce CRM and Oracle EBS Configurator.
- Outcomes:
- Technical architect and developer of custom configure to order (CTO), solar product simulation and Salesforce CRM as integral components of a larger corporate transition to Oracle EBS with iStore, Configurator.
- The ERP initiative came in on time and on budget. The simulator was a critical components to enable
selling solar powered product
- Working closely with all levels of the organization Bryan designed and built software applications that
made it easy for end customers to purchase and use solar products. Unlike most products, solar products are
location and configuration dependent. To remove any barriers the buyer might have to purchase these products
it is necessary to provide easy to use selection tools that are based on sophisticated solar product simulation
and web services
- Built a configure to order (CTO) product validation engine and technical specification generator which produced detailed project specification documents based on custom product configurations.
- Mentored several coop students.
- Strong emphasis on incremental delivery of value.
-
Tech Stack: Java, Eclipse, SWT, HTML5, JavaScript, jQuery, CSS, JSON, PHP, RESTful APIs, Git,
Hg, Debian, Apache, Tomcat, OSGi, Drupal, WordPress, PHP, Salesforce, APEX, B2B, CRM, ERP, CTO, Oracle,
SQL, ETL, Mobile responsive design,
- See below for references by Andy Canty, Trevor Hurst, Dave Kichler and Cathy Lim
Project: Carmanah satellite monitoring system
Solid products that are easy to use based on listening to stakeholders
- Organization: Carmanah Technologies
- Global satellite monitoring system for marine solar powered lanterns.
- 2013, 1.5 years
- Global satellite monitoring system for marine solar powered lanterns.
- Outcomes:
- Designed and developed a global satellite monitoring system including micro web services, as well as, front end web application with user access management services.
- Tech Stack: Java, Eclipse, SWT, HTML5, JavaScript, jQuery, CSS, JSON, PHP, RESTful APIs, Git,
Hg, Debian, Apache, Tomcat, OSGi, Drupal, WordPress, PHP, Salesforce, APEX, B2B, CRM, ERP, CTO, Oracle,
SQL, ETL, Mobile responsive design,
Project: IBM
Agile, continuous delivery, early containerization
- Organization: IBM (Formerly PureEdge Technologies)
- 2004, 5 years
- WYSIWYG XForms Designer
- Outcomes:
- Working with Java, in Eclipse RCP, developed software for users to build XFDL eForms.
- Member of Agile team that provided design and development of the IBM WYSIWYG XForms Designer
-
Tech Stack: Java, Eclipse, OSGi, JSP, JSTL, RESTful APIs, XML, MVC, SWT, SQL, Agile, Scrum, Continuous development, Hg, I18N (managed translation process with international team).
- See below for references by Upkar Lidder
Project: PML – Energy Management System
Versatile, resourceful
- Organization: Power Measurement Ltd (PML) (now Schneider Electric)
- 1996, 5 years
- Energy Management System
- Outcomes:
- Application development providing components of the PML flagship energy management system
- Embedded software development with a specialty on serial and TCP communications systems
- Tech Stack: Visual Studio, C++, C, CVS, MVC, Object Oriented, SQL
Project: PML – CRM
Efficiency, reduce the work the user needs to do
- Organization: Power Measurement Ltd (now Schneider Electric)
- 2002, 3 years
- Customer service issue management system
- Outcomes:
- Built software to automate handling of incoming and outgoing email (Microsoft Exchange/Outlook) with
the company’s CRM (onyx)
- Technical team building and training.
- Tech Stack: SQL, Microsoft Exchange/Outlook, Visual Basic, .NET, C#
Project: Coop – Mainframe application refactoring
- Organization: Ministry of Forests
- 1991, 4 months
- Objectives: This is a very old and small project yet it demonstrates previous exposure and working with a legacy system. It also demonstrates Bryan’s enjoyment in finding creative solutions that provide value.
- Outcomes:
- The mainframe application software was limited to seven character variable names. As a coop student Bryan was hired to manually located and changed several hundred of these variables.
- Showed self initiative and learned the mainframe’s scripting language.
- Implemented a process to automate the refactoring.
- Ensured the renaming process was completely accurate
- Reduced the time to implement from the budgeted three months to a few weeks.