Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.
Adam Łakomy10,718 Points
I feel completely lost
Well I'm in middle of Android developer track. I don't have big issues with challenges nor quiz's. But recently I wanted to do an app very similar to Interactive story app and... I fail hard.
Is it only me having such problems? It is very depressing... How do you cope in such situations? Right now I want to throw it all and just stop trying...
William LiCourses Plus Student 26,867 Points
Hi, Adam. What you are experiencing is completely normal. Let me give you one analogy, and like all analogies, it's imperfect.
Let's say that you wanna learn to play Chess, and think of Treehouse as a chess encyclopedia, it teaches you the rules of the game, basic movement of each chess piece, the theory of chess opening and end game ... etc. You never play the game before, but after reading through this encyclopedia, you feel like you're well-equipped with knowledge to begin your first match. The sad truth you'll soon find out is that you won't last 10 secs against an experienced Chess player in a 1-on-1.
What goes wrong here? Truth of the matter here is that studying every Chess games Bobby Fischer ever played doesn't make you Bobby Fischer, nor does it make you a Chess grandmaster overnight. Programming is a craft, much like the skills of swimming, driving, painting, and chess playing, knowing the theory and techniques is good thing, but theory on paper alone is not very useful unless there's extensive practices to go along with it; The craftsmanship of programming can only be improved through continuous struggles and practices by writing codes for real projects.
I believe you're doing it exactly right by taking the first step of writing your own app. And I'd suggest all Treehouse Student to do the same, cuz if you think after going through every tutorials/quiz/challenges in Treehouse would make you an expert programmer, you haven't seen how deep the rabbit hole goes, Treehouse is only here to show you the door, it's your task to walk through it and find your own path to greatness. Struggle on this stage is totally normal, because you simply don't have much experience of writing a real program from scratch, it can be daunting at first, but that's where StackOverflow, Google, or Treehouse forum can come in handy. When I first started programming, it's on my Dad's work computer, with just couple of books on DOS and Visual Basic, back then there was no internet or forum for me to ask question when I get stuck. So, yeah, you're in much better company now.
If programming is what you enjoy doing, then please don't feel discouraged, keep trying, the struggle you're having now is certainly not unique, we've all been on the same boat during the journey of learning to code; if you see other people who are so much better at writing code than you, it's NOT because they were born smarter, but that they have been through this road countless times in the past. Writing your first app can be tough, but the more you do, the easier it'll become, and by the time you finished your 4th, 5th apps, you should be feeling confident that you can convert any idea on your mind into a real app.
For inspiration, you can check out this post How I finally learned to build stuff with Rails
No definitely it is not only you. I also personally have challenges while learning several things. It takes a lot of trial and error. It can be really devastating and when you keep pushing yourself then see things are not working out as intended, that can have a negative impact on our self esteem and even create a subconscious fear in connection to that thing which can lead to procrastination, and that is hard to break till you realize down deep you are afraid to try or be disappointed again.
Now about how do I cope...
I take a step back and try to think of how I can work this out more efficiently.
I try to see if there is anything that might be easier to start with. I realize just looking at the videos and skipping all the complexities of challenges and the rest can feel very liberating. For example try to do 1 stage just by following the videos and trying to understand what the teacher does. Then, in the 2nd review of that same stage, follow the code...the code challenges whatever you want in the normal pattern. Sometimes when you watch and try to type the code at the same time or take notes you can't really concentrate on understanding because your mind is trying to follow the code more than what the person is explaining. Also I believe, if we type and pause or type and rewind, we break the flow of the information that comes and the connections that happens in your brain; because the gap often makes you think you have missed something (that's why we rewind or pause for anyways, in order to not miss something or because we think we have missed something.)
I make sure you understand the basics. That is very important. If you don't have the right foundation on something every else gets more difficult. You start filing something is missing and that is sometimes something we misunderstood in the past but walked over it without taking the time to understand it.
I try to be patient with myself and have self compassion. I am often very hard on myself. Like super hard. For some reason it seems harder to be compassionate with our own self. We forget we are humans and sometimes even treat ourselves in a way we wouldn't treat someone else that was in our shoe. For example think of this.... if someone was experiencing what you are experiencing what would you tell them? Will you tell them "better move on, on this if it does not work out don't waste your time on learning android" or you will tell the person something closer to "Learning is not always as simple as we might want, but that doesn't mean you are not good enough or not smart enough to learn android. It just means you have to work a little harder and make things work. Don't be so hard on yourself, take it easy, a step at a time. That's what learning is for after all. If what you are learning is something realistic that can be learnt then I can see no reason for you to give up now. Be 100% sure you want to give up before you do." Now....would you ever tell such a nice thing to yourself? I hardly ever used to but when i realized that, did that, and believed that (believing is very important), It gave me the energy to keep going.
Lastly what I do is take a break. The break can be a day, a week, a month, a year or years. I take a break whenever needed but if it is indeed a break no matter how long it takes to come back to it... I purpose to return to my goal because I intended this to be a break and that is what it suppose to be.
There are more things I do but these are some of the most important. I hope this helps you in some way.
Stephen Bone12,359 Points
Try not to become to disheartened. You're certainly not alone.
I've now gone through a number of the Android courses (just wrapping up on the weather app now) and only now do I feel like things are starting to sink in, a bit. I think when you're starting out and if you're new to Java and Android development then there's a lot to take in.
I'm taking the just keep going approach and soon (hopefully) it will all make perfect sense :)