The broken engineering interview process

Imagine yourself in an interview, sitting in front of 5-10 others of your field. Midway through, the group’s questions drift from the personal and work experiential to the assessing and cross-examining.  They ask you to step up to The Whiteboard, marker in hand, and prove what you know.  Never mind that you’re not fresh out of college and that you haven’t taken a formal test in some time. Gone are the days when a good professional portfolio and list of references, along with a teamwork-minded personality, can get you a job.

These days in the engineering industry, you have to take an impromptu public test to prove your aptitude. I think this interview process is faddish at best and broken at worst.

I had my first whiteboard interview at InVue a few years back. It was ridiculous and a bit demeaning. I failed miserably which hurt my ego for some time afterward. As someone who suffers from impostor syndrome, it wasn’t a good experience.  Did they not like me? They must have thought they wasted their money and time on me!

But the longer I work in the world of engineering, and the more confident I become in my capabilities, the more ludicrous I see the whiteboard interview. First, designing on one’s feet, in front of a room of one’s peers, is not how engineering is done.  It’s not how it’s ever been done. I’ll go one further: this model of engineering isn’t even good engineering.

Engineering is by definition of process of refinement. A design begins on a proverbial napkin, which moves to paper and screen, and finally to copper etched on fiberglass, or lines of code compiled to chip. These stages are meticulously reviewed by groups of other engineers over months, sometimes years… never in the course of an afternoon in front of a single whiteboard by a single candidate.

Put it another way: if a whiteboard interview ever produced a product in the real world, I’d never ever buy it. It would likely burst into flames and kill its user. Perhaps the notorious Note 7 debacle borrowed just such a design cycle?

And in time, I learned that I wasn’t alone in my disdain for this method of interviewing. There’s a great trend on Twitter where programmers are getting honest about their inadequacies in order to protest this style. I love every single one of them. They each, in their own way, help shatter the unrealistic glass conference room doors that are modern engineering interviews. They reveal themselves to be real designers, not necessarily gifted in quick, improvisational thinking.

So in their spirit, here’s my own tweet, the full story you can read here.

The Benefits and Drawbacks of OEM Partnerships

Written in collaboration with Mary D.

Every company wants greater, better and more business coming their way – and partnerships are often a necessary and fundamental way to getting there. OEM partnerships are a way for companies of all sizes to team up and focus on one particular product. Many of today’s most successful products would not be what they are or nearly as successful without the invention of OEM partnerships.

As with any partnership, certain matches will work out and others will not. Recognizing and considering the benefits and drawbacks of an OEM partnership will ensure that both parties set specific goals and go into discussion with some background as to what they should expect from one another.

Interpretation

To analyze OEM partnerships, let us first recognize that the definition of an Original Equipment Manufacturer (OEM) has undergone several evolutionary steps and is not any more the same as it used to be. While some view the OEM as the literal original equipment manufacturer, as the name implies, others view it as the supplier of the component. Let us work with the latter, as it more accurately refers to the buying, rebranding and selling of equipment. From this point of view, the Original Equipment Manufacturer is the company that buys and rebrands a component (that was ironically originally made by another company) to then sell it as part of their greater product. The component can be both in the form of a software or a hardware.

One of the probably best-known, World-wide examples of such a partnership would be between Apple and Foxconn. In it, Foxconn is the supplier that actually produces the final product (iPhone, for example), while Apple is the OEM that buys, rebrands and resells this product with its logo all over it. Another example would be the company ABB, acting as the supplier to different OEMs around the World – and in this case to Delta Instruments (dairy/food) – providing them with manual and automated dairy product analyzers of proteins, fat, lactose…etc.

Benefits

OEM Partnerships benefit and open many doors for the involved parties.

  • OEM partnerships mean increased access to new markets.
  • OEM partnerships reduce the time and cost of development.
  • Companies that sell to an OEM have more and often better customers.
  • High quality is expected from all involved in an OEM partnership. OEMs have strict quality requirements and high standards for consistent order volumes, which ensures the production of high quality components and greater product expertise. If one side of the partnership is unable to meet the requirements and standards, then the partnership is quickly reconsidered. OEM partnerships are comprised of extremely professional parties.
  • Equipment manufacturers need proof of ISO certification so that they understand what the norms and practices to expect from the other party and the procedures and policies that are set in ISO. Getting certified protects quality of work and opens the doors to other partnerships.
  • OEM partnerships normally take into consideration the worldwide industry standards and often – like in the case of ABB – provide OEMs with the option of world-wide sourcing.

Drawbacks

As in any business partnership, there are drawbacks to OEM partnerships.

  • Partnerships need to be extremely well thought-out, or they could fade away very quickly. With all the benefits of selling to an OEM, negotiations can sometimes lean towards the needs of an OEM. It is important that the interests of both parties are protected so that expectations are met and both parties know what they are getting into.
  • Extra support or product improvements may be demanded by OEMs even if they only come from a lack of understanding of the product or market requirement.
  • As in any partnership, the relationship may just not work out due to, for example, personal reasons or changes in business goals.

Ukrainian Outsourcing

I had the most bizarre confrontation last year in my gym locker room — a place that is supposed to be a bastion of privacy, comfort, sometimes camaraderie — from which I haven’t really recovered.

Charles is a jovial sort of guy.  He’s in his mid to late 50s.  He’s gregarious and extroverted, often seeking out quiet-type guys to chat up. I don’t doubt his sincerity and desire to connect with other men; in fact, it’s a quality of which I’m somewhat jealous, simply because it doesn’t come naturally to me.

This one fateful day, early on in Trump’s ascension up the Republican primary ladder, Charles zeroed in on me.  I was his next “project guy” and he was intent on getting to know me. He introduced himself, but I already knew his name from his many other encounters with similarly quiet-type dudes. I’ll be honest: I was dreading this day. The potential intersection of introverts with extroverts can leave the former with anxiety and the latter with anticipation. He had a bull’s-eye on me, while my eyes were firmly in my locker.

But he would not be denied. He invaded my personal space with determination, so I did my best to be cordial. He asked what I did, as most of these conversations start. I returned the question, and that’s when it all went surprisingly south.

Charles, it turns out, is the owner of an engineering company, specializing in cloud-based video streaming. Cool, I thought. This would be a great chance at professional networking, which can be difficult as an introvert. I asked him if his operation is headquartered locally, or if his engineers telecommute. The latter, he says… from Ukraine.

I think my reaction was mostly bewilderment. Fair enough, he outsources his tech labor. A lot of companies do. But it was his almost unapologetic reply that disturbed me. “Americans are just too much work, man!” he implored. He’s a “man” and “bro” type gym extrovert. Every guy is his brother at the gym, where the handshake is substituted with a fraternal knuckles punch.

But I’m an American. And I’m an engineer. I’m an American engineer, and I’m too much work for this employer. I couldn’t feel much more insecure.

He went on to explain that US software engineers basically are too expensive and that the Ukrainians don’t complain as much. A cheaper workforce is basically more grateful.

I countered to Charles that if I worked for him hypothetically, regardless of my talent and reciprocating cordiality, he’d fire me within minutes of showing up to work. Because I’m too expensive.

Charles just looked at me with his bootstrap intensity, a matter-of-fact pursed lip, and said nothing.

I was left with a bit of existential shock, realizing that some corners of the tech world were anything but “safe” for job security. I suppose this can never be the case when there exists regions with extremely cheap labor for sale.

That said, I can only hope that one day the Ukraine experiences its own middle-class resurgence. How does that happen? When it’s local industry exports its goods and not its people.

Until then, Charles and I won’t see eye to eye.

Cloud Computing: Myths Vs. Reality

Written in collaboration with Mary D.

Cloud computing has accelerated communications and the exchange of ideas, bringing the level of interconnectedness to unimaginable heights. This was also made possible thanks to innovative advancements in the A.I. technology sector, which have provided Cloud services with the capability to extract and condense information that can help a business overcome competition and reorganize its organizational infrastructure effectively so that ideas can be continuously recycled and perfected to the benefit of customers, clients and partners—including participants in other even peripheral areas of industry that can benefit indirectly from this inter-change of information. It is the very fact that it has encouraged an inter-disciplinary approach which makes Cloud technology so important to the general public and business/industry in general. But despite the great opportunities that it brings to job seekers in general, there subsists the myth that it cuts jobs, while in fact, quite the opposite happens to be true. In the cloud industry in particular, the demand for cloud computing experts significantly exceeds the supply, meaning that there are a lot of unfilled diverse job positions only in this industry.

image credit: www.bluecoat.com
image credit: www.bluecoat.com

The primary thing job seekers should realize is that the Cloud/IT/Media/Telecommunications industrial cluster offers a great variety of jobs that need the skills of people coming from many diverse areas of industry, not just the IT world; these include lawyers (to deal with internet laws as pertaining to individual country regulations), data analysts, software engineers, programmers, database experts, financial analysts and business consultants (to help a company determine cost-risk analysis and determine budget allowance based on the amount of data storage needed) and many other professions. While two years ago Cloud technology was considered an emerging trend, there is no doubt that it has now become absolutely mainstream; so much so that based on a 2016 report by Spiceworks.com entitled ‘Diving into IT Cloud Services,’ 93% of businesses/organizations use at least one Cloud-based service for data storage, sharing, and back-up and recovery. The innovative progress of Cloud technology has also contributed to the creation of organizations that deal with the educational aspect, and there are several renowned accredited institutes that provide cloud courses and certification in many different areas of cloud technology, such as for example, CloudAcademy.

Certainly, the fears of machine learning and A.I. robbing humanity of jobs and perhaps taking over the planet as it surpasses human intelligence have been exploited by novelists and film directors for decades –  and they do have a very valid point. But the fact remains that Cloud computing is one of those tools that can actually bring in more jobs than expected, whose benefits far outweigh the risks. With the Cloud we can all upload, store and share information on online servers hosted by services like Google, Microsoft, Apple, Youtube, Amazon, and many others without filling up any of our hard drives. This information can then be accessed and shared simultaneously through single or multiple online servers managed by a business or—if they need help integrating and adopting their existing database and ‘migrating’ to the cloud—by the service provider itself (IaaS – Infrastructure as a Service). While some businesses may feel uncomfortable in handing over all their data and security to a third party, most are realizing that it is equally as dangerous to keep all your data on-premise, as it will still be subject to the threat of computer/database crashes, cyber-hacking and possibly industrial espionage by competitors. With the aid of skilled Cloud security experts, however, this danger is drastically reduced.

Those who specialize in cloud security continue to evolve their skills as time goes on and can adapt to new technological security threats thanks to the many training courses available (and the advanced knowledge they have already gained in online computing can help them to counter and even anticipate these threats). However, aside from IaaS, external Cloud computing consultants can also work with the IT team of the company, and aid them to implement and deploy Cloud technology, customizing it to their needs and adapting it to their existing IT infrastructure. So, whether or not a business chooses to resort to IaaS, they can be assured of the reliability of security experts who have the perfect credentials to help them in the process of cloud migration.

Everything You Need to Know About Text Mining

Written in collaboration with Mary D.

Text mining is widely recognized by companies as one of the major tools that are provided by A.I. technology to extract valuable ‘structured” data from text and help businesses filter through and condense valuable project-oriented information. If this sounds a little too ‘sci-fi” for you, that is exactly the point. Its capacity to recognize and respond to human speech and mimic the neural pathway activities of the human brain to develop independent cognitive abilities and behavioural responses is only the beginning, especially as more technological advancements are introduced into the field and artificial intelligence software are gaining higher momentum and demand among multiple industries with connections to the IT/Computer/Mobile industry—from the transport, banking, social services, government, and medical sectors among many more. While the first attempts to develop intelligent thinking machines can be traced historically to Raymond Lull in the 14th Century—and “automatons” are present in the ancient mythology of Greco-Roman, Egyptian and Babylonian/Mesopotamian literature—text mining goes back to the WWII era, when governments started adopting “content analysis” and assigning numerical codes to public concepts and ideas that were found in the media, including newspapers, magazines, letters, documents…etc. with the objective of analyzing and monitoring trends in mass-behaviour by tracking the levels of popularity and development of those concepts/ideas. This practice has also developed into another branch known as open source intelligence, used by governments and the intelligence communities to sift through all the pertinent information that is available on the World Wide Web for reasons of national security and especially in response to the current major crises facing the modern world. Unfortunately for the general public, it is also something that has led to the infringement of personal security and civil rights as demonstrated by its current use as a global spy network set up by agencies like the NSA and the CIA.

2013_11_060021d - (t3)

A.I.’s ability to extract concepts out of written language text through text analytics by analyzing and processing all the data present on the world wide web—including social media sites like Facebook, Twitter, LinkedIn, or YouTube, as well as independent professional blogs and websites—has enriched a company’s potential to accelerate decision and policy-making, while restructuring also its internal organization, reducing budget costs by saving time and being able to respond faster or anticipate any internal or external crises (such as changes in consumer trends or demand, or meeting important deadlines for a business venture). Even more importantly, it enhances customer engagement by delivering a unique experience that is able to identify and predict their tastes and cater to them individually and accordingly.

Its value for the general public is particularly evident in its applications in the medical industry, where A.I. will be able to monitor a person’s health and predict a heart attack days or even years before it occurs and respond appropriately by administering therapeutic treatment on the spot. The main difference compared to modern day search engines is that text mining can help a business or an individual find a solution for a need they did not even know existed! It can therefore help you find innovative sources that provide the answer to your problem before you even know a problem exists, and that, once again, is science fiction in the making! Integrated A.I. assistants deployed through a user interface on all your media devices including portable smartphones and tablets, and Robot receptionists/waiters are a perfect example of what we can expect in years to come. Sentiment Analysis, also referred to as “Opinion Mining”, for example, is another process whereby A.I. is able to analyze, extract and understand the emotional response of the subject in a context. In other words A.I. is truly the realization of our collective sci-fi archetypal imagery, as any fan of Star Trek would surely know!

Mishandling errors

For the past 3 years, I’ve been working full-time as a software engineer.  This has been a substantial, if not calculated, change for me.  I’d been an hardware engineer for longer than I care to think about.

Perhaps the biggest, while subtlest difference between the two career paths that I didn’t see coming is this: determinism.  I simply love the relative absolute nature of software.  I’m sure some might argue me on that one.  But, you get my point.  For the most, the outputs of any software project can be clearly predicted; the inputs can be nicely quantized, packaged, and displayed in automated fashions.

I love going to work.

Even on the tedious days of making error handling code, it’s still all fun.  Exception handling is one of those topics that is grossly underestimated.  It’s hard work, it’s time-consuming (and no one appreciates that investment), and it’s rewards are always deferred.

I’m reminded of all of those points when I witness — virtually everywhere in “real life” —  examples of horrendous error handling.

Case in point

While attempting to post a mobile deposit to my bank account, I got an error.  The transaction didn’t post, for whatever reason.  This was on my Android phone, from which I’ve made dozens of successful deposits in the past to the same bank with the same app.

Fair enough, errors happen.

But the error message I was greeted with was the following:

Not much help there, huh?

The point of error handling is twofold:

  1. Assist the user in resolving the problem
  2. Provide the developer with the conditions prior to the error from which to find a solution to the problem

From the above screenshot, there’s next to nothing for the bank’s engineering team to go on.  The tech support tips I got amounted to, “Have you tried uninstalling?”

It’s no wonder that most people’s relationship with software is terrible.  And I’m a software engineer (now)!

online IDEs

I love IDEOne.  It’s a fully debuggable online compiler for a bunch of software languages.  And there’s no need installing a plugin to format source code correctly on my blog, when this service offers embeddable links.  Like this:

By the way, this isn’t compiling. Anyone have any pointers? See what I did there? Pointers?

The collision of Boxes

I’m a big fan of Dropbox.  I (and the rest of the internet) have been using it in free mode for quite some time.  I probably don’t need to tell you what it is.  What I particularly love about the cloud is that it kills two birds with one stone:

  1. Syncing your files painlessly between all your devices (computers, phones, tablets)
  2. In the process, giving you easy backup (by way of mirroring your data across multiple personal devices, as well as in the cloud)

And as the cloud storage market gets more crowded (Box.com, Microsoft’s OneDrive, Google’s Drive, Apple’s iCloud, etc.), the race to $0 makes for a pro-consumer landscape.

Continue reading “The collision of Boxes”

Bearable wearable

I’ve always loved following tech. The emergence of the wearables market has been a fascinating one: a convergence of small form factor, low power, and high performance electronics.  In particular, this market really couldn’t have happened without the smartphone industry blazing the trail, since wearables leverage multiple technologies like touch screens, accelerometers, compasses, and wireless interfaces.

And yet, I’ve been pretty reluctant to actually buy a wearable.  I’m a late adopter.  I’m also fairly inundated with enough tech already.  So having another device to sync, charge, socially link, and generally pay attention to, wasn’t a prospect I was eager to jump into.

Along comes Fitbit.  As cool as this thing is, I can’t take credit for becoming a user.  It was thrust onto me.  Forsooth, it was a gift.  But such a good one!

For all the other tardy adopters out there, allow me to fill you in: Fitbit is basically a pedometer.  A really fancy one.  It’s also a watch, a silent alarm, and a general purpose fitness tracker.  In fact, they call the watch-like wearable a “tracker.”

So what about this specific product made me change my mind about the market in general?

Form factor

I like that the Fitbit line of products are smaller than the smart watches.  I like its sleekness and space-aged contour.

Competition

The Fitbit works really well since it is a social device.  You can view your friends’ progress, which naturally engenders competition.

Meaningful Metrics

Take a look at the kind of data you can glean from it:

Fitbit dashboard
Fitbit dashboard

For people like me that like to quantize as much of their lives as possible, this device is very addicting!  In particular, the sleep efficiency data is worth the price tag alone.  I’ve had sleep issues in the past, and seeing my slumber numbers in vivid detail somehow helps me cope.

Silent Alarm

Dovetailing with the above, someone like me whose sleep hygiene isn’t the best can have difficult time rousing to an alarm.  But traditional alarms, being by nature audible, have collateral consequences to our partners in bed.  My wife has had very early and tandem wakeup times, since I get up quite early for work.

But no more!  The Fitbit has a vibration motor in its tiny little body.  And affixed to my wrist is the ideal place to wake me from deep sleep.  It’s almost uncanny how transformative this has been to both my waking problems and her sleep quality in the mornings.

In fact, I’m so excited about its alarm feature, I’m half tempted to pull the trigger on this sleep experiment: Polyphasic cycles.  Well, one thing at a time.  First, 10,000 steps per day, then sleep hacking.