In this interview Fil talks about becoming an iOS Engineer by going down the self-taught developer route rather than do a CS degree. Read on for Fil's tips on learning to code and snagging that first job in fintech!
Hey, so can you introduce yourself?
Hey! My name is Fil, and I’m a self-taught developer from Chicago who just accepted his first role as an iOS engineer. I studied chemical engineering and spent years in a consulting role where I did learn a lot, but felt like long term wasn’t a good fit and didn’t align with my goals.
I’ve always been passionate about technology, and wanted to work on a platform that I myself use. The new job is in the fintech industry, which feels like a great fit because next to tech, personal finance is another big passion of mine.
Why did you learn to code?
I started learning iOS development with Objective-C back when I was 19 (this was just months before Swift was announced) because I always liked the idea of building apps that people could use and enjoy. The money is a plus, and coding jobs tend to offer lots of flexibility such as being able to work remotely and more casual work environments.
I love the fact that you can have an idea and start it right from your bedroom and in time potentially turn it into something that can change your life or the lives of others.
How did you learn coding?
The first way I learned was through books, specifically this series by Kevin McNeish (wouldn’t recommend it now as they are mostly outdated). However, they were long and I felt like I wasn’t learning fast enough. It wasn’t until years later I stumbled upon Hacking With Swift, which provides project based learning with material that builds on each other. The most helpful part about that was the repetitive steps of setting up layouts helped me learn the environment and get really comfortable.
Last year I also took a course by Sean Allen, a YouTuber who puts out a lot of iOS content, where you follow along and build a take-home project that mimics one given to interviewees. It was this course that helped me understand more intermediate iOS concepts and actually was crucial for me passing the take home assessment for the job I have now.
How has your life changed since learning to code?
Learning to code has opened so many doors. I actually at one point was learning web development with HTML, CSS, JavaScript, and some React. I built a few websites and intended to use them in a portfolio for when I apply for jobs, and at one point considered freelancing, but something kept pulling me back towards iOS. Turns out, there’s a great iOS community on Twitter and I’ve since then made many connections with developers through Twitter, Discord, and LinkedIn and we all help each other out.
What does a typical day as a software developer look like for you?
I’ve only just started with the company recently, but my days so far have consisted of meetings, learning the codebase, and of course, writing code. Since I’m working as an iOS Engineer, my tech stack is solely in Swift (for now). For the next six months I’ll be remote due to the pandemic, and it’s definitely challenging transitioning into a new role while it’s remote as opposed to going remote at a job I was already at last year.
My coworkers have been great at helping me transition comfortably, and they all have much more experience in development than I do so while at times I suffer from imposter syndrome, they are very helpful when I ask them questions.
What was the interview process like for your first entry level software developer job?
For my current role, it comprised of four steps. First was an initial phone screen with the recruiter, and at the end she set up the technical assessment and sent over the requirements (this is what I consider the second round).
After the assessment, I had an interview with the manager of mobile engineering, where I was asked some technical questions and we went over my technical assessment. Finally, there was a 2.5 hour series of interviews with a designer, two engineers, a manager, and the VP of the product.
The nature of these interviews was more for a “culture fit” rather than technical and the questions were more behavioral in nature. For any interview, I think it’s important to ask questions to your interviewer about the company culture, a typical day at the office, and the challenges the company faces so you can better assess whether it’s a good fit for you or not.
I do have an online portfolio with a few apps I built on my own and from courses, and these were touched on a bit in the interview with the manager and engineers. I don’t have anything hosted on the app store, but from what I see that is a plus to have these days. If you don’t have a portfolio website, make sure your GitHub is active and has comprehensive README.md files to give viewers a better idea of what your projects are supposed to do and look like (you should include images and/or GIFs).
What are your career goals for the future?
I’d like to continue to evolve as an iOS engineer, and in the future mentor others who would like to break into the field. I’ve entertained the idea of creating a SaaS of my own at some point, but don’t have anything in mind yet. Other than that, I’m looking forward to helping build a product I’ve loved using myself for years in my current role and seeing where it goes!
You can find me on Twitter where I enjoy talking about tech and development and I also plan on releasing some tutorial videos on my YouTube channel in the near future.
Thanks for the interview!
Curious about how much a programmer makes? Check out the Definitive Guide to Entry Level Software Engineer Salaries blog post