This economy blows. Let's be clear about that. Nationwide unemployment rose to nearly 9% in April and IT is not immune. I've had the first hand experience of letting people go who I would love to work with again and I cannot describe how painful that experience is. We've had a number of clients cut projects short, shelve them completely, or force a reduction in rates regardless of their contract. IT and consulting jobs specifically have become extremely competitive as a result.
This post (and some subsequent ones) will be targeted to anyone who is currently out of work or in a consulting role, interviewing for one of the precious few jobs out there. Please don't kid yourself, you will be one of many potential candidates who are vying for jobs and a lot of candidates are out of work and willing to come in at a lower salary/bill rate. Separating yourself from the masses is even more critical in this environment.
I have the unique position of sitting on both sides of the interview desk. I interview about 50 people per year and also compete as a candidate for some consulting engagements. I'm going to try to let people know mistakes that I, my consultants, or my candidates have made and areas where we've excelled.
Tip #1 - Become the Interviewer
As an interviewer, if I don't feel like I want to work with you, I probably won't hire you. More importantly, if I don't feel that you want to work with us, I definitely won't hire you. I've worked with people who have no passion to come in on a day to day basis and help me solve problems, and they are a huge anchor to our team's productivity. They create tension and animosity among teammates, they slow the overall velocity of our team down, and generally do more harm than good.
If you want to dispel that feeling in your interviewer, then you need to let them know that you are eager to work in the position in front of you. I end every interview by asking a candidate if I can answer any questions that they have. If the candidate has not asked any questions to that point and still has nothing to ask me, I'm pretty much assured that they have no real interest in building a career at our organization. They are looking to fill a monetary gap in their life and I have no interest in helping them out.
Conversely, if the candidate responds with questions about the team, the environment, the projects, the challenges, the organizational structure, the benefits, the strategic direction, the color of the walls, the quality of the seats, the use of Lotus Notes, etc... then I know that they have a genuine interest in working with QSI and they are doing their homework. Further, they obviously are looking at making an educated decision on their career and not just getting a job. The interview should always be bi-directional, don't just get peppered by the interviewer.
Also, please recognize that the astute interviewer will draw some conclusions about you based on the questions you are asking. Candidates need to focus on asking the questions that are most important and critical in determining whether they want to work on this project. If you are only asking me about money, vacation time, health benefits, and the like I am pretty confident that your deciding factor is strictly based on compensation. I personally get much more excited when I'm interviewing someone and they are asking about the team makeup, type of project, challenges, technologies in use, and opportunity for career growth. Just please, don't ask me about our use of Lotus Notes, I don't want to scare you away.
Thursday, April 30, 2009
Wednesday, January 21, 2009
2009 Goals
My good friend Jeff tagged me to blog my goals for the year. I'm glad he gave me a little inspiration for this as my personal goals are something that's been floating around in my head for some time. With the exception of the first two they are in no order. Here they are, etched in the annals of the internet.
1.) Delight my wife
2.) Be a better father to my 2 girls
3.) Exceed the expectations of every customer I come in contact with
4.) Blog every other week
5.) Speak every quarter at a user group or conference
6.) Contribute to an open source project
7.) Hire 5 people smarter than myself (low barrier, I know)
8.) Exercise 3 times a week
9.) Read 12 books
10.) Brew 4 times
1.) Delight my wife
2.) Be a better father to my 2 girls
3.) Exceed the expectations of every customer I come in contact with
4.) Blog every other week
5.) Speak every quarter at a user group or conference
6.) Contribute to an open source project
7.) Hire 5 people smarter than myself (low barrier, I know)
8.) Exercise 3 times a week
9.) Read 12 books
10.) Brew 4 times
Sunday, December 14, 2008
Burning Media from Mac OSX
Repeat after me, "Sissies use GUIs. Sissies use GUIs. Sissies use GUIs."
Okay, now that we have that covered here is the command I continue to forget when trying to burn an iso onto a CD from my macbook pro.
hdiutil burn ~/Downloads/ubuntu-8.10-desktop-i386.iso
Beats fumbling around with Finder any day.
Okay, now that we have that covered here is the command I continue to forget when trying to burn an iso onto a CD from my macbook pro.
hdiutil burn ~/Downloads/ubuntu-8.10-desktop-i386.iso
Beats fumbling around with Finder any day.
Tuesday, December 9, 2008
Howdy Parnter!
I'm pleased to announce that Quick Solutions, Inc. is now a certified Systems Integration Partner with SpringSource.
The Spring framework is the standard for Java development. SpringSource has built upon that momentum with a keen vision in developing products and services that benefit enterprise customers using Spring. Whether it is the OSGi enabled dm Server, an instrumented version of the Spring offering with a common monitoring application, or a support model that bests Oracle, IBM, or JBoss, the future of Java development is a very clearly dominated by Spring and SpringSource.
Quick Solutions is driven by providing software based solutions to our customer's problems. We strive to do this in a manner that passes the most value on to our clients. Partnering with SpringSource will allow us to clearly articulate and demonstrate the value that their products generate within Enterprise Java development. We look forward to working closely with Rod and the gang in 2009 and beyond.
Stay tuned for some more information on making best use of the products in the SpringSource umbrella.
The Spring framework is the standard for Java development. SpringSource has built upon that momentum with a keen vision in developing products and services that benefit enterprise customers using Spring. Whether it is the OSGi enabled dm Server, an instrumented version of the Spring offering with a common monitoring application, or a support model that bests Oracle, IBM, or JBoss, the future of Java development is a very clearly dominated by Spring and SpringSource.
Quick Solutions is driven by providing software based solutions to our customer's problems. We strive to do this in a manner that passes the most value on to our clients. Partnering with SpringSource will allow us to clearly articulate and demonstrate the value that their products generate within Enterprise Java development. We look forward to working closely with Rod and the gang in 2009 and beyond.
Stay tuned for some more information on making best use of the products in the SpringSource umbrella.
Tuesday, October 14, 2008
Thank You SchemaSpy
I love open source contributors. These people are the geeks who bypass reality shows, online gaming, and time with their families so that they can bring you something that will make your life better. They get nothing in return but a "atta boy/girl" and a pat on the back.
I am taking it upon myself to give thanks to a few of these open source contributors over the coming months. I am a typically just a taker when it comes to open source, but I would like to at least let the givers know, that I appreciate their hard work and commitment.
The first shout out goes to the kind contributors of SchemaSpy. SchemaSpy allows you to generate a web based ERD of an entire database, that is easily navigated by clicking on images throughout the web application. It's a simple jar file that can be downloaded and executed on any platform that has java installed. It supports a wide variety of databases and produces a ton of information in an easy to digest medium. The first thing you'll be presented is the table listing:

This view gives you all of the tables in the system, the number of rows in each table, and a number of other tables directly related via foreign key to this table.
When you click on one of the table names you are presented with the more specific table view:

The top level of information is like a describe of the table, but checking some of the boxes will allow you to see navigable parent and child rows for each of the columns.If you click on the images in the mini-ERD at the bottom of the page, it will navigate to the appropriate tables. Also note that you can expand the mini-ERD to 2 degrees of relationships.
These features in and of themselves are enough reason to automatically document your database with this tool, but another really applicable portion of the tool is the ability to identify anomalies within the database. Clicking on that tab provides you with this view:

Here you'll see a number of bad database smells very quickly. Unleash a DBA worth their weight on this page and you'll have some table alterations done very quickly.
I honestly see no reason to not use SchemaSpy on any project that we have. It is extremely easy to use, can be integrated into a build, and provides better reference documentation on the database than the vast majority of projects I've worked on. Well done SchemaSpy crew, and a sincere THANKS!
I am taking it upon myself to give thanks to a few of these open source contributors over the coming months. I am a typically just a taker when it comes to open source, but I would like to at least let the givers know, that I appreciate their hard work and commitment.
The first shout out goes to the kind contributors of SchemaSpy. SchemaSpy allows you to generate a web based ERD of an entire database, that is easily navigated by clicking on images throughout the web application. It's a simple jar file that can be downloaded and executed on any platform that has java installed. It supports a wide variety of databases and produces a ton of information in an easy to digest medium. The first thing you'll be presented is the table listing:

This view gives you all of the tables in the system, the number of rows in each table, and a number of other tables directly related via foreign key to this table.
When you click on one of the table names you are presented with the more specific table view:

The top level of information is like a describe of the table, but checking some of the boxes will allow you to see navigable parent and child rows for each of the columns.If you click on the images in the mini-ERD at the bottom of the page, it will navigate to the appropriate tables. Also note that you can expand the mini-ERD to 2 degrees of relationships.
These features in and of themselves are enough reason to automatically document your database with this tool, but another really applicable portion of the tool is the ability to identify anomalies within the database. Clicking on that tab provides you with this view:

Here you'll see a number of bad database smells very quickly. Unleash a DBA worth their weight on this page and you'll have some table alterations done very quickly.
I honestly see no reason to not use SchemaSpy on any project that we have. It is extremely easy to use, can be integrated into a build, and provides better reference documentation on the database than the vast majority of projects I've worked on. Well done SchemaSpy crew, and a sincere THANKS!
Saturday, October 11, 2008
Book Review: The Productive Programmer

When I heard that Neal Ford was releasing a book on programmer productivity, I anxiously went to Amazon to pre-order it. Problem was that it was almost two years ago and Neal's busy schedule has kept him from finishing it for quite some time. Now that it is finally out and I've read through it (twice actually), I would highly recommend it to anyone doing software development on a daily basis.
I've seen Neal speak at a number of conferences like Codemash, NoFluffJustStuff, and eRubycon, and I've always walked away with something that will improve me as a software developer. The reason is fairly simple, Neal is at his core a developer, and more than many other speakers, he understands the problems and challenges that face developers.
The The Productive Programmer is really two smaller books slammed together.
The first part is focused on tools and techniques that help you work. I actually re-read the book a couple of times because I did a horrible job of keeping track of the utilities and power toys that I wanted to download my first time through. The second time I went through it I started putting post-its on the pages where I wanted to remember a command or download a utility that made sense. The book was littered with post its by the end of it. Neal provides a number of utilities and techniques for both Mac and Windows platforms that will allow you to work more efficiently in your day to day environment. *nix environments are notably absent here, but the command line advice provided for Macs, are obviously equally useful across any *nix distro.
The second part of the book is largely focused on how you build software. A large majority of Neal's talks at conferences carry this common theme. Neal is adept at identifying and explaining principles and patterns of development that yield the best results. Metaprogramming, TDD, Fluent Interfaces, Polyglot programming and many other topics are covered in an easy to digest manner that harkens back to the bible of software development: The Pragmatic Programmer. Neal is able to provide concrete examples throughout the book, based on his vast experience in consulting through the years.
The productive programmer is easy to read, full of valuable information, and applicable to junior developers and seasoned veterans alike. Again, I would highly recommend it to anyone developing software on a daily basis.
Monday, October 6, 2008
Looking for Smart People
I tend to mention my company, Quick Solutions, very little in order to keep some sense of journalistic integrity with this blog. Unfortunately, I'm not a journalist so I'm going to skip the pretense for at least one post.
I started working at Quick Solutions 5 years ago this month for the sole reason that I was largely unchallenged in my daily job. My thinking at the time was consulting would expose me to a variety of businesses, technologies, and projects. I was fortunate enough to prove my commitment to the company and demonstrate a sufficient breadth of knowledge that I was offered an opportunity to work within the solutions group. At the time I thought that the only difference was the type of work (project versus role based consulting).
I quickly realized however that there was something else about the group that was different. This group was choc-ful-o-geeks. And I mean that in the most sincere way possible. Conversations within the group revolved around continuous integration offerings, Java and .NET trade offs, best practices for SOA, and dynamic language use instead of the typical bitching about a lack of requirements and rehashing of the previous night's reality show. The group was filled not necessarily with Mensa members, but instead with very bright software engineers who cared about their craft. Egos are checked at the door and you could be sure that every person in the door shared a passion and ability to learn that tends to permeate good software developers.
Our company has grown throughout the years and even in a downturn of the economy, we are in dire need of people who meet the above description. If you like working with smart, passionate people please drop me a line. We are always looking to bring people in who show a passion for technology, an ability to learn, and a nack for solving problems. Additionally, if your specialty is Java development, I can give you your choice of 3 different, exciting projects, right now.
If you think you meet these criteria and are interested in working with more people of your ilk, email me at tkaufman at quicksolutions.com.
I started working at Quick Solutions 5 years ago this month for the sole reason that I was largely unchallenged in my daily job. My thinking at the time was consulting would expose me to a variety of businesses, technologies, and projects. I was fortunate enough to prove my commitment to the company and demonstrate a sufficient breadth of knowledge that I was offered an opportunity to work within the solutions group. At the time I thought that the only difference was the type of work (project versus role based consulting).
I quickly realized however that there was something else about the group that was different. This group was choc-ful-o-geeks. And I mean that in the most sincere way possible. Conversations within the group revolved around continuous integration offerings, Java and .NET trade offs, best practices for SOA, and dynamic language use instead of the typical bitching about a lack of requirements and rehashing of the previous night's reality show. The group was filled not necessarily with Mensa members, but instead with very bright software engineers who cared about their craft. Egos are checked at the door and you could be sure that every person in the door shared a passion and ability to learn that tends to permeate good software developers.
Our company has grown throughout the years and even in a downturn of the economy, we are in dire need of people who meet the above description. If you like working with smart, passionate people please drop me a line. We are always looking to bring people in who show a passion for technology, an ability to learn, and a nack for solving problems. Additionally, if your specialty is Java development, I can give you your choice of 3 different, exciting projects, right now.
If you think you meet these criteria and are interested in working with more people of your ilk, email me at tkaufman at quicksolutions.com.
Subscribe to:
Posts (Atom)
