The "Perfect" Developer

  • I am actively job searching at the moment as a business analyst with excellent database design skills. I'm very dispondent because most employers want people who can be skilled in all of the areas listed below

    -Analysing User Requirements

    -Database Design

    -SQL skills (ie writing SP's etc)

    -DBA (ie optimising etc)

    -System Tester

    -ASP and/or VB and/or .NET coder

    -Web interface Designer

    etc etc etc plus all those desirables such as being a people person, a team member a good negotiater etc etc etc.

    As a person who has really focused on good database design and writing SQL that gets the end result for the user, I find it hard to beleive that ANYONE can have ALL of the skills listed above.

    I'm interested in others' opinions. Do you have the full range of skills? Do you think it's possible to be a great DB designer as well as being a great web developer and system tester? Do you think people are just lying to get the job and that employers are being duped into thinking they are getting the perfect person? Do you have any suggestions as to how I get around this "wishlist" thinking of employers.

    Thanks

    Jodie Miners

  • Hi,

    In my humble opinion in large companies there are different people responisble for the taks you describe. A dba does optimising and maintaining. User requirements and (logical) database design are done by an analyst and web and windows developers are also different people. In smaller companies these role can be combined in less persons, but then that person is more a generalist. I think it is imposible to be a specilist in all areas you describe. In the netherlands we call that " a schaap met 5 poten" ( a sheep with 5 legs) I am sure there is also an englisch expression for that.

    So keep searching in the area's you are specialist and you will find what you want

  • Not sure I agree. Definitely there are times when a specialist is needed, I'd bet having more than one skill is a lot more common. Maybe you can't acquire all the skills, but look at which ones go best with your strongest skill. You're doing db design, dont you think knowing VB (or you language of choice) would give you a better idea of the challenges/benefits of various design decisions you'd make?

    Another reason I vote for knowing more than one thing is that when lay off time comes, every bit of edge you can find is good! Both for keeping your existing job or finding the new one.

    Andy

    http://www.sqlservercentral.com/columnists/awarren/

  • I would never use the word specialist in regards to computer skills. To survive the market you really should have multiple skills and be adept at a few.

    Of the skills you mention I have been a Access and VB programer for over 10 years, I have been a SQL Server developer/dba for at least 5 now and been implementing Web Based interfaces for almost that long. I also started a C++ project about a year ago I am near completing with no knowledge of C++ I have built a server and fully functional GUI client. So it is not impossible for a person to be adept enough to be considered skilled in those areas. In fact many employeers are only looking at a specific protion of what they post and the rest can be learned.

    Personally I would apply for anything that may appeal to you and focus on your strong poins as a SQL developer. Then give a bit on the areas you are familiar with and use often. You might be supprised sometimes to find they have several really good VB programmers on staff and they want to really balance out with a SQL guy but have someone who can be of value on both sides of the wall in understanding the full process.

  • I would say that it is possible to have experience and skills in all of the areas listed. Of that list, the only one that I lack is the .NET experience. It is becoming harder for a specialist in a single area to get employment, as developer teams are becoming more geared towards generalists rather than specialists.

    Thomas Rushton
    blog: https://thelonedba.wordpress.com

  • This is hilarious. Four years ago, I would go to an interview for a job position, and they would ask what is your strongpoint. They expected a single answer. (VB, SQL, etc...) The experience I had in any field other than my "strong point" was summarily discarded, and I was being examined and compared on this one area in particular. IE. If it was a VB job, they could care less about your SQL Skills, A Sql Job could care less about your VB skills, etc.... I argued that having a range of programming languages allowed a more complete picture of the interaction in an application, and that by knowing VB you would be better prepared to support a SQL database being accessed by a VB app and so forth......The thing is, they would look at me like I was crazy, and I heard on more than one occasion that spreading your knowledge into the other areas was a detriment to your overall productivity as you would loose detail in your primary area. (I never believed this myself.)

    Now, here we are 4 years later, and you couldn't find a position looking for a single skill set to save your life. I continuously see lists of 10 to even 20 skills "REQUIRED" for a position. In most of them, you see things like SQL Server 2000, 4 years experience, Biztalk, Three years experience in a production enviroment, etc....(How many people see the obvious issues with these requirements?)

    The bottom line here, in my opinion, is that these companys have done no research to see what is required, available, or reasonable. Generally, these people doing the interviews couldn't tell you how any of these things inter-relate within their company to start with, what would be involved in your job position (other than at a high level), etc.... If you find one that does, your doing good. It may just be that I've mostly worked contract positions, but if you had any idea how many times I've personally been advised to include new keywords in my resume as thats whats "hot" at the time. And they openly said "because these are the keywords that managers are looking for today." OMG, my career is being based on what some manager read in a magazine that sounded cool....

    So, its my belief that you should make yourself as knowledgable as possible in as many areas as possible. After all, the guys hiring and firing will find some new "Cool" article and change up what is required without having a good understanding of whats involved. (Who remembers the "We don't need DBA's" phase?) I am still addressing issues created by the Programmers in companies who didn't need dba's until their world went to hell in a handbasket and they suddenly realized that programming skills were not sufficient and a good understanding of SQL was required. (surprise, surprise...)

    Summary: Do not allow your technical skillsets to be directed by current job requirements, but rather by your understanding of where you want to be. I highly suggest that any SQL guy learn VB. I just as strongly suggest that same SQL guy not accept jobs as a VB programmer unless thats the direction of his career. Take advantage of the knowledge, use it, expand it, but be carefull that you fully understand any technology before accepting a position in that arena. I would strongly suggest the VB guys learn SQL and spend some time doing set based logic. (Boy, that can be an eye opener...)

    I will leave yall with this. What do you think the results would be for a person used to thinking in set based structures to accept a job doing procedural logic? Or vise versa.....Do you truly believe that someone used to thinking in procedural logic would be a good candidate for writing stored procedures? Sure, if they are aware of the differences and if they have taken the time to learn to think that way and within that context.

    OK, off the soap box.....

  • Well in a big company there does tend to be compartmentalization. People are (or claim to be) specialized in one area.

    I find it very frustrating as I have a broad and generalized background. Although very specialized in programming, variety of languages, and DBA type skills, also a variety of DBMSs.

    Sometimes this can be very frustrating as a DBA the developers bring you something that is obviously wrong, but you have to live with it as they are the developers. Of course when it doesn't perform well it must be the DBs fault.

    Where I'm at a business analyst doesn't need database design skills, that's handled by the architects, who don't have DB design skills, but do the DB design. So they bring you the physical model and you show them a couple of things that will make everybodies life easier but their design sticks.

    Sometimes these changes are new features in the DBMS, "gee I didn't know UDB supports identity colums ??"

    KlK, MCSE


    KlK

  • quote:


    I continuously see lists of 10 to even 20 skills "REQUIRED" for a position. In most of them, you see things like SQL Server 2000, 4 years experience, Biztalk, Three years experience in a production enviroment, etc....(How many people see the obvious issues with these requirements?)


    The best one I saw was about six months ago, advertising for people with two years' .NET experience!

    Thomas Rushton
    blog: https://thelonedba.wordpress.com

  • Hey Guys, thanks for the great discussion. I love this site because there are always people willing to have an interesting discussion on a good topic.

    I strongly agree with scorpion_66 about how employers and recruiters really don't know what they are looking for; Antares686, I know from your posts that you are the exception - a guru at just about everything!.

    I do know VB, I do know COM and ASP, but from a business functional point of view, rather than coding. I could call myself a programmer but I HATE coding - I find it very boring. I know enough about code to be able to read it and know where the problems are and to be able to track down a user problem. So I suppose I have to highlight those skills to prospective employers.

    Sorpion_66, I beleive it is possible to know set based and procedural logic (because I think I'm pretty good at both), but I think set based is harder to learn than procedural. (I remember back to primary school learning about unions and intersections) What do others think?

    Once again thanks for the great discussion.

    Jodie

  • It is possible to get a wide variety of skills and with a certain depth of knowledge but its a double edged sword.

    In the past 5 years I have worked as a COBOL programmer on Y2k projects. As a developer using VB,SQL Server, and ASP for a MS Solution software house. As a Senior Software Engineer using Java, JSP, Servlets and Oracle. And finally now as a DBA who also writes VB components and troubleshoots the existing systems.

    In that time I have obtained my MCSD and Java Certified Programmer certifications but heres the crunch ...."Does this guy have a problem settling in one job?"...fortunately I am happy where I am for now but I know thats what a propective employer will think.

    My view is that there are benefits in having an expert indepth knowledge in a certain field but there is no reason why this should necessarily limit you in other areas. Its all a question of priorities and having some sort of strategy.

    Evolution tells us that those species that can't adapt to changing circumstances perish and that applies in every aspect of life.

    Nigel Moore
    ======================

  • Nothing's perfect in this world but don't limit yourself. There are some talented people could do virtually anything, such as Michael Angelo (Artist, Scientist, Philosophist, Engineer, etc etc) and of course there're people like that too today (Guru).

    Also remember taht average people just use 3% of their brain capacity whilst people like Einstein use 14% (and perhaps 99% for Guru?)

    The key is that don't limit yourself to become a specialized developer, you might even not realize that you actually could do it even better. Remember, everything's changing so fast, had the computer programming still evolved like GW-BASIC I would haven't do what I do now. If you hate coding, then luckily the trend is about to gear towards that. I predict in the future, there're more and more automation of coding thru RAD tools. Check out tools like CodeCharge (www.codecharge.com), VB Express (www.vbexpress.com), COM Express (www.shoutsoft.net), WestFaro KickStart (www.westfaro.com), Advance (www.xages.com), Nantronix(www.nantronix.com).

    With all those tools, Who cant' be a 2 years .NET/COM programmer or even an advance DB developer guy? All coding done around hours or minutes!

    The important thing in Computer World is our logic and analysis of problem and also a bit of a geek sense and don't forget be Fun!

    Anyway, How about Mr. Bill Gates??

    Just a little thought 🙂

  • Obviously an emotive subject 🙂

    I think there is a case for both generalisation and specialisation, it simply depends on what is expected of the employee and what the employee expects. However, I'm guessing from jodiem's last post ("I hate coding") that he's more interested in perhaps design, architecture, project or even client management. In this case, I would suggest that the wider your experience of technologies, the more valuable your opinions will be (not at the expense of being a five legged sheep however! - in England we might say "Jack of all trades, master of none")

    As many people have mentioned, oftentimes the "shopping list" of skills required in job advertisments reads like the union of all the technologies that the HR executive has read about in the last month, combined with a few others they read in advertisments. In this case I think you need to be pragmatic ... if you really think the job is attractive and you would be competent, apply and mention any experience you have for all of the technologies in as positive a light as possible. I think really good developers can tend to be overmodest -- if you've got mastery of one field you are more aware of your limitations in others than somebody with maybe a bit less experience.

    However, the other side of the coin is to ask whether you want to work in an environment where you would be emplyed after overrepresenting your skills. For the job I'm working in now, I was asked questions across a range of technolgies as well as general problem solving skills. When I was offered the job I was told that one of the strengths was that I was quick to say "I don't know" when that was the case, and the view was that technologies could be learned quickly as long as the basics were all in place. I knew immediately that this was a place I wanted to work in and so far, I'm very happy.

    I've seen thoughtful articles on this site about how to interview a candiate DBA, which seem to have a similar philosophy, and I think that's very encouraging ... Good luck

  • Hi,

    Interesting topic this one. When I was a trainee programmer (many many moons ago), I noticed that companies would employ a freshman straight out of college/university with A Levels in preference to someone with many years experience. I suspect that things are different now. In the last 20 years (1 job) I have amassed knowledge on the topics specified with the exception of .NET. I would never class my selef as a specialist, more a 'jack of all trades, master of none'. I also like Klaas-Jan's expression.

    Far away is close at hand in the images of elsewhere.
    Anon.

  • quote:


    quote:


    I continuously see lists of 10 to even 20 skills "REQUIRED" for a position. In most of them, you see things like SQL Server 2000, 4 years experience, Biztalk, Three years experience in a production enviroment, etc....(How many people see the obvious issues with these requirements?)


    The best one I saw was about six months ago, advertising for people with two years' .NET experience!


    Too, too funny, the only way you could pull that off is if you were either a beta tester with 1 (i hated that as it was so full of holes) which changed quite a bit. Or if you were one of the .NET developers and I doubt MS will let you get too far away with their pride and joy.

  • While many companies make a long list of required skills, I believe that most don't really expect you to be an expert in all of them, but rather have a certain comfort level. For example, I recently interviewed at Microsoft for a contract SQL Developer position. They asked a lot of tech questions around SQL, but also got into a few questions about VBScript, and a few other technologies. As it turns out, what they were looking for was, when a problem comes up and I'm called on to troubleshoot something, do I know VB/VBScript code well enough to understand what I'm reading, or will I have to bug someone else and ask "what does this part do?".

    I have done some work in each of the areas you list (well, okay, the .Net was just a lab) but my the majority of my experience (and where I continue to head) is "all things database". But you know, sometimes it's easier to write an ASP page to test or monitor something inside the database, so I'm glad to have those skills. As others have said, focus on your strong points, but if you've got the time, work on developing some level of comfort in other areas so you don't appear to be just a one-legged stool.

    (Just read jodiem's second post... Yes, highlight those other skills you have because they ARE valuable, but as someone else said, don't apply for positions that are mostly coding if you don't want to become, primarily, a coder.)

Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic. Login to reply