I am a sophomore student in college and I have been trying to teach myself with free code camp this summer ever since May. Although I may be in college I consider myself quite new to programming and new to developing in general. I had a rough first year and I have been trying to recover from it since by trying to catch up. I decided to try FCC, I started with the live version then moving to the beta version. My problem is I get overwhelmed looking at the projects, I don’t know how to get started. I feel like I forgot most of what I learned and I haven’t been able to complete a single project and I have been beating myself over it. I was thinking of supplementing Free Code Camp with a Udemy course, the Web Developer Bootcamp, but I’m worried I am just using it to productively procrastinate.
I then began talking to a friend of mine who told me to try app development instead. Now this got me even more sidetracked towards looking for tutorials geared towards Andriod development. I do have some experience in Java from school. The problem is I don’t want to leave web development behind and I guess I’m having trouble deciding what I want to put my entire focus on.
Do other people experience these things or am I just overthinking things? And I guess I’m looking for any advice you guys have to get out of this loop of productive procrastination.
Thank you very much for reading!
So if you are working through the challenges, that’s good because you are learning. Putting it together for the first time can be a bit overwhelming. The beta version isn’t ready yet so anything you do may or may not work - it really depends.
This is what killed me with trying to get started with software development as a kid and why I’m only starting now, new technologies and not being able to stick with just one. You need to choose which field and set of languages now and stick with them. If you continue with web development stick with freeCodeCamp you’ll become an expert at Javascript.
Does the Web Developer Bootcamp teach the same concepts as freeCodeCamp? If so it might be beneficial.
Choose one thing, stick with it, you’ll need to make sure you are spending a few hours each day coding. Have time to kill? Great: Write some code - Watch freeCodeCamp’s tutorial videos on YouTube - Read documentation on MDN | Spend every free second doing something coding related. Good luck
What you’re feeling is OK. I think if not every camper, most campers have the same feelings, unless they have prior experience in programming, especially web development.
I think it’s because the projects requires connecting everything you’ve learned together. Also, the projects are the first real step to put everything you’ve learned in practice.
What I found useful when I have those feelings is to:
First, take a break as much as you feel you need.
Bonus tip: Outline the whole project on a paper (the design, the interactions) and then use a wireframe to design it in a way closer to the final design.
Second, break the project into smaller tasks, and don’t look it as whole and start thinking: “This is big, omg, I can’t do it!” (basically panicking).
Third, use the Read-Search-Ask method: which means reading by reviewing the past lessons and start thinking, for example, how I might build this navbar using what I’ve learned. Searching, when you don’t know how to do something, you search online for how to do it. And finally, Ask, when you have used the previous two methods and failed to find a solution, ask other campers, who may have already done the projects or have more experience.
Is that the “Colt Steele” course? I’ve heard nothing but positive things about it. If you’re just starting out, it might be the perfect supplement.
As for feeling overwhelmed I think @fortMaximus’s advice is solid. The only things I would add:
Use a thick marker for your wireframes/sketches and draw smaller than normal. By using a thick marker, you avoid focusing on details at that stage. Make a box, scribble what goes in the box next to it. It’s not meant to be pretty. It’s meant to get your thoughts out of your head. Do this every day with your favourite sites; sketch them using only rectangles and squares… no images, no text, no colour.
Once you have a general idea of what you think it should have, a handful of notes on what pieces of code you might need never hurts. But keep it brief.
What you’re feeling is probably “imposter syndrome”. Nobody starts in programming and remembers everything immediately after learning it. Everybody uses pasts projects and online documentation and forums like this to help jog their memories.
That isn’t cheating. It’s being resourceful. And it will get easier if you keep at it.
Since you have switched over to beta, have you tried using the testing suite as a way to get started with a project. It’s a good way to break a project into little pieces. Just try getting one test to pass and then move on to the next one. Don’t worry about what the page looks like until you have all the elements in place first.
If you run into a problem, post a question on the forum and someone can steer you in the right direction.
Since you’ve already started freecodecamp, try to stick with it until you have a least one project under your belt before you decide to drop it and move on to something else. If you give up here, just when things get a little tough, you are likely to do the same at what ever new thing you try to take on next.
[quote=“Sudoli, post:1, topic:136271”]I then began talking to a friend of mine who told me to try app development instead. Now this got me even more sidetracked towards looking for tutorials geared towards Andriod development. I do have some experience in Java from school. The problem is I don’t want to leave web development behind and I guess I’m having trouble deciding what I want to put my entire focus on.
Do other people experience these things or am I just overthinking things? And I guess I’m looking for any advice you guys have to get out of this loop of productive procrastination. [/quote]
In regards to this part, you are definitely not the only one who has felt this way! I currently feel this way. In today’s web development/software development world, there are new emerging frameworks/libraries/languages that it is tough to figure out which ones to learn. On one side, you want to make yourself more marketable by learning new languages. On the other side, you want to feel confident enough in one language/framework before moving on to another one (and this can take some time).
For me, I currently have a CS degree, but have not been able to put it into action since I am still in the military. Including my CS degree, I have been learning all of these new languages/frameworks for different realms of software development, but I am still waiting on my chance to put them to action within the tech industry.
I will finish with saying just keep on keeping on and things will begin to come together. Take every FCC project bit by bit, and that will be a pattern for every other project you take on.
The problem isn’t that you don’t have enough information. The problem is that you’re experience anxiety about not completing projects. So, I’d suggest that you focus on completing a project. There’s always something else to learn and study, which is great, but it’s not going to matter until you do something with it. Android development will be there waiting for you when you’re done - in fact, you’ll be much better prepared for it.
Learning the discipline to filter out distractions and get stuff done is one of the most important skills you can have.
We can’t live our whole life in one moment or skip ahead to the good parts… we can only live it one second at a time…and thank goodness for that because it would be overwhelming for one, and for two…if we skipped ahead, we’d miss all the parts between that offer the experiences to help us get to where we are able to end up at.
The goals in our life are very same way…if you look at the whole thing, you’ll get overwhelmed and feel defeated before you’ve even given yourself a chance to begin. Try not to do that to yourself!
I understand your concern with productive procrastination… its perfectly fine to find other resources to help you get a firmer grip on the concepts you are learning. I hit a wall and felt so frustrated with the basic challenges that hit pause on FCC to take the CodeAcadamy Javascript course. It only took 2 days and I was able to come back feeling whole lot more prepared to finish it. The problem starts if you find yourself going from one resource,to another, to another, and not actually completing any of it. Persevere…! You can do it!!!
When you find yourself getting overwhelmed by the big picture…take a breather, break it down into the one task you need to complete right now and focus on only that. If its a coding challenge, break the challenge down into parts. If its a project, break it down into the steps you need to take, and focus only on one step. The little steps will add up, and you will amaze yourself with how far youve come…I promise you! But for today, right now…breath, focus on the track you want to be on, commit yourself to completing it, and take one step at a time. You’ve got this.
Re starting out and having a range of interesting programming things to look into: try to focus on one language at first. The projects are good things in FCC, because figuring out what to build when you’re starting out is difficult; you might be at a loss, but fight through that. Syntax, idioms, patterns are hard for a first language. After that first language, second language is difficult (say going from JS to Java [for Android] will be a little wierd). After that, if it’s a similar language paradigm (OO, functional, etc), it’s very easy (eg a week or so if it’s a dialect); if not it’s a bit harder, but not much.
If you switch around at first, you’ll make it that much harder for yourself (everybody does it, and it’s really tempting)
The wireframe your favs idea isn’t mine either. I remember there being a Chrome plugin or website (https://www.wirify.com, I think) where you can convert any website into a wireframe, but it feels more natural to do the sketch myself.