Tell me and I forget.
Teach me and I remember.
Involve me and I learn.
Tell me and I forget.
Teach me and I remember.
Involve me and I learn.
I had an encounter this week that made me pause and re-evaluate things.
I have never been a person who thinks it is my way or the highway, but I will admit that I have strong opinions. These opinions are forged from my experiences and I expect others to bring theirs to the table too.
I am not afraid to admit wrongness or even failure, I truly think you can learn and never arrive. Just because we disagree on the path does not mean we cannot desire the same destination.
Back to my encounter…
I found it strange that someone I did not know would be offended by my opinion and preference without engaging in the how’s and why’s.
Sure it could just be internet trolling and I need to have thicker skin but I felt compelled to ask this question: “Where did we go wrong when someone having an opinion was a bad thing?”
Having an opinion as a Developer does not mean you are a rockstar, stuck up or bad person and it certainly does not mean you are an immovable object when it comes to building great software.
At the same time, I really enjoy when someone brings a wealth of opinions to the table. It means they have fought battles and won wars (not actual ones) which brings a wealth of experience with it.
So here’s a disclaimer I will toss out: my opinions may be strong but they are weakly held. If there’s a better way to do _____ then let’s explore it.
Last evening, I was fortunate enough to be able to speak at the Atlanta iOS Developers Meetup. The talk centered around how I created Gitty leveraging Open Source. I spent some time trying to advocate for Open Source in iOS Development and for others to give back. Thanks to everyone who came out and for the kind words.
If you would like to see my slides you can view them on Speaker Deck. Please feel free to ask questions in the comments if you were unable to chat with me last night.
If you are in the Tech Industry then you are no stranger to recruiters. Not a day goes by where I do not receive an email or a LinkedIn request from a recruiter who is hiring. Our Industry is extremely competitive and everyone is looking to hire the best.
Unfortunately, recruiters get things wrong most of the time. Instead of coming off as interested, they quickly come off as spammy. There is even a website dedicated to avoiding most recruiters.
Here are three tips I would give to any recruiter who is looking to hire in our industry.
The worst recruiters copy and paste blanket emails to candidates with names swapped out via find and replace but great recruiters take the time to court potential candidates.
Let’s face it, we all want to be a part of a chase. Whether we are doing the chasing or being chased, it’s fun and exciting.
When I was trying to get the eye of my wife back in our dating days, I did not search the internet for a romantic email or date idea rather I took the time to think about her and made all of those things personal.
When you are pursuing candidates, try to gather as much information about them as you can. Read their blog and tweets to figure out what makes them tick.
If you find a candidate that is a huge New England Patriots fan, perhaps mail them a Patriots hat with a hand written note expressing your interest to talk and interview.
If that is too forward for you, shoot them an email noting a recent event they attended or were a part of. Anything you can do to make the first interaction personal will help you avoid the spam folder.
Thankfully our industry is becoming less about buzzwords and more about substance. Recruiters actually know what a GitHub account is. But just because a person has GitHub account does not mean they are the right person for the position you are hiring.
Do a little homework here. Ask some detail about what the position requires whether that be programming languages, frameworks and how those match up with the required results.
From there, learn how to browse someone’s GitHub profile. Learn what a star is and how that indicates something good. Grab a few repositories the candidate has contributed to and ask a Developer to see what their thoughts are.
Just a little bit of work here will save you a lot of work on the backend, not to mention your employer the time of interviewing a candidate who is not the right one.
We all know you get paid when someone is hired. By asking me to refer others to you implies that you are trying to get me to work for you for free.
If you want a reference from me, be willing to make it worth my time. Otherwise you just come off as a person who has some ends and they are looking for the means. Our interaction becomes a transaction and for most that is empty, shallow and not profitable.
I know this writing is a departure from the norm but I want this process to be better for everyone involved. If recruiters could take a moment and consider these three things, I think the conversation moves forward for everyone. What about you?
Four years ago my life changed forever when we welcomed Ella Reese Strickland into the world. Not only did I become a dad, but I fell in love again all over.
I will never forget that moment when the doctor lifted you out of his hands and into mine.
I will never forget the first time our eyes met.
I will never forget the feeling that you knew my voice when I first told you I loved you.
You are loved and have extreme value because you were created in God’s image.
Your dreams are just a glimpse at what can be if you have the conviction that they must be.
Your mark on this world may be measured in many ways but I hope the greatest is how you loved others.
Love you Ella, Happy Birthday
The image above is a text that my wife sent as she wrote down what my daughter wanted to say to me. Just before this, I wrote my wife a text that was for my daughter telling her how special she was and how much she meant to me.
I don’t share that picture with you to tell you I am great or something like that but just that this process reminded me how tough it can be to balance our professional life with our personal life.
In a day and age where we are always on, always connected and always available, it becomes increasingly impossible to navigate these waters. On the one hand you love your craft, you pour your heart and soul into it. And on the other hand you love those who you do life with and want to make sure they know their value and importance.
Here are a few tips I have tried to incorporate into my life that help me balance personal and professional.
Our phones are a great tool but also can be a great stumbling block when it comes to balancing personal and professional. When are you really off work? If your email lives on your phone then probably never.
I would suggest that when the work day end that you turn off your phone. If not then you will constantly checking it. We’ve all seen the family out to dinner where the parents are on their phones and there is no conversation happen. Heck, I am sure that’s been me too. Disconnecting from your phone, twitter, facebook, instagram for a period of time will help you balance things.
When you are at your child’s ballgame, are you truly there? Or are you thinking about that problem that needs to be solved at work? Being a developer, I know first hand that problem solving rarely stops when you get up from your desk. Usually there is a problem that lingers in your mind until it is solved and therefore being fully present is tough.
The challenge here is to be fully engaged in whatever you are doing. If you are always somewhere else in your mind then you can never fully enjoy the things you are a part of.
One tip I received early on in my marriage was that when you get married dating your wife does not stop. Because I want a healthy and great marriage, my wife and I regularly go on dates together. It is a time for us to disconnect from our professional lives and now our children and reconnect. Our marriage is refueled and we are ready to tackle whatever lies ahead.
If you have children like me, then dating your kids is a great way to be intentional with them. Not only are you showing them how they should be treated by their future spouses, you are showing them that they are important.
Creating these regular appointments will keep you balanced and remind you and others of the important things in life.
Growing up, I loved to play baseball and even when I was not playing baseball I was thinking of it. My dad worked for an Insurance company and while his time was limited he always made sure to coach the teams I played on. One lasting image I have in my head is of my dad, dressed in his buttoned up shirt, slacks and dress shoes coaching from the 3rd base box. That image reminds me that while work was important for my dad, I also was important to him. It’s the little things that we remember in life.
Recently, I ran into a really strange bug that had me perplexed for a bit. I was going about my normal business of adding some assets to an iOS project, everything appeared to worked fine on the iOS Simulator but when I ran on device my new images were not showing up.
At first I thought it was something to do with how I was loading the UIImage. You see, I need to get some data from the server and then create a string that represented my image in the bundle for loading. For example: all of my images were prefixed with a certain naming convention, e.g. ABC123.png, ABC456.png, etc. After a little debugging, nope that was not the problem at all.
My next thought is that somehow when creating the IPA for Adhoc deployment, the assets were not being bundled. To debug this, I remembered a little trick I learned from NSScreencast using a ruby library called appcrush to extract assets from an IPA. After running through this process, everything was there so that was not the problem.
At this point, I reached out to some colleagues to see if anyone else had ran into a similar problem. My friend Paul reached back out shortly with an idea:
I think I may have had an issue like that. If I remember right it was because the simulator is not case-sensitive but the device is. I’m not sure if I’m remembering that right but its something to check.As I was reading those words, it hit me. I had created a ruby script to rename all of the assets I was working with to follow the convention I needed and in doing so, I upper cased everything. Sure enough, I had also uppercased the extension so instead of being .png it was .PNG.
A few quick changes and a new Adhoc deployment, sure enough that was it.
So if you are ever running into a problem where an asset shows up on the iOS Simulator but not on device, first check for the case sensitivity of the file name because that may likely be your problem.
Peace is not the absence of conflict, it is the presence of Jesus.
If the highest aim of a captain were to preserve his ship, he would keep it in port forever.
So you made your first App. Congrats.
All of your friends and family purchased the App? Sweet.
One day passes, two days pass, a week, a month and very little sales or traction? Yup, we’ve all been there.
In this post, I want to show you a strategy I came up with that helped me turn an App that had less than 50 sales into a Top 200 selling App.
In March of this year (2013), I launched BabyMe Slideshow to the world, you can read more about that adventure here. The launch was a lot of fun. While I had sent a few Apps to the store for other people, it was my first personal App release.
When the App launched, I was extremely excited and ready to see the $$$ roll in. My family, friends and some strangers in Korea purchased on launch but after a few days, I started to realize this App thing was not as easy as I thought it may have been. A few months passed, I started to work on my next App and I figured I would chalk BabyMe Slideshow as my first volley into this area and be okay with its lack of success.
Then it hit me….maybe there is a different way to sell this App? Surely there’s a way in a sea of hundreds of thousands of Apps to make yours get noticed? Right?
I remembered awhile back that my wife told me about this site that lists Apps that have “gone free”. The concept of the site is to track Apps that went from paid to free and alert people of its availability. In my head, I pictured that scene from Finding Nemo where the birds see the fish on the dock and start saying “Mine, Mine, Mine”. People were waiting to pounce on Apps that they once thought of purchasing or would give a look if only they were free.
With this knowledge in hand here’s what I decided to do:
Make BabyMe Slideshow Free
Once a lot of people downloaded the App for Free, use their enjoyment of the App as free Advertising
Make BabyMe Slideshow Paid again.
In March of 2013, I sold 35 copies of BabyMe Slideshow and in April, I sold 1 copy. In late May, I deployed the above strategy and soon BabyMe Slideshow racked up thousands of downloads. I made an iPad version which I also gave away for free. After a month of free downloads and the “hook” was set, I flipped the switch back to paid in July.
Did it work? Did my strategy pay off? Well I already spilled the beans and the answer is yes it did. BabyMe Slideshow soon sprang up to the top 200 in Kids/Family Games.
What happened? How did it work?
My hope in deploying this strategy was that by giving it away for free to several thousands of people that they would love my App. They would love it so much that they would also tell their friends. And their friends would tell their friends and soon BabyMe Slideshow would be a goto parenting App.
Once I flipped the switch to Paid, I also hoped that this sharing between friends would continue and while some people would have received the App for free, they would encourage their friends to download the App because it is “totally” worth 99 cents.
So that’s my theory and I think it worked. I think enough people found value in the App that they told their friends and even thought it is Paid now, they are okay with plopping down 99 cents for it.
The big question is will it work for others? I think it just might. If you have an App that is underperforming, try making it free for a few months and then turn it back to Paid again. Perhaps all of those people who grab your App for free will tell their friends and when you switch it back to Paid they will be okay paying for the App because of the recommendation.
I am a big fan of charing money for things you feel are worth it, I charge $7.99 and $9.99 for Gitty and I feel it is worth every penny. In the App world we live in today, it is very hard to make any money when everything is free. It is even harder to get your App noticed. Instead of using advertising or sacrificing your vision, try my strategy and let me know if it works for you like it did for me.