If you want to go to there I wouldn't start from here



  •  Having been involved in a project with some major WTF on many levels Ihave been reading the archive dilligently the last few weeks.

    Depressing reading. Not for that but because I used to think I was an OK programmer.

    I've done some of the things pointed to like creating HTML in SQL (to create edit links in a list object in ASP.NET before I figured out the simpler way to do it) and dynamically assembling SQLon the ASP side based on selected parameters before executing the query.

     After some thought  I figured I was actually coming at this job from a different way to most of the posters here.

     I didn't do a CS course. I taught myself BASIC when micros were young. I've never had a conceptual course in my life, my course at college was Physics, with no computer time because they didn't thave them for us, apart from more micros (BBC Model B).

     So I got into formal IT because some test showed I had aptitude and that was the way our organisation did it, real IT folk would go to better paying jobs  and it was all inhouse.

    COBOL Training (Most of the stuff was COBOL on MVS) consisted of having three sample porgrams and the specs for two more. If you could figure out the bits of the three existing programs that you needed to make the two speced programs congrats you succeeded.

     So later after some Oracle work, it was back to COBOL then a spell at support. Programmign them was UNIX scripting which I enjoyed and a bit of small app work using the only tool we had available to use, Access 2.0/ Well we had Dataease as well but we waited for the Windows version and that was crap.

    Web based Apps came around because the group policy prevented local support from installing apps on machines, We had a SQL Server, we had IIS, we could do stuff. And so it went on, using ASP, a bit of Perl for one ap, Javascript and all.

     All that 17 years of a career without any conceptual training, a bit of practical, which had some theory, but no sign of linked lists, or anything found in C, C+, C++ or C#. I'm pretty much self taught and I reckon again that I'm an OK programmer, considering.

    Given all that,I wonder how many of the situations encountered are going to be because of histories like mine. Self-taught guys in big organisations that did everything in-house and that don't attract the formally trained. From what I have seen of some other orgs it isn't all that rare.

    And, crap as I may be, I'm still better than a fair percentage of the consultants I've met in my time. Not all, but enough.

     


  • :belt_onion:

    I'm self-taught as well, coming from a architectural engineering background. Early on in my career I had to work together with some CS guys and that opened my eyes. As soon as I realized I didn't know a lot about programming, I started taking courses and reading articles on the internet. Working for a company with a lot of procedures and guidelines (created by people who know their stuff)actually helped me a lot. A now, only 9 years after writing my first production code, I'm now studying for my final exam to become a Microsoft Certified Professional Developer.

    Another eye-opener for me were my job interviews when I wanted to leave my first company. Not one serious company offered me a second interview. One company however, went through the trouble of explaining to me why I wasn't considered. So I took their advice to heart, started studying and now I have been with this company for exactly one year.

    It takes some extra effort but with enough dedication, you can get there.



  •  there are two kinds of WTFs.  Those created by ignorance, and those created by stupidity.  Mostly with people like yourself who never took classes or who know a limited set of technologies you get the ignorance variety (for instance, building HTML within SQL).  With the CS people you get the stupid variety (20 layers of data abstraction or something).  I find it easier to work with the ignorant WTFs than the stupid ones.  Also, ignorance can be fixed (as you have done), stupidity is harder to fix.



  • @tster said:

    there are two kinds of WTFs.  Those created by ignorance, and those created by stupidity.  Mostly with people like yourself who never took classes or who know a limited set of technologies you get the ignorance variety (for instance, building HTML within SQL).  With the CS people you get the stupid variety (20 layers of data abstraction or something).  I find it easier to work with the ignorant WTFs than the stupid ones.  Also, ignorance can be fixed (as you have done), stupidity is harder to fix.
     

    QFT

    When I started work, I had never seen a for loop and had to look up a selectbox-submit script online*. So I copypasted from some other dude, who had prefixed his vars with "my". In ASP/JScript. That was a red flag to me even never having serious coded a letter.

    Over time, I just improved in most aspect of webdev from css to JS to datamodels. I find that being a good programmer requires an aptitude for structure and practical handiness.

    *) The site I found it on was Quirksmode. I guess I was very lucky to end up there as it proved to be a fucking invaluable learning resource.



  • @tster said:

     there are two kinds of WTFs.  Those created by ignorance, and those created by stupidity.  Mostly with people like yourself who never took classes or who know a limited set of technologies you get the ignorance variety (for instance, building HTML within SQL).  With the CS people you get the stupid variety (20 layers of data abstraction or something).  I find it easier to work with the ignorant WTFs than the stupid ones.  Also, ignorance can be fixed (as you have done), stupidity is harder to fix.

    Agreed.

     Also, if you think about it, many of the "wrong" ways to do things were at one time considered correct until someone found a flaw or a better way.



  • To be fair to myself the HTML was only to create links that, when clicked brought yp a child window for amending records.

     I figured better ways to achieve the same result.

     I eventually got a course on ASP.NET, but got reassigned before I could take it.

     

    Learning Javascript was my introduction to OOP, And I found it useful even with DOTNET.


    Hell I even found my COBOL origins of use. A data entry app was taking too long between the client and the server to do validation round trips, so I recoded the validation at the front end using Javascript, while I was at it the user was saying that entering info with dropdowns was two time consuming, (a LOT of data to be entered) so I redid it so they used single number or letter codes for those fields and gave explanations under the entry line, took me back 20 years, and resulted in a much faster and easier to use app.

     Which goes to show that useability sometimes requires trips down memory lane.

     

     



  • @georginafan said:

     the user was saying that entering info with dropdowns was two time consuming, (a LOT of data to be entered) so I redid it so they used single number or letter codes for those fields and gave explanations under the entry line, took me back 20 years, and resulted in a much faster and easier to use app.

     

    In those situations I prefer the textbox or combobox with good autocompletion.



  •  Not a bad idea, for most of the fields the code idea worked nicely and all I was doing was replacing one weird but long code for a shorter one.

     IN one case there was a long ID number, completing that selected the option from the one dropdown I had left as the ID number contained the identifying info for the next field. Really it was all quick, pure DP stuff, enter line by using as few keystrokes as possible and just tab from field to field.

     To return to the point I think I was trying to make though, I think it is more common than might be apparent from the comments here that there are guys out there, who may have aptitude, but we lack the common culture and methodology of the formal CS guys, we end up re-inventing the wheel and our answers may be brilliant (or possibly brillant)for our level of knowledge at that time, but we may regret that as we learn more and find that what was really nifty then, is a hard to support albatross later.

    Mind you I am sure that happens to the formally trained folks too. Just you guys have less excuse.


    Right I am off to deploy my new agilely developed Enterprise mult-threaded, multiuser transaction heavy app using Access on that reconditioned Pentium II I found in stores. Where's my hammer?


Log in to reply