“This is so you can go right out the gate and get going.”
This week the guys breaking down a minimalist list of the things you need to successfully start coding today. Getting started can be a little intimidating, so it’s important to go over the basic requirements to get started learning how to code through experience.
“It seems it would be better to learn enough to build something.”
08:15 Contacts doing something that you want to do.
“You don’t have to have this grisled senior developer, a junior developer can help you.”
Your contact doesn’t have to be a mentor, but does have to be someone with the willingness to help you learn. Basically, you want someone who can bail you out if you get stuck. This person can also give you good advice on which direction to go next as you advance.
13:17 A development environment.
Lots of people online will tell you to start writing code in a text editor. Don’t do this. You’ll be more frustrated and slower. You can use a text editor with appropriate plugins to help you code.
“IDEs tend to have help built in.”
The main idea here is to reduce the friction involved in learning so that you can have some small victories first. Many languages have free versions of popular IDEs available. A lot of the online tutorials assume the use of an IDE as well. You’ll have a harder time getting going if you don’t have one.
21:30 A simple way to trigger a build.
While building on the commandline is handy, if you are just starting out, you might do well to avoid it. It’s more complexity than you need to just get started.
“You have to start out with the very basic principles in a controlled environment and then work up.”
You can and should soon graduate to using the commandline more, but it’s overkill for starting out. The aforementioned IDEs usually have build support built in.
25:35 A reputable place to get tutorials for starting out.
“There’s a lot of people out there that just can’t write introductory material.”
You should ask your contact what the best place is for the language in question. They probably know which ones are good and which are bad.
You are looking for more detailed tutorials. Even if they give you more detail than you need, you would rather have too much detail than not enough. Video tutorials can often be better than raw text, especially if they are using the same environment. You’ll want to learn the IDE as you go along.
34:06 Time. Lots of it.
If you are legitimately intending to learn to code well, you should probably practice for at least 30 minutes to an hour on most days. This will keep things fresh until you lock your skills in.
“This is a profession, it’s not a hobby.”
Once you are reasonably competent at the basics, you’ll need to continue to spend a chunk of time on a regular basis just trying to learn what you need to get things done. To really get settled in to coding, you pretty much have to pay your dues. You’re going to suck for a long time until you get better. It’s the price you pay in anything.
43:20 An idea of what you want to build.
“It filters out the stuff that isn’t important.”
You won’t need this immediately, but if you have a larger end goal in mind this will help direct your study. There are tons of different languages in software development, many of which have dozens of places they can be applied. You are usually better off strongly pursuing a plan that you are strongly pursuing and opportunity to possibly plan something sometime.
48:00 A reasonable willingness to learn.
“The right attitude is a big part.”
I’ve run across a lot of people of late whose behavior indicates that they think they should be able to start something new and immediately be good at it. This isn’t the way learning anything of value works. Practice diligently and consistently over time and you will grow.
“On the same note, you should also be very comfortable asking questions.”
You should have a reasonable degree of tolerance for taking advice. You can accelerate your learning process by leaning on the experience of others. Learning good habits is half of it. Understanding why they are good habits is the the other half.
55:00 A willingness to look back at your own work critically.
You’re going to make a ton of mistakes starting out. Some of them will even lead to working code.
If you take the time to go back over your mistakes and figure out how to mitigate them, you’ll be well ahead of many other developers in a very short time period. Do be careful not to be *too* critical. Look at mistakes as opportunities for learning, not errors.
Hydraulic Robotic Arm with Cardboard
Using cardboard, wood skewers, tongue depressors, glue, syringes, tubes and water you can build a working robotic arm and control station. You’ll control movements through hydraulic pressure via the syringes. It’s not exactly IoT but it’s a fun robotics project that you can enjoy with the whole family.
Tricks of the Trade
Be willing to listen to the old grizzled veterans, but take their opinions with a big old grain of salt. They are based around what people should do in a production, professional environment.