Hi! My name is Nathan Smith. I am 14 and a freshman in high school. I began coding when I was roughly 9 or 10.
How did you first become involved with coding and technology?
I first came in contact with coding by playing a game called Minecraft. This is a sandbox game, where you advance in the game with the resources that you mine and create. There are no boundaries to this game, it has no rules, and is completely open to you. That’s when I heard about a server platform called Bukkit. It allows developers to create plugins, or modifications to the game in Java. You and your friends could then log on to the server and be able to use the modification that you added.
What did you think about tech and coding before you began?
Before I began programming, I never thought much of it, if at all. I was not too into computers, just into whatever I did when I was younger. However, I realize how essential and useful the skill is after I began programming.
Through the act of programming, I have become very knowledgeable of computers and general electronics. I also realize that it is a huge trial and error process (whereas before they start programming, most think it is some magic that wizards perform). Much like all other sciences, computer science is no different in the fact that you have to experiment until you achieve a finished product.
What programming languages are you familiar with?
I currently consider myself fluent in Java, Python, Lua, and C#. I want to delve more into C, and other C related languages. C and its offspring languages are used in many programs, and I believe the knowledge of these languages would help me widen my knowledge and ability in programming.
Have you created any apps? If so, tell us about it!
I have not made any apps, as I still develop mainly with game modifications, such as Java for Minecraft. However, I also use the android platform to run our robot for FTC. This requires an app to control the robot. While the base app was already developed by FTC, the goal of the programmers is to make it useful, you must take input from one phone (that is hooked via usb to a controller) and send that to the brain for information from the robot to be used. There’s also an autonomous program, where the programmer (me) has to write out instructions for the robot, executed purely in code, not being controlled by a human.
When I began learning Java, the language both used for game modifications (Minecraft), I learned mainly by decompiling formerly made plugins and reading other people’s code in order to understand what was going on. Then, I’d try to make my own, often failing, but then coming back and trying all over again. Sometimes I would come back with a new idea. It was mostly a trial and error process, but it helped me develop the programming knowledge I now possess.
What is it that you enjoy about programming?
Programming is all a huge experiment. You come up with this idea. You think it’s really cool, and want to make it. You start by coming up with these possible ways to make it happen and then you begin developing. Then, you fix all these errors, make changes, make additions, fix more bugs, and eventually you have this finished (hopefully) product that may or may not have been what you wanted at the start. And seeing your creation in work brings you a great feeling of satisfaction and joy. It’s all a fun process, even the debugging process (because what comes after you fix the bugs).
Are there any resources that have helped you develop your skills?
It was really just me reading other code and figuring how it works, then trying to make something myself.
What advice do you have for other beginners, especially high school students?
I don’t have advice to give, but instead encouragement. Most often beginners, and not just in programming, tend to give up when something they’re trying out for the first time doesn’t work. I’ve been there before myself. However, as I’ve stated already, coding is a huge trial and error process. Don’t be intimidated by a problem, but instead be re-invigorated to work and fix this problem. Find the solution to it!
Considering your experience thus far, do you see yourself building a career field in the tech field?
I plan to major in Computer Engineering and attend Georgia Tech.
Is there anything else you’d like to say to high school students who are potentially interested in learning how to code?
Try, try, try, and try again until you finally succeed.