Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Seeking Distilled Software Engineering Experience

knapper_tech (813569) writes | more than 2 years ago


knapper_tech writes "I'm a 26-year-old web programmer self-trained in nice MVC based frameworks, including Yii and Django, with their ORM's, well-packaged extensions, database agnosticism and all that other high-minded stuff thrust into a professional track of imperative PHP and MySQL. As usual, believing in high-minded concepts is never quite as informative as witnessing the cascading bugs in haphazardly maintained, undocumented code that never seems to go away and stay with the customer. In addition I get a lot of blown projects by would-be developers in the door. In the spirit of reuse, what are some really good pieces of literature for one to hone their use of the force? I'm not so much asking for logical proofs of why a certain pattern is always better than another, but moreso examples of, "This was the code, this was the fallout, and this was how to decouple it and hook it in properly." I'll be able to pick up the core concepts on my own reading. What I can't duplicate economically (time being priceless) is time spent in the industry. What of course would be most informative is what practices you as a coder hope to find when expecting my code to have a useful lifetime in a code base."
Link to Original Source

1 comment

Code Ownership? (1)

Dragon Bait (997809) | more than 2 years ago | (#37535416)

Good goals. Keep in mind that unless there are special circumstances, if you're programming for hire, the code doesn't belong to you but to the [person/company/employer] paying for it to be developed. I'll assume that you've already worried about all the legal niceties.

I have a library of code that I keep with me as I make my around the extensive customer site. At this point there are two thing that every item in my library is required to have: documentation and unit test. For the most part, class documentation is at the Doxygen level and covers why more than anything else (especially if there was a choice of approaches, why ones was taken over another. Some times it boils down to "this was good enough at the time and I didn't have the resources to test the other approach"). The unit tests double for "how this class is expected to be used".

From a design perspective, if I was going to boil it down to one pithy little paragraph -- I would say have a class/module/abstraction do as little as possible; have each design decision contained in one and only one class; and only have one design decision within a class.

Remember that there are very few short-cuts to true understanding. I'm reminded of the med-student who went into programming and was horrified to learn that he would have to start at the bottom to become a great developer. Of course he could comprehend that a great developer would have to start at the bottom if they wanted to become a medical doctor.

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account