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'm 18 Years old; I started teaching myself programming when I was twelve.

I've developed many projects in PHP, Javascript, Ruby, Ruby on Rails.

I know a very little about C, C++, Objective C and extending PHP with extensions created in C Programming Language.

Now I'm working as a freelance Web Developer with a very low salary :(, My Dream is to get a good career with very high salary so I thought of Big Companies like Google Or Microsoft.

My Question is How to get Accepted on those big Companies ? What Pre-requests they want And do you need to finish collage education ?

share|improve this question
3  
Steve Yegge of Google wrote a nice piece: steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html –  9000 Jun 22 '13 at 23:39
1  
This has been revised recently: dailycaller.com/2013/06/20/… –  Matthew Flynn Jun 23 '13 at 3:40
add comment

closed as off topic by Blrfl, Caleb, Doug T., MichaelT, Ozz Jun 23 '13 at 8:05

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers

up vote 10 down vote accepted

What should you do? Go to college with a good reputation. Then apply to one of the companies. Not sure about Google, but Microsoft is very open towards students who want to work for Microsoft.

What college to pick? The best one. In what domain: IT, software engineering or CS? I would say it doesn't matter too much. If you're the best student, no matter what you choose among those three domains, you'll easily find a job. Stay motivated, pick additional options and specifically, don't forget to learn things outside college (this wouldn't be difficult for you, given that you're already doing it).

What programming languages should you learn? It doesn't matter. Languages are just tools. You apply one tool or another to solve a problem. If you're a good developer, i.e. you are able to work in a team, you communicate your ideas well, you know how to write clean code, the architecture and the design of your applications is simple to understand, it wouldn't matter if you have to use Haskell, C++, Java or anything else. You'll quickly discover (if not already) that learning a new language is not so difficult.

What should you learn? Everything. No one can possibly tell what should you learn. The more you learn, the more you understand how much you don't know. Ideally, you'll learn during your whole career. And when and if you acquire an outstanding level of expertise in a given technology, you'll find that it became obsolete and you have to learn another one.

As a side note:

You call yourself professional in three languages after programming for only six years, which means two years per language. None of the developers I know, including smart ones, tell they are professional in a language after using it only for two years.

During an interview or in your CV, be very careful with the terms you use to qualify yourself. For example, somebody who writes he's an expert in six languages and he's 25 years old has no chances to get an interview at my company, because in order to be an expert, one should use the language/technology daily for five-ten years. Being professional in a language and being an expert in a language don't mean the same, but I think you get my point.

share|improve this answer
    
+1 for the side note –  user75241 Jun 22 '13 at 22:34
    
I use PHP Daily for six years but I don't think microsoft needs php developers ?? right !! So should i learn their technologies ? –  prof Jun 22 '13 at 22:37
1  
@Balog Pal: according to my experience, people who claim too much on their CVs are usually loosing my time during an interview. Some are just lying; others have an erroneous image of themselves. In both cases, I found such candidates too bad to be hired, with no exceptions. Of course, this is only my own experience, nothing more. –  MainMa Jun 22 '13 at 22:48
3  
I don't think you can ever rely on a year-count when considering mastery of a language. A highly motivated unmarried 18-year-old who can't even waste time in bars yet could be a force to be reckoned with at any language he's interested in after a year or two of working professionally. That said, there are general programming professional skills that only come with professional working experience, IMO. But if I had jobs to offer and I needed a jr. level guy, I'd take this guy in a heartbeat if his work looked good. –  Erik Reppen Jun 22 '13 at 23:29
1  
@prof Don't get too hung up on syntax. Focus on language design. My chief criticism of PHP would be the inconsistency in the library API in terms of how very similar methods work. –  Erik Reppen Jun 22 '13 at 23:33
show 8 more comments

Microsoft Without College (or Most Anywhere Without): Advanced JavaScript skills. There's really just no academic factory I'm aware of producing strong JS devs and there is a major demand for them right now. I've been at it six-ish years, don't even have an irrelevant degree and am pulling a respectable Senior Developer wage in Chicago.

Google Without College: It's hard to say given your skill-set. Before I decided I wouldn't really want to work for another large company I could never seem to find a JavaScript engineer type role advertised with Google.

Google is very Java-centric and positions focusing on JS tend to assume you'll double as more of a web designer than a JS-focused engineer doing more application/deeper-UI intensive type stuff (and IMO, it shows in their JS). I'm not aware of Google making a lot of use of Rails or PHP for anything. V8 binds JS to C and C++ and any large company with the breadth that MS or Google has will need those languages for lower-level stuff so there's some potential there. I would start by looking at the sorts of roles that come up the most often and focus on those but they really, really, really have a thing for Java and will continue to have one for a long time given all the legacy code they now have to support written in Java. And I suspect a Java dev without college would be at a huge disadvantage trying to get a gig at Google.

But take that with a grain of salt. I haven't seriously looked at Google in the last 3 years or so, so things may be changing. They're also huge and have diverse needs so you never know what might come up.

Facebook? On a side-note the PHP/C thing strikes me as being potentially interesting to Facebook since they're the reason that actually exists and they've got good cause to be sympathetic to youthful prodigy-types.

General

Regardless, you're going to need to pick up some professional experience. It's awesome that you've been learning this stuff since you're 12 and that could count a lot with the right interviewer but there's basic teamwork and communication skills that only comes from being on the job. You can know everything about every language you know but you'll still find some things only come with experience if you pay attention to devs that have been at it for a while professionally.

I'd also recommend studying popular tools and frameworks and trying to design your own or start writing useful plug-ins hosted on Github to attract attention to yourself. If I saw somebody at 18-20 doing really slick work with JavaScript, and by that I mean producing stuff I actually wanted to use in my own projects, I'd be exceedingly impressed.

Also if the client-side interests you as a place for potential focus, don't skimp on the CSS. Hardly anybody knows CSS as well as they should and that can be a major feather in your cap if you're looking to work as a more UI-centric developer. Nothing eliminates unnecessary JavaScript like knowing how to use CSS well in UI.

But really the best thing you can do is keep a close eye on the sorts of roles that come up at both companies as you build up enough of a body of work and get some more experience. It doesn't hurt to apply either. Just don't get bummed out if it takes a year or two before they start responding. If you ask for feedback, you might actually get it through virtue of people finding it interesting that you're trying to get such an early start in your career. Take it seriously. Especially if it comes from Google. They put a lot of hurdles in their interview process.

One Caveat

There's a difference between working for a very large elite company and a very small lesser-known one doing really interesting stuff. Explore that difference and you may find you prefer the latter to the former.

share|improve this answer
    
Thank You for answering , I know AngularJS too and I've created a single Page application (SPA) in this amazing library I've created the most modern web application because it's support offline html5 and synchronizing between WebSQL and MySQL I will share it to github as soon as i complete it –  prof Jun 23 '13 at 1:17
    
Well if you want to go the JavaScript route, learn the crap out of core JavaScript and the DOM API and you'll have an edge. I've been flown over to Silicon Valley for interviews on the basis of answering questions about JS that I would hardly call trivia. Stuff like "What's the third argument of addEventListener do?" That was a Netflix phone interview question and they told me no one had answered that one before. Understand how jQuery works under the hood (it looks really weird at first) and you'll have learned a lot of useful JS architecture stuff. –  Erik Reppen Jun 23 '13 at 2:18
    
+1 for a better, more constructive answer then mine. –  MainMa Jun 23 '13 at 6:28
    
Wow. Thank you. Nobody ever does that on SO. +1 backatcha. –  Erik Reppen Jun 23 '13 at 6:33
    
Truth/honesty > points : D –  Erik Reppen Jun 23 '13 at 6:40
add comment

Is that a real question? List the positions they offer and apply. If not taken at first run, apply after cooldown period is over. (usually 6 months for same job, might be shorter or 0 for different ones).

If you're really bright I'm not sure those places are good for you, but you[re still young and can figure that out in the first years and can jump ship without too much loss. The experience is probably worth it even if it gets sour.

share|improve this answer
    
All job offers needs a college degree I have to get graduated first but I mean what college to enroll ? IT,Software Engineering Or computer science what programming languages skills should I learn ? –  prof Jun 22 '13 at 22:26
1  
last time I saw google was obsessed with code monkey questions: algorithms, O-notation ad nauseam, trivia, anything except software engineering. I definitely would suggest against spoiling your education to fit their mania. Pick a school that teach what you're eager to learn. If I started fresh would check out if profs Sussman & Abelson are still available. –  Balog Pal Jun 22 '13 at 22:36
add comment

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