+ 2
How long did it take you to actually feel proficient?
I'm just curious how long it took most of you to get to a level that you would consider "proficient" in java, html, C++, etc. I just started about 3 weeks ago and it's massively overwhelming how much information we need to absorb. Just would like to know your stories :) Thank you for your time!
16 Answers
+ 9
I hardly learn anything just by studying it. Until the moment I use it myself, no way my brain has really got the grip of it. So I learn everything by just starting out and coding simple stuff, and then more and more complex on top of it.
BTW, this is also the way freeCodeCamp for example works. You start with really easy programs to slowly grow into more challenging tasks like a building a weather web app.
+ 8
No worries! Happy to add some knowledge
+ 7
Languages have always been simple for me. I've bug fixed code and written new code in many languages I haven't officially learned. Within a week of the class start learning my first language (Fortran), my teacher was bringing other student's code to me to fix.
That got me a job coding in Cobol for the college and started me fixing the bugs in the existing programmer's code my second week at the school.
Both these languages were massively easier than Java or C++. I can't really state how long C++ took as I was coding C, then C with Classes, before C++ was anywhere near finished.
With the courses here, I took my time spending most of my time answering questions instead of learning. But, I doubt I spent more than 24 hours on any course.
At this point, I spent a week or more coding in 68 different languages with tons that were a single day that I never kept track of. To code in any reasonable language (ignoring Brainf*ck and other esoterics), I only need to read some existing code.
+ 7
The more I learn, the less proficient I feel, ha. I think Socrates said something along those lines aswell.
Another thing I could really relate to was some famous programmer guy (forgot who...) saying that programmers tend to have breakthroughs in size. Your first few ambitious programs may be 50-100 lines but eventually you'll get to 1000 or 10000 or 100000 without the code being a total mess.
Learning lots of languages is awesome and makes you think of the same problem in different ways, the other important thing has to be code architecture. I'm not sure how long it took me to write an okay-structured 1000 line program. 2-3 years probably. (It's not like I was trying to hit a line count though)
+ 6
Kyle Northrup for me practical learning is always better.
+ 5
I started coding at Uni years ago. I used to find it quite difficult until I started working in a job that allowed me to apply what I was learning. I developed much quicker and found it easier and more enjoyable then.
+ 4
🐧 Eitan Prezes Your analogy makes no sense and I disagree that people can't achieve a certain level of skill. Sure, measuring skill is subjective, but it's still there. Can you honestly say that someone like Roger Federer or Tiger Woods are not highly skilled at their chosen craft? You can measure their skill by how accurately they can control the ball. In coding terms, you can measure how quickly, accurately and effectively a highly skilled person creates a program.
Also, "the rest" is not irrelevant. I might be coding for a specific problem which I might do very well. Now lets say that code is the middle layer of a system. Whilst I don't need to fully understand the layer below and the layer above, they are certainly not irrelevant. What I code may impact the effectiveness of the other layers.
+ 3
thank you for that resource Ana i will have to look into it :)
+ 2
It takes a while to become proficient. It also depends on the language. What programming language are you currently learning?
+ 2
Eitan, I disagree. Learning a programming language, in principle, is similar to learning a spoken language. You can become proficient, and this happens when you’re able to communicate your code fluently.
Learning process, though, may not necessarily stop. But that doesn’t mean that you can’t become proficient.
+ 2
You misunderstand me. What I was trying to convey was that proficiency is relative. There is no universal proficiency.
This is a misconception that I want to dispel.
Relative to a simple frontend app you may be proficient, but what about a full stack database driven application with multiple APIs?
How about a 3D graphics game?
OS programming anyone?
You can be proficient in a specific domain with specific concepts, but to say that you are proficient in a language is just not specific enough.
The problem with this terminology is that it creates false expectations and demotivates learners. Just like how women are presented in western media, how they are expected to be a certain weight with certain measurements, or how couples are expected to live in perfect harmony and NEVER fight...
In reality, every woman has a different body, every couple fights.
Those who can't understand this live in constant disappointment and have less motivation.
+ 1
So Duncan you think the learning actually excels in practical application rather than academic?
+ 1
Kyle Northrup
Once I feel proficient I'll let you know how long it took...
But seriously, the question is wrong. There is a common misconception that you can achieve a certain level of skill.
This is not true.
It is in reality similar to a light dimmer. When is the light turned on? When there is electricity flowing through it? Or when it registers 3000 lumens? How about 2999? What if I just want to read a book? What if I am cooking in the kitchen? When is the light considered "on"?
You see, it is a gradual progression, there are no levels. There are only concepts. You learn one concept after another. The more you learn, the less you need to learn.
You only need to concentrate on the problem that you are currently presented with. The rest is irrelevant.
So in short you can start to feel proficient immediately for certain tasks, whereas for others it will take longer, but there is no way to measure. Some things you will get quickly, while others will take longer.
0
I'm currently diving into Java just because it's in almost everything, so I feel getting a strong grasp on that will make learning other languages just that much easier.
0
Honestly, Eitan, you sound as if you were a philosopher nominalist. One can be proficient in a certain programming language, e.g. JavaScript and make a profitable value of it through front end development. Simple.
Think about those that speak multiple languages absolutely fluently. Are they not proficient? Think about those that have invented programming languages. They’re experts.
0
Ok