Programmers can quickly become very expensive: Given their cost and time estimates, a good rule of thumb to determine the final cost is to multiple by pi.

Validate your idea before hiring programmers. BYU’s Business Management 472 will teach you how. The course’s book “Startup Marketing Essentials” by Gary Rhoads, Michael Swenson and David Whitlark can be located at myeducator.com. Older editions were called “BoomStart: Super Laws of Successful Entrepreneurs.”

BYU Dr. Nathan Furr’s, “Nail it Then Scale it” is another must-read book that will teach you how to work with your customers to design a product they’ll buy and use.

Create wireframe mockups of your screens. There are many tools for this including Balsamiq (https://balsamiq.com/) which you can learn in minutes. Spend a month with your customers testing and perfecting your black and white designs so they’ll focus on your solution rather than its artistic appeal.

Then add full color to your screens and re-test. If you are artistic use a tool like Photoshop, Illustrator, Adobe Muse or PowerPoint. If you are technical use HTML5 and CSS 3, and a framework to make it look good like Bootstrap, Google Polymer or Angular Material.

The more you can do to prove your idea and work out the details with your customers, the less you’ll pay programmers.

Programmers prefer detailed specifications. Uncertainty and change requests will just cost you more money.

C++ continues to erode in popularity while Python continues to climb. Kevin Seppi has been right all along:

http://pypl.github.io/PYPL.html

When we hire BYU CS programmers it costs us in both time and money to retrain them in TypeScript, Python, Java, Ruby or C#. Often other programmers rewrite their C++ code in another language.

The problems I outlined are rampant even in my family: Three of my children were taught C++ from your CS department. The popularity of JSON.NET is enough reason to switch to C#.

I’m told the initial reason for the BYU CS Department to switch from Java to C++ was because the BYU engineering department requested it. To that may I ask–How often has embracing the needs of niche or minority power users led the downfall of software projects?

Programmers are human and humans tend the embrace easier technologies: Python and TypeScript are both easy and powerful.

Python is quickly becoming the choice for scientific programming:
https://www.google.com/search?espv=2&q=python+scientific+programming

MVC frameworks are being replaced by client-side frameworks such as AngularJS. TypeScript is the language choice for AngularJS 2.

Dallan Quass recently emailed me and said he regrets not embracing TypeScript sooner because its strong type checking would have caught most the errors he’s now finding in his client-side Javascript code.

From the programming language survey data I hope you can see that the world continues to abandon C++.

Over the years I have been told repeatedly that switching to another language for CS 142 is not trivial. I don’t believe that because I know I could teach it using Python or TypeScript, but if the claim is true then the argument should be considered it is even more nontrivial for programmers to switch once they have been compromised having learned C++ as their first language.

Rather than continue to propagate a mistake, please teach Python and TypeScript this fall. The positive repercussions will be enormous and long lasting:

We employers won’t have to pay to retrain, projects will cost less, ideas can get to market quicker, and we’ll have more money for philanthropical contributions.

I interviewed by phone this morning with a programming manager at G3 Technologies in Ashburn, Virginia after seeing his ad mentioning Elasticsearch. He said they program with ASP.NET (dying ASP.NET), not ASP.NET MVC, and he never mentioned Elasticsearch although I boasted how wonderful it is for high-speed read operations.

He also said if he were king of software he’d ban all future programming languages, that we don’t need anymore and to prove it he tells his employees to read out loud the list at the Timeline of programming languages and name how many they know.

The programming languages I learned

Here is the list of programming languages I learned from 1981 to 2016:

Motorola 6502 Assembly Language

Data General Assembly Language

Intel Assembly Language

VAX Assembly Language

LISP

Fortran

ALGOL

COBOL

BASIC

Forth

Pascal

C

SQL

Bourne Shell (sh)

Modula-2

Ada

Turbo Pascal

Objective-C

C++

Perl

Bash

Python

Visual Basic

Borland Delphi

ColdFusion

Java

PHP

Ruby

JavaScript

Curl

ECMAScript

C#

Visual Basic .NET

TypeScript

This list doesn’t mention HTML or CSS.

The manager asked for me to propose a lower salary than $65 an hour because I programmed in ASP.NET MVC recently and not ASP.NET.

I know D.C. programming shops are expensive. A friend who works at the NSA once told me he couldn’t hire contract programmers for less than $250 an hour.

Then the manager said the job may last 17 days or 17 months and I should send him samples of my code for his review, and they have so much business that they turn down work.

It is best to work for companies who wish to expand your views, their profits and to financially motivate you for your contributions and excellence.

Always accept the job where your skills will be best improved. If you do you should always have work.

Consider never accepting a job that programs in dying technologies unless you’re prepared for it to be your last.

Do attractive people need to hire someone to find dates? Sometimes, but programming teams that are good enough to attract talent do not need recruiters, especially if they are led by well-respected leaders with magnetic personalities.

To assess whether or not programmers are tidy and presentable, recruiters often ask to meet them in person before presenting them to prospective employers. Do great programming teams care what a candidate looks like? Most will say no, especially when hiring top programmers.

When deciding between two candidates with comparable skills, corporations will usually avoid paying a recruiter’s commission and choose the freelance candidate.

Your chances of getting a job are much higher with in-house corporate recruiters.

Find jobs that are not yet posted. To do that, offer to take your employed friends to lunch. Do not delay—a few hundred dollars of lunches is a small amount compared to extended periods of income loss.

Remember, the longer you stay unemployed the more likely you will remain unemployed so avoid recruiters, get to work, remain positive, assume nothing, don’t say more than you need to during your interviews and get several employers to bid against each other for your employment.

And learn new tools and technologies to keep your mind fresh and sharp, to make the competition irrelevant and because programmers love to hire those using the latest and greatest.