# Tips I learned to solve problems in Software Engineering

# Introduction

**Context:** This was part of my early cloud and infrastructure learning journey. I’m keeping it here as a reference

Ever since I started my journey into Software Engineering, I have known others who have experienced the fast, ever-changing field, which can become overwhelming. They gradually quit at some point or follow the latest trends wherever it leads them.

These trends, however, have the same purpose in common, to solve problems in our everyday lives and society.

Even though I am from another technical background(Materials Engineering), I always find myself stuck whenever I am given a problem to solve in **coding** and do not know what to do or where to start, hence, this article. I will explore, shortly three main approaches to problem-solving that I discovered.

> *Question: How is it possible to build or invent a solution or discover a fact?*

### Mathematical method

*   Understand the problem
    
*   Find the connection between the data given and the unknown.
    

### Turning problems into code

*   Understand the problem
    
*   Discover Inputs, Processes/methods, and Outputs
    
*   Driving Design with Tests
    
*   Writing the Algorithm in pseudocode
    
*   Writing the code
    

### When coding: Debugging

Read more on debugging written by @[German Cocca](@GerCocca) 👉🏽 [here](https://www.freecodecamp.org/news/what-is-debugging-how-to-debug-code/)

References

1.  "*Exercises for Programmers 57 Challenges to Develop Your Coding Skills*\*(Chapter 1)\*\*\*" - Brian P. Hogan
    
2.  "*How to Solve It*" - G. Polya
    
3.  "*3D game programming for kids: create interactive worlds with JavaScript*\*(Chapter 2)\*"\*\* - Chris Storm
