Three years ago, I faced a brutal truth.
Up to that point, I had been writing dozens of lines of code. But, when asked to solve specific technical...
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
This is a great article even when I just skimmed through!
When I wanted to learn JavaScript 90% of peole told me to learn the framework, when I asked them about the particular error they had no idea because of lack of fundamentals. So I told them this is the reason I do not want learn the framework until I understand it's ideas!
With this mindset I continued my study and now I can bring up an application from the code to the infrastructure on my own. Frameworks/lauguages do not matter that much anymore.
Thanks Jan, glad you found it useful :)
What are the sources that you used to learn JS first?
Thank you!
What do you mean by this? Did you mean they cannot at least read tracebacks? Or is it to be expected that an average JS programmer should at least be able understand its internals (e.g., JS event loop and execution behavior).
Personally, I'm only a hobbyist. Python is my primary language but a lot of concepts are transferrable to JS. So even though I don't understand JS as deep as I do Python, I can manage to scaffold a Nuxt app and read the docs whenever I hit a problem.
Hi, my first professional language is Python as well.
I mean that when I started learning python (at uni) I did not start with the framework I started with the language and concepts.
However then I wanted to learn JS and 8 out 10 people asked me "which framework" at that point I was not able to answer nor I was interested in learning the framework.
Later on I could see that learning the language fundamentals is gave me and advantage because I'm not dependent on the framework.
Currently stuck in fundamentals, still I was asked to learn the frameworks
For me this article reads too much like advertising and I find very little of any real substance in it.
To become a good developer there is no other way but to gather experience, lots of experience, lots and lots of it, through doing actual coding for actual projects. For years on end. It's a journey without a true end. We all learn new things every day. There will always be colleagues who know more than us, and always some who know less.
But there is no shortcut.
Totally agree ... yeah reads a bit too much like an ad - not sure why it has more than 600 likes, and why this article from 2022 even pops up in my dev.to "stream" ...
Great post as always worth reading!
In general, I feel watching coding videos is a waste of time. Simply because you can learn much more in the same time reading tutorials or documentation - I believe it's faster, and I feel I can accomplish much more in the same amount of time.
And of course your right to focus on learning software engineering fundamentals, or web-platform-specific fundamentals, rather than frameworks. Frameworks come and go. The web is here to stay!
100% Christian, the web is here to stay, fundamentals to the rescue!
is this ad?
I felt the same. And the “don’t worry, I gotcha” kind of tone referring to the “links” at the bottom which are ultimately only a link to his “5 step system” smh… plus the advise here is really generic if you think about it: “you are better than you think”, “master the basics” (yeh that’s the whole point, isn’t it?). It’s super pitchy and no substance. The “links with help” just link to a video of the guy talking, which I do not feel tempted to watch after reading all his ad.
Ofc it is.
Great article. Even though I already have over a decade of code experience, I always come back from time to time to learn the basics again. Another important thing is to focus your expertise strengths. For me it is that I have an interface designer background.
You right! Without strong base you cannot build up something stable. I think, the real root of javascript is base manipulation of array, objects and functions, without any DOM manipulation. I found this site is really handy for start learn any languages, because have lot of test, so you can learn by TDD : codewars.com
Yes Peter, I would advise you to go even further then "language fundamentals". JS runs in the browser mostly (or in a browser like environment, eg. the Node platform). The better you understand not only the language, but the platform it has been designed for, the better you will do over all.
Do you mind expanding more on the idea of learning fundamentals?
like fundamentals of what, exactly? Since you've mentioned that languages and frameworks change and it's futile to try to stay on top of them, it leaves me wondering what are these low-level fundamentals that you are referring to.
Thanks for the article it was an enjoyable read...
Most likely that's the underlying paradigms, concepts of languages and frameworks, design patterns and - at the most fundamental level - maths. Seriously, understanding the maths behind computer science brings a whole lot of understanding as to why we do certain things the way we do it. Set theory, for example, or even some calculus and linear algebra help big time.
I found out that creating simple real time html game (something like top down shooter) is a good start for encountering a lot of JS quirk. Using reactive framework like React or others give me a lot of headache than writing all of it in vanilla.js (of course with some helper libraries like physics and canvas rendering).
Thank you so much for this article, Dragos. This is what I wanted to focus on in 2022, to improve my quality of code, fundamentals, ad knowledge. This will help me a lot on my journey of becoming a better developer. Really appreciate it and looking forward to other great articles about this topic. 🙏
Great call to action, but I have to disagree with this statement.
As someone who reviews more code than I write these days, a common theme in rejected PRs is that the writer was only concerned about the now: the happy path. What happens when feature Y get's deployed too? What if this dependency stops being maintained? What if that state isn't what you assumed it was?
Want to stand out as a developer? Continuously learn + a healthy dose of self-doubt, and yea, maybe take a mentorship program like the author is offering.
Hi Mike,
Great point!
The "NOW" mentality is meant to make us all live a bit more in the present and take action. It does not reffer to our design choices which should always keep in mind future choices.
Cheers,
Dragos
Great article Dragos. One thing I do when I have a burnout from coding is to quickly write down the basic concepts in a language I know I don't know, it really helps me to know the next important thing to learn.
A great read for all the ambitions devs out there
Great article, and I would say this is not just learning Javascript. If you want to be a developer of any programming language, there is the need to learn the basics and fundamentals. Twenty plus years ago, there were no google or bing or any search engine to ask for sample codes. We create pseudocodes and flow charts to do the basic logic in Plain Paper. New breeds of developers today are lucky to have such resources available to learn every bit of fundamentals.
One of the best articles I’ve seen about web development. Super! 👍🏼
Great article, if I could add a tip, it would be to strongly recommend not to get used to vscode plugins or other editor plugins.
Do you mean like Copilot and Tabnine? LOL
this is point accurate, it reminds me when i started my web DEV journey , and i understood that learning just frameworks is just not the deal
Thank you for your report, very motivating... :)
Amazing article. You don't just mastery Software Development but Copywriting too :-)
I guess I don’t see what’s necessarily wrong with just being another coder, being part of a team, finding joy in your success and the success of the overall team.
You make it seem like just another coder is indicative of failure. This mindset is what’s wrong with this industry IMHO….
Great post, very insightful and helpful for newbies coming out of coding bootcamps!
Thanks Amanda, glad you enjoyed it :)
Great post Dragos! really deep
Fundamentals that a lot of people are missing:
This plus JS puts you in a very strong position...imho.
I can fix this ⬆️ from my experience as tech lead in projects involving JS:
I may have missed something but it's mostly this, probably 😂
I think you mean Ruby (language) instead of Rails.
Rails is a framework made in Ruby.
Yes, you could just learn Ruby, and I would suggest that. But the real world wants people that know Ruby on Rails. That is really what I was getting at.
This is a lot of words to say very little. A very obvious add for the author’s course. Also the survey/quiz requires your email address to see the results.
Exactly. It's just an ad. I read the whole article waiting to find "what exactly I should learn" but all it provided was "learn the fundamentals" .
I already knew that.
54
For learn the fundamentals I recommend an introductory computer science textbook from MIT. Read the book. Do the exercises.
The book is free, in a variety of electronic formats.
The book is called Structure and Interpretation of Computer Programs, by Harold Abelson, Gerald Jay Sussman, and Julie Sussman.
Also called SICP or "The Wizard Book".
The electronic versions can be downloaded from here.
It's not in JavaScript. It's teaching the fundamentals, which are applicable to all general purpose programming languages.
Thanks for the recommendation, I'll surely check it out
Great article
Thank you Dragos, this is very helpful.
The only way of becoming a senior is by experience. This is:
Of course you can go for the "Fake it till you make it" path, but it usually backslash you sooner or later.
*Sighs* No. The most you can do is to learn the same base concepts through books, Internet tutorials and courses, and keep learning from that base point.
You will never get any strength by not having learnt the basics on something (for obvious reasons I'd say).
You may be putting a lot of effort and doing a good job -or not, we can't know- but stating:
Looks like a scam to me, honestly.
Best regards
"If you don't study the fundamentals, you will be just another coder", I don't quite understand what you mean by this title, respectively. I think it would make more sense to say, "If you don't go beyond the fundamentals, you will be just another coder".
For me the tipping with JS came when I stumbled upon the book of
getify
: You don't know JS. He's updating it for the recent ES versions, so expect more books to come. The old ones are still relevant, though the emphasis has shifted from certain things: Prototypal inheritance and generator functions are only used by masochists.His approach worked perfect: tiny examples that you can run in a browser console, with all the edge cases you can try. I really recommend grabbing code, playing with it, trying to break it to learn.
Hi,
I always hear the sentence "Learn the fundamentals" thrown around by everyone. But little detail is provided as to what "the fundamentals" really entails. Can you please elaborate a bit on this point or at least list out some of the fundamentals that every aspiring developer should focus on?
Thank you.
Checkout Secrets of the JavaScript Ninja. It was published a few years back but it is a great book for those wanting to master the fundamentals
Advert.. self promotion. Is that what this site is about?
Learning programming is a real grind but the pay off is huge!
Ohh, Andrew is here. I sight you boss
Interesting concept.
As a senior developer (frontend) it was quite interesting to see that one of my weaker points was actually UI Engineering. I agree the premise of learning the fundamentals is 100% more beneficial than tutorial rabbitholes.
This would probably be a much better article targeted at non-payment audiences.
Looks like a cheesy landing page in form of a blogpost TBH
This is one of the best article i ever read. Thank you so much for sharing your knowledge Dragos.
Wow.....
What a good read. You are good man.
Thank you for this insightful write up
TLDR: learn software engineering to become a true software engineer
Nice writeup. But I couldn't schedule a call
Hello! Really cool questionaire! I'm a little confused on how to get my results of the assessment. It takes me to this page. Do I have to watch the video to see my results?
Just kidding I see the email lol
Nothing wrong with being “just another coder” - it’s my goal personally.
"Do one thing, and do it well"
Agree with you about "I know this is the complete opposite of what the "community" is doing."
Great! so lucky to see this article
Glad you got value out of it :)
Thanks for the post.It is really helpfull for new developers
If we do not keep consistency in backbone, it will be difficult to build a huge building.
I must say it's very insightful.
Can you just mention one insight here??
Great advice!
Hi, I'm new to programming and have recently started learning JS from udemy. Is it okay to learn basic knowledge from udemy or should I try something else?? @dragos
@dragosnedelcu excuse me please.
Hello everyone, please follow me i am new in Dev.to please. Thank you