Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a new developer, who just got hired at a big company. I don't know how but I guess they are desperate. However, I am well-versed with HTML5/CSS3 though things change and new things are released and I keep up with as much as I can. But this job required me to hand-code Javascript, know Jquery and Ajax. I have been exposed to this a bit but I am not sure if I can hand-code Javascript.

My question is, is it necessary to memorize all there is about Javascript or are there a few key things that I should know how to hand-code because looking at javascript code it seems there are lots of lines code!

Please point me in the right direction.

share|improve this question
4  
Maybe they aren't desperate. Maybe you just seem to have a great potential! –  superM Jun 27 '12 at 18:58
3  
heh, I had a friend that wanted to learn to program and he started with HTML/CSS/JavaScript. He was telling me "I just got done memorizing 'xyz'" and I smiled and told him that he should just work through learning the concepts of things and then find a good reference to use. Knowing that there is something in abc language that does whatever is good enough. You can look it up in the manual/ref. You will memorize the basics just by continued programming and you will need the manual a little less. –  Jason Holland Jun 27 '12 at 19:08
2  
Reference manuals exist for a reason. You'll memorize the stuff you use every day just through sheer repetition, but for everything else, just keep a good reference manual handy. –  John Bode Jun 27 '12 at 21:47
2  
My first programming job was a blast. I had this colleague who at the start looked really down on my for using the refs a lot. He had memorized literally everything. Then he was amazed about what I produced. It ended up with me not needing the books anymore and him being my pet-encyclopedia. The most important thing is that you know about an option, know that it exists rather then exactly remembering the exact syntax. –  Pieter B Jun 28 '12 at 21:56
add comment

7 Answers

up vote 26 down vote accepted

Today, in our work as in our life, it is more important know how to find information rather than know the information itself. I mean that a good developer is a person able to find documentation, network, and that share with an open mind.

I am an experienced .NET developer and, believe me, for every project I work on I have to learn new things about the language and development environment. Our work is always more intricate so do not worry. Point your attention at problem solving and then look for help. All the solutions already exist; we must be able to find them.

share|improve this answer
    
Fine answer. While most common problems surely have existings solutions, I have to point out that all solutions do not exist and many problems are not solvable at all. –  COME FROM Jun 28 '12 at 6:55
    
It depends whic problem's domain you are considering. The question is abpot restricted ones. Of course, if you consider all the problem, someone is surely mniss solution. –  AngeloBad Jun 28 '12 at 9:28
    
can't agree more regarding "it is more important know how to find information rather than know the information itself" "Point your attention at problem solving and then look for help" this is exactly what I am doing. –  zinking Jun 28 '12 at 9:40
1  
While I agree it's important to be able to look information up, you still have a responsibility to "know your craft". If you can't hand-code java, that's just ridiculous. If you want to be a professional developer you can't depend on crutches your whole career. –  Bryan Oakley Jun 28 '12 at 11:02
    
The joy of Google as a developer tool. :-) –  MathAttack Oct 23 '12 at 3:28
add comment

I wouldn't make any specific effort to memorize everything you do. It's best to just learn as you go. If you find yourself looking something up 3+ times, it's time to memorize.

Exceptions to this rule:

  • Core items in your code
  • Framework shortcuts
share|improve this answer
    
Thanks! So you mean frequently used codes and framework shortcuts if there is a framework involved. Any resources you might suggest for a great exposure to ajax/json/jquery/js? Thanks again. –  AAA Jun 27 '12 at 17:21
2  
I'd start out learning JS proper before getting into the others. –  SomeKittens Jun 27 '12 at 17:32
add comment

After working with something for some time you'll learn/know the important things automatically.

There is no need to know all APIs, function parameter lists, etc. There are docs for things like that. Generally spoken, you need to know things or where to find them.

For example, let's take the $.ajax() function of jQuery. I know what it does and the commonly used options such as url, type, data, etc. If I need something non-standard, I open the docs and check them.

When looking up stuff you need to be sure that your sources are trustworthy and up to date. For example, MDN is while w3schools isn't.

share|improve this answer
    
Thanks. I feel much better now since this is my first experience working for somebody in web development i was unsure as to how to approach it. They are apparently a fact-paced environment so i guess I will be studying a lot of things before i get there and everyday that i am there and back home! Thanks again! –  AAA Jun 27 '12 at 17:26
add comment

The most important thing you need to memorize is HOW to solve a problem and not WHAT to write. If you know how to solve problems, you can apply that knowledge in any language and technology.

I think memorizing code is just waste of time. You will forget it anyway if you don't use it properly. What comes to the essential things, as ThiefMaster said, with time you will memorize and use them automatically.

Its like that story about the fisher who can either give a single fish to a hungry man or teach him fishing. I think its definitely better to learn fishing.

share|improve this answer
add comment

First, don't put yourself down. Unless you completely misrepresented your skillset and lied in the interview, you have something that they deem of value. You impressed them enough to get the job, and that's no small feat these days.

Second, I would concentrate on learning programming structures primarily, and how they would be implemented in javascript. A for next loop is a for next loop is a for next loop, etc. the only different is whether it's for x := 1 to 30, or for (i = 0; i < 30, i++) or some other thing.

Once you know the core concepts, you can apply those in just about any programming language with a little bit of tweaking, and you will start learning how to apply shortcuts, more esoteric solutions.

Then, somewhere down the line the company will say "We need someone to do X", and you can say "I can do that."

share|improve this answer
add comment

What do you mean "required to hand code"? Are they going to not allow you to run Eclipse or any myriad of tools that groks these languages? Or are they just trying to judge your basic understanding of them? I work with a number of languages daily (C++, Java, JavaScript, Php), so I often forget the exact syntax for what I want to do. Say I want to get the part of a string after the first space in Java. I use indexof(" ") to find the position, then substring() to get the rest of the string. I don't recall if it's indexOf, but it's asinine to not use Eclipse and save a few minutes of wading through the docs.

doug

share|improve this answer
add comment

I've been working on my current project for several years and have surprised myself as to how much of the database I've memorized. Obviously, this information is readily available to lookup, but when you get so familiar with something, you can't help but remember it. My boss asked me an ad hoc question, and I pounded out a query as he shockingly peered over my shoulder. It's nice to be recognized; enjoy it while you can.

Normally, this isn't true for me at all. I use lots of tools to keep track of things and to search for code samples. I'm guessing if I work on something else, some of this will go away.

If your job requires you to work on various projects using different tools, you're not going to become completely fluent in many of them. The capacity to grasp concepts and learn new things will be more important in the long-run because much will change. At some point you shouldn't have to search for the syntax of if/then/else in your language of choice 5 times a day.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.