Code Foo 10 - Engineering Internship Application
Application Deadline: - - -
Program Dates: - - -
Location: San Francisco, California
Apply Below:
The IGN Code Foo program is an eight-week paid internship where you’ll have the opportunity to work on real engineering projects that will be seen by millions of users. While you’re here, you’ll be mentored by our experienced team of software engineers and work in tandem on actual IGN products. Our goal is to provide you with an opportunity to obtain real world experience, as well as to cultivate your own growth as a developer. We don’t require a resume; we just want to see what you can do! For this reason we recommend aspiring engineers of all levels to apply. During your time here you’ll get the chance to develop with different languages and technologies including ( but not limited to ) JavaScript, React, GraphQL, Node, PostgreSQL, MongoDB, Redis, Swift, and Kotlin. You’ll be utilizing these technologies while working on web apps, content management systems, APIs, native mobile apps and more. Code Foo 10 is open to those who are eligible to work in the US. We do not cover the cost of travel or lodging. You will be notified by email if you pass the first round of submissions. All answers must be completed using Java, Scala, PHP, Ruby, Python, Swift, Kotlin, Objective-C, or JavaScript. Feel free to use frameworks of your choice if applicable.
To apply to Code Foo 10, answer all required questions to the best of your ability and push your answers to a GitHub repository. If you would prefer to have your application under a private GitHub repository, please add the user IGNCodeFoo as a collaborator. Please submit your application here. Feel free to email us at ign_code-foo@ign.com with any questions.
Do not submit compiled code. We need to be able to build and run your programs! Make sure to include any relevant documentation and instructions. If your program requires dependencies, consider using a package manager.
REQUIRED FOR EVERYONE:
1.Introduce yourself, explain your connection to IGN, and tell us why we should pick you to participate in IGN’s Code Foo program. Show your enthusiasm and passion for IGN in the form of a YouTube/Vimeo video, written document, audio track, or whatever format you feel most comfortable with.
2.A new age has dawned in Hyrule. With Gannon defeated and peace once again restored, Link has found himself without a job, and unfortunately with not much to do. There is only so many times one can play Bombchu Bowling. The hero of time now spends his days sleeping and loafing around Hyrule Castle. To make matters worse, Link has run out of rupees. It’s time for Link to save what’s left of his reputation, and to again start earning his fair share of rupees. What better way to do so than with some quests! Princess Zelda, being the legendary friend she is, has managed to help Link acquire a list of available quests. All that’s left to do is tackle them, but where to start?
Using the provided quest board, create a program that will determine the quests Link should embark on in order to earn the maximum amount of rupees possible in a month’s time.
- - Please use the information in the provided quest board as your quest list
- - Duration refers to how long it will take Link to finish a quest. This value is represented in days. I.e if the quest starts on the 5th and takes 3 days, Link will finish on the 8th
- - Link can only take on one quest at a time and must finish the quest he starts before beginning another
- - Again, Link cannot act on quests of overlapping durations. Meaning if the duration of Quest A overlaps with Quest B, he must choose one or the other
- - Quests can ONLY be accepted on the start day. Quests cannot be repeated
- - A new quest can be started on the same day one is completed
- - The month Link has to complete his quests starts on the 1st and ends on the 31st
- - Determine and display the maximum amount of rupees Link can earn from the quest board and the quests that Link should ultimately accept. ( given the month of time he has to work with )
- - Please explain how you implemented your solution. Is your solution successful with other quests boards? How efficient is your solution?
3. PICK ONE OR MORE OF THE BELOW OPTIONS:
Note: Only one of these options is required. The Full Stack option will be reviewed with the same weight as choosing 2 of the other options in this category as long as effort and quality is presented.Front End:
- Create a responsive, single-page web app for IGN video playlists based on the UI design mock below, using this API.
- Include a video player area, stylized video controls, and the playlist queue. Implementing the IGN header and top navigation bar is not necessary.
- Load the first video in the playlist into the video element on initial page load. There is no need to autoplay the first video, allow the user to initialize it on their own. After each video finishes playback, start playing the next video in the list until all videos have completed.
To learn more about interfacing with web video, start here..
Mobile App:
- Using this API, pull a list of content and comment counts.
- Build a native app (iOS or Android) that displays the content and matches the design below as close as possible. Don’t worry about the icons.
- Each list item should open a webview for the corresponding content on ign.com when tapped ( except comments ).
- Swiping left or right should toggle between Article and Video feeds.
Back End:
- Using this CSV, build a service to pull/read the content of the file, and store it in a SQL database. Explain how you are storing, sanitizing, normalizing, and indexing the data.
- Build an API service that utilizes your database. Include at least 3 endpoints that allow for clients to request data based on how you decided to store it. In addition, incorporate data/response filtering and/or sorting based on additional parameters supplied by the client utilizing your endpoint(s). Explain your decisions and methods of implementation.
Full Stack:
Create a real-time polling application. The application should support the tracking of votes in a poll or polls, and update a corresponding front-end representation of the related poll in real time. Give consideration to how information is stored, updated, and displayed. Data should be persistent. Add any useful features or web design practices you think would make it your own.
OPTIONAL BONUS:
Design and build something IGN-themed you feel is a fair representation of your talents. If you feel that none of the questions accurately convey your skills and what makes you a great fit for IGN, this is your opportunity to shine. Some possible examples include: a player vs AI game, a mobile app, a new exciting web app companion/feature for ign.com.