I’m going to answer the second part of your question first, as it’s a really good one!
The best programmers are not the smartest, or most creative (although they do often have those attributes). The best coders are the ones who persevere. Coding can be confusing, challenging, and weird, and there are times where you’re going to want to give up because you feel like “you just don’t get it”. But — keep going! Maybe you take a break from the problem, and come back to it the next day (side note: sleeping on a problem really does help you solve it later), maybe you find someone to ask a question to, maybe you try approaching it from a different perspective.
In other words:
And, for your first question, I enjoy going because of the creative problem solving. I love that there are thousands or even millions of different ways I could use code to create the output I want; and I get to determine which one is used.
We currently do not have Python on our roadmap, but the skills that we teach in Grasshopper should be applicable to all coding languages (including Python!). In order to learn Python specifically I would try going to https://www.learnpython.org/. They have tutorials and many other resources available to help with the python learning process.@Sanyam_Giradhar
Good question! We’re working on figuring out what to create next for mobile — what would you life to see? You can always check out the practice section to refresh your skills, or go to the playground to start building your own creations.
I’m a big supporter of open source projects (they are literally the backbone of the internet and most of the applications we use). We don’t have immediate plans on making Grasshopper open source yet, but haven’t discounted the idea.
We have millions of users on both iOS and Android, and those users are from all around the world!
The Grasshopper app took about a year and a half to develop to get to a place where we launched (in Spring 2018), but we’re always developing and adding new features. For example, we just launched Grasshopper Gallery for web — where you can share your code creations with anyone easily. Check it out at learn.grasshopper.app/gallery
It might not be unusual, but we do a LOT of testing. Almost every feature, change or new content get’s A/B tested; that allows us to see if it really does improve the user experience before launching it to everyone.
I would suggest taking the concepts that are taught in Grasshopper and trying to apply them to a real world scenario like building a simple website. This will help you understand the concepts that we are teaching more indepthly, and should make you more comfortable.@Agbojo_Uriel
Generally, iOS apps are built using Swift, and Android apps are built using Java, so you could try learning both of those and then building from there.
Grasshopper is the gateway to starting your coding journey, and it sounds like you’ve got some great goals you’re aiming for. If you’re able to build some apps, they would be great examples to add to your portfolio when applying to jobs. You could also look into more dedicated coding education programs, like bootcamps, community college classes or online programs like freecodecamp.
It’s amazing to hear that you have begun learning to code at 13 (I was around the same age when I started), and I’m willing to bet that your parents are already proud of you! I would say that the technology that you want to use is dependent on what type of game you are making. If you are making one for a phone then Swift, Native Android Java, or React Native will work, but if it’s for a console (Playstation, Xbox, Computer etc.) you’ll want to use an engine like Unreal.
You’re off to a great start!! I didn’t learn how to code until I was 28
I’d say keep doing what you’re doing - finding resources & opportunities to continue learning. After that, I’d encourage you to start building your own projects - they’re a great way to solidify your knowledge and showcase your skills!
Hope this helps! Best of luck on your coding journey!
While you can apply programming skills to just about any job, I like to recommend web development. It’s a gigantic field that is both very diverse in the technologies one can work with, and pretty friendly to newer programmers. Building simple websites is where I started my own foray into programming.
Jobs in React development seem to be the most in-demand in 2020, so I think that’s a safe area to focus on, however the field evolves all the time. One resource you might find helpful is roadmap.sh, which provides some useful recommendations that can help make the pathway to working professionally a bit more clear. Just keep in mind, these are recommendations, not requirements. You don’t need to know everything before you start applying.
Other software development areas include working on mobile apps (iOS and Android), embedded systems, QA engineering (responsible for testing products), Technical Writing, and loads more.
Good luck on your journey! Let me know if you have any follow up questions.
I’m so happy to hear that Grasshopper has been a handy learning tool for you! Right now, we don’t have plans to expand into other programming languages, but I’ll be sure to pass this idea along to the team.
While I surely don’t speak for all web developers everywhere, I wouldn’t really consider code obfuscation to be part of the job. If there’s a bit of code you don’t want visitors to your website to see (such as that dealing with security and authorization), then you’d run that code server-side, and not in the browser. Additionally, code is protected by intellectual property laws, which prevents others from using it without your permission.
Hope this answers your question! Let me know if you have any others.
As for advice, I’d say don’t give up! Learning a new skill takes time - there will be moments when you feel triumphant and optimistic, and others when you feel overwhelmed and defeated. But remember that it’s all a part of the learning process, and you can do it!
Although there are no specific numbers on what the odds are given your case, I know that computer science is something that is global, and as such accomplishing your goal should be well within your reach!
Functions aren’t the easiest concept to grasp — so don’t stress too much on it being confusing. Hopefully this helps:
A function is a block, or section, of code that can be run at any time, and can run multiple times. To run a function, you ‘call the function’.
Functions are all around us! For example, when you use your microwave and hit ‘start’ that is calling a function that turns on the microwave. The same block of code runs each time you hit start, and you can hit that button (i.e. call that function) as many times as you want.
Or, when you turn off your alarm in the morning, you’re tapping a button that calls a function, and that function is a block of code that switches off the alarm.
Or, when you unlock your car, you click a button that calls a function, runs a block of code and unlocks your car.
In Grasshopper, we introduce you to a lot of concepts related to functions all at once (like recursion and callbacks) which is probably adding to the confusion. But the core concept of a function is used throughout the world, and very likely you interact with functions every day.