When a good opportunity comes your way, seize it. With that being said, I’ve moved from Evernote to Twitter.
At Evernote I was a core contributor on the main Evernote Android application and I ran the Android SDK. At Twitter, I’ll be working with the folks from the recently acquired Crashlytics team on some awesome projects.
I’m sad to be leaving a great team and tons of great friends at Evernote, but I’m psyched about the challenges and people that await at Twitter.
Learn how to use Android components to interact with third party applications. These are the slides from my presentation at Evernote Conference 2013.
If you have the same application on the Google Play store under multiple package names due to country restrictions (like no in-app billing in China), you need to be able to report bugs from all of them to the same Crashlytics end point. Unfortunately the Crashlytics app page is keyed off of a unique package name, so you end up with multiple reporting pages for the same application.
This snippet allows overriding the package name that Crashlytics discovers and reports
We had a great Android themed hackathon in Brazil with around 100 participants. A lot of great projects came out and I’ll be talking about some of them later.
AT&T has a significant problem handling unlocked google play devices that can cause your bandwidth to be capped around 2-3mbps. The problem is that the IMEI of the device isn’t automatically detected in the system as a phone that needs a “Dataplan for 4G Smartphones” and instead is marked as “Dataplan for Smartphones”.
You’ll need to call up AT&T support explain this problem to the rep. They will assign a dummy guid from a device that their system registers to your account as a workaround to assign the correct data plan.
After this, if you set your APN information correct, you can get much higher speeds. If you’re phone won’t work with these settings, it’s on the wrong data plan.
Name: AT&T US HSPA+ (This doesn’t matter)
Proxy: Not set
Port: Not set
Username: Not set
Password: Not set
Server: Not set
MMS proxy: proxy.mobile.att.net
MMS port: 80
MCC: 310 (should be auto set to your country code)
MNC: 410 (should be auto set to your network code)
Authentication type: Not set
APN type: default,admin,fota,mms,supl,hipri
APN protocol: IPv4/IPv6
APN roaming protocol: IPv4/IPv6
Make sure you click the overflow button and hit save. These settings will also theoretically work for LTE Band 4 which the phone also supports but AT&T doesn’t have many towers supporting it yet, so it’s untested.
Enjoy your better speeds!
Both Lindsey and I will be there supporting the hack with the rest of the developer relations team. We’ll be at the great @Wayra space in Sao Paulo, Brazil from November 8th to the 12th. Blog post with pictures to follow soon.
The market is seriously underserved with Android talent right now. Every meetup, conference, or dinner I meet other engineers, managers, and recruiters who tell me they are having a really hard time finding android talent, and the ones they find are inadequate. This comes from contacts at Twitter, Facebook, and other big names you’d expect. This also comes from first hand experience. We get 2x the number of iOS candidates as Android, even though we put equal effort on both. I’ve interviewed dozens engineers in the last 6 months and we hired one of them in the SF Bay. Where are all the good Android engineers?
There has to be some great indie devs or people wanting to jump ship on this subreddit that would love to work at tech companies in the SF Bay.
Seriously, apply with us Evernote, or other cool startups. You have a great opportunity right now because the demand is so high.
At Evernote, we’re looking for multiple android roles, for our core product, for our sdk, and for spinoff products, both Jr and Sr level. We even do Android internships. So many other companies have open roles too.
The sky is the limit but make sure you know what the hell you are talking about before you waste anyones time. A good start would be CS fundamentals (data structures, multi threaded systems, algorithms), Android fundamentals (fragmentation, activity life cycle, networking, sqlite, android design guidelines, api support, power management, platform components), understanding of software design patterns and architecture, being product focused (caring about the users), you would generally be considered easy going, and previous android experience to demonstrate would be preferable.