Click here to Skip to main content
15,881,173 members
Articles / Mobile Apps / iOS
Article

Coder Interview: Val Polouchkine - Developer Advocate

,
Rate me:
Please Sign up or sign in to vote.
4.71/5 (7 votes)
30 Mar 2016CPOL4 min read 14.9K   4   1
Welcome to our continuing series of CodeProject interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we talk to Val Polouchkine, a Developer Advocate for Twitter.

This article is a sponsored article. Articles such as these are intended to provide you with information on products and services that we consider useful and of value to developers

Val Polouchkine is a recovering C# developer, currently working for Twitter as a Developer Advocate. His focus lies on supporting Twitter's mobile toolsets: Fabric and fastlane. Before this, he was a Customer Success Engineer at Xamarin, where he helped dozens of companies with their first foray into mobile. He aims to spread good information about developing 5-star mobile apps.

Who are you and what do you do?

My name is Val Polouchkine and I work as a Developer Advocate at Twitter. As a Developer Advocate, I write code, speak at conferences, organize events, help with developer support, and maintain our documentation. I focus on our two toolsets for iOS and Android developers: Fabric and fastlane.

Fabric helps mobile developers build the best apps. It provides SDKs (or kits in Fabric-speak) that address common challenges like crash reporting, real-time analytics, user authentication, and many others. We dogfood a lot of the kits in our own apps, like Periscope.

Fastlane is a workflow automation suite that saves time during the testing, building, and shipping stages of app development. Tasks like generation of ipa/apk files and management of signing certificates and provisioning profiles can be easily automated using fastlane. It also fits nicely in a continuous integration cycle.

Prior to joining Twitter, I worked in Customer Success Engineering at Xamarin, a recent Microsoft acquisition. Before that, I worked as a software developer, mainly in web and mobile.

What is your preferred dev environment (OS, language, editor, etc.)?

It really depends on what kind of software I’m writing. I write quite a bit of Swift and Ruby these days, so for Swift there’s not much choice aside from Xcode (yes, I’ve tried AppCode). For Ruby, I recently switched to Atom, an open source editor developed by GitHub. I do all my development on OS X and run zsh as my shell.

What is it you like about that environment?

I have a love-hate relationship with Xcode; some features are very well designed, while others leave a lot to be desired.

Atom is an extensible text editor based on Electron, a framework for making desktop apps. It has a vibrant community, so there are tons of packages that make developers’ lives easier. I find the linter package invaluable. Another interesting project based on Electron is Visual Studio Code from Microsoft.

zsh is an alternative to bash which ships with OS X by default. zsh comes standard with some nifty features like text completion. There is also the oh-my-zsh project that provides numerous plugins and themes to customize this shell further.

What did you use before, and what got you to switch?

I’ve wrote quite a bit of C# throughout the years, so I will always have a soft spot for Visual Studio. However, it’s rather bulky for Ruby development, so I prefer to use something more lightweight. I’ve also used Xamarin Studio for iOS development, but switched to Xcode when I started writing more Swift.

What is one thing you think a new developer should know?

Harness the power of the open source community. I’m a big fan of the Libraries.io project that aggregates open source projects across different languages and technologies. Taking this one step further, try and get involved in projects that you use in your code base. According to the article, “What is the Truck Factor of Popular GitHub Applications? A First Assessment”, over half of 133 popular GitHub projects rely on just one or two developers. File bugs, submit pull requests, improve documentation – get involved.

What is your coding pet peeve?

My coding pet peeve has got to be missing documentation. I’m guilty of this myself, as I sometimes have trouble understanding the code I wrote some months ago. Documenting code via comments and readme files is a massive help for anyone (even yourself) who will need to maintain the code base down the road.

What new tools, languages or frameworks interest you?

I’ve been playing with Go recently. Go is an open source language developed at Google that is designed for systems programming. I find it quite elegant, even with some notable and oft-discussed omissions like generics. If you want to give it a whirl, I recommend “The Go Programming Language” book by Donovan and Kernighan. And if you want to write something against the Twitter API, take a look at the go-twitter library.

On the Swift side of things, I’m following the development of the Swift Package Manager very closely.

You've worked on developer tools for a while (Xamarin, Fabric, fastlane) - what do you think makes a good tool, and what's something you personally find really useful of the tools you're working on?

I appreciate when tooling can be used by both beginner and more advanced users. For example, on iOS, Fabric kits are installed and managed via a separate Mac app. It’s extremely easy to setup and use. However, some users prefer to be more hands-on in terms of their code dependencies management. As such, we provide a way to onboard new kits using CocoaPods. This way, users have options on how to use the toolset that best fits their workflow.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer CodeProject Solutions
Canada Canada
The CodeProject team have been writing software, building communities, and hosting CodeProject.com for over 20 years. We are passionate about helping developers share knowledge, learn new skills, and connect. We believe everyone can code, and every contribution, no matter how small, helps.

The CodeProject team is currently focussing on CodeProject.AI Server, a stand-alone, self-hosted server that provides AI inferencing services on any platform for any language. Learn AI by jumping in the deep end with us: codeproject.com/AI.
This is a Organisation

4 members

Written By
United States United States
Val Polouchkine is a recovering C# developer, currently working for Twitter as a Developer Advocate. His focus lies on supporting Twitter's mobile toolsets: Fabric and fastlane. Before this, he was a Customer Success Engineer at Xamarin, where he helped dozens of companies with their first foray into mobile. He aims to spread good information about developing 5-star mobile apps.

Comments and Discussions

 
GeneralMy vote of 5 Pin
MarcusCole683330-Mar-16 9:54
professionalMarcusCole683330-Mar-16 9:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.