DEV Community

Cover image for Is it just me or...
blaquebeardcoder
blaquebeardcoder

Posted on

Is it just me or...

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)

  1. A basic calculator
  2. A to-do list
  3. A meditation app

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.

Oldest comments (22)

Collapse
 
lynnecodes profile image
Lynne

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!

Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

It feels good to know that I'm not alone on this journey, thanks for reaching out Lynne! And welcome!

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

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.

Collapse
 
biahdev profile image
Ana Beatriz

I understand you 100%, sometimes we are our own enemy

Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

Yes, this is so true! Self-sabotage can get the best of us sometimes.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

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.

Collapse
 
perpetual_education profile image
perpetual . education

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.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

"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.

Thread Thread
 
perpetual_education profile image
perpetual . education • Edited

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.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Precisely my point, especially with the book. There are already a billion "Python for beginners" books and tutorials, but virtually nothing for existing developers.

Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

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.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

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.)

Thread Thread
 
blaquebeardcoder profile image
blaquebeardcoder

Thanks for the quick response! I'll definitely check this out and let you know my thoughts! Thanks for sharing.

Collapse
 
functional_js profile image
Functional Javascript • Edited

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...

  • don't (let yourself) be overwhelmed by the details; the hardest thing to do is read (mentally decode) somebody else's code. So realize it's normal not to enjoy that :)
  • make sure you like this type of work; the frustration and tediousness is part of the process of solving problems.
  • finding solutions can take many session or days. Give yourself time to "sleep on it". The answers come in time.
  • the learning never ends
  • always try to be thinking of the big picture; think in terms of larger systems; spend alot of time diagramming things out; figure out where the nodes and relationships of the system are.
  • spend more time documenting your code in natural language; very few developers do this but it truly is an art; and you only get better at it with practice.
  • always be open to alternative and maverick ideas (I have lots of them myself :)
  • there are always two or more ways to solve a problem. Create a weighted pros and cons list to help you objectively decide the best path to take
  • always deploy your code somewhere; Become the master deployer; three-quarters of coding is DevOps and configuration
Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

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!

Collapse
 
seanmclem profile image
Seanmclem • Edited

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.

Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

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!

Collapse
 
perpetual_education profile image
perpetual . education • Edited

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.

Oh, man... I just wrote out a crazy long thing for you... and then pushed command [ to indent some code - and firefox jumped back a few pages and it's gone.... maybe I'll try again in a minute... damn! Might just make a post about it - and then link you to it.

Collapse
 
perpetual_education profile image
perpetual . education

OK! Extracted that lost comment - into this post: dev.to/perpetual_education/baby-ta...

Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

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.

Collapse
 
blaquebeardcoder profile image
blaquebeardcoder

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!