About

Hi, I'm Paul. I am currently 28 years old, and live in Denver Colorado. I have had a huge passion for computers, programming, gaming, mechanical things, and basically anything relating to how things work since I was pretty young (sorry for taking everything apart as a child Mom and Dad...). 28 years into my life and I finally decided to make a personal website. Until this point I felt that it was not necessary, but as I continue to educate people and become a mentor at work and outside of work, I thought it would be useful to document some of it for the rest of the world to enjoy instead of just the people I am immediately surrounded by. I have always been a hard worker but also a smart worker, I automate the stuff I don't really want to do, or figure out a way to have someone or something else do it. I love programming, but my interests definitely extend way beyond computers. Fun fact, I was heavily considering doing ceramics full time as a career path. I also like to hike, fish, snowboard, make beer (and drink it), and lots of other stuff which I hope to also incorporate into this blog.

Education / Work

I have held a job since I was 12 years old and started caddying, and prior to that I would occasionally rake leaves, shovel snow, or cut grass for some spending money so I could buy the things I wanted. I definitely value these experiences a lot, I was able to learn fairly young how the world worked, and definitely feel that it helped me to absorb a lot more information from people around me, and from school in general. Our family was not too well off, so I knew I would either need scholarships or money for college if I wanted to get a good job in the field of my choice, which at that age was probably something related to computers. I learned html and css pretty early on thanks to the CMITES program at CMU. I found web design pretty fascinating at first, which definitely lead to more intense real programming later on.

High School

I took my first real programming class, intro to computer science, in high school. We mainly focused on the basics of computer science, and some entry concepts coupled with c++ syntax. A year later I took AP computer science and really hated it, it was such a terrible experience compared to what I had been used to in the past, just mainly learning on my own. After having a really terrible experience with AP Java in high school I thought maybe programming for a living would not be right for me. I think the terrible experience was mainly manifested by the poor teacher that only knew c++ and was required to teach java to a bunch of young adults as he learned it along side of us. I knew we were doomed when I asked about something that was three chapters ahead of the lesson, and the teacher mentioned that he did not get that far in the book yet.

College / Co-ops + internship

After my terrible experience dissuaded me from trying the comp. sci. route, I decided to go to college at Penn State University Park as an Architectural Engineer major since I really loved CAD software (revit is still really fun to mess around with) and building design. I realized that I didn't want to do structural load calculations for the rest of my life so I switched into Industrial Engineering mainly because I loved taking stuff apart, figuring out how it worked, and was really interested in generally how things were made. I then went on to work at several jobs in the industry as a co-op and internship for a year and a half to decide which track I wanted to go down or focus on. I did two co-ops with Johnson and Johnson, one in supply chain, and the other in operations engineering, and then finally a process engineering internship with SPS technologies. These experiences essentially made me once again re-think the career path I chose since I was not particularly fond of any of them. After my last two semesters I graduated with my B.S. in Industrial Engineering with a minor in Six Sigma Methodologies. I continued to work on some small programming projects outside of work, and incorporated programming into my jobs quite a bit. I automated a lot of excel sheets, created several websites, and got to work with some pretty massive databases.

After Graduation

After graduating from college, I went to work for Alarm.com as a Quality Engineer. I thought the position testing software was a perfect marriage between my process interests as well as my software development interests. I am currently working as a Software Engineer for Alarm.com where I work on a lot of the new video camera integrations. I recently transitioned to Software Engineer in an effort to follow my passion for programming at a professional level beyond just writing tests to break other people's code, automating excel reports, or making small CRUD apps for people to input data into. So far it has been going well, and my fear of not wanting to program in my free time for fun has not been realized thus far.

This Blog Thing

Now that you're all caught up on that junk about me and who I am, today I was exploring the option of creating a personal website and blog for myself. I have experimented in the past with different javascript frameworks for both the front end and backend mainly for fun on some side projects. On a day to day basis I mainly write backend c# code, work with embedded devices, fix video issues of all types, and write a lot of tests for physical devices and code, so I am fairly used to doing a lot of different stuff, but admittedly not a ton relating to front end development lately. I decided it was time to share some of the way I was teaching myself programming, and basically share more of my projects. Most of my projects have been closed source mainly because they never get finished, but I decided I would be sharing more of my past failed / incomplete projects as well as a lot of the future projects I decide to spend my time on. I decided there were two general approaches I could take for this project.

Learning Something New

I could make it super complicated and probably have a lot of fun but also be somewhat frustrated at times by learning something new that's not well documented or even thought out properly. Maybe this was a good time for me to explore something new. I could take more time to learn the ins and outs of Vue.js since it's more mature now and continue what I was learning from another previous project which fizzled out. The way I see it though, this approach requires a lot of initial setup time and quite frankly it seems like it is unnecessary for a simple blog (famous last words). I could make some server side stuff for all of the blog posts, make a content management system for myself or maybe for other people, design the front end so it's dynamically serving all of the content based on a bunch of different calculated variables for popularity, curate content for users, and track some data to see what does well. I also would have to think about hosting and deployments. Sure I could pay for some hosting, or use some of the free alternatives, but they also require accounts, initial setup, and sometimes don't work the way you would expect them to work.

It's fun to see what all the cool kids on the playground are
doing, but at the end of the day, that's probably not going to help
you finish your art project.

-- Paul McNamee 2018

Yea I just quoted my own internal thought, you'll get over it, otherwise you probably would have stopped reading this by now.

Aaaaaannnndddd POST!