How do you problem solve?
-
We all know programming is problem solving, and often the ability to problem solve effectively is one of the most desired traits in a professional programmer. However, compared with syntax books and tutorials, there are surprisingly few articles on steps used to problem-solve any programming-related task. Give us a list of general steps that work for you to solve programming problems. Here is mine. Feel free to critique it as well: 1. Determine the problem. 2. Break the problem down into smaller problems 3. Prioritize the smaller problems 5. Think of solutions for the first problem on the list and begin working 7. Review code and make it better I often hear in interviews that people are "Trying to see how the candidate solves/approaches problems," so clearly this is a big one. Also, please note that the scope of this post is specifically smaller problems such as basic algorithms used in programming tests. Not talking about system architecture here. Any tips appreciated.
-
We all know programming is problem solving, and often the ability to problem solve effectively is one of the most desired traits in a professional programmer. However, compared with syntax books and tutorials, there are surprisingly few articles on steps used to problem-solve any programming-related task. Give us a list of general steps that work for you to solve programming problems. Here is mine. Feel free to critique it as well: 1. Determine the problem. 2. Break the problem down into smaller problems 3. Prioritize the smaller problems 5. Think of solutions for the first problem on the list and begin working 7. Review code and make it better I often hear in interviews that people are "Trying to see how the candidate solves/approaches problems," so clearly this is a big one. Also, please note that the scope of this post is specifically smaller problems such as basic algorithms used in programming tests. Not talking about system architecture here. Any tips appreciated.
To Solve any problem whether smaller or bigger a Programmer should follow The software development life cycle (SDLC) ,Software Development Process. Which includes many steps like: Review the problem(Reproduce the problem), then Investigate the reason behind it, design how to solve the problem , check effected areas, codding , Testing :)
-
We all know programming is problem solving, and often the ability to problem solve effectively is one of the most desired traits in a professional programmer. However, compared with syntax books and tutorials, there are surprisingly few articles on steps used to problem-solve any programming-related task. Give us a list of general steps that work for you to solve programming problems. Here is mine. Feel free to critique it as well: 1. Determine the problem. 2. Break the problem down into smaller problems 3. Prioritize the smaller problems 5. Think of solutions for the first problem on the list and begin working 7. Review code and make it better I often hear in interviews that people are "Trying to see how the candidate solves/approaches problems," so clearly this is a big one. Also, please note that the scope of this post is specifically smaller problems such as basic algorithms used in programming tests. Not talking about system architecture here. Any tips appreciated.
TheOnlyRealTodd wrote:
there are surprisingly few articles on steps used to problem-solve any programming-related task
..because it would be the same abstraction as you described. It is also not limited to programming, it is a basic pattern that most people follow. Diagnose Prioritize Plan Implement Review Outside of that, the only other approach you could try is using gasoline, a lighter, and threathening the problem.
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)
-
We all know programming is problem solving, and often the ability to problem solve effectively is one of the most desired traits in a professional programmer. However, compared with syntax books and tutorials, there are surprisingly few articles on steps used to problem-solve any programming-related task. Give us a list of general steps that work for you to solve programming problems. Here is mine. Feel free to critique it as well: 1. Determine the problem. 2. Break the problem down into smaller problems 3. Prioritize the smaller problems 5. Think of solutions for the first problem on the list and begin working 7. Review code and make it better I often hear in interviews that people are "Trying to see how the candidate solves/approaches problems," so clearly this is a big one. Also, please note that the scope of this post is specifically smaller problems such as basic algorithms used in programming tests. Not talking about system architecture here. Any tips appreciated.
Without any "artifacts" (i.e. deliverables), the "process" is useless; i.e. 1) Scope (Context diagram) 2) Problem Definition (doc) 3) Preliminary analysis (level 0 DFD; UML; whatever) 4) - Current physical 5) - Current logical 6) Design 7) - New logical 8) - New physical etc.
"(I) am amazed to see myself here rather than there ... now rather than then". ― Blaise Pascal