I’ve been working as a web developer for 15 years. I’ve worked with JS and Angular a lot in the past year.
Angular has pretty good learning curve. It’s totally normal to rely on the documentation. So if you can code angular apps after only 4 months, good job, you’re better than I was at that level of experience
I use Stack Overflow and github every day. If you’ve been using Angular, you know there’s a ton of angular directives out there. So before writing something from scratch, I always search what’s out there and usually I found something that matches my requirements. That’s one advantage of angular, it’s a very popular framework.
Well, not me I use ruby, rails, angular.js etc. I understand the basics of rails, creating controllers, models routes… whatever… but sometimes I’m trying something new or using a module I haven’t used in a while and I need to take a look at the doc. Nothing wrong with that.
If you were sitting next to me you would think I know nothing about sys ops on linux. I’m not an expert but I know enough about ubuntu, nginx, etc to get by. But i’m totally dependant on google or stack overflow when I hit road blocks.
Another comment related to your question:
At the interview for my current job, I was asked to explain the differences between a inner join, left join and right join in SQL.
I totally messed up my answer. The thing is, I had been using Rails for a while and didn’t need to explicitly create sql queries. That stuff was simply not fresh in my memory.
They also asked me to write code on a white board to solve a problem. Again, not easy for me to do on the spot.
Now it seems every time I’m approached for a job, they want me to do a code challenge.
I like to think I’m a pretty good one and I can’t imagine doing that. Especially once you know a few languages, the idea of remembering the exact syntax for everything seems like a waste to me. Takes two seconds to Google the right command name or order of arguments or whatever. Concentrate more on what you want the code to do. The how isn’t what makes for good code.
It takes about 2-3 years of really having to crank code to become a “seasoned” developer.
By the end of year one, you’ll stop making all the stupid mistakes i.e. syntax errors.
By the end of year two 90% of what you’re doing, you’ve done before, and know. So you’re going to be looking more at the things you always do but never really understood. As you learn these areas, there is basically very little code out there you can’t read.
By the end of year three you have a deep understanding of the code your working on. You might make an open source library or two. You might start some for-fun projects. But basically you’ll come in and hit macros all day and trouble shoot other peoples code. Most of the time you’ll be able to just sit and start writing.
I still have a little trouble with being able to just start from scratch and not forgetting because I am a drunk and a stoner, so very little memory. I would even go so far as to say that when I’m programing I do it almost by feel.
I’ve been coding for 10yrs and been involved in training new hires 5 out of those 10 years. This is pretty much the pattern i’ve seen.
Coding, like everything worth doing, is hard. It take a lot of time and dedication to hit your high notes.
I program mostly in Python, C++ and C#. Python and C/C++ for web and database. C# and C++ for Game / Environmental Simulation work.
Thanks for the feedback. Part of what bothers me is that part about not knowing why the hell you do something a particular way. If the winning the lottery thing doesn’t pan out, hopefully I’ll follow your paradigm and catch on. I know I’m a long way away from writing full programs, but it is crazy daunting to think about doing it. Like, how do you even know what you need? You know?