Click here to Skip to main content
15,666,286 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I'm working as a software developer for around 8 years now and have worked with mostly companies offering outsourcing services.The challenge so far was mostly - learn the new tech, showcase through a prototype/POC and implement it in the assigned project. Over the years, technologies changed, but nature of work remained the same - javascript, jquery, webforms, silverlight, MVC, etc. But now, am trying to transition to a software consultant role and one of the feedbacks that I received was - "Try to think in depth, as to not just use a feature but to relate it to the most basic concept that you know." e.g. as a best practice for string concatenation in C#, we know that we should be using stringbuillder and also know why we should be using it (string immutability), but the question was - How would you implement a StringBuilder class from scratch?

I'm not sure how to train myself for becoming ready for design thinking and making myself ready for in-depth thinking and analysis (since most of day to day tasks never require such rigorous drill-down).

PS: Sorry for long question and also even though the question is not suitable for platform, I would still be happy if anybody could point to a correct forum/community where i can reach out for guidance.

What I have tried:

I've seen people earning certifications but even those simply scratch the surface, they don't necessarily provide in depth knowledge.
Updated 26-May-20 2:31am
Richard MacCutchan 26-May-20 8:26am    
The best (not always the fastest) way to in depth knowledge (in any field) is through practical application. It is not really a concept that can be taught, or learnt, in formal ways.

1 solution

Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900