Steve Derico Developer and Founder of Bixby Apps
Who are you and what do you do?
I am the the founder of Bixby Apps an iPhone App development company in San Francisco. Bixby Apps develops apps for individuals, startups, and Fortune 500 companies like The Nielsen Company & BMW. You can find our work at: http://www.bixbyapps.com.
Prior to Bixby Apps, I worked for internet cornerstone, eBay. I have over eight years of object-oriented programming experience and a degree in Computer Science from Grand Valley State University. I am from Detroit, Michigan and enjoy running, baseball, and golfing in my free time. I am also a huge proponent of open-source software. You can find my Github profile here.
I also host a podcast with my good friend Sam Soffes called Refactor tv. We chat about iOS development news and open-source projects each week. Recently, I started a monthly iOS Developer meetup in the San Francisco Bay Area called NSMeetup. Each month we meet for a great tech talk and free beer. Join us for our next meet up: http://www.nsmeetup.com.
I have been growing my public speaking portfolio and recently spoke at the App Empire Conference in San Diego. I will also be speaking at the upcoming Mobile+ WebDevCon in San Francisco. You can find all of my talks at http://www.stevederico.com/talks. If you are looking for a speaker for your next event @stevederico me on Twitter.
Finally, on the weekends I teach iOS Programming for Absolute Beginners. I started teaching this class after helping a few friends learn objective-c. Having someone to provide over-the-shoulder help and walk you through the sea of jargon has proved to be very helpful for students. Sign up for our next class here.
You dove right in to programming only a short while ago and started Bixby Apps. What inspired you to do that and how has it been so far building great apps for great companies?
I had a lot of experience programming in High School. I was lucky enough to attend a college preparatory high school called Notre Dame Prep in Pontiac, Michigan. While I was there, I had the chance to start programming when I was a sophomore. I started with Visual BASIC and absolutely loved it. I spent lunches working on side projects and even joined the programming club. Once a year, instead of going to class we took part in a programming competition. Each developer was teamed up with a math/logic partner and the team to complete the most challenges won. I wasn't the smartest programmer, but I loved what I was doing and that's all that mattered.
Later in high school, I took AP Computer Science and learned Java. I hated it. It was so tedious and verbose compared to Visual BASIC. I didn't really see why I would ever need to know it. I spent the rest of high school making websites and learning CAD CAM, HTML, and CSS. Then in my freshman year at Grand Valley State University, the first required course was Intro to Java. It had a 50% fail rate, because most students had no development experience. But, there I was with 3 years of programming under my belt. I aced the class while most of my peers struggled with basic concepts. I wasn't a genius, I just had extra time to practice. This is when I noticed that given enough time anyone can understand anything. I couldn't be more grateful of my time at Notre Dame Prep. It set me up to succeed throughout the rest of my life.
Toward the end of college we had to complete a summer internship to graduate. My dad had an internship at GE when he was in college and always told me an internship is the best way to get a full-time job. I went to downtown Grand Rapids and stood in line at a Career Fair to talk to few companies like Herman Miller, SteelCase, and Meijer, a local grocery chain. I asked myself why I was standing in the line: I didn't want to work at these companies, and knew that I wouldn't be passionate about the work. I had recently read iWoz, the story of Steve Wozinak and Steve Jobs, and I knew Silicon Valley was where I wanted to be.
I went home and typed "Tech Company" into Google Maps near Silicon Valley. I applied to and called every company that came up, including Microsoft, Google, eBay, and Yahoo. Most of the hiring managers didn't want to talk to applicants on the phone, let alone one from Grand Valley State in the middle of nowhere. But, after I called the recruiter from eBay eight or nine times, she gave me a chance. That's all I needed. I spoke to the hiring manager and showed him how passionate I was about solving programming and making software. I was offered an internship for three months at eBay's San Jose headquarters. The intern program had 50 students in it; all of them from high ranking schools like Stanford, Cal, MIT, Harvard, and Yale. At the first intern meeting they told us about the intern of the year award. The award came with a full-time job offer, and once I heard that I knew I wanted it more than anyone else in that room. I spent the next three months working on not just my intern project, but walking around eBay asking people what problems they had in their day-to-day job experiences. I built a few ASP.net web apps using my Visual BASIC skills from high school and people loved it. I won the intern of the year award and was hired on as a the first ever process improvement engineer. I spent two years at eBay working with employees to make their jobs easier or more efficient. My proudest achievement was improving the asset procurement system from a 60 day turnaround time down to under 48 hours.
After that project, I knew I wouldn't see a bigger challenge, so I left eBay to start Bixby Apps. See "How did I start iOS Development" to hear the rest.
What does your computer and workspace setup look like while developing?
iMac 27 inch with 24 Second Screen, 16GB RAM, 1TB HDD & 250GB SSD. 3.2 Processor. iPad + Wi-Fi. iPhone 5 Black 32GB in an Elevation Dock. On the go I use an 11" Macbook Air with 1.6 GHZ 4GB of RAM.
How did you get started in developing for iOS devices?
Thanks to Gary Vaynerchuck's Crush It book, I realized I just wasn't passionate about what I was doing at eBay. I had a degree in Computer Science, but didn't know Objective-C. So, I spent every minute I could reading books, watching iTunes U videos, and even crashing a Stanford Course on Objective-C. Eventually, I had enough knowledge to launch my first app. I built an app I wanted for myself. The app was for a home workout program I was doing. The app did pretty well, then I eventually had friends and family asking me to develop their ideas into apps. I started developing apps for other people charging more and more for each customer. I grew my portfolio and the rest is history.
Bixby has built some apps for large companies like Nielsen and BMW. Do you have any tips for freelancers and other developers wanting to start working with bigger clients?
You won't start working with big clients overnight. The key is to treat every client like the most important person in the world. At Bixby Apps we only service one client at a time. We give them 110% of our attention day in and out. We do whatever we can to make sure the client is 110% satisfied with their product. We do what is right and always remember the client is king. Our portfolio has been built on referrals and treating people right and doing your best is the only way to grow via referrals. We love to work with freelancers too so feel free to get in touch.
What is some essential software that you use outside of Xcode for development?
Sparrow for Mac: it's my go to for email client. It's simple and fast, nothing more nothing less. I love it. DashExpander for Mac is great too. Instead of writing the same thing over and over you can assign it to a keyword and have it expand as needed.
Text Editors I go back and fourth between Sublime Text 2 and TextMate. I am not crazy when it comes to text editors, I really don't like one more than the other. I just need something that works.
Cheddar, I use Cheddar to keep track of what I need to do each day. I have been using the mac app for a while now and I am really big fan of the syncing between devices.
If you had two minutes to share your favorite debugging tip with a fellow developer, what would it be?
I love to pseudo-code methods before I write them. This means I just write out what I need to do in English before I code it. I write out comments in English with how each step should execute. As for debugging specific issues, StackOverflow is pretty great. You have to be careful the answers are not always up-to-date or the best practice, but you can use them to point you in the right direction. I really think Xcode and the crash logs in iOS/OSX could be improved and made more clear. Finally, I am a huge fan of Crashlytics, I use it in all of my applications. Crashlytics is a free crash log framework you can add into any project. It tracks crashes in your app and gives you a great dashboard to review all your issues. You should check it out.
Finally, what is your favourite app?
Foursquare for iOS - I am a really big fan of foursquare, not just because of check-ins. But I think that Dennis Crowley has done an excellent job of evolving a single-feature app into a complex service. Dennis is on my list of heroes on Pinterest. I really hope that Apple buys Foursquare and together they take down Yelp.
Tweetbot for iOS - This is the app I use the most on a day to day basis. It does such a fantastic job of keeping the simple parts simple, but also giving experienced users advanced functionality. i.e. double tap on the messages icon to mark all items read. Finally, Paul Haddad couldn’t be a nicer guy, you should follow him at @tapbot_paul.