Posts

On This Day...

Image
On this day you looked at your Facebook memories to discover a database glitch which caused Facebook to provide you with someone else's memories. You can only assume they can see yours. You find the other person's memories fascinating, exciting, but ultimately would prefer to see your own. You wonder what they think of your memories. On this day, you looked at your Facebook memories to discover what you believe to be the same glitch. Only this time, it wasn't a database glitch. Turns out you had just grown older, matured, and couldn't relate to your past self anymore. You wonder what your past self would think of the new memories you're making. On this day, you looked back at your Facebook memories to dosciver a new glitch: Instead of posts from "A year ago" and "2 years ago" you find memories titled "A year from now..." and "Two years from now..." Curious, but nervous, you click on the memories to see what your fu

...yet

Image
It was our early start-up days - a year before the acquisition. The 6 of us were in a small conference room talking to a prospective client about the (really objectively awesome) software robotics & automation platform we'd built. My oldest brother, the founder and CEO, was leading the call. He was breaking down exactly how our customers were dramatically cutting costs in full transparent detail. And as the customer was thinking through how much they could save with our software robots, my brother concluded: "The only thing it won't do is pick up the phone and make a call." There was silence as the customer digested it all. And I, the Sr. Software Engineer at the time, invited only to provide engineering support for technical questions felt compelled to break the silence. I muttered (though still intentionally audibly)  "...yet." My brother glared at me. I smiled. We were generally pretty good at staying strictly professional at work - so while I knew I

Mouse Jiggler 2.0

Image
More than 10 years ago, we had a very specific case where we needed a computer to remain unlocked - despite activity on the computer, a weird configuration was keeping the activity from being detected. As a result, the computer would lock and unlocking it would take a lot of manual effort. On a whim, I printed out black and white "noise" and glued it to an external fan. Then I (crudely) wired the external fan to be powered over USB. It was crazy - but it worked. Fast forward 10 years, and I'm seeing actual "Mouse Movers" and "Mouse Jigglers" all over Amazon  that are designed almost identically (albeit theirs look much nicer...) I missed my calling...

Not Today

Image
I once read somewhere: "One day your parents stop carrying you. You never know when it happens, and they never know when it happens. They just put you down and never pick you back up..." Sharing as reminder: Work may be tough, your day may be frustrating, LinkedIn may be overwhelming. Or maybe it's all great. Whatever your story, don't let today be the last day you lift up your kid(s). 👨‍👧‍👦 Not today.

Thought Experiment: New Resume Sections

Image
When it comes to resumes, as subjective as they can be, it's important to stick to a commonly accepted standard. There's simple enough reason why: It makes it easier for the hiring manager to compare one candidate to another when everyone follows the same format and approach (that's why applications are so appealing.) All that being said, while I appreciate structural standards, I was thinking today: If there was 1 thing I could somehow make a standard for all resumes what would it be? Beyond the typical Professional Experience, Project Experience, Education sections - what is something missing? Resumes don't just need to provide the base level information. They can be used to drive the conversation forward so the interview doesn't just fall back to a typical Q&A. Resumes can give you something to talk about. So while I'm typically not in favor of straying from the standard and precedent, I think - if there was one thing I could add to the existing standard,

Facehuggers & MVPs

Image
The original sketch of the facehugger from Alien is a great reminder that your MVP does not have to be perfect to fully convey your vision - but if stakeholders confuse it for the final result, they'll laugh/cry/have an anxiety attack. MVPs need expectations management. I've had so many discussions with stakeholders (whether while freelancing or working in more corporate environments) on why an MVP is the right way to go. Someone unfamiliar with iterative delivery will still view the MVP with reluctance/resistance. That's where I'll typically break out the 3-week deliverable example: You are working on a project that can be delivered in 3 weeks; but you, being the Agile-wizard you are, realize you can break it into 3 logical areas that will each take 1 week to produce. You can either work on the whole project in a chaotic flurry of creativity and deliver the results in 3 weeks. Or you can work on the first chunk in 1 week, release it to solicit feedback while working on

Entry Level Job Hunter

Image
I made a fun little Snake game with a twist. I call it Entry Level Job Hunter... I think it captures what everyone chasing an #entryleveljob right now is going through. If you're in a spot where you can lend someone a hand, please do so. Change your badge to #OpenToHelping so you're easier to spot. If you're in need of a hand, don't hesitate to reach out! You can also play the game here:  https://alishahnovin.com/entry-level-job-snake.html

Gravity Hearts (Flash Experiment)

Image
In 2006, I wanted to build a gravity simulator in Flash. It worked fairly well - what started as Planets eventually became Hearts when I entered a Valentines Day themed coding contest in 2007. I didn't win the contest, but it was fun pulling it together - but also a learning experience: One thing I hadn't accounted for was how every object calculated the gravitational pull independently. This seemed like the right choice - it's how nature works, after all. Then I realized that, with my application being single threaded, by the time the last object in the collection would calculate the force felt from an earlier object, the earlier object was not in the spot from where the force was being exerted. Without getting into Einstein's theories on relativity, the resulting effect didn't look quite right. While I eventually solved for it, I'll intentionally leave the solution as an exercise for the reader. The exercise made me a better coder - not because of the code its

Interviews and Enthusiasm

Image
Interview advice from one hiring manager to another: Only include enthusiastic interviewers in the interview. Someone who had to be dragged away from their work and is treating the interview like a painful chore is not going to reflect well on your team. That lack of enthusiasm will rub off and candidates will not want to join your team. Enthusiasm is contagious. You don't need overly energetic cheerleaders - just people who are happy to step away from their work for the opportunity to involve others in that work.

Spreadsheet Resumes

Image
Excel and PowerPoint have a bad reputation for being used in ways beyond their original intent and purpose. And...in an on-going desire to exercise in the absurd, I've taken my popular  Resume Template  and created it in Excel. Because, who says spreadsheets can't make great resumes ? It actually makes formatting a lot easier, and because you can save to PDF ... well ...  they'll never know... (Though I'd argue, if you've made your resume in Excel - that should earn you some bragging points...) Check out my  Resume Template as a Spreadsheet... #JustBecauseYouCanDoesntMeanYouShouldButDoesntMeanYouShouldntEither

Feeling Accomplished

Image
Whenever I launch a new website, I'll proudly visit it about 50 times that day, reinspecting my work. I just installed a lighting fixture and switch in a closet... and keep going back to the closet and proudly turning the light on and off, reinspecting my work. It's important to take time and enjoy the sense of accomplishment.

Programming Motivation

Image
Be the change you want to change control. Whatever doesn't overflow your stack, makes it grow. How you were initialized does not define you. Every statement breaks at some point. Be the unhandled exception to the rule. Every 0 becomes a 1 eventually. Every merge starts with ME. #DadCodersDadJokers

Data Structures Preparation

Image
If you're prepping for your coding interview by reviewing data structures here's something to consider: Apply those data structures to real world scenarios. Build (small) projects and implement the structure. If you don't have time to build projects, look for those data structures in live examples and think through the implications and how you interact with them. Applying concepts beyond the theoretical space not only helps with retention, it helps you better understand the structure's value and limitations. This will better help you in an interview. As an example, it's one thing to create a simple tree structure that holds integers...But HTML is a "real world" tree structure you encounter all the time. JavaScript does an amazing job of hiding the complexity of that tree. There's the lovely document.getElementById , but elements also have a  .children array. But what about the document.all array. What's that about? Why is it helpful? How does t

"Where do you see yourself in 3 years?"

Image
What a strange coincidence that most people stay at a company an average of 18-24 months (halfway towards their 3-year goal) before leaving... And often the reason they give is stagnation. And you'll often hear: "People don't leave jobs, they leave bad managers." It seems like the answer is right there, doesn't it? If you want to retain talent: Continuously find out people's goals If they don't know them/don't have them, guide them through what growth looks like and what opportunities lay ahead. Track things in your 1:1s; That is their purpose. Not to discuss projects & status. Once in a while, along the way, expose them to what the end result looks like. Help them experience the ups and downs so they can determine whether to adjust their goals or pace. Ensure their goals & timeline will align with your needs; If they don't (which happens - and that's OK) have a candid but amicable discussion on what their eventual exit would look like.

FAQs for a Software Engineering Hiring Manager

Image
Technical Interviews have evolved a lot since the early I transitioned from being a Software Engineer to an Engineering Manager. Particularly in the post-Covid era, there's been a greater emphasis on the person, which I think is an important and welcome change. Over the decade of interviewing hundreds of coders, I've also had the pleasure of working with various bootcamps, colleges, and hundreds of individual job seekers on LinkedIn. Across all the changes over the past years, across the various locations and mediums, something remained consistent throughout: The questions I get asked.  With that in mind, I thought - why not make a FAQ from my perspective as a hiring manager? While this is my perspective, it's based off years of observation and supporting data. But that being said, advice is not fact. You may disagree with certain points, and that's OK. Opinions we disagree with allow us to better understand our own views. At best, I hope these responses help you

On Taxonomy & Roads

Image
I never really thought I cared much about taxonomy until someone recently pointed it out to me. They observed that I like to be precise with certain terms (which, I'm not sure I necessarily do. I think it's mostly when I'm trying to make sure I've fully understood something I'm learning). But it made me think how strange it can be to not know qualities about yourself until someone else points then out. Anyway, with that in mind, here are the different terms for roads and what they mean. A Road is anything connecting two points. A Way is a small side street coming off a road. Streets are Ways with buildings on both sides. Avenues are like Streets but run perpendicular. Alleys are narrow roads that run between buildings. Boulevards have trees on both sides, and often a median. The opposite is a Lane , which is a narrow road more often in rural areas. Crescents are roads that represent a U shape/crescent, attached to roads at both ends. Drives wind and turn based

QR Codes

Image
We should stop teaching kids the current symbols of our alphabet, and instead teach them to read QRs. Imagine a future where 500-word essays are submitted as a single QR, or where Twitter's character limits are easily subverted. If all we know are QR Codes... what would our keyboards look like?

Increasing Follower Counts

Image
If you're interested in growing your follower count, there are 2 things that have ever contributed to a spike in mine: Other people mentioning my name in their posts Interactions I've had while commenting on other people's posts The common thread here is that (at least for me) it's not about pushing out content. Content-Creation is a one-way megaphone and has trivial impact on follower count (again, at least for me.) Most of my time on LinkedIn is spent in messages, and then commenting/discussing on people's comments. Much of the content I do create is adapted from a conversation/interaction I've had. Maybe I'm doing it wrong - maybe the megaphone works better for others, but I never intentionally set out to become a "content creator" and get a bunch of followers. It... just... happened... In short, the best advice I can give is to focus less on the followers, focus less on content, focus more on interactions, and genuinely connecting with people,

*Pauses...Checks Notes*

Image
 I can't say this enough: go back and read your notes from 3, 6, 9 and 12 months ago. You'll resurface key objectives (project, personal, etc.) that may have since gotten diluted. You'll spot incorrect assumptions you'd made and reevaluate. You'll be encouraged by how much you've learned, grown and accomplished since.

Bring Your Own Materials

Image
Interview Tip: Bring Your Own Materials (#BYOM) The interviewer asks: "Tell me about your time at XYZ Company." Your response: "Sure! I actually put together a few visuals that will help me illustrate a project I was particularly proud of. It'll also help me explain my approach..." Not only does this help you steer the conversation, but it demonstrates how you communicate, how you break down complex concepts, and ... well ... it's oh-so-wonderfully-polished. It's better to have the materials ready and available. Diagraming in real-time can be a distraction, and waste valuable time - but if it's your only option, practice your diagrams in advance. And of course, the all-important disclaimer: don't share confidential info that isn't yours.

On Systems Debt

Image
Pre-amble/tl;dr:  I recently published  The Lloyd Braun Principle of Agility  mostly as a silly-but-true observation about how that classic Seinfeld line "Serenity now, insanity later" relates back to Agile. I ended that post with a statement about how we need to better prepare for the "Insanity" that comes later. With that in mind, I'm introducing my approach to building productive teams. It's about paying down your   Systems Debt. The modern tech team is broken.  We rely too much on Seniors, and don't leverage Juniors. I've been thinking about this problem a lot over the last year, as I've adapted multiple teams to our "new normal." Months ago, I began an article to support the case that hiring managers should hire juniors. To make an effective argument, I knew I had to address a common concern: "First I need seniors to train the juniors..." Quickly the article grew and grew. If you're new to management, this is my "

Database Chain Game (Flash)

Image
Another throwback to a game I'd started back in 2007. The object was to connect long-chains of databases and then backing them up on the retention server.

The Lloyd Braun Principle of Agility

Image
If you're not familiar with the Serenity Now episode from Seinfeld, the tl;dr of it is that George's father Frank is given the mantra of " Serenity now..." to help curb his enthusiasm for angry outbursts. Impressed with its effectiveness, Kramer adopts the mantra for himself. George's childhood rival, Lloyd Braun, later cautions that this mantra doesn't address feelings, but bottles them up, and leads to huge explosive anger. And that's when he delivers the classic line: Serenity now. Insanity Later.  At the surface, it's valuable advice about controlling our emotions, and stress - but deep within this statement is a also a very important guideline for delivering Agile software. And while Seinfeld isn't known for technology, it's too perfect that the backdrop of this episode has Frank, George and Lloyd selling desktop computers. George, of course, struggles to keep up with the zen-like Lloyd, who has reached true Agile enlightenment. In fact,

Salary & Sacrifices

Image
I put a (rather unscientific) poll out on LinkedIn. And while any social network poll should be taken with a grain of salt, I still think the results are still worth some reflection. The question also came with additional context:  "For the perfect job, as you define it, how much salary would you sacrifice? Since this is a hypothetical, let's assume everything is proportional to the #perks you seek. For example, if you want 100% remote for a 10% pay cut, the average #salary gets only 50% #remote, and 10% raise means in office full time." So there's number of things that are wrong with the poll: for one, it leaves out the population of people who wouldn't take a pay cut at all, or those who would sacrifice perks for more money. It also doesn't factor actual roles, industries, salary levels, and whether people are part of a dual income relationship/non-primary earner. There's also the simple fact that it's easier to answer a poll than it is to sign an of

A Digital River Runs Through It

Image
Throwback to that time when I was in college and had the bold idea to build a fly fishing game. I got this far before I realized that I knew absolutely nothing about fly fishing. And yet, even as is, it feels pretty relaxing.

Popular

Let's Clear Up The Ambiguity!

FAQs for a Software Engineering Hiring Manager

7 Steps to Writing an Amazing Resume

7 Steps to Building your Portfolio MVP

On Systems Debt