I don't know if this is the right forum to ask this question but can someone please guide me on how to improve my designing skills? Everyone says you get it by experience, but I don't know how to start. I just know I would need a good amount of practice to get some confidence. I am not sure where to start, how to measure my progress. Would really appreciate it if someone could give me some guidance on this.
Short answer : Through continued work and experience gained in the process
Long answer : Read on..
Step 1. Go through some of the common design patterns ,and try to build a general understanding of what kind of problems each pattern aims to solve. You could then probably take a look at the implementation (and the design docs,if any) of the product you are working on.Then try to identify the design patterns in the implementation. That would reinforce your understanding of the desing patterns ,in general.
Step 2. Start working on some problem by analysing it from different perspectives. Understand the performance and scalability requirements of the same,the kind of user load the solution could be exposed to,whether it would be wise to make the system concurrent etc.
Step 3. Test and see if your design meets the perf/scalability benchmarks
Step 4. Loop 1-3 till you get the appropriate design meeting the benchmarks.
In the process you would definitely develop design skills.