Hello.
Introduction
I will tell you my story about how I began working as an iOS developer in 2nd year university. The story will be from and to, with all the charms and details. I hope someone from beginners come in handy. All actions took place in Moscow.
How it all began
On hh hung a summary of "Young Specialist" including such key skills as:
1) programming experience in C ++ - 2 courses lab and coursework in the university;
2) the experience of creating various sites on the CMS, naturally, this included knowledge of html + css;
3) experience in Xcode (only with Interface Builder, but this was not stated in the summary);
4) MySQL knowledge is the bare minimum.
HR call
One day I updated my resume - I changed my mobile number and a resume appeared to employers in higher positions. Calls started. Proposals to become a sales manager or phone calls gurus were the only way, but I was not interested. And then the call. Calls the HR of a large consulting firm and invites you to a meeting to discuss the iOS position of the developer. I got a little brightened up, finally, at least not a manager, but I was a little wary - I don’t have any experience with Mac. Honestly blurted out something like this: “Well, uh, to be honest, I have no experience at all,” received in response: “It's okay, we will teach you, you have programming experience in another language,” then I agreed and appointed meeting in 2 days to sit down and prepare hard.
')
Training
Immediately after the call, I sat down at my Asus and put Makos on the virtual machine. Opened the book Kochan Objective-C and began to read the main chapters. After reading, having looked through the book, I realized that the syntax is peculiar, but not much different from C ++. He sat for a while, read some sites with lessons.
The second part of the training was moral. I read various articles on how to pass an interview, etc.
I got acquainted with the company, studied how and by whom it was founded, what it does and so on.
I read that they meet nevertheless on clothes, I thought about the outfit, cooked, stroked and went to bed.
Road to office
I got up early, threw off on the iPad the main articles for me to repeat and the file that HR sent me, where he described how to get there. Arriving on the subway to the desired station, following the instructions went to the right side and went. He walked along the steps described and somehow came to the wrong place (for some reason he didn’t look right on the map), the file was left and right confused, but that's not the point. In my heart I was glad that I had come out much earlier, otherwise I would have been late. I went up to the office minute after minute, the guard called the very girl and I was met.
First interview
We went to the meeting room, sat down. Mindful of the lessons he had read, he sat in an open pose, more comfortable at once.
A boring conversation began, let's say, “about life”. She immediately told me about the company (I also flashed my knowledge of the company). Then we waited for either my boss or the main iOS programmer to work.
While waiting, they gave me to solve a logical problem.
First task
Given 9 balls. 8 of them are the same weight, the ninth of the smaller weight. There are scales. As for 2 weighing determine that one ball. Gave a piece of paper and a pen, they said you can sketch.
After a couple of minutes, the problem was solved and we moved on to the next one.
Second task
There are two posts, a rope is stretched between them. The length of the rope is 18 meters. The rope hangs down 9 meters. Question: how many meters between the posts?
He began to think, but his appearance, I was distracted by the future boss. But then, I nevertheless answered this task correctly.
Few talked about learning. They asked how I could study at the university and work. They came to the fact that I will work 3 days a week. More precisely, 24 hours a week before the end of the session, and more often in the summer.
A little later, the developer arrived in time and began to ask me about my experience in programming, experience with some Objective-C frameworks that were unknown to me at that time, and the availability of ready-made applications in the AppStore.
The conversation was quite pleasant, I was not even worried. It all ended on a pleasant note and on the decision to perform the test task.
Test
I drove home and immediately got a test task.
It was as follows:
1) You need to create an iPhone application based on UINavigationController;
2) On the main ViewController, place the table (UITableView), the number of rows of your choice.
Each line must contain the name of the type “Order No. n”, where n is the line number, and a description of the order of the type “Order Description No. n”;
3) Make the processing of clicking on each row of the table, after which there will be an animated transition to another ViewController, where the title taken from the name of the line on which we have passed the description will be displayed in the working area of ​​ViewController. Also in the second ViewController you need to provide a button Back, to return back to the list. The button must be part of a UINavigationController (UINavigationItem);
It will be a huge advantage if you can develop this application without using Interface Builder.
That same evening I did this test task without using Interface Builder on my barely living virtual machine and sent them.
The next day, the bell rang and I heard: “Good afternoon, Eldar. We would like to invite you to the second interview. ”I was delighted to ask if everything was OK in the test task. In response: "Yes, the developer said that everything is OK for a beginner, but at work everything would have fallen if you wrote that way."
I was delighted, but there were May holidays and I flew home. He spoke honestly about his plans, wondered if they would wait 10 days and they gave their consent.
Home Sweet Home
Glad I drove home. In the bag he took his favorite book at the moment of Kochan. I thought I'd read the whole book at home. But it was not there. Relatives, friends, and housework, all this did not allow me to properly prepare for the second interview. But still, I found time to read.
10 days passed, at 5 in the morning I was in Moscow, and at 10 in the morning I had to be at the university, and at lunch already at the interview.
Second interview
I already knew the sinister road, but I arrived at the same office again at the minute. I met the same girl, came to another meeting room. The company was the same, except for the programmer. Instead, he was the curator of the project - the head of my boss. The beginning of the interview resembled the abbreviated first one. And again two tasks (this time one logical and one algorithmic):
First task
How many trains in the Moscow metro? Having a little thought over my brains and fortunately, knowing how many stations there are in Moscow, I replied that at least 560 (~ 280 stations in both directions) and the maximum number is limited only by the depot accommodations. My answer was correct.
Second task
It was necessary to write on a piece of paper a piece of a simple task code in any language. Unfortunately I do not remember the condition, but anyone who has studied programming would write. And with this task, as you already understood, I managed.
Then we discussed those moments when I could get to work, in case of successful passing of tests, etc.
The interview ended with the phrase: "We will inform you of the results by the end of the week (it was Wednesday or Thursday)."
results
The next day they called me and offered this post to a novice developer. And since Monday I was in the state, issued on TC, with an excellent social package.
I hope someone will benefit from this topic.
Good luck to those like me - novice developers looking for work and professional experience.