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.

This question already has an answer here:

I am starting a new job in a company with many developers and media people, the layout of the place is open with computers around a skinny oval,

I have worked in small teams and programming embedded C, the jobis for objective C

I'm still in a medium stage, so I know what I don't know (haha), that means I have to google it and then implement it,

So the question is how bad does it look if the guy next to you does lot of searching for coding

I mean, at the end of the day I will get the job done, but want to look professional too!

share|improve this question
3  
Wow.. Making me appreciate my cubical. –  user606723 Aug 2 '11 at 17:24
2  
Even developers can't know everything. If you know the entire Cocoa and QuartzCore frameworks' APIs for example you aren't human anymore. –  rightfold Aug 2 '11 at 19:37
add comment

marked as duplicate by gnat, Dynamic, MichaelT, GlenH7, Kilian Foth Jun 26 '13 at 17:38

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

11 Answers

up vote 46 down vote accepted

Programming makes you a good coder; reading can make you a good developer:

  • Browse API documentation to make sure you don't reinvent the wheel or use the APIs incorrectly or inefficiently.
  • Look up language documentation to make sure you don't continue programming in language Foo when starting to work with language Bar.
  • Read and understand best practices and patterns to know when to use them.
  • Look up code samples, then use them as templates instead of copying verbatim. That way you're sure to have understood at least the general structure of the code.

If someone else doesn't appreciate just how much you have to read to be able to write good code, s/he is not a developer.

share|improve this answer
6  
+1 for last sentence –  asfallows Aug 2 '11 at 14:35
1  
This is true in the general case but try not to take this to the extreme. If you have to google to do even the simplest thing then there is something wrong. –  Andreas Bonini Aug 2 '11 at 17:31
    
@Krelp: Typically that's just forgetting how to do something, like which syntax this particular language uses for array slicing. That usually means a bit more concentrated googling (for cheat sheets or the like) is necessary. –  l0b0 Aug 3 '11 at 7:03
    
Being able to use Google, SO, etc. is a skill every (good) developer needs. I think it is much more professional to solve your own problems than to bug your coworkers all day. –  Becuzz Aug 3 '11 at 20:59
    
This reminds me of How To Become a Better Programmer by Not Programming. –  Korey Hinton Jun 26 '13 at 14:07
add comment

In a healthy development environment those people who are really good at searching, finding and understanding solutions to tough problems online are in high demand. Writing software is a tough and fast-changing business and there will always be dark corners or new issues where a little googling can save a lot of time.

Just avoid becoming a cargo-cult programmer that copy-pastes stuff blindly, tweaking it until it seems to work, without understanding it. Take your time to understand the why of the solution and you will not have to search again (so much) the next time the same or a similar problem comes up.

share|improve this answer
    
The cargo cult analogy has helped me understand so many problems with the world. –  benzado Aug 2 '11 at 18:27
add comment

If you don't know the answer, what else are you supposed to do? Your choices are to look it up in some reference (physical or electronic), ask a coworker, or sit on your hands all day not getting anything done. Your first step if you are stuck should be to try to resolve it yourself, looking online and in books. If that gets you nowhere, or it's about something that you can't find online, then ask a coworker. The third option of sitting around not being productive isn't an option.

That said, there are somethings that you shouldn't have to look up. If I hired you to be a programmer in a particular language or framework and you claimed knowledge in that technology, you shouldn't be looking up the most trivial aspects of that framework or technology. That would be embarrasing, I think. But if you are learning a new technology or framework, working through tutorials and references is perfectly acceptable, and I would encourage you to do it on your own, asking for advice and help as needed.

share|improve this answer
    
However, sometimes we don't use the trivial things that are in chapter 3 of every book on language X because we spend are day doing the more complex things. Then, when we just need to write a quick an dirty script to access the db without using our fancy data tiers that our production apps use, we have to look it up... –  CaffGeek Aug 3 '11 at 21:16
add comment

it's not that there's no way to look super professional without doing anything, but in my experience, most people who genuinely care about their craft and are no marketing/sales-guys cannot work effectively when thinking too much about how they are percieved.

therefore: the chance that you look unprofessional because your peers see that you let appereance win over results is higher than that you look unprofessional by providing what they asked in a way they would'nt take.

Besides: i don't have the impression that anyone would hold using docs or google against you.

share|improve this answer
add comment

There's no bad in that as long as you do it in a professional manner by looking at any code or algorithms you find with critical thinking. After all, along with the good, there's quite a bit of bad or out-of-date code out there posted on the Internet. Best to go with reliable sources, cross-check it against the platform documents and other sources, and test it well before committing.

share|improve this answer
add comment

In my book, not searching documentation and samples would look bad. Even if you are an expert in some area, things are changing and it is always a good idea to refresh your knowledge.

share|improve this answer
add comment

The first and foremost principle in production development is reducing the overall development time which can be achieved by :

  • Code reuse : you do that in case of frameworks, so why shy in other cases. If you can find a related code(like an API) while googling, then you are only saving the time.

Moral : A good developer means a good Googler ;-)

share|improve this answer
add comment

Programming is not about knowing facts or mindlessly memorizing yet another API. It's about being able to find and implement the best possible solution to a problem in the most efficient way. Reading lots of documentation is part of the job.

Obviously, reading an introductory tutorial to a technology you're supposed to be using for years looks pretty bad, but not reading any documentation at all is a fairly sure sign that something is fishy; it's often a sign of closed-mindedness, an unwillingness to learn new things, or a repetitive working style.

The ideal developer is not someone who knows an impressive number of function calls; it's someone who can efficiently find and absorb documentation and use it productively.

Also, if your colleagues look at your screen enough to judge how much you google, they are probably not being very productive themselves.

share|improve this answer
add comment

Given that the technologies available to anyone involved in writing software are constantly evolving, I would expect that anyone writing software would be searching the internet for relevant information on a regular basis. Given that you are working with Objective-C, I'm guessing you're writing for one of the Apple device platforms, which is an area of software development that is relatively new - and under these circumstances, I'd expect that you'd be looking for information on a regular basis.

I think that there is a tendency to associate (or, confuse) searching the internet for information with mindless "web-surfing", which could make individuals who are legitimately searching for information feel odd at work. But think of it this way - before good search engines, you would have picked up a reference book - and I don't know that I would have looked at you cross-eyed for doing so.

Besides, how does anyone learn anything without at least doing some self-directed reading of some kind? I write software in an interdisciplinary environment where I can't afford to have a "favorite" platform or language - I have to use what makes the most sense for the project at hand - which means I'm always looking for information because I'm constantly learning. :-p

share|improve this answer
add comment

Back before the Intertubes, we all actually had a stack of manuals on our desks. When we needed to look something up, we checked the manual. Nobody ever questioned it, and it's a lot more obvious when you have a manual open, as opposed to Google or SO up on the screen.

Now that everything is online and paper manuals are less common, this is shifting to the web. Not to mention that it's faster to Google something than to hunt for it in a manual.

As long as you're getting things done at a reasonable pace, nobody should have a problem with this. If you're doing this because you sold yourself as having skill and experience that you don't really have, that's another story.

share|improve this answer
add comment

Take notes so you don't have to repeat searches. It will help you remember as well. I'd say as time goes on you'll search less and less, but you're hopefully going to be doing more complex tasks.

Anyone who judges you purely on the amount of searches you do, is probably not worth impressing. Just make sure your supervisor knows you are getting the things done that he/she wants done when they expect them to be done.

If you hit Alt-Tab every time someone walks by your cube, they'll think you're playing mine sweeper instead of searching for answers. Not much of an impression.

share|improve this answer
add comment

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