The most common question I get from blog readers is "What is your advice for new programmers?" So, I thought it was time to write up my thoughts.
...
For further actions, you may consider blocking this person and/or reporting abuse
Ali's weekly dev bible
Hahaha thanks!
26 - if you are not native English, take English courses up to at least intermediate level, with the majority of good resources being English and instructions, functions, conditions and others in English
Before kissing Javascript, I surfed a lot between several programming languages.
I would recommend Ruby for beginners.the syntax is like a conversation with your PC for real.
And eventually Javascript.
I'm not native English. This discussion is the best course for my self teaching. Not empty phrases only, but talking about some problems.
+1 for Ruby, if only just to try. It might really stick with you.
Yes
Thats a useful comment.English is my third language.
And also I am really in love with Javascript. 😊And using nodejs instead of python.
So amazingly written with simple yet powerful points that every developer can follow. Loved it so much, Just shared it on Reddit too:)
Thanks for sharing! Wow are the comments toxic over there -- I haven't done much on Reddit but I wanted to see the discussion since its doing well. The attitudes are insane!
I agree with a lot of points in your post, but the top comment on r/programming for this article, though bearing a toxic undertone, is a really good advice
... with a huge emphasis on too seriously!
Yes, take a look. Your thread that I shared is the top trending thread on Programming subreddit. Almost 90k views and 350 comments. Insane. I lobe both Dev.to and Reddit.
Hey Ali thanks for that list! Despite i am an experienced developer, I spotted some of the points that I need to take more seriously from time to time.
The Set game from the NYTimes was new to me, thanks for the hint!
Some people tend to jump into learning a framework cause that's what all the job listings say. Building a strong foundation, as you mentioned in the post, and knowing your fundamentals is really valuable.
I agree with the "pattern recognition" tip the most, especially when it comes to learning a language's different design patterns. My coworkers have told me its the area they felt was most important when starting out since it affects so much of their work. Knowing a few good design patterns is great for refactoring and improving code by having different sets of proven, usable designs to measure it against.
Build a toolkit/cheat sheets:
Can't remember how to convert an array to a hash map? Do it once and write a routine that does that (in one or more languages) and save it in your toolkit. Don't forget to give it a descriptive name and comment the bugger.
I have a bin folder of bash shell scripts I drag around on a thumb drive with me. All I have to do to get them to work is symlink /bin/bash to wherever bash lives on the system.
I also have text files with common Git commands, etc. I know I can google them, but why waste time when I've already figured it out once?
It really helps. I too note the problem and solution in pseudo form.. saves a lot of time.
Thanks for sharing this, so much of it very much resonated with my experience as well. #13 (getting comfortable with failure) was something I really struggled with early in my career and paid for it.
I wonder about depth over breadth early on though, my experience early in my learning was while learning "a little about a lot" was helpful for finding the connections between otherwise disparate parts of software development which (for me at least) helped to reinforce ideas and concepts. It also helped me find my niche as it helped me identify the areas that were of most interest to me.
Great post all around though!
A little thought:
react pun intended
So true, flavor of the month frameworks will only serve to distract and overwhelm you.
Just starting out learning how to code, so this was really helpful. Thank you Ali.
Read other people's code... You may not understand a thing now, but it will help your understanding in the future.
Read code line by line. Understand one line before moving to another. When I just started, I read many books without having deep knowledge because I scanned through most code but I am happy I did so instead of doing nothing.
Really cool tips! Many of them use always
Thank you, Ali! Your advice, they will all be useful to junior web-developers! IT software is not so easy for learning. I also think that when planning your future, the first step is to determine your interests. Depending on what you enjoy doing the most in life, you need to decide which category of web development to choose as a source of future income.
Most importantly, have fun.
Sooooo good article!
This is a really good list. We kinda took all those things and put them into our course! (but in a bit of a different order) perpetual.education/how-we-designe...
I love points:
When I was starting out my first junior position I was really good at Regex. I ended up becoming the go-to guy for complex database migrations since I could convert a huge C# "script" into a really simple SQL script that used Regex to find certain patterns and convert them into the required formats, etc.
These SQL scripts would do the job in a fraction of time (like days down to hours or hours down to minutes).
Eventually, I became the go-to for front-end stuff.
Then other stuff after that.
One of the main things I've gleaned from my career is that you need to be the "go-to" for something in order to stick out.
Sometimes is just a matter of discovering a gap in knowledge on your team - and filling it!
As you said Ali, get the fundamentals down.
I'd add "...then find what gap exists in your team's knowledge and learn learn learn learn!"
“16. You don't need to know everything”
I wish employers understood this. I struggle with trying to learn both React and Vue almost simultaneously because jobs always ask for one or the other or in some cases both! It’s tough to know which one to stick with.
Ali my distant mentor. Thanks for sharing this.
"Great finds" Thanks Ali :D
Awesome post, 22 is my favourite!
Another great resource for learning a new language is exercism.io -- they have lots of code challenges, and mentors who can help you out if you get stuck.
Wow this was an absolutely incredible post. Thank you so much for sharing so much wisdom in one place! 22... wow that one hit deep.
"or (like me) write it on your mirror with a dry erase marker" ... Apparently I'm not the only one <3
Great post! Thanks for sharing.
22 all the way!
Nice. Problem-solving and researching are two things that I'm working on improving. Nice tips.
Nice article.
I tried a video response to this
Great post!
thank you!
🙌
love the information explained so well
thank you Ali
thanks!
Revist math. My brain took a for loop to my head and I stopped reading. :(
Nicely Written 👌👌👌👌
That's a lot of stuff to do
Great tips Ali!
great article, sharing this around
Wonderful! I'm your subscriber now!
It's always good to get tips to avoid mistakes as a newbie.
I feel good that I've been doing most of your tips!
I think you mean "regex" or "RegEx" when typing "ReGex".
Ah good catch -- things that Grammarly doesn't catch!
👍👍
Thanks realy cool
Thank you, for the tips.
It has been my struggle, starting as a new developer.