Subscribe: Getting the job
http://coresearchgroup.blogspot.com/feeds/posts/default
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
companies  company  data  developers  development  engineers  experience  high  java  new  software engineers  software  team  years 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Getting the job

Getting the job



Tools and strategies useful for software engineers looking to make it through the interview and get the offer.



Updated: 2017-08-14T03:18:15.112-05:00

 



New York City revolutionary app store development project. C# / WPF, C++

2011-01-11T10:23:02.875-05:00

(image)

How would you attract world class software development companies to an app store? The same way flowers attract bees, offer the best quality nectar. We are building a team of developers who will create an app store that allows external companies to build products based on the best financial data, trade execution, and analysis tools available, anywhere in the world.

Our client is a global media company staying ahead of their competition through a combination of more advanced technology, extraordinary software talent, and a greater focus on their core market than the competition can muster. This company has grown every year for decades, offers world class salary and benefits (4 weeks vacation to start, free health insurance for your whole family, etc.,) facilities, and tools to advanced software talent. The environment is a mashup of the financial resources of an investment bank with the product orientation of Apple. This is an extremely high volume and high performance transactional environment. We are looking for senior developers from serious industry backgrounds like networking, telecom, shrink-wrapped product development, or other demanding software environments. The company sells data and processing abilities to other firms. This team is developing an app store that will allow third party companies to resell these processing capabilities to new markets.

Technical Skills: client is seeking strong CS fundamentals (algorithms, data structures, etc.) to pass rigorous interviews. A foundation in C++ is a huge plus. Deep C# skills and knowledge of WPF and/or Silverlight are critical though they have hired people who don’t have a lot of WPF. You need to be able to explain the principles of dependency injection. Knowledge of multithreading in .Net is critical as is OO principles.

Qualifications:
5+ years designing and building successful Windows products
Strong OOD/OOP skills, and experience applying modern design patterns
Experience with .NET architecture (CLR, GC, and C# programming)
Experience with WinForms, WPF and Silverlight
Experience with Web Services and multi-tier distributed systems
Experience with high-performance multi-threading in Win32 and .NET

For consideration please forward your resume to davef (at) coresearchinc.com



Serious data driven iPhone/iPad development opportunities, global media conglomerate, perm, NYC

2010-11-22T20:05:35.351-05:00

(image)
*This firm offers complete relocation from anywhere in the US or abroad but you must have at least a transferrable H1B visa with at least 2 years left on it, they do not sponsor new H1Bs.

Our client is a global media company staying ahead of their competition through a combination of more advanced technology, extraordinary software talent, and a greater focus on their core market than the competition can muster. This company has grown every year for decades, offers world class benefits (4 weeks vacation to start, free health insurance for your whole family, etc.,) comp, facilities, and tools to advanced software talent. The environment is a mashup of the financial resources of an investment bank with the product orientation of Apple. This is an extremely high volume and high performance transactional environment. We are looking for senior developers from serious industry backgrounds like networking, telecom, or other demanding software environments. The company sells data and processing abilities to other firms. This team develops internal tools with Microsoft Server and back office systems. Software performance is always the number one priority.

The company has been involved in mobile development for 10 years, delivering some of the most feature-rich apps for the Blackberry. Now they are moving from developing internal apps for internal users to mobile apps for their customers. There are at least two positions open in iPhone/iPad development. This group develops innovative mobile applications to supplement their website. They have 1.5 million unique visitors per day. This is a new team they are putting together in order to deliver more functionality to the end user. Example projects are TV on the iPad-they are archiving video in order to allow you to search for videos on one person or event or company right from your device. Similar functionality as the YouTube mobile app. Another project is setting market related SMS alerts. The system will SMS the user if a certain stock or security hits a certain value.

Requirements-It is critical that candidates have both server-side experience and device experience. This position is to develop the back end system delivering the services as well as the device side software. The interviews will be heavy on questions about data structures, algorithms, multithreading, networking, and UNIX. Language skills sought are Obj-C obviously, facility with C++ for the server side work.

If this sounds like something you want to learn more about please email me at davef at coresearchinc.com.



Principal C/C++ Engineers for Elite Infrastructure Team Supporting 2500 Developers in NYC.

2010-08-18T15:28:01.547-05:00

A global, profitable client of ours in New York City that we have worked with for many years is expanding. This is a major software company with some highly specific goals. The major initiative here is to basically double revenue within a few years. Thus the entire R&D organization is growing by leaps and bounds. The core software infrastructure development department, a department of about 250 engineers, is really pushing to find some very senior C/C++ software developers/architects. This infrastructure department consists of several teams with various specialties that build all kinds of component based software including homegrown libraries and APIs to high performance frameworks and more.This is a worldwide software leader and they are not looking for just another software engineer although individual contributors are welcome. They are looking for someone that brings a wealth of experience to the table and can contribute on multiple levels and fronts. This is an extremely stable company that has never had a software engineering layoff.Aside from C and C++, they are looking for strong skills in various combinations of the following areas: core computer science, electrical engineering and math, UNIX/Linux, networking, threading, distributed systems development, compiler optimization, graphics library development, GUI infrastructure development, cross-platform library support and much much more. Other valuable skills include not being just another "worker bee", but to possess the ability to lead projects and initiatives when need be, be able to mentor junior to mid-level developers, become a team lead and/or manager of a major team or group in the future. The opportunity list within this department never stops growing.This is a truly great opportunity to come work with world-renowned software industry leaders/experts, C++ Committee members, tech book authors and more. Also, the consistency at which this organization hires talented, passionate and intelligent people does not waiver. You will be amazed at the numerous exceptional people that you will have the opportunity to work with for years to come.Salaries will range from $130K - $250K+ DOETo learn more or to apply please contact or send resume to:--Gil Vander VoortCore Search GroupWhere software talent is number one.www.linkedin.com/in/gilcvandervoortEmail: gil@coresearchinc.comwww.coresearchinc.com803-318-1376[...]



C# trading systems development from scratch with fun people

2010-02-17T14:10:17.650-05:00

(image)

Fast moving greenfield trading system project in NYC seeks guerilla C# developer. Perm, with thriving blue chip investment bank. 100-200k.
I am working very hard to introduce quality developers to this team which is staffed with close friends of mine who embody excellence and passion for quality development. They are shaking up a division in this thriving investment bank with new approaches to trading system development. The system is a Java/Spring middle tier with a C# / WPF presentation layer.

We are looking for a C# developer who has deep experience in many languages, platforms, and industries and who thrives in a shifting and agile environment. These team members will stop at nothing to develop the best possible system. You'll love their energy and passion, and especially their advanced level of technical skill.

This firm is a blue chip bank with the facilities, comp, and benefits you would expect. I'm only looking for people already in country. H1B transfer is a possibility.

Please send a resume to davef@coresearchinc.com to begin a conversation.

Thanks,

DAVE



From Silicon Valley to Silicon Alley. Expert C, C++, Java Developers Needed.

2010-01-19T13:19:11.959-05:00

Have you ever thought about leaving Silicon Valley for the hustle and bustle of Silicon Alley (Manhattan, NYC)? Core Search Group has been recruiting software engineers to the finance industry for over 7 years. There is a common misconception that all software engineering companies require previous financial experience. This is simply not true and, in fact, many of these companies prefer that software engineers come in without any previous financial software development experience. The reasoning is that they like to be able to teach their approach to the markets to new people and "it is hard to teach an old dog new tricks," right?If you are a highly passionate and talented software engineer and are interested in getting into the finance industry, I encourage you to pursue opportunities through CSG today! Currently Core Search Group is working with a diverse group of companies in the sector. We are working with software companies in the financial services sector, electronic trading companies, hedge funds and even large thriving investment banks.We are now focused on one specific hedge fund that we work with. While this company is a hedge fund, they look and feel more like a software company. They are very much a tech-focused company with an eye to the future. They are 300 employees strong with 1/3 of them being software engineers. They are a Java shop running almost entirely on Linux. However, they have a great attitude towards programming languages. Programming languages are mere tools to get the job done. Even if you don't have any Java experience, this company still wants to hear from you. So if you have mastered either C or C++ and have an open mind about entering the Java world, then this place is for you.This company has consistently maintained high standards through their hiring process. They focus less on the tools that software engineers use and more on the general computer science/software engineering fundamentals. They want to see a strong academic background(preferably in computer science) with candidates coming from the top-tier computer science schools around the globe. They also want folks that are serious about maintaining a stable job history. Everyone knows that the problem sets found in the finance industry today are some of the toughest to solve for software engineers and computer scientists. So if you have had thoughts of getting into high frequency trading software, automated trading, high volume data-mining, analysis software for large data sets, real-time systems or other financial systems/application development, this might be just the place for you. It truly is a great place for people who have thrived in software companies for years but are ready for a new twist; a very refreshing and lucrative twist.Other technologies that are being used here are:- Java (Java 6), Linux, SQL, Hibernate, JMS, Rendevous, AJAX, JUnit Let me know if you want to learn more.--Gilgil@coresearchinc.com[...]



Java grid computing position, Jersey City NJ

2010-01-14T12:30:50.947-05:00

Our client is a very well known, highly profitable and stable investment bank. They are developing a horizontally scalable application server grid that runs on thousands of compute servers.

This position involves integrating open-source solutions with vendor products through building the abstraction layers on top of distributed resource orchestration and state caching systems, integration with the existing monitoring and operational support environment and deployment tools.

Why would you apply to this job: Like most of the teams I recruit for, this one is run by a world-class developer I placed as a candidate at another company several years ago. I have followed his career and now can help him grow this team. My information comes direct from this manager. I will get you real and correct information and feedback. Our firm's practice is solely limited to placing extraordinary developers into these kinds of roles. I won't drop the ball.

Required Skills:
Exceptional Java development skills
- J2EE Application Servers
- Spring
- JNDI, JTA, JMS, Servlets and JSP
Knowledge of scripting languages (shell scripting, Python)
Hands-on experience building large-scale software systems
Deep understanding of the following technologies
- HTTP, Load Balancing, DNS
- Distributed file systems
- Messaging
Knowledge of Linux platform and development tool chain
Education: BS in CS or equivalent preferred

Optional:
Hibernate, Maven, OSGi
In-memory distributed cache
Familiarity with Google App Engine, Amazon EC2, Microsoft Azure JVM fine-tuning
C/C++ - language, libraries and tool chains
Cross-platform development experience
Experience with integrated heterogeneous environments (C, C++, Java, Python)
Please contact me for any questions you may have. If you would like to apply please send a resume to davef@coresearchinc.com.

Salary: 100-200+k DOE
Start Date: January-February



Greenfield Java/Spring development in Manhattan

2010-01-05T12:07:19.911-05:00

(image)
Here's an overview of an exciting Java/Spring development opportunity on Park Avenue in Manhattan. Our client is a multinational investment bank that has remained profitable through the downturn. Due to multiple acquisitions and subsequent integration of lines of business from those companies, there are many new development projects under way. This company offers the compensation, benefits, and physical environment you would expect from a blue chip firm.

My contact is an accomplished developer and manager who I have known since I placed him with another multinational several years ago. I work direct with him and will get you direct and fast feedback. He is not only very personable and engaging but also loves to push the edge technically. The goal here is to build the best system, not the cheapest.

The group I work for is developing a brand new bond trading system. The responsibilities include design and ownership of a Java/Linux process that acts as an application server for WPF/.NET-based clients running on Windows. This will included content serving, session management, session monitoring, command dispatching, continuous builds, unit tests, and load test creation. This position calls for a Java 1.5 expert with opportunity for crossover work in C# and WPF, a cutting edge .NET UI technology. We are looking for someone at a 'virtuoso' level with Spring as there will be custom work with it.

Applicable experience:

Linux
Java 1.5 (including Generics, Annotations)
Multithreading
Spring Framework IOC (also AOP, MVC are pluses)
Design Patterns
Servlets, Embedded Webservers, (Jetty)
Design by Contract
JMS, Tibco EMS
XML, XSD (XML Schema)
UML
AspectJ or Spring AOP
JMX
Ant
CruiseControl
Windows XP
.NET/C# knowledge
Interest in WPF

If you are interested in this please email davef@coresearchinc.com to begin a confidential conversation.



CSG's Top Five Interview Prep Tips

2009-09-04T10:17:08.496-05:00

When getting yourself ready for an interview, whether it be a phone interview or an in-house interview, you need to make sure you are 100% prepared. Dot all the t's and cross all the i's. Er, wait, dot all the i's and cross all the t's. Anyway, preparation is key. You can't really be over prepared for an interview.

We have talked about interview preparation in previous blog posts so make sure you don't miss those, but anyway, here are Core Search Group's Top Five Interview tips. This information is directed at software engineers. However, it can be used by one and all:

1 - Be able to defend your resume like it is a Ph.D. thesis. Anything and everything on your resume is fair game. Many people crash and burn during the interview because they cant go into details about their projects. Make sure you can.

2 - Know how to say: "I don't know". You have to make some attempt at an answer. It is a number 1 pet peeve of hiring managers to hear a candidate say "I don't know" and be done with their answer. Make an assumption based on a similar tool you have used if they ask you about a tool you have never used. Then asked the interviewer if that was a safe assumption.

3 - This goes hand-in-hand with #2. Know how to get the interviewers help if necessary. Be able to ask the right return questions to get the interviewer to push you in the right direction. Part of the interview is knowing how to get help; collaborating with the interviewer to get to the right answer is key.

4 - Be able to start a dialogue with the interviewer. I have heard hiring managers say that they have a stock list of questions, but that if they ever get through that entire list, they know they don't want to hire that person. They want to be engaged and interested in conversation. They want to be taken out of the common question-answer, question-answer routine. That can be boring. Remember you are trying to make yourself come across as interesting to the person interviewing you. You are trying to make yourself standout from the pack. You have to make it so the interviewer leaves the interview setting remembering you more than other candidates.

5 - This goes hand-in-hand with #4. Have a list of solid questions to ask. If you are given the chance to ask questions and you don't, then you will sound disinterested. A great way to lose interest from the person interviewing you is to come across as disinterested in the position.

So next time you get that interview lined up. Get yourself PREPARED!!!

Look out for the next post about getting tons of interview advice online.

Peace out!

Gil



Work with World C++ Leaders in an Amazing Location: Lake Tahoe!

2009-04-27T12:39:53.490-05:00

We have a job opening for a C++ expert in Lake Tahoe. We think it is so cool that we should blog about it. Why should you be reading this? Well if you are extremely passionate about C++, STL, Boost and a you love to not only develop software for a living but love working on open source or other side projects, then you should definitely fit this team. This company’s office is literally 5 minutes from one of the country’s most amazing ski resorts, Heavenly. Did I mention that this company will pay for half of your season pass to Heavenly? If you want to also go to some of the other amazing ski mountains in the area, I am sure those mountains sell season passes also.


(image)
If you don't ski or snowboard, there is a ton of other outdoor activities to do in and around Lake Tahoe. Here is a list.

Do you like to visit San Francisco but don’t want to live there? You can get to San Francisco in 3 hours from Lake Tahoe. The best of both worlds, right? Rock on!

So you are now saying, “well, I am not a C++ expert”. That is OK. What is your definition of ‘expert’? Everyone’s definition is different. Do you have extreme passion for C++? Do you love dissecting the advanced features of the language? Maybe you are a hardcore Boost developer. If you are in there somewhere and feel that you are at least on your way to becoming a C++ expert, then we at least have a conversation starter. Let’s talk. If you are a rising rock star who better to learn the rest of your C++ alongside than a few C++ Standards Committee members.

Do you love working in an atmosphere where entrepreneurship and creativity are encouraged? Do you love being able to work on open source and side projects and have strong people near you to discuss such matters? These aren’t the only things discussed around the water cooler.

Are you concerned about COL? Yes, it can be expensive in Lake Tahoe. But you won’t care. Our client makes sure you will be compensated in a way that will allow you to have a comfortable living in and around Tahoe.

Contact us for more information.




How to run an efficient and effective interview process.

2009-04-13T11:16:53.844-05:00

We have several world class clients in the software industry and have worked with several other world-class firms over the years. We have worked with companies that run a very efficient and effective interview process and some that lose out on a lot of good people because they do not. What are the reasons a company should strive to run an efficient and effective process?There are many:- First is the most obvious. It saves the company time and money.- It optimizes the chances that candidates will spread positive feedback about your company and your openings, whether they get hired or not.- If you are working efficiently in your interview process, your recruiters are much more likely to respond and do the same and hence bring you more great candidates.- Efficiency in one activity breeds efficiency in other activities.Let's take a look at how to get the most out of your interview process.- 1st, it is VERY important to give timely feedback to your recruiters or to direct candidates. You as a hiring manager must assume that each and every candidate is working on at least 2 or 3 opportunities other than yours. This makes timely feedback imporant in keeping the interest level high in both your candidates and the recruiters that are working with you. If they have to wait too long for feedback or to hear about the next step in the process, they are more likely to lose interest and focus on other opportunities more than yours. So quickly give feedback from the previous step in the process and quickly move to the next step. Technical people are very sensitive to process. If your recruiting process is opaque, slow, and unfocused, they very quickly assume the rest of your company works the same way.- 2nd, know the timeframe importance level for each candidate. You may find the need to speed things up with certain candidates if they are getting close to the offer stage with other companies. This is especially important if this is a "rock star" candidate.- 3rd, Make efficient use of everyone's time. Double up on phone interviews. If you know you need 2 phone interviews before you can bring a candidate onsite get 2 software engineers on the phone with a candidate at a time. Kill two birds with one stone. This can not only save man hours and money, but it speeds up the entire process which, again, is very important for candidates that are getting close to receiving offers from other companies.- 4th, If you are scheduling a candidate for an onsite interview and you are flying them several thousand miles to bring them in to your office, make sure you optimize the use or your company's time and money. Make sure you have the entire thing scheduled hour by hour. Don't have the candidate sitting around waiting a long time before meeting with the next person. By leaving them alone in a conference room they will lose interest, confidence and hence your process loses effectiveness. If they will need to do a second day of onsite interviews, try to have that scheduled into the candidate's travel arrangements and schedule if possible. If you have to bring them back for a 2nd round make sure you aren't going to lose their interest and candidacy in doing so.- 5th, Have a pragmatic approach to your interview. Tech trivia has its place in the software engineering interview, but should not be the end-all be-all. Make sure you are drilling down core computer science fundementals. If there is a famous problem that the founding members of your company had to solve once upon a time, ask the candidates how they might approach the problem. Also, in writing software you try not to "reinvent the wheel." Use the same approach in interviewing. Get them to go through some of their projects step-by-step. Get them to talk about architecture, show you the design and maybe some code of some of the implementation. Keep them on t[...]



Why Twitter?

2009-03-02T13:40:32.843-05:00

Gil says-One of the outstanding developers I have worked with in the past few weeks asked me about the advantages or benefits of using Twitter. He asked me this in response to my invitation to follow me on Twitter. That wasn't the first time someone had asked me a similar question and it wasn't and won't be the last. Now I will have a place to refer those questions.I have seen Twitter in the news (mostly CNN) since the Saffron Revolution in Burma in 2007. Since that event I have seen Rick Sanchez and others on CNN use Twitter and I never paid attention much to those bits because I didn't really understand the technology..... So I always wondered what it was really used for? What was the craze? What were people doing on Twitter. Why was the application itself so special? This was when we at CSG decided to check it out.  There are many good primers on how and why to use twitter.  We've found it to be very useful in recruiting.  Dave says:I'm highly skeptical whenever I see hordes of people moving in a given direction. I'm not one of the people riding the bandwagon.  I'm the wolf loping alongside the bandwagon waiting to see what cliff it is going to go over.  However we have found tweeting brings a ton of benefit.  Interacting on twitter is like moving through the biggest bar in the world.  You'll need to wade through a lot of people that don't offer much value to your line of business.  It's a constant stream of conversation of which maybe 1% at any given time is applicable to your business.  But that 1% is VERY interesting.  You walk past the dude with the bone in his nose to talk to the cerebral looking guy in the corner who is a software thought leader.  Many people link to their blog, website, or resume which is where you decide if they are who you are looking for.  We use Tweetdeck to manage twitter.  I run search strings relevant to searches I am running.  For example I'm working a search for C# talent in NYC.  Any tweet that mentions idisposable comes to me.  Odds are very strong that this person is going to be a potential candidate for my search.  I get a quick surface view of a person which helps me decide if I want to learn more about them.  Many people offer a link to their blog or website which is usually more than enough information for me to make a decision-do I want to talk with this person?Since the whole point of twitter is the conversation we're able to post searches we're working on for folks to look at with less of a resistance level than more traditional forms of sourcing.  If you're one of the most highly sophisticated software engineers on the planet you're a lot more likely to respond positively to real information than some cold call at your work phone. Core Search Group, over and out. [...]



An interview is a blind date. Don't screw it up.

2008-12-09T11:46:27.923-05:00

At left is Core Search Group's recommended interview attire. Over 9 years of watching interviews go on patterns begin to emerge. Here is what we have learned. An interview is not an interview. It’s a blind date. If more people knew how to get through a blind date I would be fabulously wealthy and you’d have to figure all this out on your own.Have you ever had a friend try to hook you up with a potential significant other? It can be really embarrassing for everyone involved. As third party recruiters we try our best to judge not just the technical match of the candidate and company, but also how the personalities will mesh. Sometimes we get it wrong. In one recent instance we had a management candidate tell the developers how she would “manipulate” them into getting the work done. Surpise, they didn't like that idea. She didn’t get hired. Sometimes we get it right. Among other fascinating interviews I have witnessed we had one guy show up for the interview in a giant squid costume. He got the job-programming for one of the top financial companies in NYC. It was the right audience. Since our recruiter knew the audience he knew they would react well. On a blind date you chat with someone for a few minutes and mutually decide, yes or no, “I think I might be able to spend a lot of time with this person without barfing.” On an interview you’re deciding, “I can deal with the cubes and fluorescent lighting and total lack of source control if I can work with these people.” So the key is not to act like a gold-chain wearing goon or a prima donna or any of the other limitless types of pains in the ass people can be. Go in with the idea that you’re a consultant there to figure out how you can help them succeed. Go on a blind date with the idea that you want to learn about the person you’re meeting, not prattle on about how freaking cool you are.The best blind dates are set up by someone who knows you really well and cares for you. So consider that individual before you accept. They may know your history and how you seem to prefer freakishly intelligent and productive people. Or they may have a friend whose life is a shambles who they are hoping you can lift up from the pit of despair and anguish. Which date do you want to go on?Most candidates I talk to have no idea how to qualify recruiters. They let any tool with a monster account and some blind ambition fling their resume haphazardly at a company and cross their fingers. This leads to some brilliant flameouts. If I had a nickel for every sob story I’ve heard I wouldn’t be asking you for your resume.Here’s CSG’s simple checklist to qualifying recruiters:1. How long have they worked with the company they want to send you in to? How many people have they placed there? If the answer is “Ummmm…” let them waste some other sucker’s time.2. What are they going to do to HELP you get the job? Do they know more about the group and the requirements than is on the woefully vague “job description” they got from HR?3. Have they met the people you’ll be interviewing with? Can they tell you why they think you'll mesh with these people?Don’t go on blind dates set up by people you don’t know. Don’t go on interviews unless the recruiter can convince you it is an excellent investment of your time. Don’t forget to wear clean underwear when you leave the house.[...]



Anatomy of a hiring decision

2007-12-20T13:42:11.530-05:00

Our clients are looking for the top developers in the country. They look at their code and look for the best usage possible. Here's an unmodified example from a hiring team at one of our clients."Code CritiqueIn the following, I will go through the code and point out some thoughts along the way. Some of them are merely stylistic, but others can be considered bugs. The list of comments shouldn’t be considered exhaustive.class SelectionStateController{protected: typedef std::map States; // a collection pairs: a unique string of a manager's id and // a boolean selection state (true if selected) typedef States::const_iterator CIt; typedef States::iterator It; // the function object to set up the list of displayed managers struct Value { States::value_type operator()(const std::string &id) { return States::value_type(id,false); } };protected: Container &clients; // a collection of clients to notify about selection state changesHolding the client list as a reference can be a problematic choice. It makes it impossible for the controller to enforce invariants on the client list and to control list management. Admittedly, neither of those requirements were specified in the problem that was presented. // returns the selection state of the manager 'id', true if selected CIt cit=states.find(id);#ifdef _DEBUG check(cit,id);#endifC++ has a shortcut for this: assert(check(cit, id)). Spelling it out just adds visual clutter. return cit->second; } // setters void set_state(const std::string &id, bool new_state) { // sets the selection state of the manager 'id', notifies clients if the selection state is changed It it=states.find(id);#ifdef _DEBUG check(it,id);#endif bool &state=it->second; if (state!=new_state) { // update state and notify clients about the selection state change state=new_state; for (Container::iterator cont_it=clients.begin(); cont_it!=clients.end(); ++cont_it)Standard C++ requires the keyword typename in front of Container::iterator as Container is a dependent type. MSVC doesn’t catch/enforce this – yet. { SelectionStateChangedFunc selection_state_changed(*cont_it); selection_state_changed(id,new_state); } } } template void set_displayed_managers(InIt first, InIt last) { // sets the list displayed managers in a range from the 'first' to the 'last' // note: this method should be redesigned if selection states must be preserved upon changing the list of managers states.clear(); std::transform(first,last,std::inserter(states,states.begin()),Value()); }protected: void check(CIt cit, const std::string &id) const throw(std::logic_error) { // checks if the manager 'id', which is pointed by the iterator 'cit', exists in the list of displayed managers // throws the exception std::logic_error if it does not exist if (cit==states.end()) throw std::logic_error("Manager "+id+" does not exist"); [...]



The power and value of serious software development search.

2008-12-09T11:46:29.046-05:00

Here's a software development success story Core Search Group is immensely proud of.Automated Trading Desk has entered into an agreement with Citi to be acquired for $680 million. While most people in SC still don't even know who this company is or what they do ATD is one of the biggest business success stories in the history of our state. ATD helped us become who we are in a big way and we think we had a hand in helping them get where they are. In 2001 I had the incredible business foresight to purchase this company from the previous owners at precisely the same moment that the internet bubble imploded. I had worked for the firm for two years as a recruiter placing software developers, networking people, and anything else related to IT. We were a generalist IT staffing company and unfortunately so was everyone else. When the bubble burst every company we worked for suddenly was not hiring. We had no jobs to work on. A lot of recruiters were suddenly on the street with an old guitar and a tin cup and a surprised expression. So there I was at my desk, the only employee of the company, having taken on some debt, with no jobs to recruit for. I figured I better find a specialized niche where people were still hiring, pronto.To make a long story short I became aware of this little and extremely impressive company on the coast of SC that was hiring software engineers. I began a dialogue with ATD but they were quick to point out what they were looking for was very difficult to find. At this point the degree of difficulty wasn't a big obstacle for me. I had to succeed. ATD hires very proficient software engineers. People who are exceptionally skilled and productive at what they do. People with a history of innovation that is driven by their passion for developing quality software that suits a given need. So I decided to become a specialist in finding those kinds of developers.I met with the people driving the software development at ATD and interviewed them to find out what they were doing, why they needed this exceptional level of talent, and how I might be able to help. Around this time I hired Mr. Vander Voort who helped hone our approach to finding the people. We learned about ACE and TAO and a bunch of other new (to us) things. ATD was our first client that is the absolute leader in their software development space. We now hold to working only with companies that fit that criteria. It's a short list.Over the following years we've placed around 10 highly capable folks with ATD, which is approximately 15% of their total development team. Most of those folks are still there because ATD is careful to give them a beautiful environment to work in, their own office, the best tools, and the best colleagues. The pay is also great and it's hard to complain about living in a place like Charleston, SC. Like us they are a small but entirely focused and driven company which has allowed them to grow to the point that 6% of all stock trades on the Nasdaq and NYSE are executed through ATD's systems.ATD taught us to specialize in what matters to the top software development company in a given market. Not collecting and delivering resumes. Researching specialized areas of software development, approaching the leaders in that space, developing quality win-win relationships, and carefully finding the few people who really meet the bar the company has set AND are looking for the type of relationship, responsibilities, location, and compensation the company can offer.Everytime we place someone we feel a surge of pride because we know when we follow our system the folks we place will have a huge impact on the client. We're immensely proud of our part in the success of ATD and hope to help them get t[...]



Good or Great?

2007-07-11T09:55:42.586-05:00

Jim Collins' book Good to Great has been a very valuable resource to me and I am sure a lot of other business owners and professionals.

Have you sat down and asked yourself lately whether what you are producing is good or great? What was the last thing you did at work? Was it good or was it great?

If you're good and happy with good that's fine. Most people I talk to though are striving for great. There is a world of difference between your reality if you are good and your reality if you are great. Chad Hurley of YouTube can tell you where great gets you. When I buy a product or service I look long and hard for the great one. Seems a lot of you do too.

Core Search Group believes in the greatness of our vision: to be the best tool for companies to attract Google-quality software development talent.

Here's the text of an email I sent our team this morning:


Hey guys.

I have been reviewing the information and raters we filled out from Jim Collins' website, the author of Good to Great. If you recall this guy and a bunch of researchers did a multiyear research project to study what separates great, enduring companies that change the world from good companies that don't. I think we all agree we can be one of the great ones.

I think we can synthesize all the information in the book down to a pretty simple distinction. When we post a job, call a candidate, do a sendout, test a candidate, talk to a manager, do an innerview, etc, let's ask ourselves: "is the way I am doing this good or is it great?" Make it great.
The simple difference between the good and great companies is the great companies made a conscious choice and set a direction for greatness. Starbucks, Google, Microsoft, GE, etc. all start from one idea. Let's be the great company in our industry. Deciding this early on makes all other decisions easy. Do the great thing. Core Search Group is the great company in the recruiting space.

I really appreciate the work all of you have put into helping us be there. Obviously we have a ways to go but I see the path clearly. CSG will be ubiquitous in the software industry like Skype is in communications-clearly the best tool for the job. Let's all look at everything we do today with a critical eye. Is the action we just completed good or is it great? Is the candidate we are getting ready to send out good or great? Let's make it great.

Thanks!

DAVE



How NOT to disappoint 2/3 of your customers, in 3 easy steps

2007-05-01T11:37:23.014-05:00

At Core Search Group we've long taken the stance that we are a customer service organization, not a search firm. We think our client companies are customers and our candidates are customers. Even if we elect not to help them. We talk to clients and candidates all day who give us orders to fill. Clients want certain types of talent. Talent wants certain types of jobs. We accept a small percentage of the orders and go to work trying to fill them. While our focus is on filling these orders we also think it makes good business sense to treat our customers the way we like to be treated. This is saying a lot as I may be the most difficult customer known to humankind. I want to be served what I am buying with a smile, as fast as humanly possible, and without wasting any of my time. Most organizations in my experience don't deliver. Evidently job seekers think so too.Weddle's latest newsletter has some interesting survey results. When asked about negative experiences in their recent job search, only 32.4% of candidates reported not having any. So 2/3 of all the candidates surveyed had negative experiences. What would happen to a Starbucks or other service business that had this record?We've been talking in this blog and in our offices about the ways we can strive to make every person's interaction with Core Search Group positive. I think we can give a candidate a positive experience even if we elect not to work with them. I even want the candidates who go interview with our client but do not get selected to have a positive experience. How can we do that?First, we think every person who sends in their resume/application to our company should get a response. Not some boilerplate like "thank you for sending your resume. We will be in touch if there is a match." The majority of those who apply are not people we can help at the moment so most often the response is going to be, "thanks for sending your resume. We do not have a matching position for you now because (fill in the reason.) We are entering your resume in our system so we can contact you about positions that we have in the future that match your desire for (what the candidate wants.)" We've found the truth tends to make people satisfied even if they don't necessarily get what they want. If I went into Starbucks and ordered a Gaelic Ale I expect they would not be able to serve it to me. If I got a smile and a reason why and directions to the brewpub down the street I probably wouldn't be mad about it. And I'd come back when I needed a coffee.Second, every candidate should be notified about what is happening at every stage in the interview process. They should know how the process works at the given company, how long each step should take, and how long it will take to get them a yes or no.Third, candidates should be educated as part of the process about how the selection process works, which I have found most candidates are not clear on. As far as I know there is no manual to read on how great companies select employees but candidates seem to forget the Core Search Group theory of relativity: "it is not about if you and your skills match the job, it is about how you and your skills match the job compared to the other people interviewing." Companies are looking for rockstars. You shouldn't be upset if you interview for a job and someone else gets it. You should figure out what you didn't have that they did and go to work developing that trait in yourself. If the recruiter you are working with can't help you by getting feedback they or the company just don't get it.As always I am interested in feedback from anyone with thoughts on how Core Se[...]



Software developer's guide to working with recruiters-decision analysis.

2008-12-09T11:46:29.139-05:00

I hear from so many candidates so much confusion about what recruiters do and why. As our mission here is partly to treat our candidates like customers, I want to help you understand.1. Your responsibilities. Many of the problems I hear about from candidates can be traced back to things they themselves did or did not do. Let's look at some of the things you should do to control your experiences.Study the game. Imagine software development organizations as professional football teams. A professional football team is in a constant process of reorganizing itself around the strengths of the individual players. There are 2nd and 3rd string quarterbacks waiting in the wings to replace the first string person if he stops producing for whatever reason. They are gunning for his job but only get it if they get to be better than him. Unless you as the candidate can demonstrate superior production to that person you won't get his job. If you work for a company no one has ever heard of don't send your resume to Google. If you work for Yahoo don't send your resume to Google unless you are the star developer on your team. Decision point-can you articulate why the company should want you based on what you know about them compared to your current company? If not your odds of getting hired are poor.Learn to play the game. Forget about tweaking your resume with keywords, studying for the interviews, and all the other things people do to get a job for a minute. Companies are looking for the best people they can attract based on their position. Say you are the quarterback for the #8 team in a conference of 2o teams. Don't apply for the QB position at the #1 team. They won't hire you unless you can demonstrate you took your team from #20 to #8 in a single season due to your proficiency. And even then it will be as a backup to their current star. Everything you go through in an interview is to qualify you compared to who they have now and the other people interviewing. If you rank with the best you get the job, period. Let me ask you a question. How many developers are on your current team? That number is x. Pretend you own the company and rank the developers from 1 to x with #1 being the person who has contributed the most to the organization and #x being the one who has contributed the least. I only want to talk to you if you are #1 or #2. Because companies only pay fees to third party recruiters for the best of the best. Decision point-can you tell me why you are the best on your current team? If not start looking for openings through job postings and internal recruiters.Control your information. I have worked with a lot of candidates who wanted to get into one specific company but ruined their chances by choosing the wrong route to go through. When we placed software engineers with Amazon.com we had a byzantine and unexplainable set of rules to function under. For example Amazon employs hundreds of 'researchers' who scour the web all day for resumes that fit keywords. They dump the resumes into a database where they sit. And sit. And sit. Amazon has a rule that if they have the resume they won't consider the person through a recruiter for 6 months. So we would find a good candidate and check the system. The person was in the DB. Had been for three months. No one had ever contacted him. So we would call the candidate, explain the situation, tell them why we thought we could get them the job, wait three months, resubmit the candidate, and place him. We did this several times. Amazon could hire a lot more good people if their system didn't make it so hard. The fact is most hiring managers do not have time to sift [...]



The symbiotic relationship.

2007-03-28T10:29:14.387-05:00

(image)
What do the clownfish and the sea anemone have in common with the technical recruiter and the software developer? Everything. Especially the symbiotic relationship.

The clown fish is like Steve Jobs. It lives an existence where it's survival depends on speed and intelligence. It doesn't really fit in anywhere. It doesn't school with other fish for protection. It is vividly colored which makes it an easy target. It is able to take bigger risks than other fish only because it has learned different survival strategies than other fish. It can see around the reef and from one population of sea creatures to another. When threats mount it can retreat to the safety of the relationship with the anemone for protection. The clown fish protects the interests of the sea anemone because the sea anemone protects the interests of the clown fish.

The sea anemone is rooted in one spot. It isn't able to swim around and see what's going on or what threat is around the corner. Due to it's circumstances it can't pick up and run when an anemone-eating creature is closing in. It relies on the clown fish to defend it from such a peril. Sure the anemone can sense when ocean conditions are changing and move to a new spot, but it takes time to happen. The sea anemone protects the clown fish because the clown fish protects the sea anemone.

I have a candidate now who has been watching his company/department shrink due to the continued telecom turbulence. Developing world-class telecommunications provisioning/ routing/OSS software is hard enough without having to go into work every day wondering if this will be the day they close the office. He's been with the company 20 years and would like to stay until he retires. He's given everything of himself to this company. He's been rewarded and they've made a lot of money from his work (hmmm what would we call this type of relationship?) but he can see the ocean is drying up. His ecosystem is dying.

As his clown fish I need to find him a great company in Central NJ with the desire to have one of the best minds in the world making them millions with his talents. I am checking out all the likely places an anemone would like to settle in that area. When I find the best spot I won't rest until I get him settled there. When he is thriving again I'll be able to attract other great people to his team.

Who is your clown fish?



What do candidates want?

2007-03-28T10:30:29.580-05:00

Core Search Group is a work in progress. Though we are 7 years old we look for at least one way to improve every day. We solve a vexing and expensive problem for both candidates and companies. We want to be the best in the world at solving that problem. We only are effective when we have a symbiotic relationship with both groups.I asked a question over on Linkedin and was very interested in the responses. The question: "How do you as a candidate pick a third party recruiter/headhunter to work with? Please list your top 5 criteria in descending order of importance." If you're in my network you can view all the responses over there. Here are select answers: "I have found that the following criteria work well for me when selecting a recruiter/headhunter (listed in descending order): - understanding the network of clients in your specific industry that they have access to - understanding how they work with client companies (are they a retained recruiter or contingency based) - how well do they match your desired target areas (types of companies/positions/industries, geographical preferences, number of positions, etc.) - are you looking to use the recruiter one time or build a relationship (i.e. are you always open to good opportunities?) - personality (i.e. can you work with this person – you can’t underestimate the amount of time you will spend talking with a good recruiter"From a candidate we are currently working with:"I have too many recruiters contact me with the same attitude. I have a position that I need to fill and I need you to do this. I don't care what you want as a candidate that does not matter to me. I want you to fill this job, and who cares if it meets your needs if it gets me my commission. If as a recruiter you come at me this way, I will be more than happy to show you the door. "From another headhunter:"1) Find out from two or three experienced recruiters that specialize in your field whether or not they think that you are "fee eligible". This means that they think that their clients will definitely want to pay 25-33% of your base salary to the agency above and beyond what they will pay you in salary. Ask them to be brutally honest. If you are not fee eligible, no recruiter can help you. 2) Presuming that you are "fee eligible", ask hiring managers in your field if they can recommend any recruiters that they have had a good experience with from the client side. 3) Ask professional colleagues who have been candidates of recruiters the same question. 4) Once you have met with a recruiter, ask yourself whether or not the recruiter views you merely as a transaction or if they seem like they have your best interest at heart. Remember, if you are fee eligible you could be worth thousands of dollars to a recruiter. 5) While experience alone does not always translate to quality, more experienced recruiters tend to be more effective. Bear in mind that contingency recruiters would have had to been good enough to survive and succeed in a 100% commission environment for however many years that they have been in the game. "What do you think we should be doing for you? We want to know. [...]



The 10 Commandments for Technical Recruiters

2007-03-28T10:31:21.265-05:00

I don't care if you are an internal or external recruiter, agency, independent, retained, contingency, contract, permanent, whatever. You're dealing with highly sophisticated and sensitive people if you are placing high level IT talent. They are constantly judging your fitness for your job. You'll need to follow these guidelines if you want to be effective. Like the professional mountain guide the professional recruiter shows people the safest way to the top while minimizing risk as much as possible. If you really want to be the best you can start with this advice. . .Thou shalt love people and your job. Have you ever bought a cup of coffee and gotten service with snarl? Don't you wonder why on earth someone who seems put out with people is in a position where all they do is deal with people all day? There are better paying jobs where you don't have to talk to anyone. There's no reason to deal with the constant turmoil and pressure of recruiting unless you really love it.Thou shalt achieve 10/1 and then improve. Quick, what is the definition of world class recruiting? There's not one? Now there is. Call it Dave's law. If you submit 11 people for a job and none get hired, you suck. Period. If you submit 10 and 1 gets hired you have passed. Now try to improve. The best recruiters have a close to 1/1 ratio because they know so much about what the client truly needs. Get better.Thou shalt not cop a 'tude. There was a time for haughty attitudes. It has passed. Your company is the best. Your company only hires a select few. But every other company is saying that too. The best candidates have limitless options. They don't need to put up with your superiority complex to get a job. Like the mountains, the upper levels of recruiting require a high level of awareness and respect if you want to survive.Thou shalt learn how to talk to smart people. A person with a Master's degree in Computer Science and 20 years of experience working for the most sophisticated software development shops in the world is a person who isn't going to put up with much. I have gotten results by telling people up front "I have a degree in English Literature and so have no clue about the actual technical details of software development. " However I do understand people and how to meet their needs. I ask people to explain things to me in layman's terms. Quality technical recruiting is a multistep process consisting of asking the right questions. Turn down the sales pitch and turn up the intelligent questions about what the candidate wants to accomplish and how you can help.Thou shalt not throw shit at the wall. I had a meeting with a manager at a client who showed me a candidate's resume that had been submitted over 300 times to dozens of jobs in the company. He had gotten a couple interviews but not progressed. He had been submitted by dozens of different recruiters as well as himself. None of them looks very smart in the client's eyes. As in the mountains, you need to be an excellent judge of who has the best chance to be successful.Thou shalt close the loop. In this day and age I don't think any recruiter has time to respond to every person who submits a resume. However if you submit a candidate you should be able to tell that candidate what happened and why. Hiring manager won't tell you? How are you supposed to get better? Stop working on this opening until they are willing to give you real information. It is your responsiblity to assess every situation in which the candidate you put in doesn't get hired and be able to explain why.Thou shalt slo[...]



Preparation is Key

2007-03-28T10:31:56.360-05:00

Extensive preparation is one of the most important things to focus on while pursuing the ideal job. Some candidates realize this while others think that by just going through the motions of the interview process they have a chance. Lack of preparation significantly decreases your odds of getting the job. Let’s look at it this way, simply said, you can’t be over prepared for an interview.Mapping out the entire interview process for the candidate is of utmost importance. There should be nothing unexpected from the beginning. A good recruiter will use all of the information accrued after debriefing previous candidates to the current candidates advantage without just giving you the answers to questions you may be asked-that won't help. By preparing the candidate every step of the way, odds of success go way up. The candidate and the recruiter together should cover all aspects of the process. Candidates should be told about every person they will interview with in as much detail as possible. If that person has a specific style of interviewing a candidate should be aware of what they are up against.Following are 5 main preparation areas to focus on in no particular order:Commitment to the Recruiter/AgencyTo fully utilize what a recruiter is doing for you, you as the candidate must make a commitment to them. If they are giving you advice and information about the company and their process then there must be a good reason for it. Making a commitment to work with that recruiter and being receptive to their direction, advice and guidance will increase your chances of getting that job.Complete Research on the CompanyTo thoroughly understand what you are up against while interviewing for a specific company you as the candidate must research all aspects of the company itself. Do research about the company’s services and products. Find out what they do. Find out why the company was founded. Look into the history of the company. What major changes have come about throughout that history and why those changes were important to the current success of the company? Find out what the culture is like at the company. Why is the culture that way? Why do people want to work there? Also, find out about the people themselves. Find out as much as you can about each and every person you interview with, both before and during the actual interview. By learning about the interviewer during the interview you build rapport with them. This will obviously help you in the long run. There are several ways to find people on the internet today. You know how to use Google to find someone's name. We also recommend searching groups to learn about what technical topics a given interviewer is active in discussing. There are also some really valuable networking sites out there like LinkedIn. Use them to find out what your interviewers are all about.Skills ReviewFirst it is your job to find out what skills are expected for the job, which ones are most important and which ones will be focused on the most during the interview process. If C++ is the top requirement because the software shop that you are interviewing at has maintained a culture and a mission of nurturing an environment where they claim they have the “best C++ shop in the world” then you better believe they will be asking you some extremely difficult questions about more advanced features of C++ such as STL, templates, and exception handling. If you find out that the company is a shop that makes extensive use of Design Patterns, buy the Gang of Four Book. Be[...]



Want to be a rock star candidate?

2008-12-09T11:46:29.343-05:00

In the past 5 0r 6 years I've worked with hundreds of candidates who have gone in to interview through us for a job they really wanted. Our company goal is to place at least 1 in 10 of those who go in to interview. We often achieve a much better ratio that that. Frankly there must be easier ways to make a living (get a PhD in CS and work for Microsoft? Sounds hard.) In our experience the ratio of hires to applicants for those trying to get into the top companies without the help of a quality recruiter is many many multiples of this number. Oh how I want to get this fact across to so many candidates and clients I talk to: good recruiters save you time and save you money by more efficiently putting the best people (companies) in front of you. Don't get me started.The interview. Everyone's favorite way to spend a morning-being poked and prodded by a group of people looking for a reason (or not) to hire you. If you're trying to get into Google, Amazon, Microsoft, or other top companies the web is alive with scary stories of nutty unsolvable problems these companies give. One thing all the best companies are exceptionally good at is scientifically comparing every single person who comes in the door to their best people. Their simple rule is they don't hire you unless you measure up to those people.What do these companies want? Why do they select some candidates and not (so many) others? Is there actually a method at work that makes sense? From the conversations I've had with software engineers out there I know a lot of you are very confused, and dare I say bothered, by the way these things unfold.No one has let me in on the great corporate secrets but I think I can demystify what companies are looking for from my experience placing solely extraordinary software developers over the past five years. They are looking for ROCKSTARS. Are you one? If not you can learn to be. Here's how:Resume Follow the link to learn how smart companies view resumes. Your resume should be much more than a bland list of your education, experience, and personal information. Most resumes stand out about as much as a piece of hay in a haystack. The best companies are looking for needles. Some of the clues they look for are:*People who began programming at an early age. Early curiosity in programming is a very common trait in the best developers.*People with uncommonly stable job histories. If you are not staying a minimum of a couple of years in each job and growing within the organization, don't send your resume until you are.*People with a logical and advancing career path. Points are not given for going from programming to QA and back again. The best companies know where they are going and would like for you to have a plan too.*People with PASSION. We have unlimited numbers of resumes from people who got their degree in CS because it was a hot industry to be in. The best companies are not looking for these people. Bill Gates didn't need a degree at all because he had passion. Passion adds points to your score across all the categories below and adds significantly to your odds of getting the job. Extra work such as being involved in open source work, being on standards committees, filing patents, inventing new products, or writing about your work are some of the ways of letting your passion out. Find it and nurture it.*Exemplary educational credentials. Yes people are impressed if you went to a great school. But most often that alone won't get you the job. If you don't have a degree fro[...]