Learning new skills while breaking into tech
Tags: motivation, developer, blog, beginners
Published: 2020-06-21 23:23:48

---
title: Learning new skills while breaking into tech
published: true
description: I hope by reading this, you can avoid these painful mistakes and get into the tech industry faster.
tags: #motivation #developer #blog #beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/qoncv7hpelfgamop2og1.png
---
I have been trying to get into tech for a long time and have made every classic mistake possible. I hope by reading this, you can avoid these painful mistakes and get into the tech industry faster.

###What I did Wrong
Software development isn’t just one language or skill. A developer needs a myriad of technologies and industry-standard coding practices to develop useful working applications. I’ve made the mistake of learning one thing at an introductory level and no established coding practices. The second mistake was using one or two technologies to build all types of applications. The classic scenario of “If all you have is a hammer, then everything looks like a nail”.

![Hammer and Nail](https://dev-to-uploads.s3.amazonaws.com/i/kz48528vtwwl8evoer5k.png)


###Year One: Moving too Slow
In 2016, I learned basic HTML, CSS, jQuery, and a sliver of JavaScript. I thought I was the best thing since fried chicken. With that in mind, I built a monstrosity family reunion website in mainly jQuery. Looking back, I only knew the basics of HTML elements and CSS styles. This led to two months of pain and suffering building something relatively simple.

![Burning House](https://dev-to-uploads.s3.amazonaws.com/i/axsn2fd9hjhyd244xquf.jpg)


###Year Two: Building for the Sake of Building
In 2017, I learned an introductory level of AngularJS, Electron, GitHub, and a sliver of PHP. I learned just enough to build something. I was able to develop several applications; however, not every application was suited as an AngularJS web app or Electron desktop app. The code was a scary beast of spaghetti code with no documentation and minimal version control.

In two years, I was still limited in what I could accomplish. I had developed 11 applications that no one wanted to use and were horribly designed. All of my applications looked the same because I had no experience with design or user experience. Each application was different in purpose and platform. I was basically restarting my learning curve with each project. My back-end code was copied and pasted from previous projects. I found out that AngularJS was being scrapped for a newer and totally different Angular 2.

###What I Should have Done
A much better strategy was to commit two months to basic web technologies, two months to master JavaScript, two months each for basic AngularJS and PHP, and the remaining four months for UI design theory, hosting, database, testing, and creating an API. During that time period I should have mastered basic coding practices and version control. The second year I should have been doing one project every two to three months with a focus on a gradual complexity. An additional goal should have been to find ways to work with other developers.

Fast-forward to mid 2019. I had the opportunity to get paid for a freelance React Native mobile app with a colleague from my local tech community. Several weeks were spent learning the technology using tutorials and documentation. Four additional weeks were devoted to building four projects of increasing complexity, but simple enough to be done in a week. The main idea was to determine what complementary knowledge I would need to research before working on the contract work. Ultimately, we were able to complete the contract work. My colleague, a UI/UX specialist, was able to help me with concepts I didn’t know I didn’t know.

![Two men building a house](https://dev-to-uploads.s3.amazonaws.com/i/qoncv7hpelfgamop2og1.png)


###Take-away
The take-away is to plan your learning journey with having a set of complementary skills as the end goal in the shortest time period.
* Pick an area of expertise and get good at it.
* Take the time to advance past the basics of each technology.
* Research what technology is hot in your area, what the maintainers for a technology have planned for it, and how it complements your current knowledge.

Then wash and repeat with another complementary area of expertise. The goal is to get good at one to two things while having knowledge on everything else.

You can follow my journey doing #100DaysOfCode on Twitter at JCSmiley4 or connect with me on LinkedIn at JC Smiley Jr. As always, let’s have fun and do lots of victory dancing.
![Animated Developer](https://dev-to-uploads.s3.amazonaws.com/i/b46pz3lbin1onq25gd69.png)

Icons by:
* Icon made by Freepik from www.flaticon.com
* Photo by Stephen Radford on Unsplash