Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Tuesday, September 29, 2009

WPF Control Development Unleashed Book Review

WPF is a vast topic. This book does a great job of zeroing in on some of the most powerful functionality WPF has to offer and assembling it in a very concise format.

The book starts out covering the WPF Design Philosophy which is a great for those who need an introduction to the overall context WPF offers the developer. I would recommend reading only to those who have some experience with WPF. This become evident right away. Chapter 2 ‘The Diverse Visual Class Structure’ does a great job of covering all the most important classes in WPF, and it fits them together like a puzzle providing a complete view of the WPF, but I can see the beginner being completely overwhelmed and lost throughout the chapter. This is not a ding to the book, it warns the book is for intermediate to advanced WPF programmers.

The book continues to dig into some of the most advanced features WPF has to offer. The only thing about the book I would change is providing more printed code. The authors say they believe in only printing the most relevant code, which is fine, just not my personal preference. I like to be able to read a book without having to be on my computer to review the code. This is not a ding against the book either, since it is just a preference and the code download is great. It is very well organized and usable.

Beyond the chapters on building controls with WPF the authors also offer guidance on achieving high performing code and the use of performance measuring tools. It is a short chapter but it gets you started.

They also have a chapter of design tips. This chapter is not just WPF centric. The chapter includes a list of the well know design patterns for GUI development. They are not covered in detail, but they have a good summary about the pattern.

The authors have a good writing style that makes the book enjoyable to read. The topics are all very cool topics and they really show off the advanced capabilities of WPF.

I highly recommend all WPF developers read this book at some point along their learning path. It is not introductory, so I would suggest having a little experience first. No matter how advanced you are in your experience level, you will learn some new things from this book.

posted by tadanderson at 10:06 AM 0 comments

Wednesday, September 09, 2009

Pro SQL Server 2008 Replication Book Review

This is one thorough reference. It begins with an introduction to distributed data, distributed data transactions, eager replication, lazy replication, replication in SQL server, and the benefits of replication.

The book then covers replication basics including the published-subscriber model, the different components of replication, physical replication models, and installing and configuring replication.

Next is a detailed chapter on the types of replication, which include snapshot replication, transactional replication, and merge replication.

Then there are several chapters on configuring snapshot generation, transactional replication, and merge replication. Each is covered with a chapter on configuring with a GUI, configuring using T – SQL, and the internals of each type of replication. Merge replication also includes a chapter on web synchronization with merge replication.

After that backup and recovery, and optimizing, are covered for each type of replication.

The book ends with a chapter on heterogeneous replication and how to connect with oracle to do replication.

There are a ton of screenshots and a lot of code. This allows you to read the book without having a computer nearby to look at the examples in full. The book also contains a lot of tables which give great snapshots of the different parts involved with replication.

There is a code download. The download includes text files for each chapter which contains the code samples for that chapter.

The book is very well organized and has a very logical flow to it. The author also has a good writing style which makes reading a book on merge replication, which usually would not be too pleasant, a very enjoyable read.

All in all I do not think there is a more comprehensive resource for information on how to accomplish replication in a real-world production environment.

I highly recommend this book to anyone involved with replication in SQL server 2008.

posted by tadanderson at 9:25 AM 0 comments

Wednesday, September 02, 2009

Technical Interviews and Interviewers that Suck and how to Avoid Them

Over the past 6 to 9 months I have interviewed with quite a few companies. The current economy has created a few new breeds of interviewer, breeds our field could do without.

New Breeds are below:

The HR Ogre
It seems that some companies have decided that in order to filter out bad candidates they would put their HR people in charge of doing the filtering. This is fine when it comes to criminal records, reference checking, salary and benefits expectations, etc. But it is not ok for them to try to figure out whether or not I am qualified technically.

I had several encounters with the HR Ogres. One lady asked me to remove all the acronyms or provider her with definitions of them from a common dictionary. For example, did I really mean “.net”, or did I mean “.com”. OOAD means what? This is not an Architect position it a software position, they want to build software… not buildings. You spelled “is” wrong in several places, you typed IIS.

Book Techie
These clowns come to the interview with a list of questions they just spent the morning looking up in a book or on the web. They ask stupid questions like, “tell me what the sp_OAGetProperty does”, or “on the transformations tab, what does the Phases filter do?” My answer is always, “no clue, give me two minutes with Google and I’ll let you know”.

These guys have always been around to a certain degree, but they seem to be more prevalent now. My guess is management has decided Jimmy the DBA and Elmo the maintenance guy should be in on the interviews to help weed out the bad candidates. Never interviewing before, they figure cool, time to stump some people.

Startup Marketers
These guys should just wear shirts that says, "Look we are hiring, want to invest in our company?" These guys are interviewing and interviewing and interviewing and interviewing and interviewing and interviewing to look good for their investors. They have absolutely no interest in hiring you.

I have seen this in the past, but it is worse now. A lot of times if you are on the inside of one of these companies being forced to do the interviewing you will be told, “We just want to make sure we have plenty of options in the pipeline in case we land a contract sometime soon.”

Solution Seekers
These are the guys forced to do the interviewing for the Startup Marketer Interviewers (above). They come to the interview with their latest problems. They know they aren’t hiring so instead of wasting their time they figure they might as well see if they can get some free answers.

You will find these guys going into way too much detail trying to explain the issue. One guy I was talking with spent the whole interview talking about their caching issue and the threading problems they were having on IIS and asking me what I would do to fix it. When I said I would have to spend some time with the application he would try to explain it again a different way in hopes a different view would spark a thought in my head.

Recruiter with a Fantasy Job
The big thing with recruiters used to be meet and greets. They got points for getting your resume, talking to you on the phone, meeting for lunch, and doing preliminary interviews with their staff. The more points at the end of the month, the bigger the bonus.

They don’t do the lunches as often, but they do seem to have crossed an ethical boundary when it comes to telling you they have a perfect fit for you to get you on the phone. A warning sign with these guys is that they will not tell you who the company is if you ask them right up front. They will also not have a salary range, but instead they’ll ask you what you want, and they’ll say that your asking price is fine.

Then they will start asking you a ton of questions. Most of them they should already know if they have found you the perfect fit. 15 to 20 minutes later you will get the line, “now that we have gone through these questions I realize you are not a very good fit for the position I contacted you about. I’ll get in touch with you if anything else pops up.” Then they should thank you the points they just earned by getting your info in the system, but they don’t.

So what is a person supposed to do to avoid wasting their time?

When my resume goes out, I never answer my phone unless I know who it is.

I make all interested parties contact me by email first, or leave a message that has a reason why I must call. So far, only one has left a message that gave me a reason to call instead of email. There was a time sensitive issue.

All recruiting firms must tell me who they are representing and what the salary range of the position is before we do anything else. If we don't agree on the rate upfront, or at least make sure we are in the same ballpark, there is no reason to continue.

All companies must put me in contact with a technical person so I have someone besides the HR person to communicate with. Let them educate their HR person.

Head Hunters really have never been a problem. They have no point systems, and they usually aren’t experiencing some sort of power trip. They want you hired so they can make their money. They usually will tell you upfront what the pay is, and sometimes insist you sign a non-compete before they tell you who it is they represent.

I have a no meet and greet policy. I have been on enough of them to last me a life time. If the recruiter must see me before the interview, they can meet me a half an hour before the interview.

You can usually spot the Startup Marketers if you subscribe to job sites and just watch who is always relisting the same position over and over again.

It is hard to prevent getting hit by the Book Techie or the Solution Seekers. I often find myself repeatedly asking, “On my resume, which job or skill set is this in reference too?” or “I am not very good at memorizing, can you relate it to a skill I have listed that I say I have done.”

Interviewers that are not referencing your resume and digging into the jobs you say you have done, and the skills that you say you have, are usually not very experienced interviewers. Although you are there to meet the specifics of a job description, finding out your history can only be done by investigating things you say you have in your history. Their specific job needs may also be asked about, but they should not be the focus of the interview. You and your past should be.

posted by tadanderson at 1:30 PM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger