{"id":523,"date":"2018-07-18T03:52:34","date_gmt":"2018-07-18T03:52:34","guid":{"rendered":"https:\/\/blog.hassler.ec\/wp\/?p=523"},"modified":"2018-07-15T01:55:23","modified_gmt":"2018-07-15T01:55:23","slug":"from-web-development-to-software-development-how-i-got-started","status":"publish","type":"post","link":"https:\/\/blog.hassler.ec\/wp\/2018\/07\/18\/from-web-development-to-software-development-how-i-got-started\/","title":{"rendered":"From web development to software development: How I got\u00a0started"},"content":{"rendered":"<section class=\"section section--body section--first\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<p id=\"0bf7\" class=\"graf graf--p graf-after--h3\">LEGOs to Functional Programming<\/p>\n<figure id=\"ac12\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"1*gf-ZzD3LyykFjw7nVRQbCA.jpeg\" data-width=\"1800\" data-height=\"1200\" data-action=\"zoom\" data-action-value=\"1*gf-ZzD3LyykFjw7nVRQbCA.jpeg\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"50\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*gf-ZzD3LyykFjw7nVRQbCA.jpeg\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*gf-ZzD3LyykFjw7nVRQbCA.jpeg\" \/><\/div>\n<\/div><figcaption class=\"imageCaption\">A shot of the SASS system my team\u00a0built.<\/figcaption><\/figure>\n<h4 id=\"bc6a\" class=\"graf graf--h4 graf-after--figure\">LEGO<\/h4>\n<p id=\"91f9\" class=\"graf graf--p graf-after--h4\">Building things has always been a part of who I am. It started when I was young. I was a LEGO fanatic (still am, not sure that ever really goes away.) I had lots of sets, but more importantly, I had a\u00a0<em class=\"markup--em markup--p-em\">big tub of random LEGOs.<\/em><\/p>\n<p id=\"9bf6\" class=\"graf graf--p graf-after--p\">Whenever I received a new LEGO set, I would start by building what was depicted on the box. For a\u00a0<em class=\"markup--em markup--p-em\">short<\/em>\u00a0while that would be enough. Once I grew tired of the intended design, it was broken down and put into the\u00a0<em class=\"markup--em markup--p-em\">big tub of random LEGOs<\/em>.<\/p>\n<p id=\"55b7\" class=\"graf graf--p graf-after--p graf--trailing\">From that point on, who knows what those pieces became. Cars, trucks, planes, buildings, a LEGO remote control car designed to carry a wireless camera. Just random creations of my own design. Not great design by any means, but they were mine. At one point, I built a functioning elevator for my pet hamster. (That\u2019s a story for another time though.) Building, and more importantly, designing things, was my\u00a0<em class=\"markup--em markup--p-em\">thing<\/em>.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\" \/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 id=\"0389\" class=\"graf graf--h4 graf--leading\">Nashville and Odd\u00a0Jobs<\/h4>\n<p id=\"6522\" class=\"graf graf--p graf-after--h4\">I was born and raised in Springfield, MA. But if you fast forward to my early twenties, I had moved to Nashville, TN, gotten married, and had no idea what I wanted to do with my life. So, like most people in their twenties that didn\u2019t go to college and have no idea what they want to do with their life, I picked up a few random jobs.<\/p>\n<p id=\"8028\" class=\"graf graf--p graf-after--p\">I mixed paint at Sherwin-Williams, sold car electronics for a local company, and also became, the classic, pizza delivery guy. There were many others too, none of them glamorous, but they paid the bills. During this time, the jobs I held were never full-time. I found that a few part-time jobs allowed me to earn a little more and have some free time to try other things on the side. And in that free time is where I learned how to build a website and more importantly, that I\u00a0<em class=\"markup--em markup--p-em\">liked<\/em>\u00a0building websites.<\/p>\n<p id=\"b80c\" class=\"graf graf--p graf-after--p\">I met a guy who had some ideas for different businesses. He was (and still is) a fast-paced, high-energy person. One of his ideas was to create a web-based, video training platform for business leaders. I liked the concept and we started a partnership. I was able to build the website and membership platform and he was responsible for basically everything else. Networking, product guidance, sales, all of the business stuff I knew nothing about yet.<\/p>\n<p id=\"86ed\" class=\"graf graf--p graf-after--p\">It was great. I started reviewing website platforms and finally settled on Joomla. Joomla is a great platform. It\u2019s built in PHP and has a very healthy third-party developer ecosystem. WordPress was available at the time too, but it just wasn\u2019t as big as it is now. So, once I settled on Joomla, the real fun began. I decided the best way to get started was to start from the bottom and work my way up\u00a0\u2026 so I setup my first server.<\/p>\n<p id=\"1cee\" class=\"graf graf--p graf-after--p\">Kind of a trivial thing nowadays, but for me at that time, it was like trying to build a house, without blueprints, in the dark. Thanks to Google and Stack Overflow, I made it through. I had a server, MySQL and Joomla up and running. Now it was time to build the actual product\/website.<\/p>\n<p id=\"9794\" class=\"graf graf--p graf-after--p graf--trailing\">It took some time to get the hang of Joomla and its quirks. I had a great mentor when I first got started who helped me avoid a lot of the common \u2018gotchas\u2019 and steered me down the path of least resistance. His advice and time were invaluable. Don\u2019t get me wrong, late nights of studying and routinely breaking the website were common, but without his guidance, I\u2019m not sure how far I would have made it before giving up.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\" \/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 id=\"1080\" class=\"graf graf--h4 graf--leading\">I think I like\u00a0this\u2026<\/h4>\n<p id=\"abd7\" class=\"graf graf--p graf-after--h4\">Although the business my buddy and I started didn\u2019t pan out, I was on a different career path now. I left my day jobs to start that company, and despite all of the stress and late nights, I didn\u2019t want to go back. Time to hustle.<\/p>\n<p id=\"3628\" class=\"graf graf--p graf-after--p\">I started learning WordPress and began doing basic websites for clients. Nothing fancy, really. I was basically a general contractor for websites. I would do what I could myself and farm the rest out. I was also blessed to be introduced to (and eventually contracted by) a non-profit here in the Nashville area. The non-profit job helped pay the bills while I worked on moving from a\u00a0<em class=\"markup--em markup--p-em\">Web Developer<\/em>\u00a0to a\u00a0<em class=\"markup--em markup--p-em\">Programmer<\/em>. All from the comfort of my own home office.\u00a0\ud83d\ude42<\/p>\n<p id=\"768b\" class=\"graf graf--p graf-after--p\">Along the way I met a sales guy who was able to sell those WordPress sites. We formed a partnership and started a classic \u2018web dev\u2019 company. At first, we just did websites. That quickly changed to offering design, SEO, social media marketing, and general business consulting services. This new business isn\u2019t really the point of this post, but I bring it up because along with the non-profit job, it provided me with opportunities to meet people\u00a0<em class=\"markup--em markup--p-em\">much<\/em>\u00a0smarter than me in this space, and gave me the projects to implement all of the new things I was learning.<\/p>\n<p id=\"c3c6\" class=\"graf graf--p graf-after--p graf--trailing\">Honestly, the biggest driving factor in my transition from a WordPress and Joomla guy to a full on programmer was my clients. Not all of them, but some of them were idea people\u2026 dreamers. Once we showed them what was possible with a new website and third party tools, their minds would begin racing. Answering questions like, \u2018Is it possible\u2026\u2019 and \u2018How cool would it be if\u2026\u2019 was and still is pretty routine. Their ideas coupled with my want to build and learn new things was the driving motivator in learning how to code.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body section--last\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\" \/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 id=\"4d66\" class=\"graf graf--h4 graf--leading\">Coding 101<\/h4>\n<p id=\"5820\" class=\"graf graf--p graf-after--h4\">PHP was my first language. I had been staring at it for years in Joomla and WordPress. Only making surface level changes and at best, copying lines from the internet and pasting them into my files. Through the non-profit, I met a guy that, for some reason, found it in his heart to teach me PHP. Even more, he taught me how to think about problems and how to break them down into their components. That\u2019s the real skill. Problem solving.<\/p>\n<p id=\"7703\" class=\"graf graf--p graf-after--p\">So I built a few PHP and MySQL apps, learning a lot along the way. Around this time, Javascript had recently started on its \u2018Dominate the coding world\u2019 path so it was becoming quite the tool. It was no longer just for flash on the front end, you could do some serious problem solving with it. That was the next thing to learn.<\/p>\n<p id=\"bae2\" class=\"graf graf--p graf-after--p\">Javascript was more of a challenge than PHP. Its asynchronous nature was completely foreign to me. It took a while to get the hang of it. It finally did and now I was able to join the JS club.<\/p>\n<p id=\"1f11\" class=\"graf graf--p graf-after--p\">With the rise of Javascript came a resurgence in the Functional Programming paradigm. At a very basic level, the idea is to create small, reusable functions that don\u2019t change their input data, and always return the same result when given the same input. It\u2019s a paradigm that allows programmers to build large applications in a way that\u2019s maintainable over the long term.\u00a0<em class=\"markup--em markup--p-em\">Want to make a change in the way your program handles something? Cool, there\u2019s going to be one place in the codebase to make that update.<\/em><\/p>\n<p id=\"5079\" class=\"graf graf--p graf-after--p\">So programming in Javascript using the Functional Programming (FP) paradigm became my next goal. I had already learned a few other paradigms with PHP. Classes, Factory, Object Oriented, Procedural\u00a0\u2026 it was clear that learning to program this way, through paradigms, was most helpful for me. The concepts are broad and usually don\u2019t apply to a single language. Learning the syntax is more narrow. When you learn concepts you learn how to program.<\/p>\n<h4 id=\"e24a\" class=\"graf graf--h4 graf-after--p\">I think I got\u00a0it<\/h4>\n<p id=\"0b01\" class=\"graf graf--p graf-after--h4\">At this point, my brother and I had started working together. We came up with an idea to build an application framework in Javascript, using FP. We did, and even though it took a long time to build the tools we were going to use to build the actual applications, it was all worth it. Our application framework, now named, Pagoda, is a pleasure to develop in. A lot of the modern day best-practices are built into the framework at a deep level; which takes a lot pressure to do things the right way off of us, and now, off of our dev team.<\/p>\n<p id=\"7fa9\" class=\"graf graf--p graf-after--p\">I hope what you get from this is that anyone can learn to program. There was no mention of college, no structured higher education. Opportunity, both\u00a0<em class=\"markup--em markup--p-em\">given<\/em>\u00a0and\u00a0<em class=\"markup--em markup--p-em\">created<\/em>, hard work\/studying, and the willingness to fail and get back up. It\u2019s definitely not a job for everyone, but if you\u2019re interested in it, even a little, make sure you stick with it long enough to really give it a shot. It will take months before you even start to feel a little comfortable writing your own code.<\/p>\n<blockquote id=\"c8df\" class=\"graf graf--pullquote graf-after--p\"><p><span class=\"markup--quote markup--pullquote-quote is-other\" data-creator-ids=\"anon\">Please understand, this is a lifetime pursuit. When I say I understand a language or a concept. That usually means I know enough to be dangerous with it. Every time I solve a new problem, I learn something new. It\u2019s a never- ending\u00a0process.<\/span><\/p><\/blockquote>\n<p id=\"f2ee\" class=\"graf graf--p graf-after--pullquote\">Study the concepts, the paradigms. They will teach you how to think about solving problems. And that\u2019s really what your greatest skill as a programmer is. Not the languages you know, but how you approach solving new problems.<\/p>\n<p id=\"1ed4\" class=\"graf graf--p graf-after--p graf--trailing\">Thanks for reading!<\/p>\n<\/div>\n<p>SOURCE:\u00a0<a href=\"https:\/\/medium.com\/bento-systems\/from-web-development-to-software-development-how-i-got-started-5d617df72c60\"><strong>https:\/\/medium.com\/bento-systems\/from-web-development-to-software-development-how-i-got-started-5d617df72c60<\/strong><\/a><\/p>\n<\/div>\n<h3 class=\"u-lineHeightTightest\"><a class=\"ds-link ds-link--styleSubtle ui-captionStrong u-inlineBlock link link--darken link--darker\" dir=\"auto\" href=\"https:\/\/medium.com\/@ricky_42533?source=post_header_lockup\" data-action=\"show-user-card\" data-action-source=\"post_header_lockup\" data-action-value=\"a778762e2615\" data-action-type=\"hover\" data-user-id=\"a778762e2615\">Ricky Voltz<\/a><\/h3>\n<div class=\"ui-caption ui-xs-clamp2 postMetaInline\">Dad of two and owner of Voltz.Software and Bento.Systems. I love building software and I love building businesses.<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>LEGOs to Functional Programming A shot of the SASS system my team\u00a0built. LEGO Building things has always been a part [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[48,44,47,29],"tags":[],"class_list":["post-523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-front-end","category-javascript","category-medium","category-programacion"],"_links":{"self":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/comments?post=523"}],"version-history":[{"count":1,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/523\/revisions"}],"predecessor-version":[{"id":524,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/523\/revisions\/524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/media\/220"}],"wp:attachment":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/media?parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/categories?post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/tags?post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}