Google for Software Engineer in Chapel Hill, NC
Software Engineer – Chapel Hill
Google’s Software Engineers develop the next-generation technologies for which we’ve become world-renowned. In addition to revolutionizing search technology, we use our world-class programming skills to innovate in a number of other areas as well. Our projects include working on advanced information-retrieval algorithms, massive scalability and storage solutions, and large-scale applications that enrich the user experience. We also work extensively on networking systems, advertising systems, and complex transaction systems in consumer applications.
The role: Software Engineer
Software Engineers have a penchant for solving complex and exciting problems. Google is much more than search, and our mission has the much greater scope. To handle information at the scale of the web requires ideas from just about every area of computer science, including information retrieval, artificial intelligence, natural language processing, distributed computing, large-scale system design, networking, security, data compression, user interface design, etc.
Engineers work on many projects that carry varying responsibilities. Below are some examples of the diverse projects with which you might be involved.
Software Engineer Responsibilities:
- Write server-side code for web-based applications, create robust high-volume production applications, and develop prototypes quickly.
- Build our platforms, systems and networking infrastructure using your strong background in distributed systems, OS/kernel, network system design, and large-scale storage systems.
- Build internal systems used by thousands of Googlers around the world with your domain expertise in HR, Staffing, Legal and all other corporate functions.
- Specialist domains: UI development with AJAX and similar technologies, client application development for Windows/Mac (Chrome, Toolbar, etc.), embedded systems and mobile apps (Android), developer tools (IDEs, large-scale build systems, compilers), internationalization.
Software Engineer Requirements:
- BS, MS, or Ph.D. in Computer Science or related technical discipline (or equivalent).
- Extensive programming experience in C/C++ and Java (strong OO skills preferred).
- Several years of large systems software design and development experience, with extensive knowledge of Unix/Linux.
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.