design software
analyze problem first attend course become computer literate comit suicide computer geek consider end use define data to processed define goal determine need earn college degree feel free follow right steps fully understand problem domain get degree in computer get degree in computer technology get degree in software engineering have aptitude for logic have been smarter dumb ass have computer identify requirements know about design patterns know application know end result know enough about computer programming know how to do so know what catches people's eye know what goal learn data modeling learn programming language learn to program learn to program computers make plenty of coffee plan software prepare and analyze problem software engineer study computer science study design patterns study problem domain carefully take computer programming class take course take programming class talk with users understand problem understand systems understanding programming language