Showing posts with label learning. Show all posts
Showing posts with label learning. Show all posts

Tuesday, March 29, 2016

My two cents

We have all been there: new to a trade or starting to learn a skill with no prior knowledge. So what does it take to get from complete newbie to master of your craft?

I don't know much about being the master of any craft, but each day I separate myself from the version of me that had no idea how to write code. And 9 months in, the path to becoming a professional developer is clearer than ever. This post is going to explain some of the things I have learned along the way, with some examples of moves I have made that ended up being in my favor. While my interests and skill set have lead me into the world of computer programming, I believe that most of these methods can be applied to any new skill or trade. 

The first, and most important, thing I did was start DOING. I started out by scouring the web for hours on end, trying to figure out the best way to become a software developer. With the massive amount of information available to us today, I found that it was easy to simply stay on this step forever. I could search up and down and never find two strategies that were exactly the same. This is where I got my first break, as my brother-in-law is a (successful) developer, so I asked him where start. I probably should have done this first, but anyway.

Once I got started, I quickly found that this overwhelming amount of information exists for almost any topic imaginable, and especially when it comes to programming. It was important for me to develop a rough outline of what I wanted to accomplish. By starting out with a goal, I could then fill in the means to that end with some clarity. Again, having someone in my life that had what I wanted, and had been through what I was about to go through was priceless.

So, now I have this course of action to follow, or at least a very rough outline. The next thing that I benefited from was figuring out how I would spend my time doing this. I have a family, work full time, participate in some social groups regularly, and so on. Time management. I have never been very organized, but since I was already about to start this radical new journey, I might as well throw in some basic life skills as well. Learning how to budget my time has completely changed my life. I essentially treat the hours in a day like money in the bank. It will forever be a work in progress, but working at it consistently has served me well. 

Most of the time, learning a completely new skill involves much more than focusing on one thing. Learning to code is much more than simply learning a programming language. You have to know your way around a computer, familiarize yourself with the command line (that screen you see on a hacker's computer in the movies), learn more effective ways to search the web for answers, etc, etc. Also, learning to think like a computer scientist is crucial. What I am getting at is that there are all sorts of ancillary skills needed in order to do this. It's not good enough to just know a little bit, because these skills are the foundation for every project you will ever build, so to have a chance to excel as a developer, you have to pay attention to the little things -to be able to see the forest for the trees. (Side note: Ever since I learned what that idiom means, I have wanted to use it properly in a sentence. I believe I just have!) 

Recently, I started getting involved in the programming community. If you know me well, you probably know why it took me so long to do this. But this is important. Having all the talent in the world means zilch if no one knows about it. I found local meet-ups, discussions, and events where like minded people get together to talk about their craft. I know this sort of thing happens in every industry, and its a great thing to be a part of. I went to a career fair the other day. I went around to every both asking employers what specialties they were looking for. So now, I know exactly what I need to be working on. My rough outline has now become a well-revised blueprint. 

I like to save the best for last, so here it is. The most important advice I could give anyone would be to build relationships. Start early, and work at it often. Every single milestone I have reached was because of a relationship I had with another human being. Whether it was my brother-in-law, or a friend-who-know-a-guy. I would not be where I am today without the help of others.

 A good friend shared an idea with me recently that I want to share now. 

"We create possibilities for ourselves, but it is other's who create opportunities for us.

Tuesday, February 2, 2016

Finish line on the horizon

It's coming up on 7 months since my first post, which means its been almost 7 months since I started learning to code. I can feel the progress. My brain functions differently now. I can almost feel it processing things and I am more aware of every step I take.

While I didn't necessarily meet my goal of blogging consistently, I have kept up with the more important aspect of the goals I initially outlined by burning the midnight oil on the computer regularly.

Many adjustments have been made in order to keep up a fast pace. Recently I began training myself to function on 6 hours of sleep nightly. I figured that I could squeeze in at least 2 extra hours on the computer nightly by sleeping less. It's working so far.

This week Salem and I finished up the second set of problems for CS50. Man, I have a lot of respect for anyone that can succeed at Harvard. This is an entry level course and the second week's problem sets are already very intense. Luckily I have a bit of background knowledge, so the material isn't completely foreign to me. It is difficult though, and having someone to collaborate with helps tremendously.

In addition to CS50, I am finishing up a tutorial on Rails that has me building a Twitter-clone. It's my first Rails project from scratch, and the building blocks for the Craigslist-style website I will be making for a friend.

Having several projects underway at all times gives me plenty of things to do on any given night, as well as keep things interesting. Sometimes that's all it takes when I'm having one of those days and just want to lay around and watch TV.

This is an opportunity to drastically change my life for the better, and all I have to do is keep striving for the finish line... One late night at a time.


Thursday, September 17, 2015

Still Going Strong

I haven't posted in a while, which would usually mean that I have completely given up on whatever I was writing about. Nothing could be further from the truth!

Ever since I received that dreaded email from App Academy informing me that I did not get accepted into their program, I have been hard at work. I will admit that being rejected was a huge blow to the ego, however, I learned a few things about myself since then.

It turns out that I thoroughly enjoy programming. I actually love it. I love it so much that instead of drowning in my sorrows for weeks on end, I immediately sought out another learning tool to help me get to where I want to be. There are so many resources for aspiring developers, and each one has its own set of pros and cons.

For me, App Academy seemed like the best option given that I had little money to spend, and I wanted to be job ready as soon as possible. The thinking was that any sacrifices I would have to make during the bootcamp would be worth it in the end when I got a high paying developer job. This included a few assumptions of course. I would first have to actually finish the bootcamp. Then I would actually need to get a job, and quickly. Looking back on it now, I am relieved that I didn't get in.

So I did some research: first looking at other bootcamps. I checked out some online schools as well as open-source courses. Given my current situation in life, the best option for me ended up being a free, at-your-own-pace, online curriculum. It's call The Odin Project. You can get all the info you need about it at theodinproject.com.

I have been having a blast lately learning HTML and CSS, with Javascript coming up right around the corner. I must say that the tough application process for App Academy jump started my schooling, and I do not regret it one bit. It actually may be one of the best things I could have done early on. I got very deep into Ruby and learned about a lot of tools programmers use which has made life easier.

Still, this is some very challenging stuff, and sometimes it can be frustrating, but when I get the webpage or program to finally do what I want, the payoff is more than worth it. Experience has taught me that so many things in life are like that.

I plan on posting here once a week at the very minimum, so stay tuned! Whatever you are doing in life, do it with passion, or don't do it at all. I love my life,  and I am excited to wake up every day to see what is coming next.

Until next time...

Sunday, July 26, 2015

Intense week!

What a week! I don't even know where to start.

I completed the first coding challenge for App Academy. When I looked that the three problems, I was amazed. I didn't immediately know what the answers were, but I could feel myself walking through the solutions. This is something I have struggled with early on.

When it comes to writing some code to solve a problem, you have to be aware of every single step that takes place in order to solve it. I have always excelled at math and all forms of problem solving, but I did a lot of the work in my head. In fact, does anyone remember when the teacher would give credit for showing your work? That was actually a problem for me. I could just look at a question, and for the most part, end up with the answer without putting too much down on paper. Well that doesn't work for computers. The computer needs you to tell it every single step to take. I had to learn how to be conscious of my thought process. It has taken a lot of practice, but its clearly paying off.

I will definitely post updates with regards to the App Academy admissions process.

Another fun project I worked on all week was installing a version of Linux called Ubuntu on my computer. I had been doing all my work from a Windows machine, which I understand is not the preferred way to go about things. Since I can't afford to buy a Mac at the moment, I installed Ubuntu so that I can work in a very similar environment as Mac. I'll let someone else's blog explain all of that.

This ended up taking up most of my time spent on the computer for the last few days, but I can already see that it was worth the hassle.

One last thing I want to put out there is that I am very grateful to have started learning programming. My entire outlook and perspective on life has improved drastically. It has to have something to do with believing that this is the right career choice for me. I know that the road ahead is a long one, but the path has been well paved and it's definitely the one I want to be on.


Tuesday, July 14, 2015

Hello World!

I know, I know: very unoriginal title. Well, it fits. I am starting this blog to record and share my experience as a 28 year old starting from scratch on a journey to learn computer programming and ultimately secure a job - a paying job - as a developer.

My life has been a series of ups and downs, twists and turns. Everything that has happened has lead me to this very post. For the first time in a very long time, I feel 100% in my bones that I have found what has eluded me for my entire adult life: a career path.

I am whats called a "Jack of all trades, master of none." I have a history of diving head first into something, only to get tired of it, or realize I can't be the best in the world at it, and quit. I have been doing this since as far back as I can remember,

So, for the past few weeks, I have been looking into what it takes to become a computer programmer. It honestly started from pure curiosity. Sure, I know some people in the field, and I understand the money can be great, but what got me looking into it was an article I read online. I don't even remember the name of the article. I read a lot. My head is full of useless information.

I followed links from the article on down the rabbit hole, and next thing I knew I was signing up for an MIT OCW Intro to Computer Science class. After 2 lectures, I was in love. And now, almost a month later, I am still in love.

So, this is my journey to become a developer:  Starting from scratch.