Never Stop Learning
I'm taking a break from programming examples and talking straightforward today.
For a long time in my life, I've tried to find something that I'm truly passionate about and want to improve at. In college, Ultimate Frisbee had my attention. I'm not talking casual frisbee tossing, I'm talking about something more like this and this. I worked out with my college team at Penn State, practiced my throws whenever I could, and it was truly satisfying. After college, I moved to Florida and continued to play at a high level. I moved into beach ultimate as my true passion and found myself practicing my long throws in the ocean to account for the added wind there.
I then met the girl of my dreams, got married, found out we were having a baby, moved away from the ocean to be closer to her family, and settled into a different lifestyle. It was at that time that I looked for something I could be passionate about again. When my daughter was born, she became my attention. It's amazing how such a little person can make you want to improve so much and be better. Now that's she's about 6 months old and we sleep a little better at home, I've found myself turning my attention onto programming.
Granted, I've always loved programming. I started writing HTML when I was 15 and have since gotten a degree in it and started a career in it. In all fairness though, a lot of the reason I am where I am is because I put in some extra work in my spare time.
This is why this blog itself was born.
I love to write words, I love to write code, so I'm now writing words about writing code. I haven't tried to grow my readership other than a few links on two websites (LinkedIn and Twitter) because I don't care so much about driving traffic. What this blog has enabled me to do is find the passion in programming again. Passion is a powerful thing and with enough of it, you can really do a lot to improve yourself in every aspect. I now find myself reading about new concepts, practicing at home when I can, and thinking about how I can explain what I'm learning to others. Blogging has been so rewarding for me in just this short time that I've done it and I couldn't be happier with the result.
How do I improve?
The funny thing about improving yourself is that there are an infinite number of ways that you can do so. Whether it's eating healthier, working out, writing in a journal, anything really. What happens when you do these things is that you get the satisfaction of completing something. For me, that's all it takes to get hooked. I make lists for everything that I do because I thrive on checking items off. When I cross something out that I did, it shows me that I'm one step closer to a larger goal.
The best thing to do is to find something you know how to do or that you want to do. Let's take for instance programming (since this is a programming blog). Let me set this up with:
- You know how to write HTML and CSS to make a website.
- You can do small customization on a WordPress theme.
- You spend a lot of time setting up new projects because you do it by hand.
This is a fairly new person to web programming. They're just getting past the basics and want to get into a more dynamic environment where they could potentially find clients to work with. How does this person improve?
For starters, there are hundreds of places to go from here. Just knowing the above skillset can actually get you an entry-level job somewhere and give you a chance to learn from others. Still, we don't want to wait and learn new things. We're motivated and have the time to spend on learning. So where do we start?
This person could start by making their life easier. In the last point I highlighted, it mentions the amount of time it takes to get started with a project. This is a common thing that new developers have because they don't understand all of the tools out there to get directly into their project. When you spend a large chunk of your time getting started, there is a large window for either failure or boredom. This is tedious work, things that should be done for us. So what can we do?
Git allows them to take advantage of the open source community and make their lives simple. On GitHub, there are thousands of project templates to get started with for all occasions. What we can do with an account though is contribute to those thousands. It's best to use something you're comfortable with and sometimes at this level it means your own code. Other project may have skills you don't understand yet so it's good to take the time and setup one more project. Create a project exactly how you do for others but don't worry about the design or content. Focus on everything you need before you enter content and design it. This way, you will have a template that you can easily grab anywhere (because it's hosted on GitHub) and when you get started next you will jump directly into the design and content phase.
This is what the pros do.
The best part is that with Git, you can constantly improve this template with things you learn. Say you learned AngularJS and you want to make the template work with Angular projects. All you have to do is modify your template to support the basics of and Angular project and then all future projects can pull from this source. Putting in that little effort in the beginning will save you hours of tedious work for each project.
So what next?
The three skills together form a trifecta for front-end developers and will allow you to do a lot with the web. That's where I started at least.
This person should learn a backend language.
Since they have experience with WordPress, PHP is a smart choice. Although I HATE PHP, getting started in it is very easy. The best thing to do is learn PHP concepts and then go back to the WordPress theme and look at how PHP is used there. It will all of a sudden make a lot more sense to you and enable you to do a lot of things you couldn't before. WordPress, although it seems like a tapped out field, is still thriving and can give you access to a lot of side work to earn extra money.
This isn't a means to becoming a WordPress developer though, but this path allows you to learn PHP so you can in turn take it to write and understand other frameworks and backend schemes. If you want to ditch the WordPress entirely, learn Python. It's easy to pick up and will give you so much power. You'll love it, I promise.
So you can see that having a skillset in anything can automatically set you up for improvement. No one is amazing at everything so find the parts where you're struggling or where you want to go and take the path. The best thing you can do is explore.
What am I doing
As of now, I'm still learning something new everyday. I started a repository on GitHub to track my goals through GitHub issues. There are some I would love help with and others I'm exploring on my own.
Obviously, becoming better and better at Python is my main goal right now. That's why I post so much about it. I also started learning C this past weekend to see a truly low level language. One thing I definitely want to learn this next month is more about server management and sys admin tasks. I want to figure out commands for a server admin and different configs for projects. I've been on shared hosting for a long time and would love to step away from those providers and manage my own server entirely.
Improving yourself is the best investment you can make. You don't want to fall behind in this field or fall behind in life. Take advantage of the internet and everything available to improve yourself now and you'll see in a years time how important it was.
What are you doing to improve yourself? I would love to hear opinions on learning or things they're working on.
comments powered by Disqus