Content Type
  • Job alerts:

    Send me a weekly email with the latest jobs.

    Research Software Engineer, Google Brain

    Job Type
    Full Time

    We do research differently here at Google. Our team of Research Scientists aren't cloistered in a secret lab but are embedded throughout the engineering organization, allowing them to setup large-scale tests and deploy promising ideas quickly and broadly. Ideas may come from internal projects as well as from collaborations with research programs at partner universities and technical institutes all over the world. From creating experiments and prototyping implementations to designing new architectures, Research Scientists work on real-world problems including artificial intelligence, data mining, natural language processing, hardware and software performance analysis, improving compilers for mobile platforms, as well as core search and much more. But you stay connected to your research roots as an active contributor to the wider research community by partnering with universities and publishing papers.

    You manage individual project priorities, deadlines, and deliverables, adapting to changes and setbacks in order to manage pressures, demonstrating and applying theories through research efforts to develop new and improved products, processes, or technologies.

    Research and Machine Intelligence is a high impact team that’s building the next generation of intelligence and language understanding for all Google products. To achieve this, we’re working on projects that utilize the latest techniques in Artificial Intelligence, Machine Learning (including Deep Learning approaches like Google Brain) and Natural Language Understanding. Our work gets used by product teams across Google, including Search, Maps and Google Now.

    As a Research Software Engineer in the Google Brain team, you work and collaborate closely with Research Scientists on the team. You have the flexibility to switch projects as our research focus shifts and evolves. We need our engineers to be versatile and passionate about managing new problems.

    This role bridges the gap between Software Engineer and Research Scientist. We are looking for great software engineers who also have experience with language understanding and perception (speech, images, video) - as well as improving algorithms. We work with teams across Google to make their products better and make Moonshots possible. In this role, you'll work alongside world-class Research Scientists in the Google Brain team to bring their ideas to life by implementing algorithms, running experiments and building prototypes.

    There is always more information out there, and the Research and Machine Intelligence team has a never-ending quest to find it and make it accessible. We're constantly refining our signature search engine to provide better results, and developing offerings like Google Instant, Google Voice Search and Google Image Search to make it faster and more engaging. We're providing users around the world with great search results every day, but at Google, great just isn't good enough. We're just getting started.

    Responsibilities:
    • Participate in cutting-edge research in artificial intelligence and machine learning applications.
    • Develop solutions for real-world, large-scale problems.

    Minimum qualifications:
    • BA/BS degree in Computer Science, related technical field or equivalent practical experience.
    • Experience with one or more general purpose programming languages including but not limited to: C/C++ or Python
    • Experience with linear algebra, calculus and statistics
    • Machine learning experience

    Preferred qualifications:
    • MS or PhD degree in Computer Science, Artificial Intelligence, Machine Learning, or related technical field.
    • Strong computer systems experience.
    • GPU programming experience.
    • Large data analysis and visualization experience.
    • Exposure to industry or academic research.
    • Exposure to Deep Learning, Neural Networks, or related fields and a strong interest and desire to learn about them.

    https://careers.google.com/jobs?utm_source=indeed&utm_medium=jobagg…

    Post Job

    Get your job seen by the best and brightest in the machine learning community.

  • Job alerts:

    Send me a weekly email with the latest jobs.

    Software Engineer, Cloud Machine Learning

    Job Type
    Full Time

    Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.

    With your technical expertise you manage individual projects priorities, deadlines and deliverables. You design, develop, test, deploy, maintain, and enhance software solutions.

    The goal of Cloud Machine Learning (CloudML) is to innovate and deliver the best AI tech to impact the world via Google Cloud. We're developing CloudML on Google Cloud Platform in close partnership with a number of teams across the company. Cloud is one place where data, computing and algorithms converge!

    We have a broad array of problems to solve - from applied machine learning problems (e.g. building a recommendation system), to core machine learning platform (e.g. Tensorflow on cloud), to advanced machine learning APIs (e.g. cloud vision, speech and NLP) to Machine Learning Advanced Solutions Lab to help business to solve their complex problems, to deep cloud integration (integrating machine learning into BigQuery), to help simplify machine learning, make it more pervasive and grow the user base to include data engineers, data analysts and application developers - comprising of both cloud users, and Googlers for internal machine learning workloads running on Cloud.

    Your solutions could make a huge difference to many verticals: e-commerce, transportation, healthcare, surveillance, finance, content/entertainment, energy and more.

    Google is and always will be an engineering company. We hire people with a broad set of technical skills who are ready to take on some of technology's greatest challenges and make an impact on millions, if not billions, of users. At Google, engineers not only revolutionize search, they routinely work on massive scalability and storage solutions, large-scale applications and entirely new platforms for developers around the world. From AdWords to Chrome, Android to YouTube, Social to Local, Google engineers are changing the world one technological achievement after another.

    Responsibilities:
    • Participate in cutting edge research in artificial intelligence and machine learning applications.
    • Develop solutions for real world, large scale problems.

    Minimum qualifications:
    • BA/BS degree in Computer Science or related technical field or equivalent practical experience.
    • 2 years of work or educational experience in Machine Learning or Artificial Intelligence.
    • Experience with one or more general purpose programming languages including but not limited to: Java, C/C++ or Python
    • Experience with one or more of the following: Natural Language Processing, text understanding, classification, pattern recognition, recommendation systems, targeting systems, ranking systems or similar.

    Preferred qualifications:
    • MS or PhD degree in Computer Science, Artificial Intelligence, Machine Learning, or related technical field.
    • Large Scale Machine Learning experience.
    • Exposure to Deep Learning, Neural Networks, or related fields and a strong interest and desire to pursue them.
    • GPU programming experience.

    https://careers.google.com/jobs?utm_source=indeed&utm_medium=jobagg…

    Post Job

    Get your job seen by the best and brightest in the machine learning community.

  • Job alerts:

    Send me a weekly email with the latest jobs.

    Software Engineer, YouTube Machine Learning

    Job Type
    Full Time

    Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to handle new problems across the full-stack as we continue to push technology forward.

    With your technical expertise you manage individual projects priorities, deadlines and deliverables. You design, develop, test, deploy, maintain, and enhance software solutions.

    Join the YouTube engineering team that designs and develops next-generation machine learning algorithms, systems, and solutions to detect abuse in a rapidly changing internet environment.

    YouTube has grown into a community used by over 1 billion people across the globe to access information, share video, and shape culture. The YouTube team helps budding creators build careers, creates products like YouTube Kids, YouTube Music, and YouTube Gaming, and engages communities around shared passions and global conversations. Together, we empower the world to create, broadcast, and share.

    Responsibilities:
    • Design and develop innovative machine learning algorithms, systems, and solutions to detect content and engagement abuse in a rapidly changing adversarial environment.
    • Develop disciplinary frameworks and services to encourage appropriate user behavior.
    • Extract information and insight from both structured and unstructured information at the scale of the web.
    • Manage projects and deliverables, and design, deploy, and enhance machine learning-driven software solutions.

    Minimum qualifications:
    • BA/BS in Computer Science or related technical field or equivalent practical experience.
    • Coding experience in C, C++, Java or Python.
    • Theoretical and practical experience with modern machine learning algorithms and tools, including deep learning and NLP.

    Preferred qualifications:
    • PhD in Computer Science.
    • Experience in a wide variety of projects utilizing natural language processing, artificial intelligence, data compression, machine learning and search technologies.

    https://careers.google.com/jobs?utm_source=indeed&utm_medium=jobagg…

    Post Job

    Get your job seen by the best and brightest in the machine learning community.

  • Talking Machines API

    Hide Header
    Off
    Summary
    This application serves as a central store for AI data and content.
    Content

    The Talking Machines application serves as a central store for machine learning and artificial intelligence data.

    There are many data feeds available in the machine learning space that can be found through public research. But the data is inconsistent, and this makes it difficult to incorporate it in your applications.

    This application currently consumes data from around 10 of the most popular sources in the Machine Learning space through regular cron jobs. Once in this system, our team has the ability to curate this content through a robust CMS powered by Drupal 8.

    Other applications on the internet need only point at this API to gain all the best data from all across the machine learning space.

    API Consumption: Drupal feeds module

    API consumption is provided by an extension of the Drupal feeds module.

    The feeds module is used to create content or entities within a system based on feed data on the internet. Source data is mapped and massaged to destination properties on entities in this system. 

    The Drupal 8 version of the feeds module is currently in a development release, so it has many bugs. These bugs are remediated by custom code and the overall feeds functionality is thoroughly extended to meet the requirements of this application.

    API Publishing: Drupal JSON API module

    The Talking Machines API is provided by an extension of the Drupal JSON API module.

    The JSON API is a specification for building clean APIs that can be understood by other applications anywhere on the internet built around the same specification. The JSON API Drupal module is a turn key implementation of the JSON API built on Drupal. So the module only needs to be installed to expose a starter kit API.

    The Drupal module JSON API Extras is used to extend the API and modify it suit our unique requirements.

    The entire Talking Machines API is built as a configuration of Drupal without a single letter of custom code. And this absence of custom code will allow it to scale infinitely and stay consistent with the Drupal community.

    Symfony Dom Crawler extension

    The data in the feeds consumed by this application is inconsistent. Example inconsistencies:

    • Some feeds provide full article bodies and some have teaser descriptions.
    • Most feeds don't have any images directly in the feed.
    • Some feeds provide author data as comma separate links and some provide author data as plain text.

    These inconsistencies are addressed by custom code that extends the Drupal feeds module and by a custom Dom Crawler.

    In Drupal 7, there were a few Dom crawling solutions that extended feeds like Feeds Crawler. But because Drupal 8 is still in its early phases, there is currently no public solution available for Dom Crawling.

    So a new module is currently under development on this application that could possibly be offered as a public contributed module on drupal.org in the future. It is called "Talking Machines Feeds Crawler" (tm_feeds_crawler) and is built as an extension of:

    1. Symfony DomCrawler
    2. Symfony Browser Kit
    3. Guzzle HTTP Client
    4. Goutte Web Scraper
    5. Other areas of Drupal and the open source world

    Symfony Dom Crawler is used to parse data that is publicly available in the feeds and to perform custom logic per feed.

    Example DOM crawling sequence:

    1. Click link that is associated with feed item.
    2. Crawl in to article body found on the given page.
    3. Extract images found in the article body that match a certain pattern in their URL.
    4. Map images to proper image field on the article content type.

    Instead of writing custom code to craft these DOM crawling sequences, a UI is provided to build these conditions and actions.

    Custom code is the enemy of scale. As a global practice and whenever possible, these differences in configuration are brought in to the UI so the same code can be re-purposed to solve future challenges.