I posted these questions on Twitter, but I want to get responses from a wider audience.
When learning to be a developer, what was the biggest thing you wish you had done differently and why?
What was the one thing you would do the same, and why?
I suspect a lot of the answers here could be insightful for newbies learning to code for the first time, as it will help them understand what is worth focusing on vs what may not be.
Top comments (4)
I wish I'd treated things more like a marathon than a sprint.
Impatience or discouragement railroaded me for a decade and a half before it actually stuck. I've been fascinated by computer technology from a very young age. That lifelong fascination has served me well but I consistently fell off from actually doing anything technical for long stretches of time because I thought it might not be for me if I wasn't already great at the coding.
Some proper mentorship or education or access to my own computer may have helped, but the bottom line is that things took longer than I was willing to put up with when I was young.
What languages/tech/whatever were you using at the time?
I think this is one of the reasons PHP stuck so well. It is incredibly satisfying to just modify a file on a server and see the results on your web page instantly, and with almost every other language that is really hard to replicate the way I have seen it done with PHP. It made experimenting so much more satisfying because you didn't have to learn all sorts of other things to start seeing your code do something.
I don't know that there is much I possibly could have done differently. Some lessons I had to learn the hard way.
However I will say that when I started learning functional programming, I wish someone had told me to treat it like "procedural programming done right - with expressions and immutability" and "don't worry about all that type theory". It would have been much easier to learn if I weren't looking at it as a math challenge.
What I would have changed (if I could) - find more people to learn and study with.
I had like one person I could collaborate with and bounce questions back and forth when first learning but it was very limited. None of my friends were into coding and I didn't really find a great peer group until college, but once I did it was astounding how much faster we all learned working together, teaching each other, pushing each other, and just talking about things we learned that we found interesting.
I don't think you need to attend a school to make that happen either - there are tons of smaller slack channels, forums, subreddit study groups, etc where you can find people to collaborate with as you learn.
What I wouldn't change - building stupid things that I found enjoyable.
Almost everything I built had absolutely no value. Things like scripting levels in Graal (Zelda-like mmo at the time, it has changed since) and in other game level builders, writing stupid little programs in Apple Basic, or building random PHP sites to share my game levels/worlds/whatever I made.
It is really cool to build useful things now, but I suspect that if I had not gotten into it because I loved the things I was building I would have been way more likely to give up when stuck, but since I really enjoyed the stuff I was building I would work on a troublesome problem for days or weeks.