Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase «««23456»»

Better Training Expand / Collapse
Author
Message
Posted Tuesday, May 13, 2014 11:31 AM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Wednesday, May 14, 2014 10:14 AM
Points: 10, Visits: 69
Interesting subject, I wrote an article lest week about developers and lack of security education leading to security flaws in web applications: http://www.thatcoderguy.co.uk/2014/05/06/the-hacking-will-continue-until-web-developer-education-improves/
Post #1570482
Posted Tuesday, May 13, 2014 12:21 PM
Right there with Babe

Right there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with Babe

Group: General Forum Members
Last Login: Yesterday @ 7:15 AM
Points: 758, Visits: 2,150
rodney.hardrick (5/13/2014)
...
However, I found that when I got to the real world I needed more experience with software development methodologies, software project planning (e.g. providing a true time estimate based on other workloads) and software testing principles and strategies (i.e. writing an effective test plan, unit tests and using software testing metrics when needed).


Amen to that. I recently ran into that one the hard. I'm coming to the end of the first major project that I'm managing and there are quite a few things I wish I had known going into it. Hopefully I've learned enough that the next one will go much more smoothly.




The opinions expressed herein are strictly personal and do not necessarily reflect the views or policies of my employer.
Post #1570499
Posted Tuesday, May 13, 2014 12:43 PM


SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Tuesday, July 22, 2014 3:33 PM
Points: 171, Visits: 471
Computer science degree from a liberal arts school here. Our major started with programming, the "weed-out" course (Assembly Language) was a 200-level one, as were the hard theory required courses. I do think that learning the theory behind what you're doing is a good thing as it explains why systems work better when you do things a certain way. And getting exposure to different languages helps you figure out how you learn best, which is always helpful given changes in technology and the job market.

One thing that the core classes, required or not, helped greatly with is communication. It doesn't matter what part of IT you're in, you need to be able to communicate with users and with management and executives just as much as you need to be able to communicate with your teammates. Attempting to explain why a "real quick change" is going to take 40 hours of work without making the requestor's eyes glaze over or breaking their brain is an asset.

That being said though, I do wish that I'd had more opportunities to learn in real world situations before getting let loose into the "real" world. Going back now and talking with the professors I learned from and worked with makes me realize how very different academic computing is from the corporate world. And while team projects are helpful to some extent in figuring out project management, some kind of internship in a corporate setting would have been extremely helpful for seeing how things work outside academia as well as figuring out where I wanted to focus in the classroom and how it related to my future career.


Jennifer Levy (@iffermonster)
Post #1570508
Posted Tuesday, May 13, 2014 1:21 PM
SSChasing Mays

SSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing MaysSSChasing Mays

Group: General Forum Members
Last Login: Yesterday @ 1:25 PM
Points: 611, Visits: 2,117
Aside from the (very interesting) theory vs practical discussion, the other issue with a comp sci education can be that it is broad based, but there is little room to develop expertise in any one area (such as ... gasp ... databases).

My program at the time had two database courses. Even if you took both, not only were you nowhere near a professional knowledge of even the course's database (it was DB2 at the time .... useful). Worse, it didn't even provide a sense whether a profession in databases is something you would enjoy doing.

For more in-depth database training, you usually either learn by starting as an accidental database developer/dba and/or through proprietary training and certification programs from different vendors (or SQL saturdays, sites like this, and other self directed learning).

Now, I've been out of school 15 years and it may have gotten better in the interim. But based on the database work I see from most programmers, I rather doubt it. Another area where it would helpful to be "out in the world" figuring out what work interests you, and then having much more focused training thereafter.
Post #1570518
Posted Tuesday, May 13, 2014 1:51 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 2:50 AM
Points: 5,200, Visits: 2,826
Do not fool yourselves into how only woefully unprepared graduate DBAs are. The same is true for developers. It's just that graduate developers generally have delusions of adequacy!!!

Gaz

-- Stop your grinnin' and drop your linen...they're everywhere!!!
Post #1570531
Posted Tuesday, May 13, 2014 1:59 PM


SSChampion

SSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampion

Group: General Forum Members
Last Login: Today @ 4:12 AM
Points: 13,320, Visits: 10,188
Gary Varga (5/13/2014)
Do not fool yourselves into how only woefully unprepared graduate DBAs are. The same is true for developers. It's just that graduate developers generally have delusions of adequacy!!!


Not me! When I graduated, I knew I couldn't program at all




How to post forum questions.
Need an answer? No, you need a question.
What’s the deal with Excel & SSIS?

Member of LinkedIn. My blog at LessThanDot.

MCSA SQL Server 2012 - MCSE Business Intelligence
Post #1570536
Posted Tuesday, May 13, 2014 2:30 PM


SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Tuesday, July 8, 2014 7:02 AM
Points: 28, Visits: 304
I remember our computer science degree was more like a software engineering lite. The Department head was not only a doctor of computer science, but also worked in the industry several years and did his undergraduate work in English (so your documentation had to be spot on as well). Combined with that, I was fortunate in that I was able to do some practical work for some engineers at the same manufacturing company during my college breaks and 1st few years of work life. And during the school year, I had a part time job in the colleges IT dept, doing data entry and other house keeping.

Had I not had the math and theory or even just had a business background, I do not think I would have been able to accomplish the things I did at that manufacturing company.

I wonder if it is not just the combination of school, and practice, but also a good mentor as well.





-- Optimist with experience and still learning
Post #1570554
Posted Wednesday, May 14, 2014 2:42 AM


SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Yesterday @ 8:16 AM
Points: 1,625, Visits: 1,069
Steve Jones - SSC Editor (5/13/2014)
call.copse (5/13/2014)
I do think there should be a safe environment where students can learn the theory without being overly concerned about practicalities - this could be the first year of the degree. More practical exposure after that would ensure that students are not intimidated by real things and doing real work - while the theory continues.

I guess here there is a problem with what the practical stuff might be - Java, .Net, T-SQL, Ruby on Rails, something less directly practical? My understanding is that Java is most common on undergrad courses, .Net is felt to be more sullied and 'vocational'. Still, as long as they stay away from PHP and Perl...


That's interesting. however, do we want the first or last year? When I started in CS, the first year was hard, really hard with theory and it weeded out people quickly. Seemed like a good way to raise quality.

However since then, I've thought that there are people that can learn to program and do well, but don't need the theory on how a quicksort works.


Having worked with a fair variety of programming types I can say weeding is a good plan - unfortunately there are not enough programmers with the right skills here right now. I'm trying to train up as many as I can but it's not quick work. Thing is even the best of programmers with the best of intentions can seem to leave behind code that is a little incoherent.

Of course there are a variety of roles to fill - I don't really even know how to categorise UI programmers who need to produce quite complicated code, but such types may well not really need sorting algorithms in their box of tricks. We are using a fair few more design oriented types who can do various types of fluid (responsive) layout. I think this is a relatively new role between design and back end programmer if you like, I'm sure there are numerous other types emerging. No mould will fit all cases I guess.
Post #1570681
Posted Wednesday, May 14, 2014 4:25 AM
Valued Member

Valued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued Member

Group: General Forum Members
Last Login: Wednesday, July 9, 2014 1:17 PM
Points: 65, Visits: 413
It depends on the exact profession but in my opinion nothing can replace a solid theoretical background. Especially with databases, because thinking in sets instead of records requires a mind shift that needs a whole new approach, and mister Edgar Codd gave us a perfect way to establish that solid background. Knowing when to use a LEFT OUTER JOIN or even a FULL OUTER JOIN instead of an INNER JOIN to get the correct results depends highly on your understanding of the model behind the data. In my years as DBA I had to correct so many subtle errors caused by lack of understanding the relational model, too often from people who learned how to spell SELECT from books that only address toy systems. If you do not learn the theory ahead of any practice, you probably never will, because you will have other priorities once you start to use it out there in the wild. Programmers have their own paradigms to deal with, like problem domains, inversion of control, unit of work and lots of patterns that you need to have in your backpack before you write the first letter of actual code.

Apart from teaching students theory and involving them in real world projects, there should also be some room for stuff that makes IT a little bit more attractive. Start a socker match between robots build by students, for example.
Post #1570711
Posted Wednesday, May 14, 2014 4:57 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Today @ 2:50 AM
Points: 5,200, Visits: 2,826
My early learning of programming (including database programming) used an iterative approach.

  • First you would be taught the very basics i.e. theory of syntax (at such a simple level that just says everything you type matters).

  • Next you would be shown a simple example of syntax; for programming something like output to console, for databases a SELECT statement.

  • Then you would do an exercise on it in order to demonstrate ones understanding.

  • Next you would be taught something further like the basics of relational theory and the associated syntax.

  • Then you would do an exercise on simple joins using foreign keys i.e. INNER JOIN.


  • Obviously, the lecturers gauged what they could group together in order to ensure that appropriate use of classrooms and labs were used.

    Unfortunately, most books are light on the theory as (to quote Koen) "it's boring". What the book purchasers like are the results on screen but they are unaware that they have been cheated from gaining true knowledge and understanding.


    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!
    Post #1570739
    « Prev Topic | Next Topic »

    Add to briefcase «««23456»»

    Permissions Expand / Collapse