Category Archives: Tips

Oh, Google just turned my iPod touch into a free wifi phone

Today I noticed that Google turned my iPod touch into a free wifi phone. That’s nice of them.

photo 1

To turn your iOS device into a free wifi phone. Simply create a Google Voice #, and install the Google Voice and Google Hangouts apps on your device. You’ll be able to send and receive text messages with the Google Voice app, and read your Google Voice voicemail there too. The Hangouts app will let you make and receive calls to/from real phone #s, and instant-message with your friends.

Screen Shot 2013-10-19 at 5.28.06 PM

I’ve used Google Voice for several years. It’s great, because it gives you a free phone number that redirects to other numbers. I give people my Google Voice #, and when they call, it automatically rings several personal lines. Further, if I ever change or add a phone number, such as a new work #, I can always re-configure my Google Voice # to dial that #, without confusing everyone with yet another email about “delete this old #, add this new one”.

Screen Shot 2013-10-19 at 5.27.35 PM

Google Voice auto-transcribes voicemail as well, which is really nice, because you can eyeball skim/read a voicemail and click “delete” on a computer much faster than you can listen to your messages on a real phone. Bonus feature: you can text with google voice from a browser, or an iPod Touch – this is great for me, because I use a nokia brick phone with a t-mobile prepaid phone plan, and texting on 10-key is terrible.

Screen Shot 2013-10-19 at 5.10.12 PM

The downside to Google Voice has always been that it’s not actually a phone. When you dial someone with the Voice app, it dials your contact, then dials your real phone, and connects you together – you can’t just dial right out on a computer or non-phone smart device like an iPod touch and use a headset.

There have been several inexpensive or free “turn your iPod Touch into a wifi phone” gimmick apps or services over the past few years, but they’ve always been a hassle (listen to a 30 second ad before your call begins..) or short-lived – so, I’ve just always dialed directly with my brick phone, and told my contacts “my real number is the google voice #, ignore the caller id”.

That all changes with the latest version of Google’s Hangouts app on iOS. The latest version allows you to dial and receive phone calls right from your iOS device, for free. Dialing out will show your google voice # on your contact’s caller id, and when someone dials your Google Voice #, your connected iOS devices will receive an notification that you’re being called – and your real phones will still ring too.

photo 2

photo

Hangouts is Google’s rebranded Google Talk service – their instant messaging service. It allows you to chat with your friends or groups of your friends, video chat, and audio chat with them. It’s basically Google’s competition to Facebook Messenger and Skype.

This is a great development for users like myself who don’t want to pay $70-$100 per month for a smart phone w/ a data plan. I typically pay about $100 for 4 or 5 months of service, because I primarily use audio/video chat on skype and email or facebook for communication. Now, I’ll be using even less pre-paid cell minutes when I need to make a call from my home or office, or anywhere else with reliable wifi. Cool.

Finding a Job

Finding your next great adventure is a numbers game in many ways. You are the perfect match for some position out there, it’s just a question of finding that place, or perhaps, that place finding you.

In my book, there’s an ordered list of ways to find a job:

  1. Create your own job.
  2. Places you want to work.
  3. Places your friends work.
  4. Recruiters who target you with non-spam.
  5. Recruiters who target you with spam.
  6. Random job postings.

Create your own job.

If you’re creative, self-driven, and have a great idea or two, why not create your own job?

If you’re already tinkering, all you need to do is take your hobby a bit more seriously. Polish your hobby into a product, make a website, form an LLC, and go take over the world.

You never know, your hobby may turn into passive income, or it may even subplant your real job. If not, there’s no faster way to learn new skills and grow to appreciate the intangible benefits an employer provides or provided for you.

Places you want to work.

If you already know where you want to work, your job-hunt is over, sort of.

It’s a good idea to tailor your resume for the exact position you want, and make sure you interview at a few places you *don’t* want to work first, to get the interview jitters out of your system.

A great way to get an inside pointer or two is to search up a recruiter on linkedin for the company (assuming the company’s big enough to have their own recruiters).

And please, do not interview for position X, when you really want position Y.. you’ll just be wasting team X’s time.

Places your friends work.

After a few years of experience, your peers will branch out to new opportunities with other companies. It’s a good idea to keep a list of awesome people you want to work with again in the future, and email or do lunch with them when your job hunt starts.

Having a friend on the inside will give you a better look at the not-so-great truths of the place and give you far more information than any interview process will.

If you don’t have friends who are branching out, and you’re not happy where you are, it’s time to find that next job and take a risk that your peers don’t seem to be taking.

The great thing about taking that risk is that you’ll likely land at a place with other risk takers just like you, which may lead to a happier work life, or perhaps even friendships with people who *will* take the risk to find the next great job again when the time is right.

A great way to meet new risk-taking friends is to attend and participate in local user groups and discussions. Most any metropolitan area will have meetups you can attend, here’s a list of stuff I’m aware of:

Recruiters.

To understand the recruiter animal, you need to place yourself in their shoes. A recruiter is someone who’s a great networker. Their job is forming relationships with hiring managers, and hooking them up with you. The good recruiters excel at helping the hiring managers understand what talent they need, and the bad recruiters will break your arm for a shitty hiring manager when the low-ball offer’s in site.

A recruiter (generally) gets paid a 10 to 20% finders fee, meaning if you make 100K a year, the recruiter will get a 10K or 20K check for hooking you up with the job, so you can understand a little freak-out or pressure on the recruiter’s behalf when an solid offer actually comes through.

Just remember when the recruiter’s freaking out, that it’s not your problem or duty to make them happy – if you don’t like an offer, haggle, and if something seems fishy (such as a feeling of being pushed around a bit or bullied), you’re probably best off to just decline altogether. After you’ve met some recruiters in town, and watched the game for a bit, you’ll probably learn why some hiring managers and recruiting firms are pushy, as they’ve always got positions open due to high turnover.

There’s spammy recruiters, and less spammy recruiters. There’s corporate recruiters working for the man, and brave little groups of headhunters striking out on their own. If you want a corporate job at a juggernaut like IBM, you’ll need to find a recruiter for the company via linkedin. If startups or small to mid size companies are your thing, that’s where the self-made headhunters come in.

Never give your real phone number to a recruiter you do not trust, instead use Google Voice. All recruiters, spammy and non-spammy alike, will email you new opportunities they hear of, but some of them will cold-call you on a monthly (or worse) basis. You can’t fault the cold-calls though, remember this person’s job is to network, and they’re good at what they do.

It’s a good idea to make a list of your favorite recruiters, and keep that list close at hand for your friends when they start looking.

If you’re starting fresh, perhaps one of your past colleagues already has their own list of favorite recruiters, otherwise you could start with mine:

Austin recruiting firms:

Other recruiting firms:

Alternatively, you could, and should, post your resume on all major career sites, and that will bring the recruiters out of the woodwork. Here are places to consider:

Random Job Postings

If the recruiter scene isn’t your game, or even if it is. Taking some time to filter through a bit of the job-posting noise on your own may net you your next great gig. If nothing else, you’ll find names of companies in your area. Here are job posting sources I’m aware of:

Hopefully these resources will help you improve your next job hunt.

Remember, if you can afford it, don’t rush your job hunt, be patient, pay attention, and take the time to filter the signal from the noise. Your forever, or next-5-year adventure is out there somewhere, you just have to find it.

Great Interview Questions

Interviewing is not a one-sided conversation. If you land a job by only worrying about successfully impressing interviewers, you will almost certainly be surprised, and you may be unhappy once you start the job.

It is critical that you understand that an interview is not about making the company happy and fitting their mold, it is about finding a good match for both you and the company.

How do you make a good choice in choosing the next place to work? Simple, you ask questions! And how do you make the best possible choice? You put some effort in and come up with some great interview questions.

Don’t do what some of your crappy interviewers will do and google something random right before going to the interview, actually take some time and think about what matters to you.

There are obvious things you would want to know about a company, such as what hours you’ll be working, and how much you’ll be paid. But, there are also tons of subtle but important things you can figure out before receiving the offer.

If you don’t have a list of questions organized, The Joel Test is a great place to start.

I strongly recommend making your own list of questions, printing them out, and bringing them with you to every interview you attend.

You will not have time to get answers to all of your questions, but I recommend making an exhaustive and prioritized list of questions anyway, so you can work out the answers that matter to you or concern you as your interview process wears on.

I have my own list of questions that evolve over time. My questions are almost certainly not going to perfectly capture what truly matters to you on your next job hunt, so be sure to put some effort in and make your own question list.

From my experience, I would highly recommend getting as many details out of the recruiter up front, rather than waste everyone’s time if they’re not planning on paying well or have insane work hours, or whatever else.

It is also important to ask the following two questions to each person you speak to, no other questions will reveal more about the truths of a company, the culture, and the employees than these:

  • What is your favorite thing about working here?
  • What could be better?

Keep in mind that not all interviewers are honest (at times for fear of losing their jobs, sadly), so if you intend to deduce a not-so-great truth, it’s best to ask questions that require an answer beyond “yes” or “no”. For example, don’t ask if the interviewer likes working at the company, instead ask them what their favorite thing about the company is.

And, if you really want the true truth, ask for it like a detective would from separate witnesses, that is, ask the same question to each person who interviews you. In the best case, you’ll have a more robust picture of a truth at the end of the day, and in the worst case you’ll have different stories and know to avoid the company.

If you find that the company’s interview process is not welcoming to your questions, the company is telling you immediately, with perfect clarity, how they treat their employees and how much they care about this position.

Here’s my list of questions:

recruiter questions

  • location?, multiple offices?
  • if far: telecommute ok? flexible hours?
  • offer range?
  • is the position full time? salaried? contract?
  • if contract: expected length? contract to hire? 1099, or w2? paid overtime?
  • is telecommuting an option, as needed, permanent?
  • how much travel involved?
  • team size?, division size?, company size?

questions for each engineer

  • how long have they worked at the co?
  • what is their favorite thing about working here? what could be better?
  • are developers empowered to do their job?
  • are developers empowered to speak up and get problems fixed? are other people (UI, business, mgmt, qa, ops, etc)?
  • who do they work with? (dev lead, project manager, multiple managers, other teams?)
  • how would they characterize the co’s culture?
  • what is a typical work week like?
  • how many hours per week avg?
  • how many weekends worked past year?
  • what are their responsibilities?
  • what else do they recommend i ask?

position questions

  • what would my responsibilities be?
  • are there remote or telecommuting team members? if so, how is collaboration done?
  • how is work split up amongst the team?

project questions

  • how long has the project been in development, and when was the last release?
  • how long is the current phase of the project codewise, and when is release ballpark?
  • are subsequent phases of the project currently planned?
  • how many projects or project releases are worked on at once?
  • what languages, libraries, and technologies are used for the project?

process questions

  • what dev methodologies are used, how long are project iterations? what tools are used?
  • source control? what type?
  • how is product, api, and code documentation? who does it? how often?
  • builds: one-step build? nightly integration builds? automated tests run?
  • how are product dependencies managed?
  • how is 24/7 support managed?
  • how are live deployments & support managed?
  • what sacrifices are made when product completion nears? (pushed deadlines? cut features? cut quality?)
  • are there annual busy or slow seasons?

tools

  • process tools? (scheduling, resolving I.T. issues, comm ticketing systems for other groups)
  • dev tools? (OS, IDE, debugging, profiling, building & packaging, DB, libraries, dependency management)
  • remote collaboration tools? (conference calling, im, video conferencing, screen sharing)
  • live/test tools? (OS, deployment, monitoring, automated testing)
  • documentation tools? (wikis, etc)
  • work environment? (laptop, desktop, multi monitor, test hardware, etc)

test/live env questions

  • is there a test env? how does it differ from live?
  • is there a qa team?
  • are there unit tests, or automated test suites?
  • is there an automated build?
  • are test suites automatically run periodically?
  • what types of testing are done? correctness? usability? load/performance?
  • does dev and qa write tests?
  • is there a bug tracking system?
  • how are live and test issues debugged?
  • how is deployment done?
  • what are some typical examples of issues found in live (scaling issues, data consistency, install/config consistency, etc)?

work/life/culture questions

  • are there quiet working conditions?
  • how are career goals (advancement, raises, etc) managed?
  • how does the company make (or plan to make) money?
  • how is current funding?
  • how often are layoffs?
  • how much pto per year, and do people use it?
  • what kind of team or company events are there?
  • what kind of on-campus amenities are there? (food, beverages, pool tables, trails, sports, gyms, parking, etc)
  • does company sponsor or encourage training, conference attendance?
  • does company encourage contribution to open source?
  • what are core hours? do all engineers work exactly 9 to 5? or do some come in ealier/later?

hr/offer questions

  • relocation package offered?
  • stock options? RSUs? vesting schedule?
  • bonuses? if so, how (cash? stocks over vesting period)?
  • signing bonuses?
  • 401k? what kind of matching?
  • other benefits (health, dental, vision, sabbatical, parking, etc)?

IOS 6 app store crash on your iPod touch 4? Restore.

For weeks the app store has crashed constantly on my iPod Touch 4th gen after the over-the-air IOS 6 update. Restoring the iTouch to a fresh install of 6.0 on iTunes fixed the problem and now the app store works better, not perfect, but better.

Symptoms: I would search for something, and swiping left or right on the cards would crash – sometimes I would be able to see some cards if I let the app sit for a half minute and pre-fetch everything, but when I got to item 24 or so I’d be gauranteed a crash again. I’d have similar problems browsing categories of apps and trying to install them. Sometimes I’d tap the “Free” or “$1.99” button for an app, and the button label would switch to the size for “install”, but actually be blank… at that point tapping on the button did nothing. Every time I tapped “updates”, then “purchased” to install something my wife had recently put on her iPod – crash.

Attempted Fixes: I run a lean machine, I dont do iCloud, I minimize the number of notification center apps (basically facebook, and mail, that’s about it), and I tried to alleviate the crashes by closing all background apps. No dice. I also tried restarting the device several times, which still did not fix the app store on my device – it was simply messed up.

Device History: This device was a 4.x IOS stock install, updated to 4.2 and/or 4.3 later via computer tethering. Later it was updated to 5.0 via computer, and then to 5.1.1 over-the-air. Finally it was updated to 6.0 over-the-air. I never once restored the iPod to a “fresh” install for any of those versions IOS, and I suspect there was some minor update bug that rears its head when you’ve been through a number of update cycles from version to version in the past without a clean/fresh install.

How to Restore: Restoring your iTouch is easy, you hook it up to your computer, let iTunes backup your apps and app state. You then tap the “restore” button. iTunes will then install a fresh copy of IOS (without retreading upgrade cycle ground), reboot your device, and then put your apps/music/etc and app settings back exactly the way they were before. Before I restored, I backed up my photos, notes, and other things I’d miss if something went wrong, just in case. I’d recommend that you do the same.

What works better: After restoring, I am able to easily navigate hundreds of search result cards deep, and install multiple apps from the categorie top X lists without a crash, but I’m still unable to view previous purchases without a immediate crash. I’ve purchased hundreds of apps over the past few years, so that could have something to do with it. I also still see the button labels being broken after tapping the “Free” price button on apps I’ve never installed before, but now tapping that button a few times after a few seconds eventually flips to “installing” and all is well. I’ve succesfully had the app store running while installing 3 apps, still browsing, an no problem at all – it seems much smoother, but I’m just happy it doesn’t insta-crash when I try to do almost anything anymore.

There are some threads floating around on the issue, and numerous bugs opened on apple’s bug reporting site. I’ve seen some discussions where some users try restore and claim it’s not working well for them, your mileage may vary.