Describe your role as an iOS Software Engineer at Intuit. What kind of projects do you work on?



I started working full-time for Intuit almost a year ago. I work on a mobile payments app called GoPayment. Our customers are small business owners looking to accept payments from their phone or tablet. My team is fairly small, so I've been able to work on many different areas of the app. One of my favorite features I added to GoPayment was 3D Touch. Users can use the 3D Touch capability on their iPhone to start a new sale directly from the GoPayment app icon. GoPayment recently started supporting EMV (chip card) transactions with the all new chip card reader that plugs into the headphone jack of the user's phone. This was the first project I worked on after joining the team. I learned about the intricacies of processing a payment and contributed to the code to make EMV transactions possible in GoPayment.



What sort of tasks do you take on other than programming?



I try to get experience in all areas of software development, not just programming. At Intuit, I participated in an ICAgile certification course. I've applied the skills I learned during the course by acting as the Scrum Master for my team for multiple sprints. This involves running our daily scrum meetings, organizing and prioritizing tasks on our scrum board, and helping with planning for future work on GoPayment. I also help with recruiting for Intuit. I recently traveled to Houston for the Grace Hopper Conference with the company and assisted at Intuit's career fair booth. I love talking to people, so this was a really fun experience for me to netowrk with so many inspirational women. I was able to share details of my experiences at Intuit and answer questions about what it's like to work here.



Do you think working in the industry helped augment your skills as a Software Engineer? How?



During college, I completed a co-op and multiple internships at larger companies as a software engineer. The experience I gained was honestly priceless. I worked on projects in programming languages not taught at my school. Working in industry also boosted my confidence as a programmer in general. I feel more comfortable taking on challenges in programming and trying out new languages thanks to my experience working in industry.



Describe your typical day at Intuit.



On a typical day I will bike to work, grab breakfast at the Intuit cafeteria, and sit down at my desk by 9:30am. I go through my emails and then update the statuses of my current stories and code reviews before scrum. My team meets for scrum in the morning. After that, I usually have the rest of the day just to code. I code in both Objective C and Swift pretty much every day. My team sits together, so we can easily collaborate on code and troubleshoot issues as they arise. Sometimes I will take a walk around campus by the bay or grab a cup of tea if I ever need to step away from the code and take a quick break.



Intuit is often in the top of Fortune’s best places to work. Does it live up to the ranking? What makes it a great workplace?



I am so fortunate to be working for an amazing company such as Intuit. The best thing about this company are the people who work here. Everyone is so talented and friendly and driven to bring the company success. Intuit listens to its employees and does so much to set us up for success. We have the latest equipment and state of the art workspaces. Our CEO, Brad Smith, is frequently in contact with the employees and shares his vision and goals for the company. He is truly invested in the employees and you can just feel that when he speaks. Intuit employees are offered great benefits and lots of perks. My favorite perk is the commuter bicycle they loan to me. I am able to spare the air as well as get a workout in during my daily commute.



What are some challenges you encounter at Intuit?



Programming can of course be challenging at times. I often times find myself stuck on a problem that I just can't seem to solve. At least once a week I run into an issue with Objective C and Swift interoperability. Our app is composed of both languages, so the solution to making them work together isn't always obvious in every situation. Fortunately my coworkers are so willing to listen and help me learn, so I am usually able to overcome the issue.



What was the interview process like? How would one prepare for it?



I actually interviewed for an internship with Intuit at the Grace Hopper Conference a few years ago. I had to complete a coding interview and a behavioral values interview. The interviewers are looking for candidates with a good attitude and strong programming skills. Make sure to review common data structures (arrays, hashtables/dictionaries, linked lists) and algorithm problems (string manipulation, searching data in a data structure, etc...). Practice looking for edge cases in a problem and make sure your solution handles them. It's also a good idea to familiarize yourself with the company, its products, and its mission and values.



Also, you previously worked at Karat which is a startup geared towards helping companies find great engineers. What was it like working there?



Karat is a startup based in Seattle that provides interviewing as a service to tech companies looking to hire great talent. Working here gave me an inside look into the technical interviewing process. It opened my eyes to many issues within technical interviewing today. Karat is working to remove these barriers by offering an interview that is standardized for all candidates. They remove unconscious bias as well as restrictions that a regular interview might have. Karat interviewers offer virtual video interviews 7 days a week with many time slots outside of the normal 9-5 business time window.



I worked across a lot of areas while at Karat. I spent time in the operations area, making sure the day to day interviews ran smoothly and all technical issues in the virtual interview were solved for. I also interacted with client companies to ensure they were receiving the results of each interview in a timely manner. I also helped Karat in hiring new interviewers by providing a technical analysis of the candidate's interviewing skills. A new challenge arose almost every day, so I got a lot of experience in many areas working for this startup.



Any advice or suggestions for our non-technical readers who want to get involved with software engineering?



Getting started with programming can seem overwhelming and impossible. It definitely isn't! Start with a small project and follow tutorials. Everyone has to start somewhere. Once you create something, you won't want to stop. Stick with it and ask for help. Almost all of the developers I know are always willing to help and share their knowledge.



If you want your startup to be interviewed, please reach out to me at taehong.min18@outlook.com. Thanks!