How do you get exceptionally good at finding code for a problem (application/software) that is already been coded?
-
I reckon abstractions and standing on shoulders of others is "really" important skill when the code takes lot of lines in today's solutions. Frameworks is one of the things, but beyond that most of the thing that you want to do is perhaps coded so you can just focus intensively on the problem you are dealing with while using that code (before reading, understanding it thoroughly and most probably overwriting it to fit your architecture which i assume takes lesser time than, case here is quora's use of pylons). Here is an example: You get an eCommerce site/application to be coded. I would think its already been done, i pull out the guts of the things this site should really be about and what is the thing that's different that needs to be coded(UI and stuff) and perhaps overwrite things like auth etc at the backend if i think its needed. I did this by pulling code from my companies's svn (they had done an eCom in the past), in half an hour i had a solution comparable to http://alibaba.com with every line of code on our server. I had that in the company, but if i'm doing something in general how do you get good at finding every nuts and pieces already created and use them to build better things? As an aside i have met a few people(including my CEO who is exceptionally good at this - he knows every thing is already done you don't need to do it, focus on real thing making their APIs etc and making the product "great" - perhaps experience brings that), but i want some analytical insight into the method. and some ideas.
-
Answer:
The approach is going to be different for similar problems that you've solved before v/s new problems. If you are a company that does the same thing over and over, say setup eCommerce sites or blogs, the best way is to maintain a matrix of features & projects. That way when a new project comes in, you can use an earlier project that best matches the required features (for blogs: guestbook, contributor login, email alerts for comments, social integration, etc) If you are solving a new problem each time, the most important thing is to understand the problem, and arrive at the end result. For example, my dad once wanted a to prepare a schedule for equipment repair based on some data. I prepared a visualization of the end result in Excel. The next step is to identify the right technology platform to deliver the product. You would find it hard to believe that often I've written programs using plain Excel formulae (like for the problem above), HTML+JS (to read local files & render a tabular view) and even DOS Batch programs (setting up random mailboxes within MercuryMail for testing). In the HTML+JS example above, the person wouldn't have the skills to install a webserver or .NET framework and I didn't have the time to compile an EXE. I gave him a HTML file he could click on any machine, keep the source file in the same directory, and get his result. Worked just fine! As a developer, you really need to be lazy. If you are committed to not writing the same lines of code twice, you will end up focussing on the problem itself and eventually deliver a great solution. Good luck & Hope this helps
Prasad Gupte at Quora Visit the source
Related Q & A:
- How can I get some good free products?Best solution by Yahoo! Answers
- How could I get really good at Team Handball?Best solution by answers.yahoo.com
- What is a good thing to put on a job application when they ask whats the reason for leaving the position?Best solution by Yahoo! Answers
- How do i get my 4-digit PayPal code?Best solution by Yahoo! Answers
- How do I get really good at chess?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.