Several months ago we celebrated the end of the third Yalantis iOS internship. Six interns became our new junior developers. This was a huge step for each of them. But before we could let our interns develop apps for Yalantis’ clients, they had to improve their programming skills.
To bring interns into an experienced iOS development team, most tech companies give them tasks to expand their understanding of app development. But we decided to make our internship more interesting for our students and more valuable for the company.
Our iOS interns spent their three-month internship developing a real app.
The PixPic - Pixel stickers kit app
The lead mentor for our interns (and our senior iOS developer), Yury, had the idea for the PixPic, a Pixel stickers kit app. He decided that our interns should start with a photo app, as developing a photo app is a basic step for every mobile developer. We develop all kinds of apps here at Yalantis, and most of them work with photos in some way.
The idea for the PixPic app is very simple. It allows you to take a photo, change its size, apply various funny stickers, and post the photo to your the app’s timeline, Facebook timeline, and other social networks.
Yury didn’t just come up with this idea, but also played the role of a very meticulous product owner. He told his expectations to the team and the development process started.
App development process
Working on the PixPic app was very similar to working on a client project. We had a team of iOS developers, a designer, a project manager, and a QA specialist. Our interns began by making an estimate and approving it with the product owner.
Then, they divided the app development process into four sprints with planning stages before each sprint. Our interns also had regular meetings with the product owner who made changes to the current build and brought new ideas to the app.
Every day, interns had daily meetings where they discussed their work and planned their next steps. Our interns learned Agile methodology from their first days of work.
One of the principles of our internship is mentoring but not babysitting. To improve the quality of code we simply added one more step to our regular code review. First, interns checked each other’s code, and then that same code was checked by their mentors. This system solved two issues: our interns learned how to do code review and they improved their code quality.
In December, the development team decided to do the server part themselves and chose a Parse server. But only a month later Parse announced that it would be fully retired in a year, and so our interns were faced with a problem. After several meetings, the team made the decision to continue with Parse for the first version of PixPic. But for the second version, on which team is working now, a Ruby developer will make our own backend.
Toast – An Objective-C category that adds toast notifications to the UIView object class.
SVPullToRefresh – These UIScrollView categories makes it easy to add pull-to-refresh and infinite scrolling functionalities to any UIScrollView (or any of its subclasses).
DateTools – Dropdown notification view for iOS
MBProgressHUD – An easy to use progress indicator for iOS that includes both fixed and indeterminate styles.
Crashlytics – crash reporting platform. Gives real-time information on crashes inside your app, and all the details you need to tackle the most impactful stability issues head-on.
FBSDK – Facebook SDK for sign-in and getting data in and out of Facebook's social graph.
Parse – The open source Parse Server makes it possible to serve the Parse API from any infrastructure that can host Node.js applications.
PixPic is an app that lets you edit photos just for fun. Users can choose from four categories of stickers and share their pictures with friends through the app’s feed and social networks. We think young people and teenagers all over the world will love it!
Now our students are ready to work on real projects!