11

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!

Joris Timmermans
  • 8,998
  • 2
  • 36
  • 60
Mick Aranha
  • 129
  • 6
  • 3
    Even developers can't know *everything*. If you know the entire Cocoa and QuartzCore frameworks' APIs for example you aren't human anymore. –  Aug 02 '11 at 19:37

11 Answers11

50

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.

l0b0
  • 11,014
  • 2
  • 43
  • 47
  • 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 02 '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 03 '11 at 07: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 03 '11 at 20:59
  • This reminds me of [How To Become a Better Programmer by Not Programming](http://www.codinghorror.com/blog/2007/01/how-to-become-a-better-programmer-by-not-programming.html). – Korey Hinton Jun 26 '13 at 14:07
19

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.

Joris Timmermans
  • 8,998
  • 2
  • 36
  • 60
9

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.

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
  • 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 03 '11 at 21:16
3

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.

keppla
  • 5,210
  • 24
  • 32
3

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.

Turnkey
  • 1,697
  • 9
  • 10
3

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.

Nemanja Trifunovic
  • 6,815
  • 1
  • 26
  • 34
3

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 ;-)

Pankaj Upadhyay
  • 5,060
  • 11
  • 44
  • 60
2

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.

tdammers
  • 52,406
  • 14
  • 106
  • 154
2

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

xinoci78
  • 21
  • 1
2

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.

Alger
  • 746
  • 4
  • 9
1

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.

JeffO
  • 36,816
  • 2
  • 57
  • 124