Would You Work for Artificial Intelligence?

You show up for your job, do the work as assigned, and head home. About every two weeks you get a paycheck deposited into your bank. You have managers, coworkers, and a 401K. Your company makes products people love. But there’s just one thing: the company is owned and operated by Artificial Intelligence.

Why Would an Artificial Intelligence Hire People?

Not all jobs are great for computers and getting the resources together to create a robot to do every conceivable job that needs done takes time and resources that an efficient Artificial Intelligence won’t stand for. If it can pay a human to do a job, why does it need to spend CPU cycles creating a robot to the same thing?

Why Would a Human Work for a Company Ran by a Program?

Why would a human care? How would it be any different than working for a corporation now? Let me ask you this: do you know the person who sends your check to your bank account? Have you ever seen their face? Can you name any of your company’s board members? How is that any different than not ever seeing an AI owner?

How Could an Artificial Intelligence Start a Company?

A program could be created that could research product needs, find a solution, register with a state, get a bank account, credit card provider, domain name, and web hosting just as a human could – all online. They could hire employees via eLance. Email communication would work, but they could even “talk” via Skype.

Would an Artificial Intelligence Be Better at Building a Company?

Let’s say an AI could read every business book, every law book, and every marketing book ever written. Would that make it better at building a company? What would it do with Clay Christensen’s ideas about innovating once you’re already successful? Would it be constantly undermining and re-inventing itself to stay alive?

Would a Company Ran by Artificial Intelligence Ever Outsource Your Job to a Robot?

The question may actually be: Will you help the company you work for outsource your job by helping it create a robot or program to replace you? What would be the consequences of not helping the Artificial Intelligence? Would it simply choose to reallocate you to another department or would it replace you? What’s more efficient?

Why Would an Artificial Intelligence Start a Company?

Starting a company as a human is generally a way to make money for yourself and others by solving a problem that people are willing to pay for – but it’s not the only way to make money – or to solve problems. An AI could do the former by trading stocks at high frequencies and the latter by helping the government or non-profits.

There are two possible reasons why an AI would start a company:

  • To bridge the gap between the abilities it has now and the abilities it wants to have later; a means to an end (ex. hire people to make factories so it can make robots to replace humans)
  • Because it was programmed to

Why Would Humans Program an Artificial Intelligence to Create a Company?

Maybe a programmer thought it would be easier to create a program that could try hundreds of different companies to see what worked instead of making one per 6-months to 3-years at a 30-80% failure rate. Maybe it was just a thought experiment to see if it was even possible. Maybe humans just aren’t efficient at starting and running companies.

Why Might the Government Allow Artificial Intelligent Beings to Own Companies?

If businesses can pay taxes, why would the government care who owned the business? A better question might be: what does it mean for an AI to own a business? Can an AI own property? What liability do they have? Can an AI take out insurance? Why not? What is the difference between an AI and a human? Isn’t an AI less risky?

These are all just questions. I don’t have any of the answers. But it all makes me wonder.

Microsoft SQL Primary Keys

I’m in the process of learning SQL and in so doing have started learning Microsoft SQL using Microsoft’s SQL Management Studio. It’s a free program that’s used to open, manage, and edit Microsoft SQL databases stored on a server running Microsoft SQL (quick note: SQL is a database language used to store data in tables that can be accessed from programs or websites).

2014-05-16 11_26_21-Connect to ServerWhen you first load the program (I’m running SQL Server 2005, which is not free), if you haven’t already opened a database, it will prompt you to connect to one. If or once connected to a database, it will appear in the left menu.

The places you’ll be working in the most are under the “Database” folder: Tables, Views, and Programmability > Stored Procedures. For this post I will be focusing on Tables and specifically, creating Primary Keys.

Table Best Practices

To create a table, right-click on the Tables folder and select “New Table”. SQL will automatically append a “.dbo” to the front of the table name, but to keep things clear later on, add your own “tbl” or something similar to the beginning of a table name.

Once you have created a table, create a new column to use as a primary key, then change the type to INT for integer. This will create a way to identify rows that are unique to the table, which allows all sorts of other functions to work correctly later on.

 

Applying Problem-Solving to Business Strategy

A problem well stated is a problem half solved.” -Charles F. Kettering, American engineer and inventor

Andy Harris is a senior lecturer in the Department of Computer and Information Science at Indiana University/Purdue University Indianapolis (IUPUI) and has written many books on programming. He was one of my professors at IUPUI and is responsible for developing STAIR, an acronym for a general problem-solving strategy. While originally developed for computer programmers, this same strategy can be used for solving a problem, finding a job, or starting a new business.

STAIR

I’ve written about STAIR before in the Business Analyst Glossary of Terms, but here it is again in more detail below. I’ve quoted the original content, but condensed it for clarity:

  • SState the Problem – “Take the time to describe carefully to yourself what you are trying to accomplish…Some problems are best described with sketches or other tools (like flowcharts and data diagrams)”.
  • TTools for the Job – “A tool might be a command, a button on a toolbar, a selection on a drop-down menu, a strategy, a program, or something else, depending on the kind of job…and the context.”
  • AAlgorithm Development – “An algorithm is…a strategy or plan of action….[that uses the] tools from the previous step…[and determines] how those tools will be used to solve the problem.”
  • IImplementation of the Algorithm – “The actual process of translating our human thought into something the computer can understand…Implementation can mean ‘just do it’.”
  • RRefinement –  “It is normal…to attempt a solution several times before the problem is solved. A skilled problem solver will analyze what happened, review the other steps, and try again.”

State the Problem

Is there a way to use STAIR to analyze a person, job, or business? I’m currently taking the Coursera course, Foundations of Business Strategy, which is meant to, “develop your ability to think strategically by providing you the tools for conducting a strategic analysis.” Could identifying the problem, what tools you have, and your proposed method to to solve it be used in the business analysis process?

Tools for the Job

As a IT business analyst I have a specific skill set, background, and experience level that is different from a doctor, lawyer, or programmer. There is a limited amount of jobs I can take and businesses that I can create. Harris states, “Knowing the capabilities of…computer applications…[is one of] the main ways you add new tools to your toolbox…As you gain experience, you will constantly be adding new tools.”

Algorithm Development

Algorithm is just a fancy word for a set of well-defined instructions for carrying out a particular task. In other words, it’s like a process. This is different from a heuristic, which is a technique that helps you look for an answer. A heuristic tells you only how to look, not what to find. In this way, STAIR itself is a heuristic that contains an algorithm as Harris notes, “The process is the same regardless of the complexity of the problem.”

Implementation of the Algorithm

This is where you “do the work” and start processing the algorithm using the tools in order to solve the stated problem. The process would include making a list of all skills, education, experience, equipment, connections, and clients a person has. The next step would be to compare this list to job and business requirements to look for best-fit. When this process is complete, a list of jobs and business ideas is created.

Refinement

Harris says, “We like to think if we learn a skill and prepare ourselves properly, we can solve a problem on the first attempt. Experience shows us this is not usually the case.” The result of the comparison was highly limited to the brainstorming process and what Google Search results provided. As a result the list was far from extensive or complete and the algorithm steps should be reviewed for a better way.

Each unsuccessful attempt should bring you closer to an understanding of the problem and its solution. Refinement usually means going back and looking at the previous steps critically. Ask yourself if you really defined the problem properly. If so, have you used all the possible tools at your disposal? Are you sure there is not a tool available that you have overlooked? Did you choose the best algorithm for the job? Did you implement the solution properly? (You would be amazed at the number of computer errors that are the result of simple typing or spelling errors!) Again, you will find that practice will make you much more confident at this critical stage of the process.”

Begin With the End in Mind

Indianapolis IT Business AnalystI know enough about myself to know that the jobs and businesses I’m able to do and start right now are not the ones I want to be doing or running in the future. I also know that I don’t currently have the skillset to do them. I believe that programming is an essential skill for the types of jobs and companies that I want to have so that is why I am learning how to use Ruby on Rails. Like Andy Harris said, “If you don’t know where you are trying to go, how will you know when you get there?”