Developing an AI

Samson Hong
Advanced Design for Artificial Intelligence
2 min readSep 20, 2018

With my software engineering background, I already know my role in an AI team would be a developer but the role would be slightly different. In a normal software product team, developers are responsible for bringing ideas into reality. They’re the brain and the muscle behind the entire product. However, for an AI team, I believe the developer’s job is to bridge the gap between product designers and data scientists. As a developer, I would have to ensure the machine product designer wants to create is realistically possible and at the same time, deliver the data recorded by the AI to the data scientist.

Perhaps, software developers are the one who works closest with AI so it only makes sense that our job is heavily affected by it. One area that has been heavily researched is the debugging process. If you are unfamiliar with software development, 90% of the cost goes toward the debugging process, or finding an error and fixing it. This process is very tedious and time-consuming because no matter how experienced you are as a developer, you will always need to do it.

This is where AI and machine learning comes into play because what do these technologies excel at? Pattern recognition. A lot of human errors share common behavior and as hard as it is for us to admit, we tend to make the same mistake over and over again. Especially in the debugging process, it is almost universal that if you made some type of error, another developer has already made the same error before most likely(this is why StackOverflow is so useful to us). If an AI can collect and recognize previous errors made by software developers, then it can perhaps debug part of the program for us.

Remember how I mentioned debugging makes up 90% of the software development cost? Now, if we can lift even 5% of the burden by using an AI, I say it’s a successful product. There already have been numerous research done by this same idea, but none of them are good enough so far. If this AI were to be developed, will my role be replaced? No, because even if the AI can help with the debugging process, I know for a fact it will take a long time before it can solve complicated logic error. Even if an AI were to be developed to take over the debugging process, my job would still be necessary because someone would still have to be responsible for developing a software not just fixing it. If anything, I can’t wait for an AI to help me with debugging so I can focusing on developing interest product instead of wasting my time finding errors.

--

--