this post was submitted on 13 Oct 2023
12 points (92.9% liked)

Programming

17507 readers
9 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

I've been learning on and off about programming for 3 years now. Mostly front-end, html/css/js, for school projects. My degree isn't in CS or IT, so projects that give the opportunity to code are scarce and often short. So I get that I may simply may not have enough hours in coding.

So I'm delighted to be taking CS50 as a Minor at the moment, this has given me the chance to sink a lot of hours in coding, and currently I am in week 5 Data Structures.

But every time I start on the problem sets, I feel overwhelmed and feel like I don't understand anything. I have to Google/GPT the most basic of things. Even though I've been programming regularly the past 6 weeks, I don't feel as if I have improved and I'm starting to doubt if this is a career for me.

In a year I would like to find a career in development. Have any of you felt this way? And what has helped you get rid of this imposter syndrome?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago

I dropped out of school for a job so take all of this with a grain of salt.

Learning to program is more about learning to think in a specific kind of way. Datastructures, algorithms, and other math-y aspects of programming are incredibly unimportant in the day to day of the average programmer. BUT, and this is a big but, learning these things will give you a better understanding of how to think about programs like a programmer.

Learning to think like a programmer is the single most important skill a programmer has, and it is the most difficult to acquire. In essence thinking like a programmer just means thinking like an engineer or a scientist but with a few extra bits

Generally this style of thinking focuses on key aspects:

  • iteration (tweak, try again, tweak, try again)
  • decomposition/divide and conquer (identifying when you can make a big hard problem into easier smaller ones)
  • analysis and testing ( logging, mentally tracking the programs "state", and learning how to prove yourself wrong through experimentation)
  • etc*

In general you'll need to develop a thick skin for that feeling of "I have no idea what I'm doing." Because it never goes away (I'm at 10 years as a hobbiest and 4 years professionally). Instead you should focus on the meta-process of developing your process for learning new things. At it's essence all engineering is learning to build tools that help you build other tools. Except right here and now the tool you are building is your mental process for problem solving

Stick with it. It does get easier

*There are other techniques as well but these are arguably the most fundamental