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 1234»»»

Specialists or Generalists: Who are best as Developers? Expand / Collapse
Author
Message
Posted Sunday, August 28, 2011 10:21 PM
SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Monday, July 16, 2012 10:19 AM
Points: 46, Visits: 177
Comments posted to this topic are about the item Specialists or Generalists: Who are best as Developers?
Post #1166765
Posted Monday, August 29, 2011 2:35 AM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Monday, September 10, 2012 4:04 AM
Points: 90, Visits: 16
Good Article! I have also experienced the same thing.
Coding in stored procedure should be encouraged among developers who are handling both front end and back end.
Post #1166809
Posted Monday, August 29, 2011 3:34 AM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: 2 days ago @ 6:21 AM
Points: 334, Visits: 2,273
The article states this following opinion:

This experience led me to the notion that organizations are being foolish by looking for developers who can do everything. The knowledge required to create major applications is too great. Companies end up getting jacks of all trades and masters of none, and the resulting applications are not all that great.


I very much disagree that yours is a case of being a generalist versus being a specialist and that being a generalist implies you have no deep knowledge in any field you operate in. Your statement probably only has some merit to people that have no more than a few years of development experience.

Take someone that has tens of years worth of generic experience (has done it all). This person might in fact have quite deep knowledge in the fields you would dismiss him from as not being a specialist. Likewise you assume a specialist has deeper knowledge in his field then someone that did not specialize but has more experience. Which in my view would be another erroneous assumption.

You try to classify people based on an aspect that says little about their capability to perform a task. It reminds me of the view non developers and academics had (and maybe some still do) of software development where you have a analyst, …. , programmer, …. , and finally a coder. While in fact no one in the world just code with fully laid out diagrams as input!

Now I can argue why a company will want to hire generalists if their qualities and experience cover what is needed. Quite simple they will be more flexible and adaptable and more likely to come with or adopt suggestions that improve the end result. Also hiring is quite a time consuming business and getting a specialist on the payroll is taking a risk, the smaller the company the higher that risk is.

Don’t get me wrong, there are tasks where a deep specific knowledge is required and any experienced generalist will support hiring an experienced specialist in those situations (even if only to learn from). I like to close by saying that for smaller companies, hiring specialists is risky and costly and that for larger companies is best to have generalists too, supported by a few experienced specialists in various areas. That way you have all the knowledge in-house and you work with people that can assimilate that knowledge and put it to good use. A good blend will improve your workforce over time. The same is true for mixing exeprienced people with less experienced people, you got to blend to be cost effective and keep everyone motivated and intersted in their job!
Post #1166826
Posted Monday, August 29, 2011 6:36 AM


Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Monday, May 7, 2012 9:23 AM
Points: 304, Visits: 716
An interesting editorial for sure, but as I read it I was struck that the bigger question in what you are describing may be that this project involved a poorly designed, patched together application more than it involved Specialists versus Generalists.

When I was a much younger developer, one of the best pieces of advice I ever recieved was very simple: "KISS - Keep It Simple Stupid". Now at the tail end of my career I would say that most of the software disasters I have seen have come from two things: Developers running amock trying to be too fancy or complex, and a complete lack of commenting in code.

No two other things combine to make an apocalypse-in-waiting than some developer doing work years ago and trying to nurture job security by making code overly complex, and ensuring that there is no commenting for a future developer to know what they were thinking.

As much as I agree that often Specialists can be more helpful than Generalists, if we are talking about what is in fact a software mess, the question becomes somewhat moot.

This is why today, every week, we do code reviews. Everyone gets together and reviews each other's code. And if you work for me and dont comment your code, you wont be working for me for very long. Software is an asset, and an investment. I have no patience for people who think following some theoretical methodology protects that asset. Eyeballs are what protects the asset - look at the code and do so with an eye toward someone someday having to tinker the code.

Concerns about Specialists versus Generalists come second - because if the software is well, a piece of crap, it really doesnt matter who is going to work on it - its already a disaster.


There's no such thing as dumb questions, only poorly thought-out answers...
Post #1166884
Posted Monday, August 29, 2011 7:30 AM
SSC-Enthusiastic

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

Group: General Forum Members
Last Login: Thursday, August 28, 2014 1:35 PM
Points: 113, Visits: 423
Where do your page counts come from? Are there a set of books you have that you pulled these from, or are these from some online documentation?

I am working on moving from being a generalist to being a specialist in SQL Server and keep looking for the best course of study to take me there. If there was a simple well laid out path, even one that was 2000 pages long, this would be very helpful for me and others like me.

Instead what I often get in conflicting information on where to even start with the most common thread of an answer being "it depends" which I understand to be correct but it still not very helpful.
Post #1166905
Posted Monday, August 29, 2011 8:00 AM
SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Monday, October 27, 2014 8:55 AM
Points: 1,639, Visits: 1,985
I don't think reading any number of pages can give you expertise in programming. Doing is where you get the expertise and since you don't get expertise from doing only doing backups and restores you can't put a time frame on how long you need to work with SQL to be considered a specialist. That is touched on in the editorial but I don't think it was stressed enough.

Generalists still have a very important place in being able to put all the pieces together. I've worked with some developers that could put their hand to pretty much anything. They were key to the company because they could take a big view of the application and weigh in on both DB and compiled code. They also had years and years of experience so it was something that they had gained over time. It certainly takes longer to become a good generalist but the people that do it deserve a lot of respect.
Post #1166912
Posted Monday, August 29, 2011 8:02 AM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: 2 days ago @ 6:21 AM
Points: 334, Visits: 2,273
krowley (8/29/2011)
Where do your page counts come from? Are there a set of books you have that you pulled these from, or are these from some online documentation?

I am working on moving from being a generalist to being a specialist in SQL Server and keep looking for the best course of study to take me there. If there was a simple well laid out path, even one that was 2000 pages long, this would be very helpful for me and others like me.

Instead what I often get in conflicting information on where to even start with the most common thread of an answer being "it depends" which I understand to be correct but it still not very helpful.


Don't believe there is a series of books/courses that when followed, makes you a good specialist. They will however help with the groundwork and teach you the concepts used in the field. In other words, there exists no quick fix...not to us humans at least. Anyone can read a series of books and most can pass tests after some practice, but applying the gained information effectively requires more and not all of the skill set is technical. Sometimes it is more a matter of asking the right questions at the right time to the right people!

Some ideas to help you progress faster:

* Practice a lot, try different solutions to problems and compare these properly (on very large volumes of data);
* Find a mentor that can help you out when you find yourself blocked on a problem;
* Forums are a great source of problems, ideas and solutions (always compare them to your own);

And once you get a job, make sure you are NOT the master on the subject right away. Because once you are and you get a lot of work to do, you will not have a lot of time analyzing various solutions anymore. It is better if you can learn on the job from someone already more experienced IMHO.
Post #1166915
Posted Monday, August 29, 2011 8:07 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Saturday, August 4, 2012 5:56 AM
Points: 1, Visits: 24
Thank you for your article. I would like to weigh in on the generalist vs. specialist argument. One point that I think is missed in your article is that, in my experience, specialist will sometimes neglect to consider other tools and approaches that are outside of their area of expertise. In your example it is true that a sql specialist would have considered the store procedures as a solution and probably have been able to develop the CTE much more quickly. However, if it had been a VB specialist, they probably would not have even considered the posibilities of using either option. Generalist are more willing to consider other options and more willing to use a tool that they may not be profient in. That is why generalist are valuable to organizations.

Personally I would prefer to see a team mixed of generalist and specialist on large development projects. That way you can balance the expertise of the people that know their tools intimately, with those people that may not know the tools as deeply, but may bring since balance to the team. That is probably a luxury that most organziations seldom have.
Post #1166917
Posted Monday, August 29, 2011 8:11 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, November 28, 2011 10:24 AM
Points: 1, Visits: 8
I think that both generalists and specialists are useful. I have found that event the most diverse generalist is a specialist in at least 1 category. I am this person, my specialty is in database (design/development) and OO client server coding. I can and have programmed in a plethora of languages also. When my company finds out I can do the other stuff they use me to do these tasks also in addition to DB stuff. I always refer my coding to review to a specialist until I have a handle on the api, and I often differ to the specialist on how to do something in the platform that they are good in.

I have also found that some specialists are not worth their credentials in all of this. Some people are just better developers than other no matter how specialized their training and experience are.

Finally, I prefer people with diverse experience to have on my team as long as they have some specialities. The generalists bring a broader view of the whole picture to the table and the specialists bring a more microscopic view in many cases.

CASE Example:
Working with a whole bunch of JAVA developers on a project and part of the process was scrubbing data. Since they were all specialists in JAVA they solved the problem in JAVA. When I came along to do some JAVA with them I asked why are you doing this scrubbing in JAVA? I took them an insane amount of time to process this scrub. In a standard SQL proceedure I could scrub the data in about 1/10 the time. They wanted to avoid babel code as much as possible, and I totally understand why they wanted to do that. This type of JAVA only thinking is what eventually sunk the project after 1 year.
Post #1166918
Posted Monday, August 29, 2011 8:13 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, September 24, 2012 7:52 AM
Points: 5, Visits: 29
There's a need for both kinds of professionals. Don't ask a family doctor to perform surgery, but likewise don't ask a surgeon to treat an ear infection. Your argument has a lot of merit, though. Too many companies rely on generalists exclusively. In my opinion, an ideal "generalist" should be able to tell his/her boss when a subject matter expert is needed, at least on a consulting basis, while the rest of the time doing whatever it is the business needs the other 95% of the time.
Post #1166919
« Prev Topic | Next Topic »

Add to briefcase 1234»»»

Permissions Expand / Collapse