January 2007 - Posts

When the developer tools fail
Wednesday, January 24, 2007 12:04 AM

As developers, we pride ourselves on our analytical skills and being able to quickly deduce a problem.  Being “engineers” and “craftsmen” we use tools to gain insight and learn about a problem while we determine our diagnosis.  Every now and then, the tools fail.  This evening I was dabbling with some licensing code in one of our dependent .dlls to troubleshoot a problem that one of UK customers is having.  We had our suspicions that the problem is a globalization issue with dates when not running on en-US.

Members of our team know that I frequently brag about avoiding the debugger – this seems to be a rite of passage amongst Test Driven Development developers who seldom require a debugger since they take such rapid but incremental steps when working.  When I am completely puzzled and need to figure out the logic in some code, my first steps are usually:

  • Write a few more tests to demonstrate the problem/requirement
  • Refactor the code to a form that I can understand (see scratch refactoring)
  • Make some reasonable guesses and add some Console.Outs (getting desperate at this point)
  • Finally, crumble and add some breakpoints

It was tough to follow this pattern tonight since much of the code is sealed (it is licensing code after all!) and not very amenable to testing internals.  So I started on refactoring the key elements and putting in some strategic Console.Outs based on my assumptions – BUT THEY DIDN’T OUTPUT.  This had me further puzzled so I added some breakpoints and next I saw that it just doesn’t seem to be executing the correct code.  See this…

Crazydebugging

It is breaking on the “return false” even though an exception is being throw on the line before (plus it never actually hit the earlier breakpoint!).

After deleting .dlls, whacking bin/obj folders, restarting VS.NET, looking for old rogue devenv processes and finally rebooting the box – I am a little more than stumped.  For those interested, I am using Visual Studio .NET 2003 (yes, we still do lots of work in 2003) and with Resharper 2.0 (#259) as my debugging entry point.  I am going to revisit the problem with Kevin tomorrow with fresh eyes (he already confirmed our suspicions about the globalization/datetime issue) and I will report the results from this craziness if they are interesting.

I found this exercising very interesting as it really highlighted how dependent we are on our tools – even though I more or less knew the issue, I was powerless to successfully fix it without my tools cooperating.

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic Secret Server is a secure web-based solution to both "Where is the password for this router?" and "Who has the password for our domain hosting?".  Secret Server is the leader in secret management and sharing within companies and teams.

Looking for the perfect job where you can do Test Driven Development and Pair Programming?
Sunday, January 21, 2007 7:50 PM

Thycotic is growing once again – we are looking for another top calibre developer to join our team - this is a great opportunity to practice agile techniques on the Microsoft .NET platform from an experienced team while working on great products and with interesting clients.

We are looking for a highly skilled, motivated .NET software developer to join our consulting team.  We are a unique employer since we practice Test Driven Development and Pair Programming and focus on constantly improving our team’s abilities and communication.

Requirements for this position include:

  • You live, breathe, sleep, eat and drink code (preferably of the C# or VB.NET flavor)
  • You want to develop using Test Driven Development (that is *ALL* we do!)
  • You enjoy or are prepared to try Pair Programming
  • You have a good understanding of Object Oriented principles, the .NET Framework, ASP.NET, relational databases and web application development
  • You have the permanent legal right to work in the United States
  • You have excellent written and spoken English
  • You are willing to work in the Washington DC Metro Area

Preferred but not absolutely required:

  • You have strong experience with ASP.NET/ASP.NET Web Services and/or WinForm development
  • You are very familiar with Microsoft SQL Server - stored procedures, triggers, functions and general SQL
  • You have a Bachelor's degree (or further study) in Computer Science

Intangible criteria:

  • Prepared to do what it takes to deliver value to the client
  • Work with others in an environment that encourages new ideas and process improvement

About Thycotic:

Thycotic is a developer-minded consulting company and ISV operating in the Washington DC area.  The company is a leader in agile techniques on the Microsoft .NET platform including Test Driven Development and Extreme Programming.  We are a Microsoft Gold Certified Partner with strong involvement in upcoming Microsoft technologies.  We continually deliver successful projects that are on time and on budget to happy customers while developers maintain sensible hours, vacation schedules and drink lots of FREE soda.  Thycotic also offers opportunities to perform training and work on our own software products.  Stop reading about TDD and come join Thycotic to practice it!

The position carries a very competitive salary based on skills and experience.  It also includes an annual incentive bonus based on mutual goals.  The benefits include healthcare, retirement and generous vacation and conference time.  Thycotic always looks to provide the optimal working experience (however possible) to retain the most talented developers. Thycotic’s office is located in the trendy Dupont Circle area with plenty of things to do after work and all the excitement of a great cosmopolitan city!

Please send your resume and a brief summary explaining your interest in TDD and Thycotic to tdd_me_now@thycotic.com

(Sorry, no visas or sponsorship available, no telecommuting or remote working)

(TDD Job, Test Driven Development Job, TDD C#, TDD VB.NET, NUnit Job, NUnitAsp Job, NAnt Job, CruiseControl.NET Job)

TDD Programmer Internship with Thycotic
Wednesday, January 17, 2007 12:58 AM

We are currently offering a programming internship on our developer team.  This is a great opportunity to improve your skills and see if you have what it takes to become a Thycotic developer.  We practice Test Driven Development, Pair Programming and Continuous Integration.  We are a Microsoft Gold Certified partner and are breaking new ground in the security space with products such as Secret Server and our Two Factor Authentication technologies.

If you are looking for a developer minded company with a continual focus on growth, team learning and technical excellence then apply now.  This role is paid, comes with free soda (!) and a trendy workplace in Dupont Circle, Washington DC.

You can find all the details and instructions to apply here.

 

Jonathan Cogley is the CEO and founder of Thycotic Software, an Agile .NET consulting company and ISV in Washington DC.  Thycotic Secret Server is a secure web-based solution to both "Where is the password for this router?" and "Who has the password for our domain hosting?".  Secret Server is the leader in secret management and sharing within companies and teams.

5 things you don't know about me (probably)
Monday, January 15, 2007 8:52 AM

This has been going around for a while and Andy finally got me.

  1. I was born and raised in Johannesburg, South Africa (yes, that gives me a funny accent!).
  2. I worked for a few years in London (my folks are British).
  3. My first professional programming language was Perl (and I still dabble in it every now and then).
  4. I studied Microbiology and Genetics at college and was supposed to go into Biotechnology before the programming bug kicked in.
  5. I like to fly kites – I started with two line sport kites but got a four line a few years back and love it.

Johannesburg, South Africa  4 line Revolution kite

Ok – so perhaps not exactly dirty secrets but something other than the 1 and 0’s, right?

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic Secret Server is a secure web-based solution to both "Where is the password for this router?" and "Who has the password for our domain hosting?".  Secret Server is the leader in secret management and sharing within companies and teams.

 

More Posts

This Blog

Syndication