I grew up in a small coal mining town where everyone worked some kind of blue-collar type of job. I started mowing lawns and shovelling snow from a young age, maybe 12, maybe younger… In my teens I worked on a farm, and I also learned carpentry and masonry from the men around me. I was also the one in my family who figured out how to program the VCR, and I may have torn apart a Nintendo or two trying to figure out how they worked.

After high school I went to a trade school and got an associates degree in electronics. Mind you, I didn’t have the slightest desire to own a computer - I just noticed that electronics were taking over the world, so I thought it would be in my best interest to know how they worked.

Near the end of my two years in that school a few government contractors came to interview us, and one of them liked my construction background. I got hired to install bullet-proof doors and windows in US embassies. We also installed security cameras and other electronic things. And they trained me in welding.

It was around this time that I got my first computer, and my first copy of Microsoft Excel, and my first foray into programming - writing macros in VBA.

After a while I took a job designing security systems for US Attorney’s offices around the states. I got to work with blueprints and architects on a daily basis. I also got to travel to perform site surveys and inspections.

One day I received a phone call from a company that found a copy of my resume online. They said I had an interesting background and asked if I’d be willing to try to work on some special equipment that they needed to maintain. It was an old (older than me) door closer system, with a hydraulic motor, big old electric relays, and other antiquated electrical components.

The guy who worked on them before me was one of the only people in the world who knew anything about the system. He worked on it for 30 years, but passed away. Unfortunately for them, he was illiterate so there wasn’t any documentation on how the system worked. He had a test bench set up for troublshooting broken parts that were shipped in from around the world, but nobody even knew how to turn it on.

They asked me if I could figure it out, and I told them to give me a volt meter and a month and I would do my best. After a month or so of tinkering with that system I had created a detailed diagram of every circuit and moving part in the whole system. I eventually turned that into a full troubleshooting manual, and, as far as I know, it’s still being used around the world to maintain that sytem.

It was during my time working there that I started to really get into programming. After I fixed their backlog of broken parts I ended up having quite a bit of free time at work. My boss told me he viewed my like a firefighter. He said you don’t always need them around, but you sure do want them there when you need them.

So, I started doing handyman stuff around the warehouse we were in. Any time anyone needed anything built or fixed or modified, they’d come to me and I’d gladly work on it. I also did plenty of studying on the web - exploring whatever topics piqued my interest at the time. Eventually I got curious about how the internet worked, and started digging in to every aspect of computers and networks. Once I figured out that I could write code that ran in the browser, I got hooked on learning as much as I could about it. And so I started tinkering around with writing JavaScript, HTML, and CSS in Notepad and running it in IE6.

I eventually asked my boss if I could work part time and go to college full time - and he approved. So, at the age of 27, I signed up for community college. I initally started going for civil engineering, but my infatuation with the web took over and I switched to computer science.

In college I won a Student Achievement Award from the Department of Math, Science and Engineering. I was also invited to join the Physics Club. And I was asked by a professor to be a tutor.

And, although I learned a lot from my classes, I think I learned even more from the things I built outside of school. There was a team working out of the same warehouse that I worked in that was deploying remote satellite connection equipment around the world. Basically it was a satellite connected phone and laptop in a backpack. And they needed some tools to both test the connection speed that they were getting (to verify that they were getting what they were paying for), and a way to keep track of their inventory that was being shipped all over the world.

I offered to help, and wrote a program using a combination of Java, Powershell, Access, and Excel to collect bandwith speeds and keep track of their equipment. The team was impressed, and other people around the warehouse started asking me if I could help them too, which I did. That time was unique because everything I did was unexpected, unplanned, and entirely from my own initiative - it was the dream.

After I graduated I took a job with a company that worked with satellites. The technical interview was exciting because the coding challenges were fun, and the team was happy with my results. But the job turned out not to be at all what I was expecting.

When I started they wanted to put me on a project that nobody else wanted to touch. It was building games for the NORAD Tracks Santa website. The site was built with Flash, and they wanted to convert it to “the new” HTML5. I agreed to work on the project, and was the only developer assigned to it. Every developer in the company was a “Java” developer and didn’t want to touch JavaScript with a 10 foot pole. They were almost appologetic when talking to me about working on the project, but I thoroughly enjoyed it. I built the whole thing using only vanilla JS (not even JQuery), HTML, and CSS - and I made it work on IE6, Firefox, Chrome, Safari, and Opera. The website has changed again since then, but I ended up winning an award for that project, and ever since then I’ve been known as “the UI guy.”

I left that job because the government shut down and I didn’t have enough PTO to wait it out. The next job I got had me building an inventory and logistics application again - but this time much bigger, for a much bigger client. I got to work with many high-ranking people, and wore a suit to work every day.

And then I got a call from one of the managers I worked with at my previous job. He wanted to start a software company, and he wanted me to be their developer. I also had my first child during this time, so I was pretty busy. I agreed to join the company as one of its five founding members, and got to work designing and building our initial product.

It was during this time that I learned the importance of work-life balance. I was constantly working, and never had time to spend with my family. During one summer my wife got tired of waiting for me to agree to go on vacation and she took my son to Florida with her mom and sister for a week. She was texting me pictures of them at the beach while I was trying to avoid getting pulled into management at work, and dealing with constant requirements churn and the weight of being the only developer working with basically 4 managers on the side. It got to be too much, and I decided that I was done with the side business, and looked for another job where I could keep writing code day-to-day.

I’m no longer affiliated with, or invested in the business. I also decided from that point on that I never want to be a manager because I enjoy programming too much. And I learned the most important lesson of all during that time - to spend as much time with my family as I can, while still keeping my interests alive with the occasional side project when possible.

Over the years I’ve worked with JavaScript as it has evolved from a hacked together scriping language into an organized and maturing standard with an ever growing influence on the world. I’ve worked professionally with JQuery, Backbone, Knockout, GWT, EXT, CoffeeScript, React, AngularJS, Angular2+, and probably several others that I can’t think of at the moment. I’ve worked as a contractor for several different Departments of the government, on many large-scale applications, with users based all around the world.

Personally I’ve tinkered with even more of the frameworks that are out there, but I have always considered myself to be a JavaScript developer - and always considered the frameworks to just be additional “stuff” that’s built from it. And I’m not put off by the large and ever growing ecosystem of JavaScript tools and frameworks. JavaScript is my favorite programming language precisely because it can be used in so many different ways. It’s truly unique because it’s free, able to run on any platform, and has seemingly endless flexibility.

As I’ve explored different aspects and experiences of life - and matured in my expectations of myself and the world - I’ve come to consider myself an architect. I look for the underlying structure in things, and try to anticipate the needs and stresses that can be placed on that structure. In software I’m constantly looking for ways to develop and improve systematic patterns. In relationships I’m constantly looking for ways to provide value and support. In everything I’m constantly trying to refine and optimize myself - ever exploring, ever experimenting.

If you got this far, thank you for reading my story. There’s a lot more to it, but I should probably write a book if I’m going to tell it all…

Before I go I’ll mention that I have a YouTube channel. I haven’t posted much to it lately, but I might start if I find there’s an interest in it.

I’m also a Christian (though, probably not what would be considered a “typical” Christian), and I have a website with my thoughts on that at DisciplesHandbook.com.

Thanks again, and best wishes,

BJ