Is it just me, or does the beginning of the new journey towards coding and development feel like a futile uphill battle, where you never quite feel comfortable with anything you're doing?? (AHHHRRGGHHH!!)
Over the past 2 weeks, I've been tasked with undertaking a series of coding challenges, including selecting three small "fun" project builds in Javascript for the vestibule training program I am hoping to become a fellow of in the Fall.
The projects I've selected all use vanilla JS, HTML and CSS; (all of which I am a complete novice)
I'm not gonna lie, even though coding along with the tutorials is seemingly "simple", and the content is excellent and the instructors are like lightening fast ninjas, I'm just so flustered at the amount of concepts, terminology and deep understanding that I am just unaware and aloof to.
And I notice these tutorials are deceptively succinct, but because there are so many concepts that are new and unfamiliar to me, they definitely take 2-3x's the amount of time to complete.
I suppose that this is just a part of the process-- and that it is normal to feel completely oblivious and insecure... it's just difficult to accept that there is no shortcut-- only time and practice and working on projects that will hopefully increase my knowledge and confidence on this journey.
Well... to another week of grinding away at this coding, even through the uncertainty and discomfort.
Top comments (22)
Exactly why I started writing "Dead Simple Python", to focus on the "WHY" of idiomatic code in the language. I wish someone would write one of those for Javascript (it won't be me), or maybe there is, and I just don't know of it. I have heard good things about Eloquent Javascript.
Looks like a cool set of articles! It's a little disconcerting when you say "dead simple" and the first step is "1: Virtual Environments and pip."
If we were to write "Dead simple JS" - we could just write it right in the console, which is nice. It's seems pretty dead simple already / if people would just let it be.
"Dead Simple" doesn't mean what you think. ;-)
The idea behind the name is the same as with the Pythonic concept of "Obvious": it doesn't seem simple or obvious when you're looking into the topic, but once you're on the other side, it feels so simple that you wonder how it ever didn't make sense. The idea is really to give you a solid grasp of how to write idiomatic, or "Pythonic", code.
The trouble with the over-simplified approach is that, as soon as you try to do anything meaningful, those clever shortcuts most articles leverage turn into massive obstacles. Dead Simple Python braves the deeper complexities of the language; by time you resurface, the topic is no longer obtuse or terrifying, and you actually understand why those shortcuts worked (and didn't work) to begin with.
It seems like a great way to learn - if you've already learned 'programming' and the design-thinking behind that - and now you want to add Python to your tool belt. Not sure that we can agree that is what 'dead simple means' though.
Precisely my point, especially with the book. There are already a billion "Python for beginners" books and tutorials, but virtually nothing for existing developers.
Jason thanks for responding and sharing your work-- that sounds like quite an undertaking. I'm curious as to why you have a "deep-seated hatred" of JS? I'll also check out that Eloquent Javascript that you suggested.
My hatred of JS is best explained in this interview, I think. Jump to 18:30 if you want to skip right to it. (I promise it's more than a personal preference thing, like most language opinions are.)
Mid Meet Py - Ep.13 - Interview with Jason McDonald
Cheuk Ting Ho π γ» Jun 25 γ» 1 min read
Thanks for the quick response! I'll definitely check this out and let you know my thoughts! Thanks for sharing.
People teach things from the stand point that "it's easy" - because they already know it... and then teach with the most 'perfect' happy path / (which is terrible for teaching). It's just a problem with the industry. As you can see around here - there's a ton of posts like "I just learned everything about HTML: let me show you" (person copies docs into dev.to)
The problem - is they aren't teaching you how to "think" like a programmer. The code is just an implementation tool. Without the purpose - people see HTML as just some memorized syntax vs "describing content" to a computer program. This sets up everyone to build really distorted mental models that they carry for the rest of their career. It's really sad - and also _terrifying... _ because these people will be building all the stuff we have to use for the rest of our lives.
We recommend these books
And that you stay out of tutorial purgatory. Just skip them.
Thank you for validating the frustration experienced, specifically when coding along with tutorials. I checked out your link of "stay out of tutorial purgatory" and it's AMAZING that you created all of those flow charts that literally capture the emotional rollercoaster experienced as a newbie.
Thank you for taking the time to share these resources that you've created! I will pass them along to the others in my cohort, and will continue to share honestly about my experience.
OK! Extracted that lost comment - into this post: dev.to/perpetual_education/baby-ta...
Everything you don't understand yet is an opportunity, not a blocker.
Also, something like a calculator might seem simple to an expert, but is understandably daunting to a beginner.
Really something like a calculator - is meant to bring many small concepts together, not teach them all at once. You should break it up into smaller tasks and do your best. In the end, a passable UI that can't hardly do math is better than nothing at all.
If these tasks are going to be used to get into a learning program - they will understand if you don't know everything already. Put forth your best effort. A huge part of programing is facing the fact that you don't know how to proceed, without freaking out. If you can get past that point then you'll make it.
Seanmclem thank you for taking the time to respond to my post! Your suggestion to look at things that I don't understand as an opportunity definitely helps to reframe the uneasiness of the uncertainty.
Also breaking things up into smaller bite sized chunks is probably going to be a better way to approach as I continue with these projects-- I'll certainly take that advice!
Thanks again for your response!
I definitely understand where you are coming from. I just recently entered the dev world a couple weeks ago too and it's so much information! Don't feel alone! It's not just you . . . I'm completely with you!
Best of luck!
It feels good to know that I'm not alone on this journey, thanks for reaching out Lynne! And welcome!
Hi,
It's always interesting hearing from those entering the trade.
I've been coding in JavaScript for many years.
I've coded in other languages but JS is my favorite, for it's the most flexible and unopinionated.
Here are some tips for those new on the scene...
Wow! Thank you for taking the time to respond so thoroughly and in depth. I'm glad that you also share the reality of "actually liking this type of work", and accepting that the frustration is a part of the problem solving process.
About documenting the code and diagramming, that sounds like something that I want to research more. I'm hoping that the coding program I get accepted into will cover these things.
Thanks again for sharing and responding! This has been quite helpful!
Alan, wow!! You've been in this 8 years and you can still relate to this post! It's reassuring that this is all a part of the process, and I am still working on building the habit of coding everyday. Thanks for the encouragement.
Melissa congrats on your bootcamp journey! Right now I'm still doing the pre-work in order to get accepted into a program, but I'm hopeful that over the next few weeks I'll be able to grasp some of the basics. Thanks for reaching out!
I understand you 100%, sometimes we are our own enemy
Yes, this is so true! Self-sabotage can get the best of us sometimes.