|
SQL Server Experts: Part III - Becoming a SQL Server MVP and other Career Choices
Part 1: MS SQL beats the "ACID" test for Database Technology in Features, Ease & Cost
Part 2: Stress, Pet Peeves, Roles and Responsibilities of a SQL Server DBA/Developer
Part 3: Becoming a SQL Server MVP and other Career Choices.
6. Whats a SQL Server MVP and what does it take to become one?Cristian: MVP means an acknowledgment from Microsoft for the work done in technical communities or for contributing by writting books or delivering technical presentations. I personally run two IT communities, one of them being dedicated to SQL Server.
Andrew: A Most Valued Professional (MVP) is an award by Microsoft in recognition of work to promote our stuff to the wider community including SQL Server. To achieve this a nominee would be doing some or all of the following: - Supporting a community portal (like http://www.sqlserverfaq.com in the UK)
- Blogging,
- Actively helping on Forums
- Podcasts
- Presenting
- Writing articles
- Posting resources on codeplex (e.g. scripts, projects etc.)
Namwar: SQL Server MVP (Most Valuable Professional) is an honour instead of a certification. Microsoft recognises your contribution to the community and awards you MVP status. You need to keep sharing your knowledge to maintain MVP status. Sharing of knowledge can be done in various ways like Blogs, Presentations, writing books or magazine articles etc.
Brent: The Microsoft Most Valuable Professional program recognizes folks who go way, way, way out of their way to give back to the community - doing things like teaching others, helping out with problems, and getting involved with community events. I wouldn't worry about how to become one: either this kind of thing is in your blood, or it's not. If you like to give back, start doing it. Good things like MVP awards will come in their due time, but focusing on that is putting the cart before the horse.
Denny: The MVP award program is a program run by Microsoft to acknowledge the outstanding work of IT professionals within the IT community. Microsoft awards MVPs for most every product they have including Microsoft SQL Server. You can't apply to become a Microsoft MVP, you must be nominated by either a current Microsoft MVP, or by a current Microsoft employee. After being nominated the selection committee will review your public postings, articles, web casts, etc and if your content is found to be of exceptional status then Microsoft will grant you the MVP awarded for one year. Each year they review the community contributions of the current MVPs to ensure that they are still active in the community. More information about the process and what it means to be a Microsoft MVP can be found on the MVP website.
Brian: A SQL Server MVP is a community award from Microsoft for participation and passion over the previous 12 months. The exact criteria for selection isn't revealed.
Chris: An MVP is a person that does a lot of work above and beyond what they are paid to do to help people get educated about SQL Server. This is a reward that is offered by MS, and there are very few.
Pinal: Just help community in any way you can.
7. What will you recommend to others for keeping track of whats happening in SQL Server? Cristian: MSDN and Technet blogs.
Andrew: There are loads of great community sites:
Namwar: - Keep an eye on SQL Server news groups.
- Subscribe to RSS feeds of good SQL Server blogs and read them whenever you find time.
- Microsoft SQL Server Home Page
- Read good books as recommended by your peers.
- Attend seminars and group meetings wheneve possible.
Brent: Read blogs! They're like free books, plus they're free, AND they're written by some of the same great people who wrote the books you know and love. Dozens of DBAs out there are writing some phenomenal blogs, like StatisticsIO.com and SQLSkills.com.
Denny: There are a number of fantastic websites out there which have information about what's going on in SQL Server. The Microsoft SQL Server web page is a great start as is the Microsoft Connect web page . The connect web page is where all the bugs that the beta testers have found are logged giving the user base a direct line of communication to the developers of SQL Server. There are also a number of excellent blogs on SQL Server. My blog "SQL Server with Mr. Denny" is of course a most excellent resource (enough of the shameless plug already). The Microsoft PSS engineers have a blog where they talk about some of the more interesting issues which they have come across. I also keep an eye on the blogs of a couple of friends of mine Kevin Kline, and Denis Gobo to name a couple. I also keep an eye on a couple of forums to keep myself up to date. I regularly read and post on Tek Tips , the IT Knowledge Exchange and Less Than Dot . Between all these resources I'm able to keep track of most of what's going on with SQL Server.
Brian: Developing a core list of blogs related to SQL Server, staying active on a community site like sqlteam.com or sqlservercentral.com, and keeping up the general feeds for Microsoft news. Chris: Virtual conferences on SQL Server www.sswug.org
Pinal: Notes of a SQL Server MVP and Database Administrator
8. Whats the next logical career step for you? Cristian: As I have 8 years of SQL Server knowledge the next logical step was to use the knowledge. You can do that as a consultant as a trainer or in my case as a content developer. I love to write about SQL Server.
Andrew: My wife and friend think I have the best job in the world, so apart from a move to the product or customer advisory teams in Redmond I am happy where I am.
Namwar: I am now working in Business Intelligence area mostly and using the products like SSAS, SSRS and Sharepoint 2007. Although Sharepoint is not part of the SQL Server itself but it is one of the greatest collabration tool built entirely on .NET and SQL Server. Using all these tools in a systematic way allows you to create efficient solutions which are quick to develop, resilient, manageble, highly useful and have low total cost of ownership.
Brent: I just made my next step, actually! I'm now working for Quest Software as a SQL Server Expert. I get to use my years of database experience to help build tools that make other DBA's lives easier. Instead of helping DBAs one at a time, now I'm helping thousands every day. For me, that's as good as it gets.
Denny: Currently I am a Senior Database Administrator and Architect for a Network Security firm named Awareness Technologies . Since I'm quite happy in my current position, I don't envision myself leaving anytime soon (much to the delight of the owner of the company). However were something to happen the next step I see in my career is probably going to be moving into a consulting company, or professional services company.
Brian: I'm currently serving as an infrastructure and security architect so the next logical step would be to continue in this career path.
Chris: I would like to achieve my SQL Server MVP.
Pinal: I am currently working as Project Manager. I am hoping to have more responsibility as project manager.
I would like to personally thank Cristian Lefter, Andrew Fyer, Namwar Rizvi, Brent Ozar, Denny Cherry, Brian Kelley, Chris Shaw, and Pinal Dave for taking the time to share their views, opinions and suggestions and making this as interesting, a 3 part series, as possible. Thank You Guys.
SQL Server Experts: MS SQL beats the "ACID" test for Database Technology in Features, Ease & Cost
 | We started out hoping to talk to one or two SQL Server experts, to get their perspective of SQL Server, their work, and what it takes to be a SQL Server DBA/Developer. The response to our questions far surpassed our wildest expectations. We have received responses from the "Who's Who" of the SQL Server world. Our discussion with the experts will cover how they got introduced to SQL Server, their views on SQL Server, their work, and their advice on a SQL Server career. The discussion is posted as a three part series. Part 1 and Part 2 are posted today and Part 3 will be posted tomorrow |
Part 1: MS SQL beats the "ACID" test for Database Technology in Features, Ease & Cost
Part 2: Stress, Pet Peeves, Roles and Responsibilities of a SQL Server DBA/Developer
Part 3: Becoming a SQL Server MVP and other Career Choices.
Let me start by introducing the expert panel.
Cristian Lefter: Founder and President of the Romanian SQL Server User group, Cristian is a developer turned database administrator who currently owns MicroTraining, specializing in SQL Server consulting and training. Cristian is a frequent contributor and reviewer for SQL Server Professional, ASPToday, Microsoft e-learning among others. To SQL or To SQL ? There's No Question is his motto.
Andrew Fyer: A Microsoft evangelist, no really, Andrew is literally a Microsoft evangelist, part of the Microsoft Technet Team, his official title is IT Pro Evangelist. His areas of expertise are SQL Server, the database engine, Integration Services, Reporting Services and Analysis Services, coupled with ProClarity and its successor Performance Point. He blogs at "SQL Server Relational and Beyond"
Namwar Rizvi: Author of SQL Tips, Namwar's passion is software. Namwar has all the technical certifications from Microsoft and has delivered projects across multiple industries using Microsoft technologies.
Brent Ozar: A Database Administrator by day and a traveling geek by night, Brent believes database management is the best thing in the computer industry. Brent loves to share his knowledge, according to him "helping is the key to being a successful DBA". Brent is the domain expert for Quest Software and in his job, he helps database administrators at various companies. Brent loves to travel, you can see where he is headed in Dopplr. He can be reached at brentOzar.com
Denny Cherry: The resident SQL Server Expert in SearchSqlserver at Techtarget, Denny has managed SQL Server installs, including a 175 million users installation at MySpace.com. Denny specializes in system architecture, performance tuning, and replication. He is currently a Sr. Database Administrator and Architect at Awareness Technologies. He blogs at SQL Server with Mr. Denny.
Brian Kelley: A SQL Server columnist and author, Brian is an infrastructure architect for AgFirst Farm Credit Bank. Brian writes for Sql Server Standard and he blogs at Sql Server Central about databases, infrastructure and security. He is the president of the Midland SC, chapter of PASS.
Chris Shaw: Founder of the Colorado Springs SQL Server Users Group, Chris is the founder and Director of SQL on Call, a Colorado Springs based company that provides remote DBA services. Chris has worked in companies like Yellow Pages Inc, Ford Fairlane Motor Credit, Wells Fargo and AT&T Wireless. Chris is currently writing a weekly column on Database Team Management. His weblog.
Pinal Dave: Author of over 600 SQL Server Articles, Pinal is a Database Administrator and a Web Application Architect. Database also his passion and hobby. He is a frequent column writer in SQL Server Magazine. His "Journey to SQL Authority" blog is an excellent source of SQL articles that is a must for novice and experts alike.
Now to our discussion..... 1. How and When were you introduced to SQL ServerCristian: 2000 as a developer I had to build a web application based on ASP and SQL Server.
Andrew: 1998. I was working for Marks & Spencer (UK store chain like Macy's) who were very Microsoft centric. They were rolling out a project using SQL Server 6.5 and I found it very easy to adapt my access and CA-Ingres SQL skills to this.
Namwar: I started working in SQL Server in my university days (1998) and SQL Server 6.5 was my first experience. Since then I am implementing solutions of various kind and have used all versions of SQL Server i.e. 7/2000/2005 and now 2008 in its beta and release candidate cycles.
Brent: I started working with SQL Server in the late 1990's. I wrote a web application that stored its data in Microsoft Access, and after a while, I realized that Access wasn't going to be my long-term solution. I looked at the next step, and Microsoft made it relatively easy to migrate that application up to SQL Server. I've never looked back!
Denny: My first introduction to SQL Server was Microsoft SQL Server 6.5 back about 1997 or so. I started using Microsoft SQL Server professionally as a DBA and Database Developer around 1999 or so. We had build several business processes in Microsoft Access, and the transaction logging within Microsoft Access was causing the Access databases to fill and corrupt them selves every couple of days (we were pumping 10s of thousands of rows through the Access database every minute). We had a trial edition of SQL Server 7 available to us, so we decided to upgrade the systems to SQL Server. I never looked back after that.
Brian: I was introduced in 1998 with SQL Server 6.5. We were using it to be a back-end for web applications.
Chris: In 1995 I was working with MS Access for an antifreeze recycling company. I was offered a job because of my Access skills but I would have to learn SQL Server. I took the job and since then I have been a dedicated DBA. That company was Yellow Pages Inc.
Pinal: I was introduced to SQL Server 5+ Years ago, when I started my job as web developer. 2. Why would you recommend SQL Server vis-a-vis other databasesCristian: It's cost effective and does the job.
Andrew: Two things - It gives you a bigger bang for your buck, you get all this useful stuff (reporting and full text searching for example) with it that fits together very easily and it is really simple to manage. There's a huge community behind it so if you are in trouble someone has the answer, and with 12% of all jobs on the leading UK job board wanting SQL skills you have a good choice of careers or candidates depending on which side of the interview you are on.
Namwar: There are many reasons for recommending SQL Server but most important are: Lower TCO: You can have lower cost of ownership along with enterprise quality performance even you can have SQL Server Express free which can provide you excellent database backend in small applications. Excellent Tool Set: You have a vast set of tools like SSRS, SSAS, SSIS etc. You can design your solutions in native Visual Studio .NET Integration: Native integration of .NET platform
Brent: SQL Server scales from a handheld PDA all the way up to multi-terabyte data warehouses. At one of my employers, our sales force had thousands of Windows Mobile PDA's across the country, all running the SQL Server engine. Every sale went into the handhelds, got consolidated into central OLTP SQL Servers, and eventually fed into a multi-terabyte SAP BW data warehouse running - you guessed it - SQL Server. I got involved with all levels of that deployment and had a fantastic time. Being a DBA is a ton of fun no matter what platform you pick, but SQL Server gives you the best chance to get into any organization and start contributing immediately.
Denny: I recommend Microsoft SQL Server over enterprise database platforms for a few reasons. One is cost, another is features, and the third is ease of use. While MySQL is free to install and use, MySQL DBAs and support can get quite costly as the number of DBAs is much smaller than Microsoft DBAs, especially the number of top tier DBAs is much smaller than Microsoft DBAs. Oracle, is just expensive plain and simple. Especially when you start adding in features like Replication, and the annual maintenance costs.
Feature wise Microsoft SQL Server can easily hold it's own with the big boys of the RDBMS world, and at a fraction of the cost. As for ease of use, Microsoft SQL Server is the only RDBMS where people actually use the tools regularly. Most Oracle folks use Toad for query writing and basic Administrator, and MySQL folks use phpAdmin to manage the database platform. Microsoft's T/SQL implementation is very complete, and very close to being fully ANSI compliant. In my opinion T/SQL is very easy to learn, and work with where I didn't like working in PL/SQL at all.
Brian: I like SQL Server because of its flexibility and its capabilities. I think SQL Server 2005 took a huge step in establishing SQL Server as a definite player in the enterprise market. However, which database platform to use is determined by a multitude of factors and SQL Server may not be the best fit for a particular situation. If a shop generally works in Microsoft technologies, then typically SQL Server is the best fit.
Chris: The cost per transaction in an enterprise environment is smaller then any other database server in its class.
Pinal: It is Microsoft Technology and very easy to use. Support, online documentation and integration with Windows Operating system is excellent when using SQL server.
Continue to Part 2 of our discussion with SQL Experts, Stress, Pet Peeves, Roles and Responsibilities of a SQL Server DBA/Developer.
SQL Server Experts: Part II - Stress, Pet Peeves, Roles and Responsibilities of a SQL Server DBA/Developer
3. What is the most stressful part of your job when working with SQL Server?Cristian: For me nothing about SQL Server is stressful except people that call me to help them cause their hard drive just failed and they have no backup.
Andrew: Implementation from dev/test to live. There are so many variables to worry about and there are usually security issues that don't always come out in test.
Namwar: Firstly, using SSIS (previously known as DTS). It is still not mature enough. You can have memory errors, package corruptions etc. Secondly, managing multiple versions of object (SP,view, trigger, UDF) code.
Brent: The most stressful part of the job is always, always, always being on call. When someone's application goes bump in the night, they're going to want the DBA on the phone just to make them feel better. Until proven otherwise, developers seem to suspect the database is at fault, and it's the DBA's job to prove otherwise.
Denny: I would have to say that the most stressful part of my job as a Database Administrator is dealing with angry managers when there is a system problem or system crash. I have a tendency to get a little cranky when my systems don't work correctly, and so far all my managers have learned early on that when something is broken asking me for status updates every few minutes is less than productive.
Brian: Dealing with service pack deployments.
Chris: Working with non-technical Managers when I am working through a Crisis.
Pinal: Working on production environment during project release day. Lots of things are usually going on when release is taking place and debugging any issue on production server is always challenging. 4. Production DBA, Development DBA and SQL Server Developer ? Are these roles inter-changeable or do you think that each role is specialized, that there is little chance of crossover.
Cristian: You cannot master SQL Server if you are not familiar with each of the three roles. I would also add programming and networking knowledge.
Andrew: I think you should be able to do 60-80% of the other roles no matter which one you're in. Dev should closely mirror production and actually in today's world, dev and test should be virtual machine based on production. Development for me has been in business intelligence so this is specialised but a BI developer has to have a very good understanding of teh DBA role to deal with scale and get performance.
Namwar: I would say neither these roles are completely same nor they are completely separate. Mostly all these roles require knowledge of database tuning, management, availability etc. On the other hand, they have slightly different responsibilities:
Production DBA: They are more focused for keeping the system running at optimum. Since sometimes they just got already running systems and cannot suggest fundamental changes in database design therefore, they have to live with it and needs to make sure whatever implementation they have it should run smoothly.
Development DBA: They are more involved in designing the databases and can impact the changes in database structure. They have a good chance to optimize the system at first place instead of trying to optimize it after having issues in production.
SQL Server Developer: They are more towards writing TSQL code and should have good knowledge of efficient data manipulation techniques. Most of the time they do not know much about physical aspects of databases and servers.
Brent: These roles are interchangeable at small shops (less than, say, 25 SQL Server instances) but beyond that, the roles quickly diverge and have very little overlap. Today's production DBA at a large, 100-server shop writes very few stored procedures from scratch, and today's development DBA at that same shop does very little disaster recovery planning. When you're managing 100 database servers, tasks like disaster recovery, backup & restore, storage planning, SOX compliance, and so on are a very full time job for the production DBA. These roles diverge even faster with each new release of SQL Server: Microsoft adds more features to new technologies like SSIS and SSRS, and it's tough for a single DBA to master all of those technologies plus do their regular production server maintenance. With the release of SQL Server 2005, I decided to focus on just one technology (the database engine itself) and get better at that one aspect. I recommend that same path to other DBAs - get great at SQL Server *or* SSIS *or* SSRS, but don't try to take on the entire portfolio. You'll spend your whole week learning, not delivering.
Denny: I would have to say that each of the three database roles; Production DBA, Development DBA and Database Developer are all specialized, but to fill any of these rolls well, you should have at least a passing knowledge of what the others do. As a DBA you really can not effectively tune a stored procedure for a developer without knowing the T/SQL which is being run, what it's suppose to do, and why it needs to do it. As a Database Developer you can't write effective queries without knowing how the indexes are laid out, and how the index settings are going to impact the insert and update performance of the queries.
Brian: Production and development DBAs have similar skill sets, but in larger organizations they should be separate roles. SQL Server developers can transition through the development DBA ranks to be a production DBA but while someone could do both of these roles, it's hard to do them well in a complex configuration.
Chris:There is some cross over, A P-DBA should know how to performance tune, and write SQL to accomplish Administrative tasks. However, I think other then that there really is fewer tasks that cross over.
Pinal: I just think they all are same. Everybody can take over each others job very easily and under the hood they all have same skills.
5. Name 2 exciting, new SQL Server features either in SQL Server 2008 or is upcomingCristian: Resource Governor and Extended Events.
Andrew: Policy Management to control and monitor the whole estate, and filestream to store large chunks of unstructured data so that they can be rapidly streamed and still be part of the database. I am working with Mercedes McLaren on using this technology to store car telemetry from Formula 1 races.
Namwar: 1. Data compression feature: If used properly it can great increase the data manipulation. 2. New Data Types: HierarchyID, DATE (only date), TIME (only TIME) and best of all Spatial Data Types (this will be really a big addition and will open up the stream of new type of geographical applications)
Brent: First, SQL 2008's data compression rocks. Sure, disk space is cheap, but disk performance is not. Compressing the data means that we can read less data off the disk, thereby reducing the I/O subsystem loads. CPU cores, on the other hand, are still getting cheaper every year, and it's easy to justify spending some of our newfound cores doing compression & decompression.
Second, and maybe not as sexy, there's the better auditing & compliance tools. Sarbanes-Oxley compliance requirements were tossed at database administrators, making our jobs tougher without much more budget money or man-hours. Microsoft's making compliance easier for us, and while it's hard to get excited about it, anything that makes it easier for me to take vacation is a win in my book.
Denny: Two of the features which I think are among the most exciting features of SQL Server 2008 are the Resource Governor and the filtered indexes. The Resource Governor allows the DBA to decided just how much CPU and memory a pool of users can use on the system in order to ensure that there is always enough CPU and memory available for business processes; preventing reporting and other batch operations from taking all the load of the SQL Server. The filtered indexes is an amazing new feature. It allows you to create your indexes against a table, but only include a subset of the records from the table. As an example, say that you have a table where the column you want to index is 60% NULL values, and when ever you are going to query the table against that column you will always be giving it a value. You can now tell the index to only index the records in the table which have a value in the column, leaving out the 60% of the rows which have a NULL value in the column. This makes your index ~60% smaller meaning that you can load it from disk faster, and it takes less space in memory to keep the index in cache.
Brian: Transparent data encryption and policy-based management.
Chris: Data Compression - I am not sure how exciting this is. I am curious to see how this impacts a production database and the processors. Policy Based Management
Pinal: PBM (Policy Based Management ) would make DBA's life easier. Data compression
The concluding part of our discussion will be posted tomorrow. (Its now available)
Java Experts: Server Side is Where Java Shines
 |
It has become fashionable nowadays to proclaim that Java has lost its
"hippness", the cool guys have moved onto other technologies. The job
market, the arbiter of whether you can earn a living or not disabuses
this notion. See Java has Grown Up and Thats Not Bad to get a perspective of how Java fares in the job market. We at OdinJobs wanted to see what people who use it everyday feel about it. We assembled a distinguished panel of experts, an author, a software evangelist, a owner/entrepreneur, an active open source contributor, a professional who not only uses Java at work but also writes how-to's. Let me introduce them...
|
Jared Richardson, a big proponent of Agile methodology, is the co-author of Ship It!: A Practical Guide to Successful Software Projects. He is currently a Agile coach with 6th Sense Analytics. He can be found at Agile Artsians and at the 6th Sense blog. Jose Sandoval is a software developer who consults on all aspects of software engineering. His clients include United Airlines, Toyota Motors, Bank of Montreal etc. He is a Math and Computer Science guy who continued onto operations management. His areas of specialization include J2EE, J2SE, Swing, J2ME etc. He can be reached at his personal website cum blog. An interesting genealogy titbit regarding Jose, the first Sandoval to set foot on the Americal continent was Gonzalo de Sandoval, a conquistador with Hernan Cortez in 1519.
Stephan Schmidt has been very active in java based open source projects. He is the project manager for Reposita. He was a founder and lead developer of SnipSnap, a java based weblog and wiki. He is the lead for Radeox, a wiki renderer. He writes about software productivity in his blog. There are some interesting posts there about java interview questions that he likes to ask.
Tareq Abed Rabbo is an expert in Spring WS. He has numerous tutorials on his blog www.jroller.com/3405691582. Anybody guessed the blog name? its OxCAFEBABE and that to java newbies is the Java class file's magic number. The first four bytes of every java class begins with 0xCAFEBABE. Tareq uses Spring and Web Services in his day job with a Telcom company.
Mark Watson, author of 14 books on AI, Java, Lisp, C++ and Windows. He Wrote Intelligent Java Applications for the Internet and Intranets way back in 1997 with Java 1.0. Mark specializes in building large scale Java server side development. He offers his projects in Natural Language Processing, Knowledge representation as GPL/LGPL. His site MarkWatson.com has interesting tools, books, training materials. He has two blogs, one for Java (his technology blog) and other for Artificial Intelligence.
Question: When and how did you get started with Java? Jared: A long time ago. :) I was programming in C and Smalltalk before Java was around. I guess it was around 95 or 96 when I started. I was doing Java full-time in 97.
Jose: I got started when it was first released back in 1995, mostly playing around with Java Applets. However, I didn't start developing actual applications until late 1996 early 1997: I started with GUI application and transitioned into full-time J2EE (JEE, now) development around 2000.
Stephan: 1996
Tareq: At the university, I had an excellent Java teacher. We were taught Java basics and OO design: classes & interfaces, inheritance, collections and so on. I also learned other core Java technologies like RMI and Swing and discovered the dynamic aspects of the language. I experimented with all of that for a couple of years. I didn't really think that Java was hip at that moment ; it was rather the pragmatic aspects that drew me to the language such as the ease of development and the extensive standard API. All of that gave me a solid base that allowed me to approach Java EE at the beginning of my professional life.
Mark: I started at version 1.0. I wrote my first Java book ("Intelligent Java Applications for the Internet and Intranets") using version 1.0. Sun featured my site early on in java.sun.com, and paid for 2 of my open source projects to be "100% Java certified"
Question: What do you say when you hear 'Java is Slow'? Jared: It was slow... in the '90s. These days the JIT technology is so good that you have to work hard to write faster C code. Most developers are better off letting the JIT optimize their code.
Jose: Nonsense. The comments are probably coming from new Java developers or sellers of other solutions, who don't understand the new JVM implementation. You mostly hear this comment when related to desktop applications. It is true that the performance of desktop Java apps for the first release of Swing was painfully slow, but the technology has improved. In some cases, it's hard to tell the difference from a native application and a JFC application. Of course, you now have SWT, which is closer to native widgets, but it's still a Java development environment. You can't go wrong with a Java desktop application. Java on the server side has never had that issue.
Stephan: It's up to 5x faster than scripting languages and around 20% slower than C with aprox. the same speed as object heavy C++ applications.
Tareq: Maybe that was true at some point but over the years, Java's performance has been seeing constant improvements. It takes time for any technology to attain a decent performance level and for people to get used to using it. This is natural. The numerous critical systems based on Java proves that this is not really an issue, at least for server-side systems. However, I feel that desktop Java could use some more fluidity.
Mark: Now, that is just plain wrong. I work mostly server side, and the server hotspot is very good.
Question: What type of applications, in your opinion, is Java best suited?
Jared: Java has a wide potential platform base. I'd say cross platform server side apps.
Jose: I think Java is suited for every type of application. This is not to say that Java is the hammer and everything should be treated like a nail. Not at all. However, the language is almost ubiquitous in every platform, so it's natural to think of Java as the main technology solution candidate. Finally, though, the decision to select Java as the underlying platform for any system is aided by the requirements. In some instances Java is perfectly suited, for other it's overkill. Large scale system (banking systems, for example) are well suited for the flexibility of the language, and logical breakdown of coding layers.
Stephan: Enterprise
Tareq: Obviously, Java is quite popular on the server-side. Desktop applications are not to be overlooked as there are new compelling alternatives to build them like Groovy and JavaFX. My current favorites are integration and SOA platforms and tools. Java seems to be a fertile ground to build this kind of applications.
Mark: Server side. Question: What is your most favorite feature of Java?
Jared: JRuby. It's really great to see Java become a platform for other languages. This will extend the life of the Java language/platform for a long, long time.
Jose: I don't have a favorite feature specifically, but once you understand single inheritance you get the why of the "limitation" (as opposed to true multiple inheritance, which is messy; of course, multiple inheritance can be mimicked with interfaces). Finally, the newer "code candy" additions, as I call them, are nice features: generics, for example.
Stephan: GC
Tareq: What I like the most about Java is its openness. The Java platform hosts a wealth of thriving frameworks and emerging technologies. This gives a lot of liberty in terms of choice. It is interesting that a broad range of technologies as different and yet complementary as Spring, AspectJ and Groovy have their place in the Java world.
Mark: The JVM and Java platform. Generics are OK, and the new concurrency support is very good.
Question: What books would you recommend to a newbie? Any books for the intermediate programmer?
Jared: The Pragmatic Programmer Java Project Automation (by Mike Clark). I'm kind of fond of Ship It! but I'm a bit biased on that front.
Jose: For any level Java student (which I am one myself), I recommend the Thinking in Java series (free PDFs at MindView). Although, I prefer the second edition. As for everything else, look at the domain you will be working with and then pick a book in that particular branch. Avoid the "for dummies series," but that's just a personal preference.
Stephan: The standard books
Tareq: From what I see around me, many new Java programmers lack a good understanding of the basics of the language. This could be very impairing because it leads to uninformed or bad decisions. For this reason I would recommend a book dealing with the core language. "Thinking in Java" is an excellent book and the third edition is freely available on the internet. For intermediates I would recommend Rod Johnson's "J2EE without EJB". It was a very enlightening read for me and is one of my favorites.
Mark: The 5 Java books that I have written are now quite old, so I can not recommend them. I have not bought a book on Java in a while, so no suggestions.
Question: Any groups or forums that you would recommend?
Jared: Your local Java user's group! Get involved. It'll provide your next job if you let it. And try to speak at least once a year. There are tons of benefits to doing some public speaking.
Jose: Check out the Java newsgroups for specific problems. Chances are that someone out there has had the sample problem you are having. And when you post a question, the turnaround is remarkable. I never tried the face-to-face Java groups, but I would think they are useful. I find discussions with colleagues much more useful and there is always a context for discussion.
Stephan: Javablogs.com
Tareq: I usually use the official forums and groups of the technologies I'm working with. I particularly appreciate the forums of the Spring framework.
Mark: http://www.javablogs.com I would like to thank Jared, Jose, Stephan, Tareq and Mark for taking the time to participate in this discussion. Our readers will definitely find the discussion useful.
Visit Java Market Overview to see the demand for Java in the past 18 months across the United States, the Latest Java Jobs.
|