Janie is a student at Madison College. She is studying mobile software development in iOS programming.
- What do you currently do?
I am currently a student at Madison College working towards completing my Mobile Development degree in iOS programming. Previously I completed a degree in Journalism and one in Graphic Design.
- How did you get started in Mac and/or iOS programming?
The first two years I went to school for computer programming I worked full or part time while attending school. iOS was offered, but only as a certificate after you completed a programming degree.
I originally took VB.Net because it fit in my work schedule and nothing else did. We kept getting further and further behind and we never really covered OOP that first semester. I was overwhelmed by everything I was doing and I didn’t really absorb what we were doing. I was turning in homework but I didn’t know how things worked.
I got burned out and unofficially decided to drop out of the program. I found a job that paid double what I would have gotten as a journalist and I thought it was silly to keep going to school at the expense of my career.
Then I got a really bad job. All the feelings I had of inadequacy about not being able to do anything useful and being a fraud were brought to the surface. I parted ways with that job and looked for another one. Then I did some soul searching about what I really wanted from my life. I realized I wanted to master programming, not for the money or the security, but because I wanted to be a programmer.
I had a teacher my first semester who was phenomenal. I decided to stop looking a job and to take any class that he was teaching that I could get into. At the same time the school decided to implement a Mobile Development degree and he was organizing the curriculum for that.
I have owned an Apple computer since 1984 and I have never owned a PC. VB.Net was not a good fit for me, but if I had taken something else I would not have had the opportunity to learn iOS programming and Objective-C. I got really excited about the idea of writing programs for the computers I have owned my whole life.
I knuckled down and really worked my butt off mastering iOS programming and I hope to finish my degree at the end of the year.
- What was the first app you created and what did it do?
The first app I ever created was for a scholarship to WWDC. Apple sets aside 150 WWDC tickets for students. We are supposed to complete an application, which included submitting an app that we were working on.
I did not have an app I was working on. I was frantically trying to master concepts I had never seen. I had not had extra time to do something extra.
So I had a week to create an app that did something utilizing what I already knew how to do that could be programmed and debugged in a week.
I knew how to do Table Views, so I tried to think of something I could store in a table that could be accessed later. I decided to write a portable wine tasting journal to record information about wine tastings.
- Where did you get the idea for the app?
I go to a lot of wine tastings. Everywhere you go they give you a sheet of paper and a golf pencil to write your thoughts down. None of these are the same size or dimensions. They are nearly impossible to organize. I think I have thrown all of my records away because they were so disorganized.
- What went well? What could have gone better?
I was able to get the whole app coded with two and a half days before the deadline. That gave me just barely enough time to debug the app.
Things went well because I had the base concepts down cold and I knew how to code nearly everything I wanted to.
I had one problem with the app. We learned how to save all of our data to the iPhone a few days before I found out that I needed to create this app. I knew it needed to have this functionality, but I wasn’t as comfortable with it as I was with everything else.
I wrote the functionality into the app, but it did not work. I was able to debug the code a few hours before the app was due. I had class and the teacher was able to help me figure out where my issues were. In all there were 3-4 small issues with the app, which I think was not bad, all things considered.
- What is your favorite among the apps you’ve developed?
For lack of more options, the wine journal app. I was proud of myself for being able to conceive a realistic goal that took up every moment of my allotted time without going over. I adhered to a rock solid deadline. I created something that works. It needs some revamping because it does not work the way I want it to. It works as designed, but the design was slightly faulty. I did not win a scholarship to WWDC, but I am proud of the work I did on that app.
What advice do you have for young people who want to make apps?
Don’t give up. It takes a few years to rewire your brain to really grasp these concepts. They are very weird if you have never encountered them before. Everyone I have talked to has had moments where they felt like the dumbest person in the world and fears they will never understand this. It’s fine and normal to feel those things. Remember that other people you admire had to work through those feelings and you will too if you just keep trying.
I also want to stress doing things more than once. The book we are using is the Big Nerd Ranch iOS book. It utilizes tutorials to teach these concepts. When I did each one once I felt despair about every being able to figure this stuff out or look things up in the documentation.
After I bombed my midterm I started doing these exercises at least three times. The first time through everything looks like Ancient Greek. The second time through you kind of start to get a feel for what you are doing and why. By the third time you have a much better understanding of what you are doing and why.
Don’t worry if the first time through you are just typing the exercises (and yes! You must type them and not copy/paste the code). I usually don’t have a clue what is going on the first time I type the exercise. I get that on the next pass or two.
Ask questions. Go to conferences. Meet other programmers. Join programming groups or go on App.net. Most people in the iOS community love to help other people and teach people who are just starting out. I had a stranger on App.net help me figure out how to load my wine journal project onto GitHub. He spent an hour talking me through how to make it work. I found out at the end of the conversation that this person lives in Europe and it was after midnight where he was. He just saw I needed help and gave it to me.
Help more girls learn software development. Contribute to the App Camp For Girls Indiegogo fundraiser, get a cool perk, and enjoy the feeling of having helped the next generation of software developers.