10 concepts se need to know

Upload: duc24101986

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 10 Concepts SE Need to Know

    1/17

    pdfcrowd comopen in browser customize free license

    Hacker News

    Top 10 Concepts That Every Software Engineer ShouldKnowByAlex Iskold / July 22, 2008 8:21 PM / 78 Comments

    Key Trends Top Topics Channels Reports International About Subscribe Contact Advertise

    Subscribe to ReadWriteWeb

    Home Archives Features Tags Best of RWW Featured: ReadWriteCloud

    43Share

    Search powered by Lijit

    http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.addthis.com%2fbookmark.php%3fv%3d250%26winname%3daddthis%26pub%3dreadwriteweb%26source%3dtbx-250%26lng%3dc%26s%3dhackernews%26url%3dhttp%253A%252F%252Fwww.readwriteweb.com%252Farchives%252Ftop_10_concepts_that_every_software_engineer_should_know.php%26title%3dTop%252010%2520Concepts%2520That%2520Every%2520Software%2520Engineer%2520Should%2520Know%26ate%3dAT-readwriteweb%2f-%2f-%2f4daac09ed708b62f%2f1%26uid%3d4daac09eead446bb%26sms_ss%3d1%26at_xt%3d1%26ui_cobrand%3dReadWriteWeb%26CXNID%3d2000001.5215456080540439074NXC%26tt%3d0&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2fauthor%2falex-iskold-1.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23disqus_thread&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.facebook.com%2fReadWriteWeb&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fad.doubleclick.net%2fclick%3bh%3dv8%2f3aec%2f0%2f0%2f%252a%2fe%3b44306%3b0-0%3b0%3b22116796%3b27289-970%2f120%3b0%2f0%2f0%3b%3b~okv%3d%3bsz%3d970x120%3bfmzid%3d2562%3b%3bfmcls%3dATF%3btile%3d2%3bqcseg%3dD%3b~aopt%3d2%2f1%2fa3%2f0%3b~sscs%3d%253f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftrends%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftags.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2freports%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fabout%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2frss.xml&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fcontact%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fadvertise%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fcategories.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ffeatures%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftags.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fbestof.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fr1.fmpub.net%2f%3fr%3dhttp%253A%252F%252Fwww.readwriteweb.com%252Fcloud%252F%26k4%3d251%26k5%3d%7bbanner_id%7d&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2frss.xml&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2frww&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.facebook.com%2fReadWriteWeb&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdigg.com%2freadwriteweb&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fiphone&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    2/17

    pdfcrowd comopen in browser customize free license

    0

    The future of software development is about good craftsmen. With

    infrastructure like Amazon Web Services and an abundance of basic

    libraries, it no longer takes a village to build a good piece of software.

    These days, a couple of engineers who know what they are doing can

    deliver complete systems. In this post, we discuss the top 10 concepts

    software engineers should know to achieve that.

    A word from our sponsor:

    Twiends is the number 1 service for growing your online social network.

    Hundreds of thousands of members have already joined, and are growing their

    Twitter, Facebook and YouTube communities every day. Best of all, the service

    can be used completely for free, so what are you waiting for? Join today.

    Ad powered by BTBuckets

    A successful software engineerknows and uses design patterns, actively refactors code,

    writes unit tests and religiously seeks simplicity. Beyond the basic methods, there are

    concepts that good software engineers know about. These transcend programming

    languages and projects - they are not design patterns, but rather broad areas that you

    need to be familiar with. The top 10 concepts are:

    1. Interfaces

    2. Conventions and Templates

    3. Layering

    4. Algorithmic Complexity

    5. Hashing

    6. Caching

    RWW SPONSORS

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2fthe_future_of_software_development.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185499__zoneid%3d79436__cb%3d069710a294__r_id%3db1f83936a5f6a78e8986ffa44a48c75a__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Ftwiends.com%252F%253Fa%253Drww2&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185499__zoneid%3d79436__cb%3d069710a294__r_id%3db1f83936a5f6a78e8986ffa44a48c75a__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Ftwiends.com%252F%253Fa%253Drww2&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.btbuckets.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_software_engineer_traits.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185497__zoneid%3d2__cb%3d2b544338ff__r_id%3d8e04b652ffe1726d735a137c59d43ccb__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Ftwiends.com%252F%253Fa%253Drww&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185494__zoneid%3d3__cb%3d70426ffe26__r_id%3d054e7758d7d083ada44014f7b2984d5b__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.stratascale.com&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185481__zoneid%3d4__cb%3dc762e12ca5__r_id%3de284b8f11fac619b495472339b802111__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fschedule.sxsw.com%252Fevents%252Fevent_OE00101&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fad.doubleclick.net%2fjump%2fN3643.196990.READWRITEWEB.COM%2fB5373585%3bdcadv%3d2074920%3bsz%3d125x125%3bord%3d0123456789%3f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d16__zoneid%3d6__cb%3d08951cc909__r_id%3d07749d1e44e1e5fd882255e30b0fa833__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.mashery.com%252Fetsy%252F&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185379__zoneid%3d7__cb%3de46e14688e__r_id%3d89db5f249a6db37ac5b431cc900d9098__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.medill.northwestern.edu&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    3/17

    pdfcrowd comopen in browser customize free license

    7. Concurrency

    8. Cloud Computing

    9. Security

    10. Relational Databases

    10. Relational Databases

    Relational Databases have recently been getting a bad name becausethey cannot scale well to support massive web services. Yet this was one

    of the most fundamental achievements in computing that has carried us

    for two decades and will remain for a long time. Relational databases are

    excellent for order management systems, corporate databases and P&L

    data.

    At the core of the relationa l d atabase is the concept of repre senting

    information in records. Each record is added to a table, which defines the

    type of information. The database offers a way to search the records

    using a query language, nowadays SQL. The database offers a way to

    correlate information from multiple tables.

    The technique of data normalization is about correct ways of partitioning the data among tables to

    minimize data redundancy and maximize the speed of retrieval.

    9. Security

    With the rise of hacking and data sensitivity, the security is paramount.Security is a broad topic that includes authentication, authorization, and

    information transmission.

    Authentication is about verifying user identity. A typ ical website pr ompts

    for a password. The authentication typically happens over SSL (secure

    socket layer), a way to transmit encrypted information over HTTP.

    Authorization is a bout permissions and is important in corpor ate systems,

    particularly those that define workflows. The recently developed OAuth

    FOLLOW @RWW ON TWITTER

    ReadWriteCloud: What it Takes to Run the Top Visited

    Web Sites [Infographic] http://rww.to/fkaCjaabout 3 hours

    ago

    ReadWriteCloud: Cloud Poll: How Disruptive Is Cloud

    Foundry to the Platform Market? http://rww.to/fr2GST

    about 11 hours ago

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fRelational_database&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2famazon_dynamo.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fComputer_security&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2foauth.net%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185372__zoneid%3d8__cb%3d402adf1327__r_id%3d9e8ee7cafea2e54d5fdcca7b05e767e5__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.readwriteweb.com%252Fadvertise%252F&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185473__zoneid%3d9__cb%3dab9bccd8d5__r_id%3def2976f0c5f6b772eb070053fdc64173__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fdeveloper.sciverse.com&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185451__zoneid%3d10__cb%3da9346f1fff__r_id%3df90b5fd504cda9f26e052268958c9b4b__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.skytap.com&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185476__zoneid%3d11__cb%3d750ab36312__r_id%3d7242e7969788c9a61fd69e5a729d8344__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fbit.ly%252FdZjyIV&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185500__zoneid%3d12__cb%3de49951095d__r_id%3d8792245abb6c44d5676fa12c246097d0__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fsemtech2011.semanticweb.com%252F%253Fc%253Dstadrww&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2frww&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2frww.to%2ffkaCja&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2fRWW%2fstatuses%2f59505929682567168&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2frww.to%2ffr2GST&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2fRWW%2fstatuses%2f59390950660771840&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    4/17

    pdfcrowd comopen in browser customize free license

    protocol helps web services to enable users to open access to their

    private information. This is how Flickr permits access to individual photos

    or data sets.

    Another security area is network protection. This concerns operating systems, configura tion and

    monitoring to thwart hackers. Not only network is vulnerable, any piece of software is. Firefox

    browser, marketed as the most secure, has to patch the code continuously. To write secure code for

    your system requires understanding specifics and potential problems.

    8. Cloud Computing

    In our recent post Reaching For The Sky Through Compute Clouds we

    talked about how commodity cloud computing is changing the way we

    deliver large-scale web applications. Massively parallel, cheap cloud

    computing reduces both costs and time to market.

    Cloud computing grew out of parallel computing, a concept that many

    problems can be solved faster by running the computations in parallel.

    After parallel algorithms came grid computing, which ran parallel

    computations on idle desktops. One of the first examples was

    SETI@home project out of Berkley, which used spare CPU cycles to

    crunch data coming from space. Grid computing is widely adopted by financial companies, which run

    massive risk calculations. The concept of under-utilized resources, together with the rise of J2EE

    platform, gave rise to the precursor of cloud computing: application server virtualization. The idea

    was to run applications on demand and change what is available depending on the time of day and

    user activity.

    Today's most vivid example of cloud computing is Amazon Web Services, a package available via

    API. Amazon's offering includes a cloud service (EC2), a database for storing and serving large

    media files (S3), an indexing service (SimpleDB), and the Queue service (SQS). These first blocks

    already empower an unprecedented way of doing large-scale computing, and surely the best is yet

    to come.

    ReadWriteHack: 5 Free E-Books and Tutorials for

    Learning PHP http://rww.to/fv1RiLabout 11 hours ago

    ReadWriteHack: You Got NoSQL in MySQL: Memcached

    Plugin in MySQL Technology Preview

    http://rww.to/hRG5Dgabout 12 hours ago

    ReadWriteBiz: How to Keep Com pany Data Safe on

    Employees' Personal Devices http://rww.to/geosNgabout

    12 hours ago

    follow @rww on Twitter

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2freaching_for_the_sky_through_compute_clouds.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fCloud_computing&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2frww.to%2ffv1RiL&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2fRWW%2fstatuses%2f59390621550526464&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2frww.to%2fhRG5Dg&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2fRWW%2fstatuses%2f59371751011913728&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2frww.to%2fgeosNg&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2fRWW%2fstatuses%2f59367977614708736&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ftwitter.com%2frww&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fad.doubleclick.net%2fclick%3bh%3dv8%2f3aec%2f3%2f0%2f%2a%2fd%3b239957639%3b0-0%3b1%3b22116796%3b4307-300%2f250%3b41691184%2f41708971%2f1%3b%3b~okv%3d%3bsz%3d300x250%3bfmzid%3d103%3b%3bfmcls%3dBTF%3btile%3d5%3bqcseg%3dD%3b~aopt%3d2%2f1%2fa3%2f0%3b~sscs%3d%3fhttp%253a%2f%2fbs.serving%252dsys.com%2fBurstingPipe%2fBannerRedirect.bs%3fcn%3dbrd%2526FlightID%3d2423985%2526Page%3d%2526PluID%3d0%2526EyeblasterID%3d4993680%2526Pos%3d40650123656192%2526ord%3d%255btimestamp%255d&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    5/17

    pdfcrowd comopen in browser customize free license

    7. Concurrency

    Concurrency is one topic engineers notoriously get wrong, and

    understandibly so, because the brain does juggle many things at a time

    and in schools linear thinking is emphasized. Yet concurrency is

    important in any modern system.

    Concurrency is about parallelism, but inside the application. Most modern

    languages have an in-built concept of concurrency; in Java, it's

    implemented using Threads.

    A classic concurr ency example is the producer /consumer, where the

    producer generates data or tasks, and places it for worker threads to

    consume and execute. The complexity in concurrency programming stems from the fact Threads

    often needs to operate on the common data. Each Thread has its own sequence of execution, but

    accesses common data. One of the most sophisticated concurrency libraries has been developed by

    Doug Lea and is now part ofcore Java.

    6. Caching

    No modern web system runs without a cache, which is an in-memory store

    that holds a subset of information typically stored in the database. The

    need for cache comes from the fact that generating results based on the

    database is costly. For example, if you have a website that lists books

    that were popular last week, you'd want to compute this information once

    and place it into cache. User requests fetch data from the cache instead

    of hitting the database and regenerating the same information.

    Caching comes with a cost. Only some subsets of information can be

    stored in memory. The most common data pruning strategy is to evict

    items that are least recently used (LRU). The prunning needs to be

    efficient, not to slow down the application.

    A lot of modern web applications, including Facebo ok, rely on a distribute d caching system called

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fConcurrency_%28computer_science%29&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fg.oswego.edu%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjava.sun.com%2fj2se%2f1.5.0%2fdocs%2fapi%2fjava%2futil%2fconcurrent%2fpackage-summary.html&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fr1.fmpub.net%2f%3fr%3dhttp%253A%252F%252Fwww.readwriteweb.com%252Fcloud%252F%26k4%3d251%26k5%3d%7bbanner_id%7d&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fr1.fmpub.net%2f%3fr%3dhttp%3a%2f%2fwww.readwriteweb.com%2fhack%26k4%3d532%26k5%3d%257Bbanner_id%257D&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fthirdparty.fmpub.net%2fclick%2f304963%3fr%3dhttp%3a%2f%2fwww.readwriteweb.com%2fenterprise&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    6/17

    pdfcrowd comopen in browser customize free license

    Memcached, developed by Brad Firzpatrick when working on LiveJournal. The idea was to create a

    caching system that utilises spare memory capacity on the network. Today, there are Memcached

    libraries for many popular languages, including Java and PHP.

    5. Hashing

    The idea behind hashing is fast access to data. If the data is stored

    sequentially, the time to find the item is proportional to the size of the list.

    For each element, a hash function calculates a number, which is used asan index into the table. Given a good hash function that uniformly

    spreads data along the table, the look-up time is constant. Perfecting

    hashing is difficult and to deal with that hashtable implementations

    support collision resolution.

    Beyond the basic storage of data, hashes are also important in

    distributed systems. The so-called uniform hash is used to evenly

    allocate data among computers in a cloud database. A flavor of this

    technique is part of Google's indexing service; each URL is hashed to

    particular computer. Memcached similarly uses a hash function.

    Hash functions can be complex and sophisticated, but modern libraries have good defaults. The

    important thing is how hashes work and how to tune them for maximum performance benefit.

    4. Algorithmic Complexity

    There are just a handful of things engineers must know about algorithmic

    complexity. First is big O notation. If something takes O(n) it's linear in thesize of data. O(n^2) is quadratic. Using this notation, you should know

    that search through a list is O(n) and binary search (through a sorted list)

    is log(n). And sorting of n items would take n*log(n) time.

    Your code should (almost) never have multiple nested loops (a loop

    inside a loop inside a loop). Most of the code written today should use

    Hashtables, simple lists and singly nested loops.

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fMemcached&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fbradfitz.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fHash_function&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fad.doubleclick.net%2fclick%3bh%3dv8%2f3aec%2f3%2f0%2f%2a%2fm%3b239957641%3b0-0%3b1%3b22116796%3b2321-160%2f600%3b41691185%2f41708972%2f1%3b%3b~okv%3d%3bsz%3d160x600%3bfmzid%3d102%3b%3bfmcls%3dATF%3btile%3d6%3bqcseg%3dD%3b~aopt%3d2%2f1%2fa3%2f0%3b~sscs%3d%3fhttp%253a%2f%2fbs.serving%252dsys.com%2fBurstingPipe%2fBannerRedirect.bs%3fcn%3dbrd%2526FlightID%3d2423984%2526Page%3d%2526PluID%3d0%2526EyeblasterID%3d4993625%2526Pos%3d406503911536%2526ord%3d%255btimestamp%255d&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    7/17

    pdfcrowd comopen in browser customize free license

    Due to abundance of excellent libraries, we are not as focused on

    efficiency these days. That's fine, as tuning can happen later on, after

    you get the design right.

    Elegant algorithms and performance is something you shouldn't ignore. Writing compact and

    readable code helps ensure your algorithms are clean and simple.

    3. Layering

    Layering is probably the simplest way to discuss software architecture. It

    first got serious attention when John Lakos published his book about

    Large-scale C++ systems. Lakos argued that software consists of layers.

    The book introduced the concept of layering. The method is this. For

    each software component, count the number of other components it

    relies on. That is the metric of how complex the component is.

    Lakos contended a good software follows the shape of a pyramid; i.e.,

    there's a progressive increase in the cummulative complexity of eachcomponent, but not in the immediate complexity. Put differently, a good

    software system consists of small, reusable building blocks, each carrying its own responsibility. In a

    good system, no cyclic dependencies between components are present and the whole system is a

    stack of layers of functionality, forming a pyramid.

    Lakos's work was a precursor to many developments in software engineering, most notably

    Refactoring. The idea behind refactoring is continuously sculpting the software to ensure it'is

    structurally sound and flexible. Another major contribution was by Dr Robert Martin from Object

    Mentor, who wrote about dependecies and acyclic architectures

    Among too ls that help engineers deal with system architectu re are Structure 101 developed by

    Headway software, and SA4J developed by my former company, Information Laboratory, and now

    available from IBM.

    2. Conventions and Templates

    Naming conventions and basic templates are the most overlooked

    JOBS

    Java Software

    EngineerQuotient, Inc.

    Herndon, VA

    .NET Software

    EngineerRedfish Technology's

    Client

    Bethesda, MD

    Web DeveloperGeocentric

    Bethesda, MD

    (dow ntown Beth...

    More Jobs >

    Interactive Flash

    DeveloperBean Creative

    Alexandria, VA

    UIU/Web DeveloperROCS

    Mclean, VA

    Sr. UI DesignerNetw ork Solutions

    Herndon, VA

    POWERED BY

    POPULAR TAGS

    google twitter facebook iphone

    mobile apple android microsoft

    search trends social media

    youtube music privacy video yahoo

    security ipad advertising firefoxamazon myspace developers rss

    social networks social networking

    semantic web apps chrome blogging

    augmented reality sponsors

    marketing mozilla news digg

    foursquare mobile web location email

    friendfeed browsers api gmail wikipedia

    bing adobe nyt china kindle

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fsimplewebs.com%2f%3fLargeScaleCppSoftwareDesign&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.refactoring.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.objectmentor.com%2fomTeam%2fmartin_r.html&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.headwaysoftware.com%2fproducts%2fstructure101%2findex.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.alphaworks.ibm.com%2ftech%2fsa4j%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fjob%2fjava-software-engineer-herndon-va-quotient-inc-6e005a264a%2f%3fd%3d1%26source%3djobroll&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fjob%2fnet-software-engineer-bethesda-md-redfish-technology-s-client-39961db44c%2f%3fd%3d1%26source%3djobroll&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fjob%2fweb-developer-bethesda-md-downtown-geocentric-93a6d5ec82%2f%3fd%3d1%26source%3djobroll&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fjob%2finteractive-flash-developer-alexandria-va-bean-creative-26b608a7a7%2f%3fd%3d1%26source%3djobroll&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fjob%2fuiu-web-developer-mclean-va-rocs-3476e52609%2f%3fd%3d1%26source%3djobroll&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fjob%2fsr-ui-designer-herndon-va-network-solutions-1a0ef71a30%2f%3fd%3d1%26source%3djobroll&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftags.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fgoogle&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2ftwitter&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2ffacebook&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fiphone&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmobile&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fapple&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fandroid&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmicrosoft&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsearch&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2ftrends&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsocial%2bmedia&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fyoutube&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmusic&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fprivacy&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fvideo&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fyahoo&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsecurity&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fipad&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fadvertising&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2ffirefox&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2famazon&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmyspace&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fdevelopers&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2frss&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsocial%2bnetworks&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsocial%2bnetworking&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsemantic%2bweb&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fapps&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fchrome&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fblogging&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2faugmented%2breality&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsponsors&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmarketing&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmozilla&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fnews&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fdigg&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2ffoursquare&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fmobile%2bweb&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2flocation&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2femail&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2ffriendfeed&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fbrowsers&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fapi&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fgmail&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fwikipedia&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fbing&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fadobe&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fnyt&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fchina&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fkindle&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2f&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    8/17

    pdfcrowd comopen in browser customize free license

    software patterns, yet probably the most powerful.

    Naming conventions enable software automation. For example, Java

    Beans framework is based on a simple naming convention for getters and

    setters. And canonical URLs in del.icio.us: http://del.icio.us/tag/software

    take the user to the page that has all items tagged software.

    Many social software utilise naming conventions in a similar way. For

    example, if your user name isjohnsmith then likely your avatar isohnsmith.jpgand your rss feed isjohnsmith.xml.

    Naming conventions are also used in testing, for example JUnit automatically recognizes all the

    methods in the class that start with prefix test.

    The templates are not C++ or Java language constructs. We're talking about template files that

    contain variables and then allow binding of objects, resolution, and rendering the result for the client.

    Cold Fusion was one of the first to popularize templates for web applications. Java followed with

    JSPs, and recently Apache developed handy general purpose templating for Java called Velocity.

    PHP can be used as its own templating engine because it supports evalfunction (be careful with

    security). For XML programming it is standard to use XSL language to do templates.

    From generation of HTML pages to sending standardized support emails, templates are an essential

    helper in any modern software system.

    1. Interfaces

    The most important concept in software is interface. Any good software is

    a model of a real (or imaginary) system. Understanding how to model the

    problem in terms of correct and simple interfaces is crucial. Lots of

    systems suffer from the extremes: clumped, lengthy code with little

    abstractions, or an overly designed system with unnecessary complexity

    and unused code.

    Among the many b ooks, Agile Prog ramming by Dr Robert Martin stands

    Post a Job >

    RWW PARTNERS

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fjobs.readwriteweb.com%2fpost&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185495__zoneid%3d11203__cb%3dd53616f2af__r_id%3d99abde508a1437e6f5183c81276a44d8__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.copio.us&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185306__zoneid%3d79425__cb%3d9898e6d197__r_id%3d15a5f08d46d1a19368d357ab8fb8cc1b__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.contegix.com%252Flanding%252Fread-write-web.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185353__zoneid%3d79432__cb%3d4404670ae6__r_id%3d26ebee2bc326e65a0540e0c36e433a9f__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.mobify.me&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fd.ads.readwriteweb.com%2fck.php%3foaparams%3d2__bannerid%3d185412__zoneid%3d79439__cb%3dd65e18ab37__r_id%3d692880b791a90d4424884723cb4565a5__r_ts%3dljsl26__oadest%3dhttp%253A%252F%252Fwww.maxcdn.com%252F&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    9/17

    pdfcro d comopen in bro ser c stomi e free license

    out because of focus on modeling correct interfaces.

    In modeling, there are ways you can iterate towards the right solution.

    Firstly, never add methods that might be useful in the future. Be minimalist, get away with as little as

    possible. Secondly, don't be afraid to recognize today that what you did yesterday wasn't right. Be

    willing to change things. Thirdly, be patient and enjoy the process. Ultimately you will arrive at a

    system that feels right. Until then, keep iterating and don't settle.

    Conclusion

    Modern software engineering is sophisticated and powerful, with decades of experience, millions of

    lines of supporting code and unprecidented access to cloud computing. Today, just a couple of

    smart people can create software that previously required the efforts of dozens of people. But a

    good craftsman still needs to know what tools to use, when and why.

    In this post we discussed concepts that are indispensible for software engineers. And now tell us

    please what you would add to this list. Share with us what concepts you f ind indispensible in your

    daily software engineering journeys.

    Image credit: cbtplanet.com

    Adobe Announces Open-Source Collaboration with Sourceforge

    No Access for the Axis: SourceForge Bows to Government Demands

    12 Unit Testing Tips for Software Engineers

    Iceberg Launches, Now Everyone Can Program

    See Also

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.cbtplanet.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2fopen_at_adobe_opens_sourceforge_collaboration.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2fno_access_for_the_axis.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2f12_unit_testing_tips_for_software_engineers.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2fwith_iceberg_everyone_can_program.php&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    10/17

    df di b t i free license

    Prior Post Next Post

    Sort by newest first

    Posted inAnalysis and tagged with software development, software engineers

    Subscribe E-mail This Print This Digg Share

    Showing 20 of 78 comments

    But surprising, pretty good piece of writing, particular analytic outlook , hope to read from you

    once more .

    valentine day flower delivery USA

    Gina Bartley

    Like Reply2 months ago

    Algorithm co mplexity and Relational DB, th ose two points are really good. DB kno wledge is

    essential for building a performance based architecture. http://www.maviadres.com

    Kanser Haberleri

    Like Reply2 months ago

    Ten important Concepts to have in mind.

    javi erlop

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2fanalysis%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsoftware%2bdevelopment&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftag%2fsoftware%2bengineers&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2ffeeds.feedburner.com%2freadwriteweb&id=in-110417062743-a4af1c3bhttp://window.print%28%29/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdigg.com%2fsubmit%3furl%3dhttp%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.addthis.com%2fbookmark.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fad.doubleclick.net%2fclick%3bh%3dv8%2f3aec%2f0%2f0%2f%252a%2fi%3b44306%3b0-0%3b0%3b22116796%3b3137-500%2f250%3b0%2f0%2f0%3b%3b~okv%3d%3bsz%3d500x250%3bfmzid%3d2561%3b%3bfmcls%3dATF%3btile%3d3%3bqcseg%3dD%3b~aopt%3d2%2f1%2fa3%2f0%3b~sscs%3d%253f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.flowers2world.com%2fsend_flowers_online%2fvalentine_flowers_delivery_USA.asp&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2ffacebook-100000593732656%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.facebook.com%2ff2world&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-132348299&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.maviadres.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2ffacebook-100001068635287%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.facebook.com%2fpeople%2fKanser-Haberleri%2f100001068635287&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-131416764&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fd6089870b0a21dd09768dc393cff50a3%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.javierlop.com%2f&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    11/17

    df di b t i free license

    javierlop

    www.javierlop.com

    Like Reply2 years ago

    Ohh Great comment about software development i just wanted to tell about Software

    Development Services i f u want more information to check out my links

    http://www.cattechnologies.com/offshorePHPDevelopment.aspx

    sampaul

    Like Reply2 years ago

    @ D Ashcart

    Software written for hardware by mostly hardware is not without error, but they focus on

    routing, placement, simulation of a particular problem or effect and solve problems with highly

    purpose built software. The author list of say a Xilinx compiler is amazing short to a pile of

    flaming dog crap like C#/.NET/Visual Studio. You can do more difficult and versatile things

    with a toolchain designed for hardware people by hardware people than 1000 software

    clown-idiots making C# in the wake of Java in the wake of C++ in the wake of... you name it.

    Mick Russom

    Like Reply2 years ago

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.javierlop.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485286&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.cattechnologies.com%2foffshorePHPDevelopment.aspx&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f55487c8f937b41690bec0aa06ee71625%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485285&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fe51e6ac1e889e26c779b0e5bbbb391ea%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485283&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f0a77fbd0766ed13e9ef01d0ebdbe6b7a%2f&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    12/17df di b t i

    free license

    I responded to this post on my own blog - http://lightheatcode.com/?p=86- taking issue with

    your view of what is good interface design.

    -John

    John Kelvie

    Like Reply2 years ago

    good!

    BIRD

    Like Reply2 years ago

    @Mick,

    Good points, but not for everyone and not for every situation. I mean you can hardly build asocial network web site with Assembler. On the other hand you can hardly write hardware

    drivers, operating systems and everything that is low level and performance critical with C#.

    It's all about choosing an appropriate tool for a job.

    Mike Borozdin

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2flightheatcode.com%2f%3fp%3d86&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f0a77fbd0766ed13e9ef01d0ebdbe6b7a%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2flightheatcode.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485282&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fca332d40032216c6508f06cdb9357da4%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fhk.zorpia.com%2fflygirl08&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485281&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f0fed79d1e8228367175212087c1398c8%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.mikeborozdin.com%2f&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    13/17df di b t i

    free license

    Regarding the original story, I'd add

    # Communication skills

    # Ability to understand customers needs

    # OOP

    # Networking concepts

    # Operating systems concepts

    Like Reply2 years ago 1 Like

    sadasddsfsdfsdfsdf

    erotik market

    Like Reply2 years ago

    asdasdsadfsdfdsfs

    seks

    Like Reply2 years ago

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485280&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fb7d6e4cd8cb9053be543e2147bde53b5%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.birlikerotikshop.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485279&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f92e32149b25db48a6217dadc81a07a91%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.birliksexshop.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485278&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f299485c5275b891ff90cfd76fe2374c1%2f&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    14/17df di b ifree license

    dsfsdfdsfsdfsdfsdf

    sex

    Like Reply2 years ago 1 Like

    dsdsdsjdsodsododsds

    seks

    Like Reply2 years ago

    csdasdsaddsfdsfsd

    sex

    Like Reply2 years ago

    And it 's obvious from the spam this forum is receiving that you guys badly need Captcha on

    this blog!!!

    Speaker-to-Animals

    Like Reply2 years ago 1 Like

    @panos, that's "hubris," not "hybris;" I expected a guy with a Greek handle would know that

    :P

    Speaker-to-Animals

    Like Reply2 years ago

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f299485c5275b891ff90cfd76fe2374c1%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.erotikgeceleri.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485277&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f92e32149b25db48a6217dadc81a07a91%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.birliksexshop.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485276&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f299485c5275b891ff90cfd76fe2374c1%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.erotikgeceleri.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485275&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fc1d99bc9e76dc372a8c1a9ee42f003b9%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485274&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fc1d99bc9e76dc372a8c1a9ee42f003b9%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485273&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fa5e818870eaf2bf915852398830aa416%2f&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    15/17df di b ifree license

    What about Knowledge Representation?

    Software is all about modeling reality into a simplified controlled, and editable representation.

    Even if tools change or become abstracted ( security for example is not something I don't

    really look for in some developers because it is solved in another level ), the modeling abilityis always necessary.

    To communicate, to design, to build.

    http://en.wikipedia.org/wiki/Knowledge_representation

    Aldo Bucchi

    Like Reply2 years ago

    Thank you very much for this article. I was really exited to know about the concepts

    Akshay

    Like Reply2 years ago

    Lots of programmers doesn't care about software security. This is also includes the security

    of database. Programmers think that programming is just writing the code whic is enough for

    doing the job. They don't care for the security part. Customers doesn't have information

    Dizi izle

    about it too All programmers should know something about security

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fKnowledge_representation&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2fa5e818870eaf2bf915852398830aa416%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2faldobucchi.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485272&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f5fea943056e8633c57a72427434362d8%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485271&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f43b8de80d8d8a91ba12323e420290ea3%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.yayinakisi.com%2fdizi.php&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    16/17

    free license

    M Subscribe by email S RSS

    Load more comments

    about it too. All programmers should know something about security.

    Like Reply2 years ago

    Algorithm co mplexity and Relational DB, th ose two points are really good. DB kno wledge is

    essential for building a performance based architecture.

    http://www.codesplunk.com/?s=c

    Programming Language Questions & Review

    Pascal

    Like Reply2 years ago

    I have no words to say, it's rock indeed

    http://www.bangbull.com/details/23800-BE4/Amazing_natural_girl

    Oigen

    Like Reply2 years ago

    R l ti d ti i bl d (P )

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2freadwritewebmain.disqus.com%2ftop_10_concepts_that_every_software_engineer_should_know%2flatest.rss&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485270&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.codesplunk.com%2f%3fs%3dc&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.codesplunk.com%2f%3fs%3dc&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2f235eea658f20c502f3cbbb4d97c58b56%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485268&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.bangbull.com%2fdetails%2f23800-BE4%2fAmazing_natural_girl&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2fguest%2ff26d7198a58388365a85157dc763ab0d%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23comment-110485267&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3b
  • 7/31/2019 10 Concepts SE Need to Know

    17/17

    pdfcrowd.comopen in browser customize free license

    Real-time updating is enabled. (Pause)

    blog comments powered by DISQUS

    LoginAdd New Comment

    Please wait

    Home | Features | Trends | Best of RWW |Archives | Status

    ReadWriteWeb | Startups | Small Business | Enterprise | Cloud Computing | Developers | Mobile

    About RWW | Subscribe | Contact |Advertise | FM Tech

    2003-2011 ReadWriteWeb

    http://pdfcrowd.com/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php&id=ma-110417062743-a4af1c3bhttp://pdfcrowd.com/customize/http://pdfcrowd.com/license-for-free/http://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fdisqus.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ftop_10_concepts_that_every_software_engineer_should_know.php%23&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2farchives%2ffeatures%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2ftrends%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fbestof.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fcategories.php&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fstatus.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fr1.fmpub.net%2f%3fr%3dhttp%253A%252F%252Fwww.readwriteweb.com%252Fstart%252F%26k1%3dMSFT-BZ-SPRK%26k2%3dRRW%26k3%3dRRSTab&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fbiz%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fenterprise%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fr1.fmpub.net%2f%3fr%3dhttp%253A%252F%252Fwww.readwriteweb.com%252Fcloud%252F%26k4%3d251%26k5%3d%7bbanner_id%7d&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fr1.fmpub.net%2f%3fr%3dhttp%3a%2f%2fwww.readwriteweb.com%2fhack%26k4%3d532%26k5%3d%257Bbanner_id%257D&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fmobile%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fabout%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2frss.xml&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fcontact%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=http%3a%2f%2fwww.readwriteweb.com%2fadvertise%2f&id=in-110417062743-a4af1c3bhttp://pdfcrowd.com/redirect/?url=https%3a%2f%2fadvertisers.federatedmedia.net%2fexplore%2fview%2freadwrite&id=in-110417062743-a4af1c3b