Sunday, January 5, 2020

Dealing with UGhghr

Well, now that we are fresh into 2020, I have decided to set a couple of goals for the New Year.   But behind these specific goals, there is a common theme: dealing with that "UGhghr" feeling when dealing with something I don't want to deal with.  Maybe dissecting what is going on here can help see what is going on and thus help me work through it by mindfully experiencing it and I observe it happen.  So here goes nothing.

First, let's examine "UGHghr".  I didn't really know what to type so I just started with "UGH" (yes the noise) and then added a couple more lower case letters for flair.  But I think overall it comes to not knowing how to do something along with fear of the unknown, and perhaps a little lack of motivation mixed in.  There are things that are long overdue to take care of but they just kept on floating around.  The natural thing I unconsciously did was kept on kicking the can down the street so I could remain in the bliss of not dealing with whatever it is.

The challenge is that not dealing with these things was a choice.  To defer just pushes the same choice: to deal with now or later, and if you choose later, then you have to choose now and later again.  This recursive loop starts to build up background dissatisfaction.  The feeling to just take care of the damn thing builds and builds.  

So now you, as the reader are wondering, what the hell is he talking about?  What does he keep pushing off?  Well, the answer is rather boring things.  I need to consolidate my 401Ks, probably have a will written up at some point, and my office was in bad need of some updates (tiny monitor, etc).

But here is the thing--when I am done taking care of whatever the "UGHghr" thing is: PURE MAGIC.  It feels sooooo good, like scratching an itch that has been bothering you for so long.  For example, with the holiday time off, I cleaned the garage and the laundry room.  The bad need for sweeping, the blockade of debris blocking the tool wire wrack, and the disarray of snowboarding and split boarding gear are now clean and every time I pass it I have this "AHHHHH" feeling.

So, with those things said, and a tangible 2020 to-do list on my whiteboard, fingers are extra double and triple crossed that I can make it through and get rid of every single last UGHGHRHGRHGHR thing this year.

Wednesday, December 4, 2019

Courageous Mortality

If I reflect on my metal well-being, I see I am in pretty good shape.  I probably suffer a lot less than many, and for the most part I am a pretty up-beat guy.  But there is this weird thing I experience now and then that is not pleasant: I get this weird feeling of dread when I go to bed and I am in that weird state of not quite dreaming yet but not quite awake. 

Often times it is some sort of existential freak-out.  The idea of not existing someday just randomly seems terrifying.  However, it is short lived.  Usually it is just like "uhg, here we go again, freaking out about dying someday" and then I just finally conk out after dealing with it.

I'd say this has been going on and off for about 10 years or so.  I have mentioned it to friends but since it is so brief I find it more annoying than anything else--so I have just dealt with it instead of reaching out for real help (shrink, antidepressants, etc).  However, I recently had a random idea of what might be going on:

I am actually freaking out about another day going by.

Instead of directly fearing mortality like I originally thought, I am actually finding going to sleep symbolic of time elapsing, and that is what I am fearing.  It is an indirect fear of mortality--and at a time when my mind is in sort of a weir transitional state.

Humans, like any other animal, were built to fear in order to avoid dying.  But unlike other animals, being human means that we understand our own inevitable mortality.   So a very important lifeskill to learn is to accept this or at least deal with it in some way so you can live a fun, joyful life without always being afraid.

I don't know the skills I need to obtain to conquer this instance of the human condition, but understanding it at a deeper level I think is a step in the right direction.

Why I Blog

Funny that after all of these years, I still think about this blog now and then--especially when ideas for posts crop up.  Then inevitably I get distracted by something else and time continues to go by without doing any writing.  And here we are, several years later.  So before I write about any of the ideas I have been considering blogging about, I will make a statement that could just help me get back into it:

I am blogging for myself, not for other people.  However, other people might find my posts entertaining or useful.

If I have this (by definition!) selfish mentality, maybe it will help me post more frequently.  Maybe it will remove the pressure of only writing on-topic items with perfect grammar that will build up a following.  Maybe it will reinforce that blogging is something useful for me--whether it is making little posts to remind myself things, reflecting over something that is technically interesting, or just free-writing for the pure fun of it.

As I was proof reading this above paragraphs I thought of another statement that might help:

Blogging is better for me than social media.

I have been focusing on being healthier for the past several months; and part of that is trying to avoid zoning out while scrolling through social media and news on the couch while the time just ticks by.  Replacing the zoning with meditation and getting into Zen Buddhism has helped, but I think blogging could also be a solid alternative as well.

So with that said... I will give this another shot with a new perspective.

Saturday, July 6, 2013

Getting Laid Off

Well, it happened.  Older, wiser engineers than myself told me it is not a matter of "if" but a matter of "when".  And my time finally came--I was one of the folks included in Logitech's round of layoffs last February.

The purpose of this post though is to not analyze my specific situation.  Instead I would like to pass off some things I did to keep my head together and get another job.  What I'm providing below isn't a one-size-fits-all solution.  And really, I'd love feedback if any of this actually helps.  I'm unsure if the ideas below are what got me job offers, or if simply now is a good time to get laid off given how hot the market is.

So without further adieu...

Understand your full time work isn't gone, it simply has changed.

When I got home after being let go, I found that everything necessary to find a new job took just as much time as my old job.  Updating my resume, synchronizing it with linked-in, calling recruiters and contacts for opportunities.  The days after getting laid off were 8-10 hour work days, and these continued until I accepted a job offer shortly after.  I couldn't stop working knowing that the severance clock was counting down.  I went from being a coder to my own sales person and marketer.

Create an Excel sheet.

This is absolutely critical.  My way of problem solving myself out of unemployment was to create sort of a Sales Force style excel sheet to track opportunities.  For each potential company, I had a column for the point of contact (often friends at other companies or the recruiter), the hiring manager (if I made it this far), when to ping them next, and a rating of how good the opportunity is.  The rating of the opportunity was not just based off salary.  I made a scoring system based off of glass door reviews, type of work, commute distance, perceived company culture, benefits package, etc.

Use Glassdoor.

An amazing website with everything you need to know. Pay.  Salary.  Company culture.  Interview questions.  You name it.

Relationships, not cover letters.

I hate writing cover letters, didn't write any, and had no problems what-so-ever.  My beef with them is that they are a formality that state the obvious, and have to follow a weird sort of corporate/business/overly-formal tone.  I focused on connections, contacts, recruiters, and relationships instead.  I would argue most of the hiring managers I worked with didn't seem to care about whether I had a cover letter.  If you have skills, experience, and connections, a company will pursue you.  If you don't, they won't.  A cover letter won't make any difference.  Maybe they are needed if you are a fresh-out, or in another industry than computer engineering.  But for me, nope.

Not decked out, but preppy.

It is better to be overdressed than underdressed, but your attire should come in close to those that interview you.  I wore business casual slacks, a button-up shirt and tie, with a collared sweater.  With engineers in the pacific northwest, I think this is as classy as it gets.

Last (and most important): don't dwell.  Let it go.

Getting a new job is the easy part.  The hard part is to not dwell on all the details of what happened.  There are the questions that will haunt you.  Who made the decision?  Why were we chosen?  Why did they get to stay? What did we do wrong?  What could I have done? And the statements.  We all worked so hard.  Bad f'n choice.  If they only understood everything I did.  It is okay to think these things.  But then take a deep breath, let go of the thoughts, and understand what is done is done and now it is in the past.  And, when you get hired again, odds are the growing company that has added you to the workforce will have a much better environment than the shrinking company that let you go.

For those that are laid off going through the struggles of wondering how they will support themselves and their family, I hope this helps, I feel for you, and good luck!

Thursday, June 13, 2013

Poor Designing

It's that time of the year again!  Time to start blogging.

I have noticed a trend of "poor designing" at most places I have worked at.  Note that I am not saying "poor design" but "poor designING".  At the end of the day a product often turned out okay, but at varying expense (schedule or cost overrun, turnover, etc) due to bad designing.  Sometimes the end product doesn't turn out okay.  I briefly want to jot down what bad designing is. Maybe this will help you identify when your company is bad at designing--recognizing there is a problem is the first step.

Side note: By desigin I mean technical design.  As far as touch/taste/visual/feel design of a specific product, that is a whole different category.

Bad designing is when you don't have a medium to store your design.
Often times a great technical design comes to fruition, but it isn't stored anywhere.  Efficiency goes down the drain when the same decisions have to be re-hashed again and again via boring meetings.  Whether it is a requirements word document, a complex feature/specification/requirements tracking piece of software like DOORS, or set of power points, a solidified design needs to be documented somewhere.

Bad designing is when you don't plan ahead.
Any project is going to have a "design as you go" mentality.  There is simply no way to envision everything that possibly needs to be considered.  But to what level you design as you go can vary depending on how much time is spent on planning ahead.  And when you don't plan ahead, reject feature creep, and keep everything scoped, you have to design everything as you go.  Designing everything as you go = pain.  How can you predict development schedule and cost when the end-technical-design changes on a daily basis?

Bad designing is when key decisions are made by personality.
Key design decisions need to be made by things such as technical merit, trade studies (evaluating trade-offs between features, schedule, cost, marketing, etc) and a team of qualified individuals coming to a consensus.  Often though fundamental design decisions are made by whoever has the "strongest" (aka douchiest) personalities.  In a poor work environments, product life or death technical decisions are made in backrooms that exclude important schedule/cost/technical whistle blowers.  Design decisions have several stakeholders that each bring a consideration to the table.  These considerations--the pure data and strategy--should be what drives the decision.  Personality shouldn't be part of the equation.

Bad designing is when you don't recognize you are designing.
I've been in a meeting where everyone goes in circles about how bad things are that you have to spend so long to visit a technical aspect and tear it down (to discover it was more complex that what was originally assumed).  Spending 3 hours to have a large discussion that tackles a technical glitch discovered in a meeting that was supposed to take a half hour, or to dig into the we don't know what we don't know questions, is time well spent designing.  As I mentioned before, to not design as you go is impossible in any project.  Instead of rejecting the fact you are designing, embrace it, organize it, and accept it.

Designing is hard.  It requires good company culture, creativity, responsibility, planning ahead, and a process.  The design process is often overlooked by the thing that is being designed.  Everyone just cares about where the project is at on a given day, not how it is being developed.  I'm hoping that by listing what bad designing is you can take the next step on improving how you design.

Friday, July 20, 2012

Things you don't Learn in College #2: Talk it out when Tensions are High

Okay, this next post should be much more readable than the last to non embedded software people.  Talk in person if someone is angry, or you are angry is the ideaThis is a generic piece of advice you have probably already heard.  Now that I'm at writing generic stuff, I might as well write for MSNBC articles such as "5 ways to be healthy... one, eat well, two, excercise, three get a good nights rest, etc.".  But my hope is that writing my thoughts and experience trying to follow this advice will further elaborate and affirm its importance.

How I Learned: LogicPD

Going back to when I was an applications engineer at LogicPD, I was very close to the "front line" of customer support.  My pal Aaron's resposibility was to qualify potential customers, and shield us from problem customers.  Sometimes times customers would sign up to contract their development out to us, and I often was the guy to help them out.

When in this environment, inevitably you will have to deal with an angry customers.  There are many fish in the customer sea.  Some will be angry for good reasons, such as misleading or "swiss cheese" documentation.  Others are just, well, crazy.  I remember Aaaron saving emails that we deamed "gems".  One of our favorites was one that ended "THIS IS UNEXPECTABLE@!!!!!" (I'll leave it to you to do the translation). 

When this happened, I remember the first thing my leader at the time (Mr. Rempel, who would leave to start Exosite) told us to do was to give them a call on the phone.   And almost 100%, the tension that was in the email didn't come through.  Things could worked out, person to person.  To this day this has stuck with me, both inside and outside of work.

Why it Works

There is so much more communication that happens in person compared to email.  Your tone of voice, your facial expressions, eye contact.  When this is lost, each party fills in the dots.  Dots can be filled in correctly or incorrectly.

More fundamentally, when you communicate over email, you are sending and receiving words from and to a peice of software.  You are in your own head and not communicating with another human being in the moment.  When you talk in person, you never loose site that you are talking to another human being.

Why it is Hard

Like most peices of generic advice, it is easy to listen to, agree with, and accept.  But the act of looking someone in the eyes, not having the leasure of planning and brainstorming each sentence in an email, and telling your true feelings on something is hard to do.  It requires improvising, not overthinking, and courage.  If the person to talk to is someone who you are intimidated by (I've found this inside and outside of work), getting everything out that you are thinking is very hard.  This is the core issue with fear/intimidation management styles.

Beyond the difficulty of actually doing it, simply changing habbits and behavior is very challenging too.  It took a couple "lessons learned" for me before doing this sunk in and stuck.

Why Conflict is Unavoidable

You will never work in a workplace without passionate people.  You will never work somewhere where everyone has the exact same personality.  Even if you are king at avoiding conflict, things will arise at some point in your career.  This is fundamental to being a human being, and working with human beings.

More Tips
  • Write down bullet points in your notebook of the key things you want to convey and follow it during the discussion.   Keeping focus when talking in person can be challenging, and could require persistence and steering.
  • Read and learn about NVC and NVC in the Workplace.
  • In case you forget or realize your built-in habbits aren't changing because of this blog post, get a reminder tatoo backwards on your forehead.  Sometimes that daily note when you look in the mirror is just what is needed.  :)
That's it for this week.  I can't decide whether I want to write about dealing with imperfection or the top 6 people I owe my career to nextStay tuned!

Thursday, July 5, 2012

Things you don't Learn in College (#1)

In 2004 I got my degree in Computer Engineering from Portland State University.  When I graduated, I was lucky enough to get a job in my field right off the bat.  With 8 years of Embedded System experience behind my belt, I often look back at what I never learned in college.  To get myself to write in here more frequently, I will take my time and write a series of posts about what I do on the job now that I didn't learn in college.

At PSU, and I bet at most college undergraduate Computer Engineering programs, you don't learn about Bill of Material (BOM) management.  And by BOM Management, I mean part numbers, model numbers, assemblies, sub-assemblies, engineering change orders (ECOs), etc.

For pure, high-level software development, this isn't necessary.  Your software is installed on a operating system, there isn't parts to keep track of.  But when you are writing hardware specific software, understanding how part management and change control is essential.  IE: When your firmware is ready for production, how do you add the binary release to the PCB BOM?  If you need to revisit a binary release from a past product, how do you pull that up?  How do you trace that binary, contained (often as a document) in a BOM, back to source control?  How do you get the exact manufacturer part number and spec of a sensor your software controls?

I remember the "on the job training" when I started at LogicPD, which involved using Agile (now owned by Oracle) and having a huge headache trying to understand how each part on a PCB has a part number, part numbers are grouped in a BOM, which also has a part number so that can be contained in another BOM.  This creates a hierarchy.  Then - change management, when you rev a part number versus create a new part number, and assessing whether a new part is form fit or function equavilient of an old one.  Sprinkle in manufacturer part numbers associated with internal part numbers, and reving a part number of BOM with an ECO.

A class or two on this would have been probably a little more important than say, the year of solid state physics I took.  I remember this series of classes being rediculously specialized.  It would have been great if I were getting a PHD, with a career of being a wafer/silicon scientist.  I guess it goes to show who PSU's biggest doners are (ahem, Intel).

Okay, stay tuned for more!