Refocusing and Rebuilding

I’ve had a blog site online for quite a while. I think it’s been something like 10 years now. I never spent a lot of time writing here, and really only used it to showcase some of my mobile app projects.

Image result for rebuilding icon"

Well, that’s going to be changing. Starting today, I will be focusing this blog on sharing some of the things I’ve learned over decades of developing software.

One key benefit to sharing my past work is that I can start to have a nice demo portfolio online for folks to see. One of the challenges of interviewing today is that everyone wants to see your code online. Some short sighted interviewers don’t realize that there is a LOT of software written that doesn’t end up being used by the general public. Or software that was online at one point and has since been removed. The vast majority of the software I’ve ever written is internal corporate software. Or, it’s the guts of a system that powers a public facing system. So, there’s nothing to “show”, really.

For example, one such system I wrote years ago at Southwest Gas was a system integration between their Interactive Voice Response (IVR) call system and their backend mainframes and databases. My code was used to connect callers to their accounts so they could get their payment, balance and other information via the phone. This system handled ~2 million requests per month flawlessly. So, yeah its a cool system, but unless you’re a natural gas customer in the US southwest, you’d never be able to see or use it.

Anyway, more to come in the future. I am going to do my best to make this a useful blog for developers and folks curious about software in general. Stay tuned!

Technical Interviewing is Hard

We have been doing a lot of technical interviewing lately trying to find new candidates for open positions. It has been challenging to say the least to find quality people. Even if we find quality people, they have often failed at a 2nd stage interview.

I came across this article in my daily reading today:

If you have to hire technical talent – take a few minutes to read the above, its worth the time. It speaks to the problems with technical interviewing today. It is spot on and addresses the problem of the interview itself. It is only a tiny window into the capabilities of the candidate. You need to talk to and interact with the candidate multiple times before you can really assess their skills.

In my interviews, I always want to make sure at least one other person interviews them separately. Ideally at least 3 separate interviews with different interviewers across at least 2 days. That way you can really get a sense for their skill and personality.

What about Coding Tests?

Experience shows me they are a waste of time. I’ve used them to hire. They did not predict whether a candidate could code at all.

I’ve done them for job interviews and failed them. Ha. Yeah, really. I’ve been coding for 36 years and have built every type of system under the sun. But, there have been cases where I’ve failed tests because the tests suck.

Yeah I said it coding tests SUCK.

Testing someone over an hour or two is meaningless. Testing their knowledge and usage of some obscure algorithm or some weird JavaScript library is not useful. If anything it can give you a false positive. Someone who can implement bubble sort really well is not necessarily even remotely a good developer.

Based on the stats I’ve seen most people are taking the tests are failing. So really, all you’re weeding out a ton of good candidates over some arbitrary test.

I don’t put a lot of stock in the automated coding tests that are becoming all the rage. Why?

  • They are often so contrived to be not relatable to the real world. Who cares if someone can recite and recreate quick sort in Go?
  • They can and are cheated, all the time. So if you get some one who aces the test – can you really trust the results?
  • The results aren’t trusted when someone DOES score well. Example: I’ve interviewed three times with a company. (Long story, but I did work with them and was offered a job 2 of the 3 times.). This company use the CCAT test – a standardized timed online test with 50 questions. I scored 47, 45 and 50/50 in my tests. All of these are very high like 98th percentile or higher results. Yet the company said they only do the test because process – no one cares about the results because they think people cheat the test. Yikes.
  • Automated tests almost always work with niche libraries within a technology, testing esoteric library knowledge and not coding knowledge.
  • Finally, online coding tests that aren’t simple, contrived examples, often expect you to build a complex application solution in an hour – and then you get judged on whatever piece you completed. Hiring managers should be interested in code quality, not raw coding speed.

So what is better? White boarding, discussion, and explanation. Ask your candidate to talk and walk through something they built. Ask for details. Then ask for more details. If they built it, and they truly understand it they will be able to describe it in detail, including how it was built, why decisions were made, and what problems they solved. White boarding and discussion can be far more informative of a person’s history and knowledge.

Candidates that can do that – are the ones you want to hire.

Web Development Services

Are you looking for development help on your next web app or web site?  Need an API built yesterday?  Lets connect and see how I can help you.

I have been developing for the web for more than 20 years.  I was developing in JavaScript WAY before it was cool.  I built applets in Java back when that was a thing.  More recently I’ve been using more modern frameworks like React, Angular, Ruby on Rails, etc.  I would love the opportunity to help build your next web project.

Contact me and lets see how I can help. If you have a larger project that needs a development team – I have associates I can assemble to develop your new web site or web application.


iPhone and Android Development Services

Do you have the next great app idea? Or maybe need to do some upgrades on an existing app?  Lets connect and see how I can help you.

I have 10 years experience developing mobile applications on iOS, and nearly as much developing for Android. I’m comfortable with native development, or cross platform development using Unity or React mobile.

Contact me and lets see how I can help. If you have a larger project that needs a mobile app dev team – I have resources I can bring to bear to assist.


Amazing Servers for Minecraft – Now Available for iPad, iPhone and iPod!

screen322x572After months of development, I’m happy to announce my latest app – Amazing Servers for Minecraft – is now available on the App Store!  Amazing Servers for Minecraft follows in the footsteps of Amazing Seeds for Minecraft.  It is an app that contains all the greatest Minecraft servers for both Pocket Edition and the desktop PC/Mac Editions of Minecraft.

I’ve carefully reviewed and tested each Minecraft Server before I include it in the app so only the best makes it in. Part of my testing is to make sure the games on each server are fun, work well and that the server is not laggy or crash prone.

Download Amazing Servers for Minecraft and check it out today!  Like almost all of my apps, it is free!