SitePoint Sponsor

User Tag List

Results 1 to 19 of 19
  1. #1
    SitePoint Guru bronze trophy AndrewCooper's Avatar
    Join Date
    Sep 2008
    Location
    Manchester, UK
    Posts
    631
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    I Feel Like I'm Cheating Myself

    So, you've bought the books, read the books and apply them in whatever situations needed.

    But do you ever feel that you are cheating yourself and others? It's practically copying other peoples codes, isn't it?

    Firstly, I'm not just the "read it and apply it" type of person. I've been self-learning HTML, XHTML, CSS, JavaScript and a bit of PHP and MySQL the past 2-3 years and I now know HTML, XHTML, CSS and JavaScript off by heart. By off by heart, I mean, If you give me three sheets of paper I can code a full web page that is XHTML 1.0 Strict valid and will work perfectly. Give or take some measurements with padding and margins

    But, I still get that cheating feeling. When I need some help doing something with something and I've mixed a few things round and try a few different measurements, I eventually give in and check out the appropriate book [I only use Sitepoint books for reference and learning now btw] and then It's all done.

    But at the end, I just feel like I've cheated myself and whoever I'm making the website for, and that I'm a complete failure and don't know anything at all.

    Does anyone else here have this feeling? If you do, whats your philosophy on it and if you don't feel this way, again, same question.

    I don't want to feel like this, but, I don't know whether this is how I should feel and if I actually am cheating. Am I? I don't know!

    Please help!

    Andrew Cooper

  2. #2
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,578
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Are architects cheating when they reuse the same design for a door frame they were taught in a book in college, or saw in a design at work once and reuse again and again?

    Most jobs that involve designing and creating, in other fields, mostly involve taking components that *everyone* uses and organizing them in an appropriate manner to meet the client's requirements. Very very little of the work is coming up with something new on your own.

    There's no reason to feel like you're cheating doing the same thing with web design and programming. In fact, it's good that these digital fields are starting to mature just enough that there are reusable pieces to use.

  3. #3
    SitePoint Guru bronze trophy AndrewCooper's Avatar
    Join Date
    Sep 2008
    Location
    Manchester, UK
    Posts
    631
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    I understand your point of view completely and thanks for that too, it's just, I can't help but feel I'm just cheating =/.

    So it isn't wrong what we do then?

    Hmm. Guess I just get in the wrong frame of mind when it comes to referencing.

    Andrew Cooper

  4. #4
    HAHA!
    Join Date
    Mar 2006
    Posts
    656
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well in academics the oft quoted phrase of Isaac Newton about "standing on the shoulders of giants" hits the nail on the head imho. You can't just invent or research everything yourself you have to build and rely on what others have done before you (to some extent).
    Cheap web hosting directory listing the cheapest web hosting

    Submit articles to an article directory

  5. #5
    ✯✯✯ silver trophybronze trophy php_daemon's Avatar
    Join Date
    Mar 2006
    Posts
    5,284
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    What do you agree to do for your client and do you meet their requirements? Only failing to meet those requirements yet charging for them can mean cheating your client.

    As far as cheating yourself, what requirements do you set for yourself? Do you set a goal to create a website from scratch without any 3rd party components? If you do yet you use those components, you are indeed cheating yourself. But are those goals rational?

    I have a simple philosophy - understand every component you use. There's no need to reinvent the wheel every time, but to do quality work it is important to know how the wheel works. You are responsible for how every single component in your work works, for it's the final work you present to your client that will have every flaw of each component. Should there be a flaw in a component, it will create a flaw in your work. So failing to understand a component and blindly using it, means cheating myself for me. And if those flaws affect any requirements set by my client, I am cheating them as well.
    Saul

  6. #6
    SitePoint Guru bronze trophy AndrewCooper's Avatar
    Join Date
    Sep 2008
    Location
    Manchester, UK
    Posts
    631
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Hmmm I never really use 3rd Party components, I'd rather make them myself, but, in making them myself, I may need to look at a tutorial or a Sitepoint book to help me. So technically, I'm not doing it all by myself, I'm getting help from a book, someone else.

    So thats why I feel I'm cheating myself. It's not that I fail at not making a website for myself or a client. I'll always complete it to the required specs, and better. But during the development, I may look at someone elses code to see how they've done it, thats all. I just feel like I'm cheating though.

    Andrew Cooper

  7. #7
    Follow: @AlexDawsonUK silver trophybronze trophy AlexDawson's Avatar
    Join Date
    Feb 2009
    Location
    England, UK
    Posts
    8,111
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    It is not cheating to draw inspiration from the work of others. Reinventing the wheen is not something to undertake unless you have a reason and there is not really any true innovation anymore as the majority of web design has been done in some form already (due to the limitations of each language). What seperates people who are different is that rather then copy the design, they look at it, see how they can improve it and create something possibly similar but with clear advantages which make it an evolution of the previous implementation

  8. #8
    SitePoint Zealot Cassidy's Avatar
    Join Date
    Mar 2009
    Location
    Texas
    Posts
    103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    There's no reason to feel inadequate just because you have the good sense to grab a reference book or check something out on Google or an online reference source.

    It's a sign of maturity in judgment that you lack the arrogance to think you know it all.
    Cassidy
    Income Mobility Make Your Income Upwardly Mobile
    WEB HOST with unlimited domains, Bandwidth, Disk Space, MYSQL
    $25 first year limited time offer Jiffy Hosting

  9. #9
    SitePoint Guru bronze trophy AndrewCooper's Avatar
    Join Date
    Sep 2008
    Location
    Manchester, UK
    Posts
    631
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Cassidy View Post
    There's no reason to feel inadequate just because you have the good sense to grab a reference book or check something out on Google or an online reference source.

    It's a sign of maturity in judgment that you lack the arrogance to think you know it all.
    Heh. See thats exactly the thing. I don't know it all, but I want to know it all, off by heart too. After I've left University I want to practically be a complete HTML/XHTML, CSS, JavaScript and PHP / MySQL / SQL reference...Book..But in person. You get me? So I don't have to have use a reference book, I can just think, yea, I need that, and just do it. Unfortunately, It's a helluva lot to remember :S and unless I don't know it off by heart, I feel like a cheat.

    Andrew Cooper

  10. #10
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,578
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Unless you're some kind of savant, why do you think it's realistic to have thousands and thousands and thousands of manual pages memorized?

  11. #11
    SitePoint Guru bronze trophy AndrewCooper's Avatar
    Join Date
    Sep 2008
    Location
    Manchester, UK
    Posts
    631
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Dan Grossman View Post
    Unless you're some kind of savant, why do you think it's realistic to have thousands and thousands and thousands of manual pages memorized?
    Heh, I don't think I'm a Savant .

    I can't really say whether it's realistic or not, I'm hoping it's possible to have such a large memory lol. Theres a Networking book at college thats over 900+ pages and sometime whilst I'm still at college, I want to take it out, read it and memorise it.

    I just want to be the best there is to be honest. I want to be able to say, I know so and such off by heart and also have practical experience from doing this and that. Put it this way, I wouldn't call someone who uses a WYSIWYG Editor in Design view a professional. I would call a professional someone who leans more to the side of doing pretty much everything in code view, without the strict need for auto-completion and can code things off by heart.

    Example, give me three sheets of ruled paper and I'll literally hand code an XHTML / CSS / JavaScript Web page that is XHTML 1.0 Strict valid and CSS 2.1 valid code that is also accessible upto WCAG 1.0 AAA, according to Cynthia Says. Thats what I would call being a professional, in my opinion and view. Although, I don't see myself as a professional because of the lack of my experience with commercial websites.

    Aside from doing the trial and error of some unit measurements for pixel-perfection, the main problem I had was placing for example, in an un-ordered list in the CSS, I was putting something like:

    Code CSS:
    ul {
    }
     
    li {
    background-color: #CCCCCC;
    }

    Instead of:

    Code CSS:
    ul {
    background-color: #CCCCCC;
    }
     
    li {
    }

    So, for me to get that CSS right, I had to bring out my copy of The CSS Anthology, 2nd Edition, to find the correct code on how to do it properly. And, thinking back on it now, I should have tried myself to to that and just switch it around, but didn't =/. And when I found the correct code in the book and got it working, I just felt like a cheat and a failure because I had to reference a book.

    Andrew Cooper

  12. #12
    SitePoint Zealot Cassidy's Avatar
    Join Date
    Mar 2009
    Location
    Texas
    Posts
    103
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Cheating is something students at school do.

    In the real world, you remember the things you do repeatedly. If you don't remember you either grab a reference source or do trial and error whichever you think will be quicker.

    What counts is did you get it right in the end. The customer doesn't care whether you used dreamweaver or notepad.
    Cassidy
    Income Mobility Make Your Income Upwardly Mobile
    WEB HOST with unlimited domains, Bandwidth, Disk Space, MYSQL
    $25 first year limited time offer Jiffy Hosting

  13. #13
    SitePoint Guru bronze trophy Slackr's Avatar
    Join Date
    Jan 2009
    Location
    New Zealand
    Posts
    679
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    I agree with Cassidy. A client doesn't care if you copy previously written code you have stored or if you sit down and write it all out again just to ease your conscience - they will care when they see the bill.

    Be good at coding by all means, but you have a mammoth task in front of you if you think you can keep up with all of the code languages, all of the time. The reality is once you are working you will draw on a rather limited subset of skills whilst being aware of other areas.

    It is great to see someone passionate about coding and sticking to standards but in the end clients care about the job being done, not appeasing their programmers purist ideals. Remember that at the moment you are a student and your 'job' is to learn as much as possible and good standards so you can land yourself a job and start the real learning. I've spent 9 years in various universities and I currently work in a job that utilises zero percent of that study.

    I'm all for using whatever tools help me to achieve what I need to as fast as possible without compromising the end product. Like one of the previous posters said, understand why you are using what you are using and you can't really accuse yourself of cheating.

  14. #14
    SitePoint Guru bronze trophy AndrewCooper's Avatar
    Join Date
    Sep 2008
    Location
    Manchester, UK
    Posts
    631
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Heh, I like what you guys have said, It's really helpful and makes me feel a lot better about myself. I know it's about getting the end product to the client as fast as possible but to the best of my abilities too. Thats fine, I can do that for my clients.

    And I know most clients don't give a crap what coding is used, but thats where my marketing comes into it, but besides that point...I guess I'll just have to face the music lol.

    -Wishes he could create his own markup language or scripting language xD-

    Andrew Cooper

  15. #15
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,578
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by AndrewCooper View Post
    -Wishes he could create his own markup language or scripting language xD-
    You can. If you went to college to study computer science, you'd be asked to develop at least one or two as assignments for courses.

    It's not that hard to create a language and an interpreter to run it.

    When I was working for Microsoft while in college, a couple interns and I wrote an interpreter for LOLCODE with our own language extensions.

  16. #16
    SitePoint Wizard rozner's Avatar
    Join Date
    Oct 2002
    Location
    Paris
    Posts
    1,058
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yeah I wrote an interpreter in my compilers course. A bit tedious really but not that hard...

    Anyway, I wouldn't call using a reference cheating. Being a good programmer isn't about memorizing APIs, it's about understanding how those APIs work and knowing how to use the references.

    I worked for a company a little while ago on a short contract to do some updates to web application. I'm not a designed, these were mostly programmatic changes and in some cases applying a designers mockups to the dynamic parts of the application. Now IMO this was a horribly written application. Why?? Because they kept hiring short term contractors to fix it up and never bothered to keep any proper documentation so everyone just kind of did their own thing. Now had I known the entire Java API off by heart it would have made zero difference. It was my ability to look through the sea of crap and understand how it all fit together that enabled me to do the updates they requested.

    Also, I'd say trial and error is probably the best way to learn programming. You can read books all you want but sometimes it's better just to experiment and go beyond what the book tells you to do. I studied computer science but I learned to program long before that pretty much by trial and error. No books, just looked at the source code of some QBasic programs and tried stuff I found in there until it all made sense. Same with HTML, if not for that "View source" option I don't know what I would have done.

    This discussion almost reminds me people studying for math tests and basically just memorizing formulas rather than trying to actually understand why they produce certain results. When you actually understand it you don't need to memorize it, it's just there and makes sense. I don't know if that analogy makes any sense, it's late and I should got to sleep...

  17. #17
    Follow: @AlexDawsonUK silver trophybronze trophy AlexDawson's Avatar
    Join Date
    Feb 2009
    Location
    England, UK
    Posts
    8,111
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    This is a long post (so bare with me)...

    This is why I chose to go self taught, there is no guarantees anything you learn in university on a computer science degree will be relevant or part of what you need to know by the time you graduate. I am a self taught individual and through trial and error have learned to develop software and websites to (what I consider) a high standard.

    Experimentation is what makes a great designer. The best analogy I have is cooking, you could be a chef who follows cookbooks and follows the instructions to the exact measurements and treat it like a science, and sure you will have the same result each time which will work, but if you experiment while cooking you may make mistakes but end up with a recipe which is much better than the original one. What may benefit you (don’t take this the wrong way) is “cheat sheets”, they are nothing more than references to languages which list all the different things you can apply (for example) style too in CSS or HTML. You may feel this is cheating but it really isn’t, cheating is doing something you should not do. Looking to make sure you use the right tag or code for the right purpose is anything but cheating, its being a professional and referring to sources to determine if you made the right move. If you feel guilty about referring to other people or sources for assistance, you cannot be a professional as even the best in the industry refer to books, studies, observations, feedback and other ways of improving the process.

    Making websites is not about learning thousands of lines of syntax or rules; it is about understanding the underlying technology and then using that knowledge to apply the general guides for the syntax to make it work for you. Memorising a book will do you no good as it will do no more than give you the knowledge of the language itself, not how to actually apply it and work around quirks you may receive. Being a professional is not about what code you know, it’s about how you use that code. Writing a page on paper is fine, but the end user will not see things how you write them, there are so many browsers and devices that you need to see things as an empathetic person.

    Do not try to learn stuff off by heart, while its useful to know the basics (such as names of tags and properties), trying to second guess how they will work is a pointless endeavour because honestly, no-one knows why some browsers misinterpret things the way they do. Bugs and issues are found all the time and following a manual is pointless as the specifications themselves aren’t appreciated properly by every browser which technically means every language is flawed by its interpretation. Also auto completion is not a sign of weakness, it is a sign of sense, using frameworks, prebuilt scripts and auto-complete help prevent repetition and time wasting. As long as you understand the way code works and why it interprets things in a certain way, you do not need to be some kind of coding genius to be a professional. Take usability, much of usability is based on psychology, a science with no firm facts, no fixed knowledge and is entirely down to experimentation and interpretation.

    Do not try to “be the best”, you will only set yourself up for failure if you feel you need to be better than everyone else because in life, no matter what you do, there will always be someone who can overtake you. Being professional is nothing more than having an approach to a subject which is clear minded, logical and structural. Professionals are never considered “the best”, what you class as “the best” would be a specialist and people who fall under that category certainly would be unable to know everything about a subject. Specialists are so strict in the topics they study they can only follow a very narrow area to be able to learn everything about that subject. For example typography specialists spend crazy amounts of time such as 20 years studying something as simple as fonts, and after 20 years they still do not know everything.

    Technology is a field which is always growing and evolving, it moves too fast to become a specialist in every field or even just in a particular field. If you want to be the best at something, you would have to narrow your learning so much you would only have a very small area you could work in. This would limit your ability to work and inhibit your learning process to get a good solid all round knowledge (and keep that up to date). Just follow what you enjoy, keep reading, learning and you will be fine.

  18. #18
    . shoooo... silver trophy logic_earth's Avatar
    Join Date
    Oct 2005
    Location
    CA
    Posts
    9,013
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Something I found very interesting was a keynote at MIX 09. Bill Buxton, from Microsoft Research talked about "Experience Design" using the experience of others to further your own. I do not consider it cheating at all.

    You can find the video of Day 1 Keynote, at http://live.visitmix.com/
    Logic without the fatal effects.
    All code snippets are licensed under WTFPL.


  19. #19
    SitePoint Wizard rozner's Avatar
    Join Date
    Oct 2002
    Location
    Paris
    Posts
    1,058
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Experimentation is what makes a great designer. The best analogy I have is cooking, you could be a chef who follows cookbooks and follows the instructions to the exact measurements and treat it like a science, and sure you will have the same result each time which will work, but if you experiment while cooking you may make mistakes but end up with a recipe which is much better than the original one. What may benefit you (don’t take this the wrong way) is “cheat sheets”, they are nothing more than references to languages which list all the different things you can apply (for example) style too in CSS or HTML. You may feel this is cheating but it really isn’t, cheating is doing something you should not do. Looking to make sure you use the right tag or code for the right purpose is anything but cheating, its being a professional and referring to sources to determine if you made the right move. If you feel guilty about referring to other people or sources for assistance, you cannot be a professional as even the best in the industry refer to books, studies, observations, feedback and other ways of improving the process.
    This is very good point, about the cheating. Think about a professional writer. Most probably keep a dictionary and thesaurus around. Would you call that cheating? There's nothing wrong with referencing existing materials. Which in the case of web stuff is often some online tutorial or code example. There's really nothing wrong with that.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •