Showing posts with label Engineering. Show all posts
Showing posts with label Engineering. Show all posts

Saturday, March 13, 2021

Recruiting and Staffing Agencies


Employment recruitment and staffing agencies are a pretty standard participant in the software engineering ecosystem. Someone has a job looking to fill, someone wants a job in search of one, these agencies serve as a broker of putting the wanter in the same room with the wantee.

Over the past years, I've found myself both as a hiring manager as well as a job seeker, so I feel I have some experience in both camps and I thought my observations might be of interest to some.

The Journey of a Resume

Let's take a journey, shall we?  The journey of a your engineering resume begins when one day you receive an e-mail, or perhaps a phone call, from a staffing agency.   Perhaps someone you've worked with in the past, perhaps someone you've never heard of.  I'll attempt to use the term staffing agency throughout this post, but you may prefer the use of: contracting house, consulting firm, employment services or technical recruiting house.  Regardless, they each serve as an agent that introduces those who have jobs with those seeking jobs.  These agencies have two primary purposes; tracking available job positions and tracking candidates for said jobs.  Staffing agencies act as a middle-man in introducing job seekers with job providers, their fundamental purpose.

The e-mail, or phone conversation, will be detailed in some respects and curiously vague in others.  The exchange may call out a good deal of technical details; tooling, software, programming languages and dev-op specifics, but curiously vague in the company and/or exact industry the job exists.  This is for good reason; specifically it's an effort to ensure you apply for the position through them rather than directly with the company providing the position, or an alternative agency.  If you show interest in the position, or a vague interest in alternative positions, the recruiter will tend to suggest "why don't you fire me an updated resume?".  This exchange has some significance which we'll touch on later, but let's continue following the path of your resume for a job you're interested in.

You send your resume to the recruiter for the position, the recruiter slightly tailors your resume to be later sent to the hiring manager (or HR) for consideration.  The tailoring is subtle, mostly not of consequence, and has the same desired effect of preventing direct contact between applicant and hiring manager.  Your resume, electronic or physical, is stripped of direct contact info; your e-mail address is removed as is any phone number.  Typically, your name is preserved, so with modest effort a hiring manager could contact you directly; they don't tend to however because there is a legal, or professional, agreement between the hiring company and agencies that discourages direct exchanges.  

At this stage, the recruiter has your resume and it goes to the hiring manager, right?  Whelp, not quite, but almost.  Before an agency submits your resume they establish legal protections to prevent them from being removed from the hiring process and getting paid.  It should come at no surprise that agencies are compensated for their efforts.  To prevent a hiring manager directly offering a job to a candidate the agent provided, the hiring company and agency sign legal agreements.  These agreements tend to specify that candidates provided by the agency are represented by the agency and cannot be directly approached.  Agreements also call out constraints to avoid being kicked to the curb at a later time.  For example, most agreements state that if you hire candidate X from agency Y the candidate cannot move to agency Z for the same position.  This is to avoid agency Y who may be charging $120/hr to be replaced with agency Z for $110/hr.  The candidate is locked to the agency for the existing position.  Agreements also call out contract-to-hire positions, where a candidate comes in as a contractor for an hourly rate and is allowed to be hired as a W2 (direct) employee after some period of time if the company wishes to do so.  Agreements that specify the contract-to-hire options tend to charge a bit higher rate and likely a transition bonus if the candidate goes direct.  A properly placed candidate with long-term potential is like an egg-laying goose, locking in a candidate to a long-term hourly position is extremely profitable so contract-to-hire positions tend to adjust the rate higher to offset the loss or make up for it with an agency hiring bonus.  Agency compensation details (like invoiced hourly rates or hiring bonuses) are considered competition-sensitive and typically prevented in the form of a non-disclosure agreement (NDA).  Signed agreements in place, your resume is forwarded to the hiring manager.  

If the hiring manager feels you're a good fit they will contact the agent and you will proceed on, likely with a phone interview or on-site interview.  Your resume is then likely kept on file at the staffing agency for future opportunities.

Job Position Evaluation Process 

Once the resume hits the hiring manager's hands, the staffing agency continues as a middle-man between the hiring manager and applicant.  At each stage of the hiring process, the agent participates in the process.  Often, many communications between hiring manager and candidate flows through the agent.  This can prove to be useful in uncomfortable conversations, like negotiations, so it can be beneficial to the applicant as well as the hiring manager.  If you're a good fit you'll likely proceed on with the hiring process, if not  the agent will typically discuss specific mismatches to be used to tailor their search for alternative candidates.  Exchanges between a hiring manager and candidate are restricted as a result of pre-existing agreements prevented by existing NDAs.

Hired / Continued Involvement

In the even that you're hired, your relationship with the hiring agency may be short-lived or have a longer existence depending on whether the position is hourly (e.g. contractor) or direct.
Assuming that you were hired as a direct (W2) employee, the agency involvement is nearly complete.  The hiring company is obligated to pay a placement fee, typically a percentage of the positions annual salary.  For instance, if you are hired at $100,000, the agency gets an X% placement fee of that $100,000.  Likely, that placement fee is contingent on continued employment, like staying in the position for 3-months.

Contractors, or hourly workers, have a longer-term relationship with the agency.  The contractor bills the agency $X / hr, the agency bills the hiring company $Y / hr (X > Y).  Such long-term relations between you and your representing agency can be binding, preventing you from changing to an alternative agency for the same position.  What if you love the contract job, and find the agency to be a nightmare?  You are kinda stuck, for the duration of the position, learn to work with the agency or leave the position.  A 3-month contract, 6-month, 1 year, 10 year.....you're pretty much stuck with the agency/position pairing.  It's important to choose a good agency because it's equally difficult terminating an AOL subscription.

Fire Me A Resume

Let's go back to the fork-in-the-road decision to send an agency for a job position.  Hopefully it's clear from the process discussed above that this decision shouldn't be taken lightly.  At this particular moment you are entering a relationship, possibly with a person/company you know absolutely nothing about.  I'd implore you to take this step in an informed position.  You are empowering this person to provide professional introductions and communications on your behalf.  This person/company will be representing you for a bit, or a long while, and you may very well be working with them for a while.  Work with respectable agencies and your professional life and reputation can be preserved.  Agency specifics can also effect your selection probability.   For example, an agency may bill you out significantly higher than other candidates a disorganized agency may prevent you from getting a position you're highly qualified for.

Hiring Agency Compensations

Gaining insight into agency compensation specifics is difficult and perhaps unnecessary or uninteresting for many.  Signed agreements legally constrain discussions and social conventions tend to carry the torch as well.  I'm currently contracting and my hiring manager likely is unaware of what I bill my contracting agency hourly.  My hiring manager knows what the agency is billing me out at, and only the agency has specifics of both rates.  Tomorrow, if I chose to, I could walk in and tell my hiring manager my bill rate and then he and the agency would then know both rates.  As an hourly worker it's difficult to ever learn what you are being billed to the company at.  Having positions both as a contractor and at the hiring company, having reviewed agency agreements and knowledge of industry-norms of staffing agencies I can give you some insight.  Your mileage will vary.

Let's start with the easiest; staffing direct (W2) agency compensation.  Typically, a placed candidate is compensated by a one-time placement fee paid from the hiring company to the staffing agency.  Typically, 20% of the annual salary of the new employee.  Hire in at $100,000 and the agency gets a $20,000 check.  I've seen the placement rate negotiated down to 18% and such, but typically 20% is pretty standard.

Hourly rates for contractors are compensated differently.  The agency pays the contractor $X for each hour of work, and bills the company $Y.  I've *heard* of agency adjustment rates as low as 15%, but more typically I've seen 40% adjustment rates.  In one particular case, an agency billing $120/hr, the contractor sees $85/hr.

Why should you care?  Well, it's important to know what you're getting for what you're indirectly paying for.  This awareness should be considered when you ask for annual rate adjustments and such.  It can also be of interest if you ever wish to transition from a W2 contractor to a C2C contract.

This rate adjustment is paying for agency services, administrative activities, the frequent on-site visits hustling for new job prospects, possible sick-time, vacation days, retirement accounts, professional liability insurance, legal consults, agreements,...so while at first glance it may seem extreme, understand it bankrolls a good deal of activities and expenses.

In addition, we are likely all accustomed to getting paid regularly, perhaps weekly, bi-weekly or monthly.  Businesses have been known to be sluggish in payments and it's not uncommon to invoice monthly but be paid by net-30, net-45, net-60 conventions.  That means, the company you're providing service to may only pay for those services 30/45/60 days later.  An hour you work today, invoiced later, is paid 30/45/60 days later.  Agencies buffer that payment in many cases, isolating the payment schedule from the company from the contractor.  Contractor gets paid regularly, agency gets paid less frequently.....a short-term loan orchestrated by the agency acts as a buffer to the individual contractor.

Multiple Agencies

So, what is the harm in multiple agencies distributing your resume?  Well, nothing completely, in fact it can be a good idea for a few reasons, but can have negative consequences as well.
Let's hit on some pros first.  Agencies are hustling for getting the inside track on job positions.  Some, maybe many, are constantly visiting companies and asking "Do you have any new positions coming up?".  Once an agency has a relationship with a hiring manager they will continue to reach out to them with the goal of finding out early of upcoming positions.  That gives them additional time to stack up some potential candidates.  In a fast-pace industry, many companies will fill a position soon after finding a good candidate.  A queue of potential candidates presented to a hiring manager early increases the chance of being selected.  Good agencies are constantly seeking new positions coming up rather than waiting for the position to be publicly posted.
Additionally, some hiring companies have a pre-approved list of agencies that they work for.  A job at company X which exclusively works with agency Y kind-of means you need to submit your resume through agency Y to get the job.  

There are negative consequences of shotgun blasting your resume to each and every agency that approaches you.  The first-come-first-serve representation model means that the first agency to submit your resume represents you, for now and possibly virtual-eternity.  That agent could be a flake or a superstar; just perform your do dilligence. As a seasoned contractor I have numerous stories of staffing agency shenanigans that place you in financial and professional jeopardy, be wary and vet any and all representatives that will be representing you.

Agency Expectations As A Hiring Manager

As a first-time hiring manager, one of the things I expected from a staffing agency that I later found to be unlikely is the ability of them to perform 1st stage vetting of technical expertise.  I figured that software technical recruiters would be....well....modestly technical.  You'll likely never find a recruiter with a degree in engineering, nor a graduate of a code camp, or even well-versed in informal knowledge from YouTube.  I kinda expected technical recruiters to be more skilled in vetting than a general-purpose human resources representative, but that typically isn't the case.  Staffing agencies often are representing multiple disciplines so it's unlikely they could acquire sufficient expertise in the relevant disciplines.  Staffing agencies that specialize in engineering simply means they place engineers, it doesn't mean they have proficiency in recognizing engineering fundamentals.  Keyword resume searches are about all you can expect by agency reviews. It's equally likely that the agent you are working with is a 20-year vet in technical recruiting or fresh out of college.

Our industry is perhaps overly accepting of the eccentric, genius programmer, or some on the spectrum.  Distinguishing a good-intending socially awkward person from an a$$hole isn't always difficult but in my experience you don't tend to find an agency making any effort to rule out terrible team player.  This is especially true from 'resume farm' agencies who simply collect resumes from anyone willing to provide them and shotgun them out to any/all job postings.  These agencies are the equivalent to day-traders and are easily recognized with the modest of communications, my advise would be to simply stay away from them...period, they'll do you no favors.

Most of us have a list of references available to be delivered on-request, people we have worked with closely that can speak to what we are like as a professional.  Additionally, every position we've ever had has co-workers and those co-workers know whether we are competent and if we're impossible to work with.  Agencies typically don't talk to references nor past co-workers and do little more than just talk to the candidate.  I originally thought that an agency participation would conduct such discussions, but I found this not performed by any agencies I've worked with.  The burden is typically on the hiring company and dysfunctional candidates can hide in plain sight.  

Background checks aren't provided by most agencies as well, that typically falls again to the hiring company, be wary of candidates posing false credentials as the agencies typically won't do it for you.

That said, your best use of an agency is simply providing them with a keyword search and have them open the faucet with potential candidates.  Don't anticipate the agency has the knowledge, expertise or capacity to perform any real vetting.  Prepare to review dozens, or hundreds, of resumes and prepare to completely manage the comprehensive list of candidates you've been given, who you've ruled out and who has been scheduled, disqualified......

Any agency that says they'll do it for you is misguided or only telling a partial truth.  Unless you have an exclusive agreement with ONE agency you'll have to do it yourself.  Whether it's two or twenty agencies sending candidates, the burden will be on you to manage the hiring workflow.  Make a spreadsheet right out of the gate and keep track of the evaluation process stages. 

On the topic of a single-source exclusivity agreement with a staffing agency.....for the love of all that is holy DON'T DO IT.  You may be enticed by an elaborate weave of reasons why this particular staffing agency can do it all for you, give you a sweet discount and shower you with daffodils and unicorns in a fairy-tale journey of finding the GOAT candidate.  It's all fiction, you'll have a limited stream of potential candidates and quite likely be assigned a disorganized representative from the agency, locked in likely for a year via exclusivity contract; nightmare material.

I hope this finds some of you as interesting and/or informative.  Unless you're a long-term employee who picked their full-life employer you'll likely conduct business with a staffing agency at some time in your career.  Choose them wisely, they will make this process easier and more effective.  Choose them poorly at your own peril.  Interview them with the same diligence as you would the candidate or company you seek.

Cheers.

Sunday, April 26, 2020

Eastern Hemisphere Outsourcing and Other Horrible Ideas


Let me warn you that this particular post will be very, very opinionated and equally direct.  I share many of the same opinions with mid-level leadership and engineers at mass, the folks that are in the true trenches with respect to outsourcing consequences and reality.  If you have an opposing viewpoint I doubt we will share common ground on any of the topic.  I feel strongly enough on the subject that I left a previous employment before an outsourcing quicksand project drew me into the quagmire and have not regretted the moment even a little bit.  I have witnessed first-hand the consequences of numerous outsourced projects and I'll speak to why I will foreverly believe them to be a project-killing, corporate chaos-bringing idea.

One last thing before we get started, this post is not meant to discredit the capabilities of engineering teams in the Eastern Hemisphere or elsewhere.  I've had the privilege of working with extraordinary engineers from all over the globe and my criticisms do not lie with the engineering teams, rather they revolve more about logistics and expected 'cost savings'.

Lets get our feet wet;

It always begins the same, some C-suite suit who clearly doesn't understand any form of engineering gets a brilliant idea.  It comes in the form of "we should outsource to the other side of the planet".



Why would they do this you may ask?  The reasons will come in many forms, 'to enhance quality of service', 'access to worldwide intellectual capital', 'because of business needs',... If you've ever been on the receiving end of any such rationale and your bullshit meter trips 11 don't question the meter readings.  Business speak invented these terms to mask the real motivation.  The reality is always, always, always cost savings....or at least the perceived expected cost savings.

But shouldn't we be conscience of our spending and look into all aspects of expenditures?  Yep, absolutely, but you'll find a dichotomy in executive thought when it comes to what departments should be outsourced.  For example, I'm confident that you could fully replace a chief executive (CEO, CFO, CIO,....) with less expensive personnel from Asia, India...but that would be ludicrous!  Sure, ok...how 'bout just one?  Pick a chairperson and replace them with an Oxford-trained executive in London and you'll be faced with the same consequences that outsourcing engineering encounters on a daily basis.  Chew on that for a moment before moving on.

Timezones, Timezones, Timezones

The secondary villain, besides the mindless Neiman Marcus suit hanger that made the oursourcing decision, is the dreaded timezone.  Executive choose not to understand how effective engineering teams operate and fall under the illusion that programmers prefer working the 3 am shift.  How else would the idea of spreading a team across the planet would make sense?  With vacation homes across the globe, executives certainly understand the concept of timezones, but choose not to recognize its consequence on team productivity.

Let's say all teams work 9-5 local time, pretty standard worldwide as far as I can tell.

- Chicago and London share a whopping 2 hours of shared time as a result.  Got a question with a system component in London, find a common block of time in that 2 hrs.  Miss your window?  Wait a day.
- Chicago and India share 0 hours of shared time.  That means a 24 hour delay for every team interaction via e-mail.
- Chicago to Romania share 0 hours as well.

Each of these countries have extraordinary university engineering programs and matching talent.  The shared nemesis is timezones.

So how is it that executives tout the need for team communications while banging on the outsourcing drum?  The expectation is simple; the teams should simply adjust their schedule.  I've worked for numerous managers that worked 4am to 6pm daily simply to account for leading local and remote teams.  You know how long they lasted?  Milk has been known to spoil faster than some of those assignments.  Easy to fix, right?  Just make the teams adjust their schedule.  Who doesn't love the 9pm shift; EVERYONE, that's who!  Nobody likes night shifts, only desperate folks are willing to undergo such an assignment.  "Why can't we retain talent?", "Why are you behind projected schedule?", "What is the delay with the Bucharest team?" Unfortunately few have the balls or opportunity to simply say "Because you made the hair-brained decision to make it nearly impossible to maintain an effective team!!"

True leaders lead by example, chief executives that belittle the impact of such remote teams should work the graveyard shift or ship one of your executive staff (the one's you collaborate routinely with) to London and continue to run the company for a year or so.  Schedule a series of board meetings for 3 am and see how effective that works.  Alternatively, you can recognize that companies typically co-locate their executive staff to enable collaboration and effective execution of a company.

Hidden Costs

Engineering budgets are pretty heavy-weight, making up a substantial amount of corporate expenses.  At $60-80 / hour salaries they can easily be a prime target for reductions.  You know what's more expensive than an engineers hour of time?  An unproductive hour of time of engineering time.  If you hate dropping $60-80 at your next hot lather shave, think how sore you'll be dropping the cash and not getting the service.  Your role should be enabling the most productive teams to develop the suite of products that will make your company legendary rather than making them less productive and less effective.
But hey, we're engineers and we thrive to inform, measure and open to new ideas.  We love to gather data and I've seen the same idea presented from numerous teams "enable us to measure the cost of bad ideas", let us track and report loss of productivity, measure communication latencies, identify and measure the consequence of 'blockers'.  Data-driven business decisions, right?  Allocate a charge number to track unproductive hours and blocked tasks.  Alas, while that would allow a data-driven decision and improvement process that idea is struck down with vengeance at every company I've worked for.  Head-in-sand executives would rather pretend like its a good idea than recognize that they made a foolish decision. 

Illusion of Cheaper Development Costs 

The path to outsourcing always begins with the call of the sirens, the seductive and enchanting calls meant to draw a corporation onto the rocks.  The separation of myth from reality take critical thinking, asking the right questions and challenging the answers and the executive elite are typically don't ask such questions.  Additionally, they tend to make the decision in a vacuum of real stakeholders.  But to be fair, who is better to decide the best process for creating effective engineering teams than MBAs, salespeople, and board members and 'thought leaders'.

Let me tell a tale of how it very well could go;
Some salesperson chats with another salesperson and is informed that Romania software developers are readily available at  the budget price of $20-22/hr, "why aren't we taking advantage of this?"  Certainly these two folks have somehow stumbled upon the greatest silver bullet of cheap and effective software product development!!  One salesperson bends the ear of the vice president of engineering, a board member and the journey begins.
A series of telephone conversations begin between the company and overseas outsourcing firms, while many red flags present themselves during the calls it becomes clear that the decision was already made.  Travel is arranged for face-to-face meetings in Romania for more detailed conversations and review of the facilities.  Surprisingly (to some) Romanian software consulting firms face the same challenges those in the US; underpaid engineers are quick to leave for more lucrative salaries, entry level engineers lack experience and knowledge of leading edge technologies are hard to come by.  A revolving door of ill-experienced workers coming in the door, gaining a few months of experience which makes them marketable, then back out the door for more lucrative employment.  The $22/hr experience software engineer is a myth.  Inexperienced code-camp exports and internships can be readily employed right here as well.   The year, 2016, the required tech C#/WPF, AngularJS, MySql, SqlServer; how many $22/hr Romanian developers fitting the bill - exactly 0, but countless readily available to learn the tech on the clock (same as in the US).  More seasoned consulting firms with veteran develops had the skills at $90/hr....unsurprisingly about the same rate as those in the US. 
Rookies are cheaper than senior engineers, universally.
India, Romania, China,....engineers are aware of their market worth and will quickly acquire it.
You get what you pay for, simple as that; Romanian Leu, Rupees, Euros or dollars.
How does the journey end?  The engineering manager that would be responsible for this dumpster fire recognizes it as an inevitability and fled that wildfire like a squirrel with it's tail on fire.
  

Retain Our Core Business

Let me finish with another fallacy that can masquerade as a reasonable idea; "we will retain our core business and outsource just the front-end".

Let me rephrase that for you so you can recognize the flaw of that idea;
'We will outsource the customer-facing interface, the one that makes the first impression to our users to a non-native speaking consulting firm who may/may not be aware of the cultural and social expectations of the product'.  Surprisingly to no-one, travel systems, financial products, and business infrastructure, and nearly every other domains have subtle distinctions in other countries.  Like the infamous Spaghetti Westerns, your product may become forever memorable as a quirky and slightly off product rather than the quality product you're shooting for.



That's it, my very blunt opinion on outsourcing co-development across the globe.  1000% wrong decision and unfortunately a one-way track because ego-fueled executives will never acknowledge their mistake, saving face comes at the sacrifice of everything else.  But hey, as my lovely wife has repeatedly said; "I make a very lucrative living fixing outsourced projects".

If you choose to outsource, outsource the entire project, decision-makers and all.  Don't fool yourself that you can make collaboration work or that your team will permanently adjust their lives to make it work.  The world is rich with intellectual talent and smart companies will take advantage of them, dumb companies will do it poorly.  Real leaders will make mistakes but will take ownership of the decision, perform retrospectives on the decision and modify it as needed and apply it to future decisions.





Sunday, October 20, 2019

Fantasy Engineering Team

I’ve been fortunate to have worked with some incredible engineers in my career.  Every so often my lovely wife will buy a PowerBall ticket that incites thoughts of ‘what would you do if you won’?  My answer has been consistent since college; I’d build something cool the way I felt it should be built.

The world is about compromise, often motivated by constraints.  Projects typically have limited time, limited budget and limited availability of team members.  Since college, I’ve always wanted to build something cool in the way I felt it should be done rather than how it has to be done due to pre-defined constraints.  So, it’s always fun to perform the mental exercise of “what if you could execute a software development project the way you think it should be done?”

In past years, I’d first focus on the what; what is the project?  Lately I tend not to think of that as the first step, I am still a tech nerd and interesting projects are still a heavy influence but I don’t think of the what as much as I think of the who.  The reason; there are nearly infinite interesting projects and technologies, something interesting is always around the corner.  Instead, I focus on the people I’d want to do it with.

So, I figured I’d play out my top 6 draft picks; software engineers I’d immediately call up if I ever had the ability to cherry-pick a software development team to work on some new sexy project.  The if I had a $100 million dollars project budget development team.  Unless we have run in the same circles, many of these folks you’ll unlikely know.  They are primarily located in Minnesota and folks I’ve had the pleasure to work with.  For those of you that don’t recognize these folks, I’d suggest you focus on the why’s rather than the who’s; why would I pick this superstar over the dozens and dozens and dozens of other folks I’ve worked for.  

One last thing; I’ve intentionally excluded my wife, who is an extraordinary software engineer, simply because of an oath.  I’ve made two oaths in my life: 1) the oath to her in marriage, 2) the oath to never work with one another on the same project again.  We worked on the same team in the days my hair was much fuller and less gray and it was an incredible strain on our relationship.  The lack of separating home live and work life is an ugly monster and while I’ve matured since those days it’s simply not worth the risk of repeat.

My dream team list, in no particular order;

Marshall Meier

I’ve known Marshall for nearly my entire professional life, and most of my college days.  From ‘go’ it was clear that this man was destined for greatness, one of the most organized and even-tempered men you’ll ever meet.  His ambition and technical prowess had drawn him into the consulting community early where he fine-tuned his professional communication skills and honed his breadth of technical expertise.  His continued pursuit of knowledge has earned him multiple degrees, many of which were earned while working and balancing a full family life.  Any good team needs a calming voice and technical leadership during the monsoon of challenges every worthwhile project will encounter.  The kind of guy that can talk you off the edge when you’re prepared to abandon ship.  The type of guy that is well-versed in how to make a happy, productive, engaged team and how to maintain it.  The kind of guy that has the technical chops to bounce ideas off of as well as the kind of guy that can/will roll up his sleeves and put in the work.  Great engineering teams need strong technical expertise as well as people with proficiency in building effective working relations.

Dan Ruhland

Dan started his professional life as a controls engineer and was remarkable at it.  I first met Dan when he was responsible for writing the controls software for a 7-axis ammunition loading system.   He authored the control loop algorithms for each axis and authoring sequencing logic to transfer ammo to/from the breech while avoiding slamming one-of-a-kind equipment into one another; arguably, the most sophisticated subsystem of the weapons system.  From our earliest encounters it was clear that Dan was an expert in his field; disciplined, precise and wicked smart.  Dan made the transition to software development in later years and brought with him a vast amount of technical knowledge of the system as well as all the professional characteristics that made him a great controls engineer.  While our profession is no stranger to team members from other engineering disciplines (e.g. EE’s, physics,…) it’s my opinion that many while great at low-level software development have difficulty being equally proficient with higher-level development activities such as abstraction, design-patterns, best practices… Dan showed no such limitation.  I feel he’s as proficient a high-level designer as he is at the hardware abstraction layer.  So, why specifically Dan?  Simply because I’m confident that regardless of the complexity of the problem to be solved he’s got the intellectual horsepower and tenacity to devise a solution.  Dan would be my ‘ace in the hole’ for any math-intensive problems/solutions, regardless of complexity.


Matt Spencer

Smart, motivated and quick learner; three of the key traits that come to mind when I think of Matt.  I’ve personally airdropped Matt into technical domains with no available support on more occasions that I care to admit.  Each and every time, Matt chisels his way through the jungle of tech and solves the problem; each and every time.  A jack of all trades as well as an expert in many, he’s a legend in the community.  Engineers often are like engines; high-performance engines require high-maintenance, many high-performance engineers come with higher maintenance traits (e.g. impatience, peculiarities, temperament,…).  Matt demonstrates none of these expected, all the performance with none of the maintenance.  Likely one of the quickest learners I’ve ever had the pleasure to work with, if it can be done likely Matt can do it and probably faster than you thought possible.  He is truly is in a category of one.


Rob Rapheal

Some say that you get along with people that possess traits you either share or wish you had.  Rob has an overwhelming desire for new technologies and it’s apparent from how he spends his free time.  He’s a tinkerer and continuously pursuing learning new technologies in his spare time hoping to one day apply them to a corporate project.  He’s authored an Arduino-based temperature control system for his hobby kiln…….just for fun.   He once spent significant hours pursuing C#/.NET/WPF as emerging technologies while the corporation was focusing on MFC-based applications.  His gamble payed off when a greenfield development activity was materializing and his knowledge of C#/WPF helped influence the product development.  In this profession you need folks that have an eye on the road as well as an eye on the horizon;  Rob provides both.  His talents have been recognized by his peers, whom in the past had informally selected him as the lead designer/architect which was later formalized.





Cliff Winkel

Cliff possesses an indescribable energy and enthusiasm.  Like a squirrel jacked up on Red Bull, this guy can pound out code at an extraordinary rate.  In this profession, we all ‘get in the zone’ on occasion, often through self-medicated caffeine ingestion.  Head-to-head with this guy and you’ll likely fall short.  Cliff worked on a multi-year green-field project with 2-week sprints and consistently completed his tasks regardless of what you threw at him.  Hitting targets is easy when you lay-up, but this guy hungered for work and always chose challenging task loads and never disappointed.  A wicked hard worker, enthusiastic and great to work with.



David Englund

You like to think that greatness in an individual can be recognized early.  David is not as long-in-the-tooth as many of the rest of my fantasy engineering team members.  Hungry, driven, self-learner and an eagerness of understanding “how should it be done”.  His ambition drew him into the consulting profession early and when I was once asked by a contract house “He’s pretty young to be asking for such a rate”, I simply responded “His knowledge is beyond that of his years, just get him in an interview and that’ll become evident”.  David shares many of the same qualities as the rest of my fantasy team and is still in the beginning stage of his career.  I’m eager to see what he’ll accomplish in the next decade.



So that’s it, my fantasy engineering team; many talented alternates but I felt it best to keep the list short'ish.  I’d stack this team against any other development squad in the world and stake a significant wager on their victory.  They tend to all have the types of qualities I’d want in a team: smart, driven, low-maintenance, self-learners, and high producers.  The kind of folks you’d equally want to hang out with as well as stake your project success on. 

If PowerBall ever hits for me I’ll be calling in the draft.

Cheers.

Sunday, June 16, 2019

Do You Trust It?

I've had this topic on my todo list for since Dec 5th, 2016.  My motivation was aimed at past experiences but particularly timely given Boeing 737 Max fiasco.

Trust is a complicated subject and one of the most powerful demonstration of trust in a person or product is when you place your life on the line.  That greatly simplifies a response, it becomes binary and I'd argue that is the true measure of trust in a person or thing.

The first time I entertained the question 'do I trust this thing' from an engineering perspective was when I was working for a defense contractor who specialized in designing weapon systems.  Throughout the development stages the product goes through a metamorphosis of stability.  Early stages when swinging equipment you stay 30 yards away.  Slowly your confidence builds, the risky bits of the system are addressed and you step a bit closer.  Closer, and closer until you trust the system with the same level of confidence that the soldiers will need to.

Misguided trust could be catastrophic;
Like the untimely death of Garry Hoy, a lawyer who emphatically trusted the installation of hi-rise office building windows, misplaced trust can end tragically; https://en.wikipedia.org/wiki/Death_of_Garry_Hoy

So I always wondered....how many of these folks trust this system enough to put their life on the line?  Would I?

Enter Boeing.  I'm sure the 737 root cause can be found, and likely remedied.  Fast-forward a few years from now.  You're making you way down the jetway bridge to your awaiting plane, you make it to your seat and begin settling in.  Like every good passenger, you refer to the safety brochure and your gaze is caught by '737 Max'.  Where are you now?  Still seated or is there a cartoon-style smoke outline of where you once were while your physical body is approaching the sound barrier back to the rotunda?

Assuming the plane isn't decommissioned indefinitely, what would it take for you to trust it not to fall from the sky once again?

Would the Boeing board-of-directors climb into a randomly selected aircraft for a series of stops around the world?  Would they trust the fix with their lives?  How about the engineers?  Would the FAA be willing to take the top tier of their organizational chart and take a trip to Vegas on it?

I certainly hope so, and if not but it's released to the rest of the world I think it would speak volumes on how they view us common folk.

I hope we all trust the products we are designing, and if not, we really should.