Utilize software development life cycle to create useful software applications which can save time and money. Convert worthwhile ideas and/or requirements to software applications. Be it Desktop, Internet-of-Things (IoT), Edge (Microcontroller based) computing. Graphical-User-Interface (GUI) or Command-Line-Interface (CLI) applications. From requirements, design, coding and testing to release and deployment supported by Continuous-Integration/Continuous-Deployment (CI/CD) and Agile (Scrum/Kanban) practice.