Programming Languages · Structured Query Language · API Integration · Lifelong Learning

I have been a full stack web application developer for quite some time now. I enjoy the whole process of end-to-end software application development, starting with the user experience on the frontend to developing the logic, workflow, and processes under the hood on the backend side.   The direct line of communication with end users is very valuable to me as they provide a different perspective on how web applications are used in their workflow.  The iterative process of building software that is both user-friendly and functional is quite fulfilling and rewarding. 

Below are some of the web technologies that I have experience using in my day-to-day work and life:

Experience with Programming Languages

I took Computer Science courses back in college, so I had the opportunity to learn many different programming languages. However, my real passion was web development because it gave me an opportunity to express myself creatively. I am certain that more hours were spent creating web pages than compiling homework assignments.

  • PHP – This is popular general-purpose scripting language that is especially suited to web development. PHP is the scripting language that I am most proficient in as I have been coding in it for 20+ years. I have built web applications such as an IT Ticketing System, Student Job Application Database, and various tools for student services, administrative services, and financial services for the Viterbi School of Engineering. Read more about PHP..

  • Python – This is an interpreted, object-oriented, high-level programming language with dynamic semantics. This was a programming language that I learned using Mimo about 2 months ago, so I am still experimenting with it. Read more about Python..

  • HTML – Hypertext Markup Language is the first self-taught markup language that I learned. I greatly enjoyed the instant gratification of writing code and seeing it instantly display on a webpage. No compiling necessary! I was very interested in web development as a very young kid and there were absolutely no courses for it when I was in school. I learned from the internet, especially w3schools and now understand the ins and outs of HTML and have been using it for more than half my life.

  • CSS – Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML. Things got really interesting once I learned how CSS worked and made HTML pages even lovelier. I know the basics of CSS, but lately, I use it mostly in conjunction with the Bootstrap Frontend Framework.

  • JavaScript – This is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. I found that I used JavaScript mostly to control the client-side of webpage behavior. Read more about Javascript (JS)..

    • jQuery is a fast, small, and feature-rich JavaScript library that makes writing code so much easier, which is what I use in most of my projects.

    • DataTables is a table javascript plugin that adds advanced interaction controls to HTML tables. A lot of my projects are very data intensive, so this js plugin comes in very handy and makes displaying the data in a way that end users can easily digest.

    • Charts.js is a simple yet flexible JavaScript charting library for the modern web. I am currently exploring this library to apply more data visualization tools to my dashboard projects.

    • FullCalendar is a lightweight yet powerful and developer-friendly JavaScript library to create flexible, draggable event calendars on the modern web app.

  • Other programming languages include: C, C++, C#, Java, ASM, and ABEL are some of the programming languages I learned in college.

Experience with Structured Query Language (SQL)

I worked with a few different types of relational databases in my web applications.

  • mySQL – This is an open-source relational database management system and it is one that I have worked with extensively in my web applications. I have experience using phpMyAdmin and Navicat to manage the databases. Read more about mySQL..

  • MS SQL – Microsoft SQL Server is a relational database management system developed by Microsoft. I recently used this in some financial web applications that I created. I have experience using SQL Server Management Studio to view and manage the databases. Read more about MS SQL Server..

  • PostgreSQL – This is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. I had the opportunity to work with PostgreSQL when one of our rd-party tools switched their database structure. I have experience using Adminer to manage the databases. Read more about PostgreSQL..

Experience with API Integration

I enjoy integrating third-party APIs (Application Programming Interface) into my various projects. Some APIs I have experience in working with are:

  • Microsoft Graph API – Microsoft Graph is a RESTful web API that enables you to access Microsoft Cloud service resources.  I have integrated this API within two web applications:

    • First is the Viterbi Service Desk Ticket System which reads the email, marks it as read, processes the content, and then moves the email into a different mailbox.

    • Second is the Viterbi Space Reservation System that reads and writes the calendar information from/to our resource Microsoft 365 accounts.  This allows users to schedule meeting rooms in both the native Microsoft 365 environment as well as through a web interface.

    You can read more about the project that I worked on that involved Microsoft Graph API here. I really enjoyed working with Microsoft Graph API. It took about a month to learn and research the about OAuth and how to connect and called the endpoints, and about 3 months to implement what I learned into the two web applications mentioned above. Read more information on this API..

  • Aurea List Manager API – Aurea List Manager (formerly called Lyris List Manager) is a powerful, fast, and easily extensible tool to help manage your email distribution. For programmers, Aurea List Manager has a number of methods to customize and manipulate the behavior of the product.  This product offers a SOAP-based API that I have used to create members, update members information and demographics, as well as send out emails. I have integrated this product into email list management web applications, as well as our school-wide notification system. Read more information on this product..

  • LabStats API – LabStats is the market-leading tool for monitoring software and hardware in higher education. This tool helps our IT department understand exactly what software are needed and used so we can better budget for licenses. LabStats offers a REST API that I use to generate reports within our current custom system. As a power-user and early adopter of the LabStats API, I had the opportunity of working directly with the LabStats Product Manager and his team and be part of the Beta Test of new API endpoints and provide helpful feedback on their product. Read more information on this product..

  • Qualtrics API – Qualtrics Survey Software is a tool used to design, send and analyze surveys online. It’s the primary method of collecting feedback at scale whether that’s a simple questionnaire or a detailed study such as customer or employee feedback as part of a more structured experience management program. Cloud-based survey technology has revolutionized the ability to get data, quickly, from a large number of respondents by automating the process of sending out surveys across a variety of channels from websites and mobile to apps, email and even chatbots.  Qualtrics offers a REST API that I use to create surveys and read the results into reports.  Read more information on this product..

  • Twilio Programmable Messaging API – Twilio is a tool that provides programmable communication tools for making and receiving phone calls, sending and receiving text messages, and performing other communication functions.  Twilio offers various REST APIs for their products, but the one I used most is the Programmable Messaging API.  I have used this API within our school-wide notification tool to send out SMS messages to users. Read more information on this product..

  • BeyondTrust Remote Support Command API – BeyondTrust Remote Support (formerly called Bomgar) is a secure remote support software that enables help desk teams to quickly and securely access and fix any remote device anywhere, on any platform, with a single solution.  BeyondTrust offers a REST API that is integrated into our Service Desk Ticketing system.  Read more about BeyondTrust and it’s API.

  • Liaison WebAdmit API – Liaison’s WebAdMIT is a robust admissions management solution that helps our University work more strategically to recruit, evaluate, admit and enroll best-fit students for your institution’s programs.  WebAdmit offers a REST API and was my first exposure to working with an API.  Since it was being developed as our University transitioned into this new admissions management solution, I had the opportunity to help the Liaison developers make updates to their API by being an early adopter (2015) and sending them feedback from a developer’s standpoint.  I used this API to integrate admission data into our existing PhD Application Viewer system, create reports for various departments, and more.  Read more about Liaision Admission Management System and WebAdmit API here.

  • D2L Brightspace API – D2L is the developer of the Brightspace learning management system, a cloud-based software suite used by schools, higher educational institutions, and businesses for online and blended classroom learning. The Developer Platform includes all the APIs and tools that developers use to create valuable, integrated solutions for their customers. Read more about D2L Brightspace API here.

Experience in Lifelong Learning

I believe that learning is a lifelong process and enjoy learning as much as I can.  I try not to be in front of the computer too much, so these are apps that I have on my phone that I use during my downtime.

  • LinkedIn Learning – I have taken over 550+ courses on LinkedIn Learning from topics such as leadership, project management, emotional intelligence, empathy, web technologies, designing, programming, cybersecurity,  data visualization, productivity, time management, growth mindset, high performance mindset, communication, personal development, presentation skills, UX design, and so much more.  LinkedIn Learning is one of my favorite resources to learn.

  • Mimo – This is a fun app that helps you learn how to code. It makes it easy and fun as lessons are in small bite-size. So you can learn a new programming language in just 5 minutes a day!  I used this app to learn Python in two months and review Web Development and SQL concepts.  Learn more about Mimo.

  • Duolingo – Another topic that I enjoy learning is foreign languages.  I have been using Duolingo to help me keep up with Japanese, Vietnamese, and French. More about Duolingo here.

  • Trailblazer.me – Trailblazers are truly the heart and soul of Salesforce. They have made it their mission to pave pathways for anyone to unlock career opportunities and provide them with the tools needed to succeed. I recently started taking courses on Trailblazer.me to continue to learn and explore possibilities. I love the gamification of the courses and made it my goal to complete a course each night. You can learn various topics like Salesforce, Leadership, APIs, coding, and more in bite-size units.

  • Exercism is an open source and not-for-profit coding community where you can practice and solve coding exercises as well as get mentored to develop fluency in your chosen programming languages. I am using this website to be more proficient in my programming skills. I am starting the tracks for PHP, Python, JavaScript, Ruby, Go, Bash, Gleam, and C++. See my profile here.

  • Headway – This is a bite-sized learning app for anyone interested in personal growth. The app provides important summaries and takeaways of various self-help books and perfect for anyone with a growth mindset.

  • Blinkist – Attain more knowledge in less time. This app is perfect for curious people who love to learn, busy people who don’t have time to read, and even people who aren’t into reading.

  • Libby – This is a library reading app where you can digitally borrow ebooks, audiobooks, magazines, and more from your local library for free!

  • Dev Interrupted – Every week podcast hosts Dan Lines and Conor Bronsdon invite expert guests from around the world to explore strategy and day-to-day topics ranging from developer experience, dev team metrics, and team culture to the tips and tricks that grow devs into leaders and startups into unicorns.