6 Important Skills for Making Apps

Connor Shorten
4 min readJul 15, 2018

Of the many exciting ways to become an entrepreneur, many are attracted to software technology; building apps and selling them through smartphone stores or online on laptops. If you are a software developer trying to be a Jack of all trades, hopefully this list will help you frame your understanding of the game. If you are reading this from the perspective of a non-technical founder, this will help you get insight into how to build a software team.

I. UI / UX Design

Like the aesthetic beauty of the Lamborghini aventador model is to the car, UI is to the app. User interface design refers to the graphic design, animations, and overall style of the app.

WALLET APP 2 by Ning xiao dong

Discovered on Muzli Design Publication: Muzli.

II. Front-End Programming

As everyone who has worked on HTML, CSS, and JavaScript know… there can be a bit of a learning curve. While it is easy to sketch out how you want your app to look, there are still reasonably difficult challenges to implement it. This is why JavaScript frameworks such as Angular and React are so famous and popular in the development world.

React, created by Facebook, is the most popular front-end JS framework. React is in fierce competition with Angular, from Google. The battle between these Tech Giants are manifested through their open-sourced JavaScript frameworks.

III. Back-End Programming

The battle between back-end frameworks has resulted in much more variance in technologies than front-end. Ruby on Rails, PHP, Java, and C++ are now considered some of the legacy softwares, (with Java being the most used in industry and PHP being the easiest to learn). The new languages that are the most popular on the back-end is Python, (for Machine Learning (IV), and Node.js for the Microservice architecture.

Microservices architecture is the hottest thing in back-end programming because of cloud infrastructure such as Google Cloud and AWS. Instead of deploying monolithic code bases on servers as is typically done in Java applications, (alleviated with things like the Spring Framework).

Additionally, I think Node.js is great because of the open-source community and documentation pages. Reading through software documentation can be very difficult, but useful.

IV. DevOps/Version Control/Organization

If you have never heard of Github before, you are likely not a software developer. Github is very popular because it helps people share code with each other. This is incredibly useful when trying to build software with teams of people.

DevOps and the automation processes involved with configuring a Website with the network is becoming much more popular. One of the main benefits of Git version control and DevOps is to properly manage the scaling of web applications with many users. Scaling websites to millions of users obviously comes with massive success, but it also presents a technical challenge with regards to Database Storage and Server Providers.

V. Machine Learning Engineering

Machine Learning and Deep Learning is the most exciting technology in Computer Science right now. From Amazon Alexa’s ability to hear and understand when you tell it to “Play Drake Songs” to Google Duplex passing the Alan Turing Test of Artificial Intelligence at Google I/O.

Data Science in general, encompasses of massive scale of business operations. From Financial costs to usage analytics. There is a massive overlap between exciting Computer Science applications such as Computer Vision, Natural Language Processing, and Generative Adversarial Networks… and using Data Mining tools to optimize details of running businesses.

If you want to get started with Computer Vision, please check out my tutorial on Neural Network image classification with Nike and Adidas basketball shoe designs.

https://medium.com/@connorshorten300/how-to-build-a-convolutional-network-classifier-81eef880715e

VI. Business Development

Abbreviating this entire skill as ‘Business Development’ may seem offensive to non-technical entrepreneurs. However, from a software developer’s perspective it is still important to learn how to promote themselves, negotiate contracts, and deal with team management dynamics.

Of the massive list of business tendencies to be learned over time, some of the most fundamental categories are: Marketing, Finance, and HR. For your startups, marketing people will be concerned with promoting the app, most likely on twitter, google search, and more. Finance people will have to deal with server costs, api use costs, cost of hiring freelancers, cost of hiring in-house employees, marketing costs, and more. HR will have to deal with scaling massive engineering, marketing, etc. teams of people.

TL;DR

Please let me know what you think about this list of skills, for builing web and mobile apps. Thanks for reading!

CShorten

Connor Shorten is a Computer Science student at Florida Atlantic University. Research interests in software economics, deep learning, and software engineering.

More where this came from

This story is published in Noteworthy, where thousands come every day to learn about the people & ideas shaping the products we love.

Follow our publication to see more product & design stories featured by the Journal team.

--

--