For notes on the first half of the program, check out the halftime report.
The End of the Beginning
These three months have been a tremendous experience. I recall other three-month periods where nearly nothing has changed. In stark contrast, I didn’t know anything about making apps three months ago and now I can make 80% of the good ones out there and I will soon be able to make the last 20%.
Amidst celebration, the feeling of the real world seeps in. The realities of finding a job are readily apparent. These three months have been a working vacation, a sabbatical, with no need to worry about worldly concern, just code. Yet, this search feels so much different from the post-college job hunt. That felt like gauntlet of hurdles, where the goal was to shape myself into the candidate that would be hired. This feels like a dating process. Maybe it’s always been that way, and I’ve only now grown mature enough to see it as such. I go into each interview, each conversation with as much thought about how much I like them as I do with how much they may like me.
Flatiron School Placements
This week, there’s been a lot of job advice, most of which I agree with wholeheartedly.
- The placements team tell us how to prepare for the technical interview.
- They tell us how to think about the long term (your career) not just your first job.
- They tell us how to network.
- They help us practice mock cultural and technical interviews.
- They host talks to connect us with alumni and industry people.
- They help us with our individual situations and questions.
- All these things are meant to help us get a get a job.
Note: If you’re an international student, it may be hard to find a company to sponsor your work visa.
Note 2: iOS developer make slightly more than Ruby on average.
I’m expecting the job finding process to go through a few iterations and take at least 2 months.
My advice: 1. Just like dating, you have to go out there, meet people and build relationships. 2. Keep coding to keep improving yourself. 3. Stop when you’ve found a place you’re excited to work for at least a year or two.
iOS Client Projects
In interviews, people like to see that you’ve worked on projects before and especially if you’re worked with clients before.
One of the things that no one told me was that iOS students have client projects for the last four weeks. Ruby students work on their own projects.
I worked with a team for a client called HireCanvas, which makes the college campus recruiting process easier (how appropriate for my situation). We helped them build out a iOS version of their web app.
Half of your time will be spend figuring out where to go
- For the first eight weeks of labs, objectives and deadlines were established for us. Coding as a career gets real when I sit in front of a computer and spend half the time figuring what needs to be done when and what should be done next. Not having this structure makes me appreciate the time and thought put into designing a curriculum. On the project, we also have to make choices that will determine whether the project will be done in time. Do I use a cocoa pod or build my own?
Git only gets real in groups
- The first week, we learned how to use git. It only got real when we had the first real git merge conflict.
Teamwork helps you figure out what makes good teammates
- The other thing about working with people is that it helps you develop an intuition for who you would want to work with and who you wouldn’t. Sometimes people surprise you. You might think that an experienced programmer would be great to have on a team until you realize that commitment was a more important trait to look for.
Communication Communication Communication
- As with any type of project, communication turned out to be key. When communication breaks down, people assume the worst and death spirals are started. Talking through it, you realize that the thing you were worried about was not that important to the other person.
A note on legal agreements
Read before you sign. Try to change what you don’t like.
Unlike software agreements, employment contract and non-disclosure agreements should be reason to pause. People will pressure you to sign, so you can get the job. They will tell you that it’s standard practice. That’s a whole lot of bs.
If they’re never going to use a part of the agreement, you shouldn’t have to agree to it.
Make sure you understand what you’re signing and if you don’t like it. Ask if you can change it. A lot of times it’s so boilerplate that the people you’re working with don’t even know what’s in it. If it can’t be changed, ask whether it’s worth taking on the work. I’d rather forgo a project than sign something I’ll regret later.
One thing the school could have done better was show us the legal agreements we would need to sign for the client projects and for attending the school before money and time was spent.
Overall Lessons
1. The number one goal for coming to Flatiron School is to learn how to be self-sufficient as a developer
Use the time to learn to fish and you will have skills for a lifetime. Use this time to try and fail, not produce a portfolio or kickstart your startup. The real world is not as forgiving.
2. Flatiron School brings together very nice, talented people. Build relationships with them.
For most of college, I didn’t appreciate the diversity of human talent and what I could learn from others. At Flatiron, the side projects I’ve seen really brings out people’s passions. I appreciate being around so many talented people (students especially).
3. Have enough living expenses for 6 months before you come to Flatiron
People who only had four months are now scrambling to find the first jobs they can. That’s an unenviable position to be in. Give yourself the time to think about what you want to do after Flatiron. You might be a different person by then.
4. Learning to code will make you feel more empowered than ever before
Not only can you make other people’s dreams come true, you can make your own reality.