An Independent Venture: Freelancing, Contracting, and Consulting – Oh My!

Recap: Traditional full-time work isn’t a good fit. This is a post exploring what the more flexible, self-employed work options look like.

choices decision doors doorway
Photo by Pixabay on Pexels.com

All of the different types of work discussed here have these things in common (except Startups):

  • Not working full time for a specific employer
  • Define a fixed amount of work or time doing work for another company or person
  • You are responsible for managing and reporting all of your taxable income
  • A ramp up time of at least a month before you start getting income
  • Full responsibility for equipment, resources, and software for work
  • Choice of how much to work in a day, week, year, or month

Note: I phrasing these from the perspective of a software developer.

Another Note: You can mix, match, and combine any or all of these options.

 

Freelancing

What’s different about freelancing?

  • Projects can be very short
  • Clients are often individuals or small companies
  • Complete control over how much you work and what work you do

Money Matters

Minimum time to profit: You can pick up a freelance job the same day you decide to freelance.

Minimum time commitment: Jobs can range from a few hours of work to several months or years of work.

Income variability: Highly variable. You can control this more with contracts that require deposits before project work or payment upon receipt of milestones in a project.

On the Job

Getting work: Networking, freelancing sites, classified sites, your dad’s golf buddy’s nephew’s small business.

Types of work: Work ranges from very small specific tasks (write a script) to large scale projects (build an e-commerce website).

Types of client relationships: Highly variable. Some clients will be ignorant of what your work is and demand impossible tasks with impossible timelines for nothing. Other clients will understand your industry skill sets and value you fairly. Good news: you get to pick your clients.

Is it for you?

Ideal for people looking for:

  • Variable length projects
  • Low in-person interaction and minimal interaction overall
  • No “sales”

Cons:

  • Market dependency: demand and rate will vary depending on where you are getting work
  • You need to take extra care to protect yourself from bad clients
  • It will take time and effort to increase your profits, though you will be able to make some money quickly

Resources

Contracting

What’s different about contracting?

  • Work contracts with a single employer
  • Employer sometimes handles taxes and administrative tasks for you
  • Time based rather than task based
  • Consistent income

Money Matters

Minimum time to profit: This is the same amount of time it would take to find a job posting, apply, interview, and get your first paycheck. About 1 to 2 months.

Minimum time commitment: Short contracts are about 3 months.

Income variability: Stable. You’ll be paid regularly as part of the contracting work.

On the Job

Getting work: This type of work can be found on job-boards and through recruiters. There are also agencies and contracting companies but you can fall into being a full-time employee of those companies rather than working for yourself.

Types of work: This is most similar to regular full-time work where you have a set of responsibilities rather than a specific project. You’ll often be working full-time but part-time contract positions do exist. Similarly, a lot of these request on-site contractors but some can be remote.

Types of client relationships: Very similar to employer-employee relationship. You’ll often be talking to recruiters and “contingent staff managers” as your hiring clients but you will be working with a team manager for day to day work. Your clients in this case will be medium to large sized companies looking for “contingent staff” to temporarily bulk up their workforce.

Is it for you?

Ideal for people looking for:

  • A regular work routine with a single company with consistent pay
  • A fixed term full-time employment with a clear end date
  • More security provided by the hiring company
  • Less administrative work
  • Working on teams with other people

Cons:

  • You may not be seen as “equal” to full time employees
  • You can’t choose your hours
  • You may not be able to choose your location

Consulting

What’s different about consulting?

  • You own your own business
  • You need to sell and market your products to potential clients
  • Your client relationships may be longer term with many repeat clients

Money Matters

Minimum time to profit: 6 months or more. You will need to build up a business, advertise your services, come up with portfolio data, and identify clients you can sell to.

Minimum time commitment: 1 – 2 years. You can be a consultant for 1 month but you’d ideally want clients that are looking for longer engagement of your services.

Income variability: Moderate. If you have long term clients, you will see some stability in income but depending on how consistently you get clients, it could be more variable.

On the Job

Getting work: networking, former employers, friends of friends… of friends

Types of work: Bigger projects with longer term or permanent involvement. Permanent involvement might mean that you are available to provide support work for a defined fee after the initial project contract is done.

Types of client relationships: Your goal is to have repeat clients and a steady flow of new potential clients. The clients will often be businesses and not individuals. You’ll be offering a complete and self-contained service to them. Ideally they recommend you to other businesses or return to you for more business.

Is it for you?

Ideal for people looking for:

  • Work scoped to a specific skillset
  • More decision power over how work is done
  • Lots of interaction with clients
  • Potential for expanding into hiring other people to work with you

Cons:

  • You need to have marketing and sales material publicly available
  • You need to be comfortable doing sales to sell your consulting services
  • A miscalculation at the beginning of creating your value proposition and selecting your clients could result in the wrong clients or no work at all

Startup

What’s different about starting up your own business?

  • You own your own business
  • You are not dealing with clients but trying to engage customers instead
  • Marketing and sales comes after development and is targeted at groups of people rather than specific individuals
  • You are selling a product, not a service or a skill
  • There are significantly more administrative tasks to consider

Money Matters

Minimum time to profit: Months to years depending on the type of product you are selling. If you are building a simple phone app, it could be weeks or months. If you are building  website or service, it could be months or years.

Minimum time commitment: This one is tricky because you want your product to last long enough to make money. I’m going to throw 2 years out there as a minimum.

Income variability: Technically, the income isn’t variable since you won’t have any income fairly consistently until your product is out in the market and people are buying it. Often you’ll get a single lump sum investment and then nothing again. However, there are some ways to get variable income as you are developing. These are things like Kickstarter and Patreon.

On the Job

Getting work: You make your own work.

Types of work: You decide what work you are doing but be prepared to do everything from janitorial work to client calls to bug fixes for your business.

Types of client relationships: There are no clients; there are only customers.

Is it for you?

Ideal for people looking for:

  • A way to share a great idea they have with the world
  • Complete control over an entire product including inception and maintenance
  • A long term investment that might turn out to be extremely lucrative
  • Lots of variety in their work tasks

Risks:

  • Your idea has to actually be good and you must be able to execute well
  • Market competition for your specific product or lack of demand
  • Inability to monetize in a way customer are willing to pay
  • Due to the long term investment, lack of follow through to completion

Resources

An Independent Venture: Sales?

I was at a software conference and met up with someone in marketing. I asked Marketing Friend for advice about how to negotiate sales and land clients for my business. Here is a digest of the advice she gave me.

It Turns Out There Is Something In A Name

First things first: how do people know you? Not only that, once they know you, how do they remember you? Despite what certain inventors of English literature may write, there can be quite a bit in a name.

  1. You need a name
  2. Your name should be associated with you
  3. Your name should be memorable

You might think (1) is a little silly but at this point in my business I had no name so I was confronted with an existential crisis every time someone asked where I worked.

If you have a larger company, you may not want to  associate it directly with yourself but rather with what your company identity is. I work on my own so I can make the company name more personal. If you can find a personal trait to coerce into a memorable and catchy name, you can create something that helps people remember both you and the company.

Example: If you have a common name with an alternate spelling, use the corrective phrase as a title. This is contrived but if your name is “Joan” but spelled “Jone” then you can have a company named “J number one” or “J – 1, 2, 3”. This is both personalized to you and helps your clients associate you and your company together.

Bad Example: I have a silent ‘d’ in my name, which Marketing Friend noticed right away. She said, “Call your company ‘With a “D.”‘ For what I hope are obvious reasons, I’m not going to go with that one. It would definitely be memorable though. Not safe for work reference.

Espionage

A.K.A. Gathering Competitive Information

You will win bids and you will lose bids. Every win is an opportunity to strengthen the positive aspects of your sales and every loss is a way to identify gaps and shrink them. When you lose a bid, take the loss gracefully and use this opportunity to get information about the winning bid from your formerly potential client. This will almost be the only time you’ll get this information because you’re playing on guilt in the client. Remember this needs to be done as an immediate reaction to the rejection of your bid.

Example:

Client: “Hi Alacritical, I just wanted to follow up to say we’ve decided to go with another consultant for this project.”

Me: “I understand and I’m glad you found someone you want to work with. If you don’t mind my asking, what about that team made them stand out to you?”

This can be a fishing expedition but I hope to find out about what the competitors bid is and whether they had some marketable edge over me.

Sell Like A Vampire Hunter: Straight Through The Heart

It turns out humans aren’t robots. It can be disappointing news, but there you go. We have feelings in addition to logic and often we aren’t aware of how this affects our decisions when we think we’re being logical. That’s a whole other discussion though. When you are telling a story, making a joke, or selling anything, you need to hook that emotional part of a person and show them how what you are saying relates to them. Once you’ve got that attachment, you can let that robot logic make the decisions and spit out all the data and numbers you want.

Anatomy

  • A sales pitch is a story
  • A story has a beginning, middle, and end
  • The beginning draws people in through emotion and a clearly identified challenge
  • The middle describes an action in response to that challenge
  • The end is how that action resolved the challenge and addressed the emotion at the beginning

Example

You want to pitch a service where you audit a cloud software system and identify cost savings areas. What are the different parts of this story?

  1. Emotion: You’re looking to play on the fear of losing money, the pressure of increasing profit margin without increasing resources, and the avarice of taking more money home
  2. Hook: Build your hook with a clear definition of the challenge and emotion. This means using language that evokes emotional responses. “Are you sure you could see the invisible leaks draining your infrastructure funds?” “Do you find yourself squeezing your budget for more research funds? Look no further than your own infrastructure as a bounty of potential savings.” “What would you say to boosting that profit margin with some simple streamlining techniques to your infrastructure?”
  3. Action: Describe what action you can take to solve this problem and address that emotional response you just played on. “We will use our team of skilled infrastructure engineers to dive into your infrastructure to deeply understand what your needs are. We can always find ways of lowering costs without lowering quality, engineering happiness, and ease of maintenance.” Note the continued used of evocative language. Also note use of the second person voice. You want your client to feel like this is something you’re doing just for them even if we all know that’s not true.
  4. Happily ever after: This is where you can start throwing in some data. Talk about success stories and what they got out of your services. “As a result of this work, we’ve empowered small and large businesses to re-invest almost 25% of their previously wasted infrastructure funds into innovation and growth.” Perhaps with a strong implication that we can do this for you too.

I personally don’t like the part of sales where I need to use emotionally charged words or topics to trigger attention or attachment but the good news is, this works for telling jokes and making effective presentations too. Check out TED talks and other advertisements to see if you can identify each of the components of the story they’ve created.

Client Communication Guidelines

Good news, you did the sales part and now you can just relax and treat clients like a regular person? No. It’s not going to be as much of an effort but you need to respect that they are running their own business and they are the center of their own universe. What does this mean?

  • Do not sound like you’re reciting a one-size-fits-all response. Personalize to show that you are making this proposal for them specifically. “For you, I recommend…”, “Something that will work well for your system…”
  • Do not use jargon. Use simple and direct communication. Take a look at the way they do news bulletins on television and how they can be understood by most high school students without difficulty.
  • Spend time focusing on making sure they see you understand the problem and are there to help them cope with it instead of throwing a solution at them and walking away.
  • When proposing alternatives to a solution or suggesting a solution to a separate problem you have not been asked to solve, always empower the client to make the decision. Present your suggestion in a way that highlights the differences (i.e. even if the change isn’t visual, a visual difference is easier to understand). Propose objectively and respect their choice.
  • See if you can connect with individuals closest to the problem to gain the best level of understanding. This can also smooth some turbulence caused if you indirectly create work for others before you’ve talked to them about the work.

Phrasebook

There were a few phrases that, as a “radically candid” person, seem okay but Marketing Friend told me to adjust:

  • “Renegotiate” should be “Modify” – renegotiate is scary and will lead people to close down and back away despite its accuracy.
  • “You can’t afford me” should be “This isn’t a good fit” – Being a woman in tech, I’m repeatedly told to assert my value. Just not with clients it turns out.
  • “You say you can’t afford me but I guarantee I’ll do a great job and it will be worth it” should be “I really want to work with you on this project; don’t let money stand in the way” – This communicates that you are committed to doing a good job on the project but also that you’re not just selling the service, you’re selling your emotional investment as well. Thus, selling your heart.

Notes on Being a Woman in Business

We hear a lot about how gender stereotyping harms women in business, politics, the home, and basically everywhere. However, there are some ways women can leverage this in sales.

It is more acceptable for women to show emotional and caring according to gender stereotypes. As a result, women can show much more emotional attachment to potential clients and highlight their caring and supportive strengths as an asset. If you can find someone who can do the job and actually cares about how it affect you, why wouldn’t you choose them?

This is not to say you should sell your heart to these companies. When you genuinely are interested in delivering a service and want to show you care, do so. This is about letting that extra bit come out in your sales.

Example: Say, “I love the ideas and innovation you’re bringing to this market and I want to be here to support you through building this vision” instead of “I find your ideas and innovation interesting and I’d like to contribute”

Now, this is a touchy subject. I’m not saying men can’t do this. They can. However, due to the unfortunate restrictive bias of gender stereotypes (remember, they’re not good), men may be seen as weaker for showing this kind of emotion. Weaker means less trustworthy to some people. It’s unfair. I’m sure men all over North America are just crying themselves to sleep at night with that extra $0.20 on the dollar they make over myself and other women.

Note: I did intentionally choose an article that both explained and contradicted that number for maximum fairness to everyone.

The End

Remember, these are just notes and ideas from me and my marketing friend. Everyone works differently and all I can hope is that trying this out will make a few more interesting blog posts to write.

Tales from the Git Keeper: It’s My Party and I Can Uninvite You If I Want To

choose-the-high-road-my-dearshit-rolls-downhill-c2146
via https://www.someecards.com/

Background

I had told my manager and his manager (my skip manager*) that I was quitting. I gave them a date and they told me to sit tight while they hash out the details with HR. I gave them a date 1 month out and described the work I intended to complete during that time. I was anxiously awaiting their verdict. I got the impression they might require that I leave immediately, which would incur a significant financial penalty to me due to the terms of the work contract.

Meanwhile, the team brain trust (my skip manager and a senior engineer) had been planning an all day team offsite to craft our road map (i.e. be told what we should do). This was to build hype for our technical challenges and build team cohesion. Also, there would be free lunch.

Timeline: I told my managers I was leaving on Friday. The team offsite was on the following Tuesday. We were asked for our lunch selection on the previous Wednesday.

Conversation 1: Direct Manager

Timeline: Monday, the day of nail-biting anxiety over whether I’d be asked to leave immediately

Manager: We had the discussion with Skip Manager and HR.

Me: And…?

Manager: Well, you can leave whenever you want and you will keep getting paid until next month. You won’t have to pay back the $X for breaking the contract.

Me: That’s amazing! I didn’t even realize that was an option.

Manager: I was surprised to. About the offsite though: I think Skip Manager is going to talk to you and encourage you not to go.

Me: I guess that’s his decision but why? Wouldn’t that be unsettling to the rest of the team?

Manager: Well, he says it’s to give you an extra day off since you won’t be involved in it but it might be because he doesn’t want your interference. He’s very concerned about any morale impact it might have on the team.

Me: Okay… so, what is he going to tell the team? And wouldn’t be suddenly not being there be more of a morale impact?

Manager: We’re not going to tell the team you are leaving until next week so I don’t know what he’ll tell them.

Me: Overall this is good though that offsite thing is weird. Thank you for your help.

That went really well for the quitting part. I personally felt I would be able to help the junior engineers on my team with brainstorming during the offsite but it’s not my circus anymore. Still, Skip Manager’s choice seemed more morale damaging than having me there.

Conversation 2: Skip Manager

Timeline: Later Monday

Skip Manager: As you know, we’ve discussed your departure.

Me: Yes, Manager mentioned that.

Skip Manager: Glad to hear that. Anyway, about the offsite: why don’t you take that day off? It’s not going to be relevant for you after all.

Me: If you think that’s best. I would be happy to contribute my experience from past work or not if you’d prefer.

Skip Manager: Great, so what will you tell the team why you aren’t going?

Me: Um… I could say I’m sick?

Skip Manager: No, I don’t want you to lie.

Me: Er… okay… I have to go see the doctor and since I will have the time I can bump my appointment up.

Skip Manger: Great, go with that. Bye.

Recap: Skip Manager gives me less than 24 hours to come up with a reason why I suddenly can’t come to work tomorrow that isn’t a lie because he decided I shouldn’t go to his stupid planning party. Oh, and make sure it doesn’t give away that you’re leaving. And who’s going to eat my BLTA?

Conversation 3: The White Lie

Timeline: Tuesday, day of The Offsite

Dear Team,

I just found out that there’s an opening at my podiatrist’s office tomorrow and I’ve been waiting a few weeks to see him. Since it’s midday and may take a while to do x-rays, I will have to miss the offsite. Have fun and I look forward to the great ideas coming out of it!

Alacritical

This wasn’t a complete lie since I did have to go to the podiatrist to get fitted for some foot related problem. They weren’t sure if they’d need to x-ray. It didn’t have to be Tuesday though. It also took 30 min. Still not a complete lie.

Conversation 4: Human Resources Lady

Timeline: The Friday after The Offsite

Me: Thank you for all your help with negotiating me leaving the company!

HR Lady: No problem, I was happy to help… by the way, how did the conversation go with your managers?

Me: Well, Manager was pretty clear about it and made sure I had some choice in when I left. I wanted to stay a bit to make sure I didn’t leave anyone with garbage to deal with.

HR Lady: Yes, he mentioned he expected that from you. What about Skip Mansger?

Me: Manager gave me a heads up but Skip Manager asked me not to go to a team offsite, which is fine, but I really didn’t like that he asked me to make up a reason the day before why I couldn’t go.

HR Lady: *tsk*, I told him I recommended he not do that. He asked you to come up with the reason? *shakes head*

Me: He also asked me not to lie and I managed to come up with something reasonably truthful but I didn’t like cleaning up his mess. Still, if that’s the worst of it, I’m happy with how this turned out.

HR Lady: I’m glad it worked out and feel free to reach out if you need anything.

Even HR thinks Skip Manager is a little crazy. That makes 3 of us (HR, Manager, and myself). By the way, I gave the HR Lady a gift basket to show my appreciation. I like to reinforce good behavior.

Things I didn’t do that were suggested:

  • Instead of making up a white lie, tell my coworkers that I’m leaving and Skip Manager banned me from the offsite
  • Send the “can’t make it” email but attend anyway
  • Refuse to not attend

Since I had been generously offered pay without having to work, I considered being the scapegoat for Skip Manager’s convenience a fair trade-off.

What did I learn from this?

  • Managers don’t have to listen to HR and HR gets irritated about that too
  • Sometimes managers can’t find a good rationalization so they make you do it
  • I will never know who got my BLTA

*A skip manager refers to your managers manager. Also known as: senior manager, grandfather manager

Title reference

Exit to Stage Left: Thoughts on Quitting

Is quitting the easy way out? I think quitting can be hard and more effort than sticking with something that’s just okay or tolerable. There’s a lot of stress and formalities to go through to quit a job and even more so if you want to stay on good terms. Here I’ll talk about different ways to quit a job or team.

Clarification: For the purposes of this post, by “quit” or “quitting” I mean the voluntary resignation or termination of employment by the employed individual. I am not talking about lay-offs or other involuntary termination of employment.

Stages of Quitting

I think of different stages of quitting as the different points at which I can engage my current employer in discussions:

  1. I’m thinking of quitting or am interviewing for other companies.
  2. I’ve decided to quit but have no set date on when my last day is.
  3. I know the rough day I want to quit and I’ve started casually removing personal items from the office.
  4. It’s the day which is the minimum amount of notice my company requires before quitting.
  5. It’s my last day.
  6. I’m gone.

When you start talking to your employer about quitting depends on your relationship with your direct manager, your company policy on resignation, and the terms of your contract. I have primarily worked at “at-will employment” shops so, technically, I could email my manager from my bed and say I’m never coming in to work again. I have never been in a situation where that has needed to happen but I always check to make sure it’s an option.

Factors of quitting

  1. Your finances, health care, next job, etc.
  2. Your manager/employer
  3. Your coworkers
  4. Your HR department, if you have one
  5. Your legal obligations

Each of these factors can impact when you quit, what your life is like before you quit, how much notice you are obligated to give, and how you feel about quitting. When making a plan to quit, I would recommend assessing the risk presented by each of these factors. Any rules you fail to follow can compromise legal contracts and may result in financial consequences. Any human involved may become unreasonably emotional or you may find yourself needing to defend your decision to quit against unexpectedly intense interrogation. On the other hand, your managers could see that you will be more successful elsewhere and wish you the best. This has happened.

Approach 1: Burn the Ground and Salt the Earth

In this approach, you will wait until your last day or the day after your last day to leave. This will greatly inconvenience your employer for several reasons:

  • Your work is in an unknown state and your manager or team needs to pick it up
  • Your manager needs to explain to his managers, perhaps while being raked over coals, why you left so suddenly. He also has to report this to HR.
  • HR systems need to suddenly destroy your access to everything, stop your pay, not let you pass go, and take that $200 away from you.
  • Your team is suddenly less one person without warning or explanation. This is disruptive to team productivity, road map, and morale. Also, you won’t be able to make that ping pong tournament.

I would not recommend taking this approach unless you never plan to work for that company again and potentially any companies affiliated with that company or that could be acquiring or acquired by that company. That aside, before you plan on taking this option, make sure it is viable. Some contracts will specify a penalty for leaving without notice and others are “at-will”.

Approach 2: I’ll Stay but Do Very Little

In this approach, you’ve decided to follow the cultural or prescribed “notice” before leaving. Let’s call this 2 weeks for the sake of simplicity. You give your boss your 2 weeks notice and then you decide you won’t give anything more to your company than you already have. This involves some level of not doing your job ranging from not taking on new projects to spinning in your chair for your remaining time.

I don’t recommend belligerence but at the same time, if your company is sucking the life out of you, keystroke by keystroke, maybe toning down the amount of effort you put into it isn’t a bad thing. Going back to the factors that affect quitting: you’ve taken care of legal requirements and the HR department by following the rules. The HR department might be notified of inappropriate behavior and flag you to not be hired again. That leaves you, your manager, and your coworkers.

If you are leaving for medical or urgent personal reasons, sometimes the company will make an exception on the 2 week notice rule without any penalty to you. It will still be disruptive for your manager and your team but as long as people can rationalize something, they tend to be okay with it. Now, if you are stuck with them for the full 2 weeks remaining, you will be subject to the emotional reactions of your managers, your coworker, and yourself.

What does this mean? In some cases, your manager will ask you to lie about why you are leaving to your coworkers. In other cases, your manager will ask you to say nothing and then say who-knows-what behind your back after you leave. I consider these to be some of the less pleasant cases. This means that your manager has chosen to treat you as a risk to be mitigated and now you’re supposed to do what he says. However, you’re already leaving, right? Of course, you’re not obligated to lie for your managers but you’ll see similar consequences of openly going against them as in Approach 1. Even managers I thought were on my side the whole way have shown me a new, less appealing side of themselves when I quit.

Approach 3: I’d Like to Quit, Please

If you want to minimize the amount of bridge burning and water under the bridge or other bridge related metaphorical garbage from piling up, you can give your management a heads up that you are considering leaving. I don’t recommend doing this more than a month ahead of when you plan to leave. If you give them a heads up with more than a month, typically you are asking them to change something for you or it’s so much time they can’t do much with it so they ignore you. This will map to about stage 2 or 3 in the stages of quitting I’ve listed. Either you’re getting prepared to leave or you’re actively interviewing and have a date to quit by.

This strategy opens up possibilities for negotiation. In Approach 2, you might get some push back from management but you’ll end up burning a lot of goodwill that would otherwise make them want to change the workplace for you. In this approach, you are stating your desire to leave with ample amounts of time and they may be able to accommodate changes you need to stay.

This can be good or bad. It can be bad if you weren’t prepared for them to give you a counteroffer. So be prepared for counteroffers and come up with a list of things they would have to change for you to stay. If these things are “double vacation time”, they probably can’t meet that and it will give them an understandable reason why you are leaving. If you are able to give reasons that you know the company can’t accommodate, it somehow makes it easier for them to accept you leaving. If you can’t provide a good enough reason, they tend to be bitter and passive aggressive. This isn’t a “rule” but a tendency I’ve noticed.

Here is an example of a conversation where an employee tells a manager they are leaving:

Employee: I would like to discuss my career path.

Manager: Okay. What are you thinking of?

Employee: I’ve looked at opportunities here and where I want to be in the future. I don’t see myself achieving my goals here so I am planning to leave.

Manager: Oh, this is sudden. I didn’t expect this. Is there anything we can do to make you stay or is something in particular wrong?

Employee: I’m want to become a fullstack developer and all the opportunities here are for backend development. I know there are some front-end teams but I really want to learn from senior fullstack developers I work with day-to-day. Since there aren’t any people or teams like that, I’ve decided to move elsewhere.

Manager: I see. I don’t think we’d be able to find a senior fullstack developer to keep you here. Do you have a job already lined up?

Employee: Not yet but I’m waiting for a few different responses on interviews and I’d like to leave in the next month.

Note that the employee provided a reason why they wanted to leave and showed that they researched whether or not their current position could accommodate that. If you don’t show you considered making your current employer work, your manager might become defensive and passive aggressive saying things like “we could have made a place for you here but I guess it’s your career.”

Make sure to focus on things you want rather than things your employer doesn’t have. Saying “you don’t offer enough autonomy” can put people on the defensive and you’ve shut down the possibility for a productive conversation. Instead saying, “I’d like to work on a team with more freedom to experiment and less pressure to deliver” is you talking about yourself and typically people can’t tell you how you think and feel. This is part of Crucial Conversations if you’re interested in more behind the psychology of these types of conversations.

There Will Be Bullshit

Whenever there’s an event that can be emotional, it will be emotional (a play on Murphy’s Law). When quitting, you might see managers who you thought were reasonable start showing their bad side. Coworkers who you thought were almost your friends start being stand-offish and acting superior. Be prepared to see negative emotional reactions from coworkers. This doesn’t always happen but it’s better to consider it before. If you consider it beforehand, you are less likely to feel bad or overreact in the moment.

The “bullshit” can extend quite far. If you are doing an internal transfer, your managers can take action to block that transfer if they are displeased with you. Some companies require a testimony to good performance from your old manager before transferring so unfortunately, they can hold your fate in their hands. If you are quitting the company, this won’t be a problem. If it does come up, it’s tricky to get out of the situation unless you have some level of proof that you are actually a good performer (ex. past reviews, feedback from coworkers, projects that went well). With this, you might be able to go to HR and claim your move is being wrongfully blocked. I haven’t tried this before.

Odds and Ends

What do you say to your coworkers

If you plan to be working with your coworkers during this time, it’s good to think up a cover story. I’m not saying it doesn’t have to be true but it does have to be palatable and consistent. People tend to stop asking or thinking about something if they get closure.

Examples of palatable reasons with closure:

  • You are looking for different challenges to broaden your industry experience
  • You are looking for a hybrid position where you can be a manager and designer at the same time
  • You are looking for a position closer to your family
  • You are looking for a position that will allow you to pursue further education while working

These are all things that give a good reason why you can’t be here and also don’t convince someone they should also leave. Even if you have a good reason, people will start saying things that indicate they think they are superior because they feel suited to their current position. This is them rationalizing why they aren’t leaving or “sweet lemon/sour grapes”. You may also hear some passive aggressive comments from managers about you leaving. It’s an unfortunate side effect of working with humans.

Keeping in touch with coworkers

If you like your coworkers or might want to work with them again in the future, feel free to offer to stay in touch with them. I recommend LinkedIn as a good way to stay in touch. If you want to be more personal, ask them if they’d be okay adding you on Facebook as a friend. I stay away from asking for personal emails or phone numbers though there’s no reason not to offer or accept them. Just keep in mind that they could steal your rewards points.

The only thing to be careful of is any anti-poaching rules in the company you are quitting or the company you will work for. If you are planning to stay in touch with coworkers in order to pick them off into your new company, there is sometimes a grace period of several months to a year where you cannot do this. The consequences are usually against your new company, who will not appreciate that you brought those consequences down upon them.

Can I keep this?

Your company almost certainly has rules around company property, both intellectual and physical. Make sure you return any tracked items. In terms of intellectual property, you could be considered stealing if you downloaded anything company related onto your personal computer or any mobile device. In several companies I’ve worked at they have a device policy where they can claim any device, personal or otherwise, that has ever had company data on it. If you work on sensitive information and are allowed to use personal devices, this might apply to you.

Save Before Quitting

Before you start talking to your manager about quitting, make sure to collect and print or save externally all the documentation you may need if your manager decides to terminate your employment immediately. I was escorted out of the building the first time I mentioned I was quitting and this is how I prepared for it:

  • Print out the following pieces of information if accessible:
    • Proof of employment (employment verification and immigration purposes)
    • Last Paystub (employment verification and immigration purposes)
    • Employment contract
    • HR department phone number
    • Contact information for your health plan provider and any other benefits providers
    • Employee Resignation or Termination guide if there is one
    • Your manager and skip manager’s name and contact information
    • The emails of anyone you want to stay in touch with at work
  • Clear all your temp data, browsing data, and cached data from all your work devices
  • Ensure at least 1 other person on your team has access to every resource you have access to. Not required but nice to do.
  • If you still have stuff at work, make sure you have enough bags or boxes to get it out of your building and a way to transport it home
  • If you are using a public transit card funded by your employer, you will need to give that back. Have a backup fare if you took the bus to work that day.

You can do all of this without alerting anyone that you are quitting unless you’re careless in the print room about leaving your print job unattended.

Good luck quitting!

 

 

Book Report: Kaizen Express

20180625_150222

Kaizen Express: Fundamentals for Your Lean Journey

Amazon book link

Themes: Kaizen, Toyota Production Systems, Lean, Efficiency

Would I recommend this: No. This was hard to follow. I don’t think this book was meant to be read through cover to cover. It seemed like a companion textbook to a class. Half of each page was in English and the other half in Japanese, a translation of the content or maybe the other way around.

Note: Any examples below are generated by me.

Key Concepts

Waste

Waste is any activity consuming resources without producing customer value. The resources can be equipment time, human work time, or raw materials. Customer value in this case is any product or service the customer is willing to pay for.

Example

Not-waste: Engineers writing code for product or code for testing the product. The product is sold to the customer and increasing or maintaining the quality of the product ensures the customer will keep paying for it.

Waste: Engineers waiting for the computer to update during the time when they could be developing code. This could be done during a time period where developers aren’t using their computers.

Muda

There are different types of waste. The Japanese term for this is “muda” and each type of waste is written in a different form of Japanese script.

Type 1( むだ): Waste within a process that can be resolved with point Kaizen or within the process by an individual. Example: Blocking software updates that could be scheduled to run off hours.

Type 2( ムダ): System level waste that needs to be addressed via changes in different components. Example: High levels of inactive time between code review and production deployment.

Type 3 (無駄): Organizational or policy level waste that needs to be addressed by management. Example: Enforced time sheet logging for all employees when there is no variation in day to day time reports.

Accumulation, Batching, or Stockpiling

Accumulation between different processes, batching in large quantities, or stockpiling products or product components leads to waste. When you have large batches, it can lead to accumulation between processes or you may end up stockpiling a lot of one resource or product in anticipation of demand. Any type of accumulation hides defects.

Example

You have a table factory and a production line creating screws for the tables. You’ve run the screw line to produce a large amount of screws so you can shut off the line when you have several hundreds of thousands and start up the table assembly line to use this accumulation or stockpile of screws. Unfortunately, you find out shortly after starting the table assembly line that one of the dies was misaligned and all the screws aren’t usable. You may have found out minutes later, days later, or months later. Not only did this waste the material in the screws, but also the time on the machines, potentially some material from the tables, and the time of the humans operating the machinery.

Jidoka

The idea of Jidoka is self-stopping machinery such that it does not need to be constantly monitored by a human. One of the common examples of this in everyday life is motion detectors. Cars, garage doors, and assembly lines use motion detection to detect anomalies in places they should be and automatically stop or create an alert.

Example

Garage doors in the past were known to crush children or animals that were caught under them and needed to be watched carefully as they lowered. These days (in North American houses), new garage door openers have pressure detection when lowering as well as detection of objects near the ground that would interfere with closing. We don’t need to watch the garage door close anymore. Similarly, with Jidoka, it frees up human work time to allow us to do other things and check back only when needed.

Just-In-Time

As named, just-in-time describes only producing items or taking action as they are needed. Recall in the “Waste” section that accumulation can hide defects. Instead of batching and stockpiling, you only create things just-in-time.

Example

Your team is expanding and you know you needs lots of engineers so you hire as many as you can in anticipation of future growth. Later on, after hiring 20 engineers, you find what you actually needed was 10 engineers, 5 data scientists, and 5 quality assurance engineers but you weren’t aware that the demand or requirements would change in the future. If you had hired “just-in-time”, you would have been able to save time and money.

Discussion

What if some things can’t be done just-in-time? Take the example of packing for travel. If you’re at home, you are fine to buy toothpaste as you need it but when you travel, you want to pack your full supply for that duration because you may not be able to find the toothpaste you are looking for. This ties into more of the philosophy of Toyota Production Systems, lean, and kaizen. This restriction should push you to find a way to build a system that can support just-in-time. In the toothpaste example, this might mean that you learn how to make your own toothpaste out of baking soda, which is more readily available internationally than your specific brand.

Efficiency

There are different types of efficiency:

  • Apparent Efficiency: You can increase production without increasing the number of operators or equipment.
  • True Efficiency: Producing the number of parts that can be sold with the minimum number of operators and equipment.

Examples

Apparent Efficiency: You are in a cookie factory. Apparent efficiency is being able to double your batch of cookies without needing more workers or bigger bowls.

True Efficiency: If you can only guarantee selling 10 cookies per hour, you operate with the minimum required operators and equipment to make 10 cookies per hour. This also applies to resources. If you only consume the flour, eggs, and other ingredients needed to produce 10 cookies per hour, you reduce waste in a system that has enough apparent efficiency to produce 20 cookies per hour.

Local vs. Total Efficiency

Efficiency should always be looked at in terms of the whole system. If you have high local efficiency, this leads to an accumulation between the efficient process and the next process downstream. As we know by now, accumulation leads to waste.

My favorite example of this is when software developers punch out code review after code review but there aren’t enough reviewers to keep up. This results in a build up of unreviewed code. The volume of code to review makes reviewers less likely to focus on individual details and more likely to miss bugs. This also increases the chances of conflicts with other local development and creates wasted time for other developers that later need to merge the changes as they come through. Perhaps counter-intuitively, this local efficiency of producing code results in less global efficiency because the high volume of code to review leads to more bugs and more time to develop for other developers.

Machine Efficiency

A machine’s operating rate is the time a machine is used in a given time frame. The operating ability of a machine is the time the machine works well when it is needed. If you optimize operating rate, you will get overproduction and accumulation. Accumulation leads to waste.

The overall machine effectiveness is the availability (rate) times the performance (rate) times the quality (rate). Translates to: is it working (performance) well (quality) when I need it (availability)?

Continuous Flow

Continuous flow shows the production process as the life-cycle of a single item through a series of steps. In contrast, there is batch processing, which sees a collection of sub-processes that produce batches of items that move to other sub-processes.

Why is this good? Consider the idea of just-in-time above: if we are able to optimize our end-to-end system to produce a single item quickly, we will be able to produce items just-in-time more effective. Further consider the idea of efficiency above: if we are able to understand the true efficiency of producing a unit and we have actual efficiency in our system, we can scale to only produce items according to demand and reduce waste.

From Flow to Pure Continuous Flow

So you’ve got a continuous flow system and you want to make it better or achieve pure continuous flow. There are a few ways to look at your continuous flow system to try and improve it further. A lot of these concepts are phrased for manufacturing but it can be translated to other applications.

  • Process Village Layout: Relocate sequential processes to be together in product families. Example: put all your assembly stations for tables close together in a table factory rather than intermixing them with chair assembly. You can see this concept in how houses are laid out. We have kitchens for food related activities and bathrooms for hygiene related activities.
  • Minimize Worker Movement: If you see workers or operators spending a lot of time walking and not producing something, you may want to consider your layout. An example of this is when bathroom layouts place sinks or wash basins far from the toilet stalls. In software, this can be physical distance, like the space between offices and meeting rooms. It can also be virtual distance. How many times do you need to SSH and enter your password through various redirects to find the document you need to review? That could be minimized with dashboards or single-sign on (SSO) solutions.

Pull vs. Push

When it comes to pull vs. push, it helps me to visualize a rope with markers every few inches or centimeters. If you are in a tug-of-war style situation where there are people pulling every few meters or feet on the rope, how do you make sure as many markers make it to the end of the line of people as possible? If you push the rope onto the next person, it will bunch up and only create movement where you are. If you pull the rope from the person down the line, it will not only pull your section but also the sections all the way down the line to the beginning. So, if you want to get a steady stream of markers making it to the end of the line, should you be pushing or pulling?

Pulling means you are starting a processes based on a signal from the “end of the line” or the customer. When you are pushing, you are pushing what you produce downstream and eventually onto the customer whether they want it or not. If they don’t want the product at the rate you are producing, you end up with overproduction and accumulation. I think at this point if you’ve been reading sequentially, you know what that means: waste!

The 5 Ss

The 5 Ss are a guide to organizing the work space for maximum efficiency and effectiveness.

  • Seiri: Separate needed from unneeded.
  • Seitan: Arrange in order of consumption.
  • Seiso: Keep clean and inspect regularly.
  • Seiketsu: Don’t clutter or litter.
  • Sitsuke: Sustain and maintain discipline.

The Wikipedia page explains this much more clearly than the book did. I’ll provide some examples in the context of a software development process following sprints:

  • Seiri or Sorting: Only consider work or bugs that can be accomplished within a sprint and only work that is ready to be picked up.
  • Seitan or Order and Simplify: Prioritize and ensure all items are understandable and as small as they can be.
  • Seiso or Shine: Regularly revisit your sprint tasks to ensure they are still relevant and have been updated to reflect current state.
  • Seiketsu or Standardize: Ensure all individuals are participating in maintaining the first 3 Ss and have daily stand-ups to go through the exercise of maintaining your sprint work.
  • Sitsuke or Sustain: Continue to follow and maintain regular processes on the team such as spring planning, stand-up, and retrospective.

Kanban

Kanban is a tool for visualizing a pull system. It is not synonymous with Toyota Production System. The way kanban is used in production systems is a way to signal that work needs to be done and each signal or kanban card contains instructions and details needed to complete the work order. It doesn’t always need to be a card but it does need to indicate a “pull” is needed and should contain just the information needed, not more.

Rules of Kanban:

  • Processes should be triggered by customer action and a pull from the customer side.
  • Suppliers only produce what is requested on the card and not more.
  • No stock or items should move in the system unless they are accompanied by a kanban card.
  • Defects should not make it downstream.
  • Limit the number of kanban in progress to lower stored inventory and find problems more quickly.
  • Each item should not pass through the hands of the same person more than twice.

Heijunka

The idea of heijunka is to target producing product quantities in shippable units at each stage. In batching models, you might product all components of type A, then all of type B, and then pack them up. As you know, accumulation causes waste and hides defects. Heijunka will have the effect of shorter lead times, which helps with just-in-time production, and smaller inventories since you don’t need to stockpile as much before shipping a unit to a customer. This might seem like an obvious thing to do unless you consider that several production lines need to be converted between products. You can have a line that can do either screws or bolts but not both at the same time. This is similar to having one engineer doing both development and quality assurance.

Example: Waterfall vs. Agile

You can see this idea in waterfall vs. agile software development methodologies. In waterfall, you will do all design, then all development, then all testing. In agile, you do design, development, and testing for one deliverable unit or product and then start on the others. In waterfall, you see waste when implementation needs to change the design and a cascade of alterations that may result in a redesign of all components. In agile, by completing one unit entirely, you are able to adjust the development of other units before design and implementation has started. You just eliminated waste!

Pacemaker

You may think “oh, not the cardiac pacemaker” but it’s not so far off. The pacemaker in kaizen regulates continuous flow, as a heart regulates blood flow. All requests from the customer go through the pacemaker so it can regulate rates of demand and enforce heijunka. It is the first place in the system where heijunka can be enforced.

In the software world, the Project or Program Manager would be the pacemaker, taking all customer requests and scheduling them into a roadmap for the product or project the development team is working on. The thing that’s key in this example is that the manager will not dump all the work on the development team at once and instead will try to create a sequence that will then be given to the development team either monthly or quarterly to deliver. In an agile development setting, this would happen in sprints as well and the manager of the project/program would contribute work and assist in prioritization.

Setup Reduction

One of the driving factors for batching in some production systems is the time cost of switching equipment over to make a different part. To reduce the need to batch and accumulate (oh no! waste!), aim to reduce and shorten changeover times as much as possible. Changeover time is defined as the difference in time from the last good old item produced to the first good new item produced.

Example

You are running a catering company that makes cookies and meatballs. As such a small and specific company, you have only one working surface and you need to make sure none of the cookies or meat products touch each other. As a result, each time you change between making meatballs and cookies, you have to clean your entire surface. This will drive you to instead do all of one and then all of the other. However, as we know by now, this will lead to accumulation and potential defects. If it turns out one of your meat sections or set of eggs for your cookies were rotten, the entire set made on the shared surface with shared equipment might need to be thrown away. If the batch were smaller, this would be less waste. To reduce setup time, you can consider speeding up the cleaning process by wearing latex gloves that can be switched between batches and using parchment paper to protect the surfaces being used so it can easily be tossed and replaced.

Great, so we’re not making cookies and meatballs, we’re making software. Let’s talk about that.

Some companies have dedicated architects, dedicated development teams, and dedicated quality assurance teams. Moving a product from one to the other takes time with hand-offs, back and forth communication, scheduling of meetings, and reviews, especially in a waterfall model. This is a way to interpret the changeover time in software. How do we make this faster? What if the same person were the designer, implementer, and tester. This way, we wouldn’t pay any cost of hand-offs for switch over and testing or redesign can be done as the product develops at shorter intervals, looking more like agile. Another way to reduce the time is making the hand-offs smaller in incremental components rather than all at once, again, more agile. If there is accumulation (waste!) between the design and development or development and test phases, this is likely to hide bugs.

Andon

Andons are tools meant to visually highlight anomalies and operational status of each station. Through use of these you should be able to visually survey the work space and see if anything is going wrong. On the operator side, andons are activated simply and quickly by a button or signal cord that sometimes will stop the local production line to prevent further propagation of error.

Day to day we can see andon-like signals all over the place:

  • Grocery store check-out areas have a green light above them if they are open and are off if not. With a glance you can identify which ones are working. Associates can turn off the light if there is a problem at the register.
  • Highways with dynamic lanes show which lanes are operational and which ones are not. If an accident occurs, a lane can be shut down by using the signal to communicate to drivers not to use it.
  • Your car’s dashboard lights that tell you if your tire is flat, your oil needs changing, or if your gas tank is empty.

These are strictly andons because they are themselves a way to communicate to customers.

In software we typically see these mechanisms in operational areas with dashboards for our testing suites, environment health, or deployment health. The dashboards typically have green for “good”, red for “needs attention immediately”, and yellow for “needs attention but probably not immediately”. Further, these states are automatically detected or manually set when something wrong occurs. The faster you detect anomalies and stop the production line or rogue zombie process, the fewer defects and waste go down the line.

Maximize Human Work Time

You can get more efficiency by maximizing human work time. By watching for gaps in activity, you can find ways to creatively fill them. An example in the book shows that production lines that auto-eject boxes and wait for them to be taken allow one worker to operate two lines. By contrast, lines that need a worker to watch for the right timing to remove a product from a conveyor belt can only have one line per worker.

I don’t see this a lot in software because micromanaging at this level is typically stifling. However, I often see this when there is a “planning phase” of little development, they fill the development team time with operational improvement tasks to ensure they are keeping busy. In organizations that are more agile, there is typically an interleaving of operational and product work. That’s a different discussion though.

Zone Control

The idea of zone control is to make all defects localized and not allow them to propagate to other zones. Between zones there should be a defined inspection or quality assurance. This can be likened to running integration or health tests before deploying code to a new service host. This reduces the impact of a bug to a single host or stage instead of all versions of the system.

Standardized Work

All repeated work should be standardized and part of a cycle or defined procedure. Any work that occurs out of the cycle destroys continuous flow. Standardizing a cycle or procedure can be through written example or through enforced checks, like a machine not starting if a prerequisite is not met.

An example of how non-standardized work destroys flow is when the standard development process is skipped for a bug fix. Often when I’ve seen this done it means all tracking data for why that change was made is lost and often validation has been skipped. This inevitably leads to regressions later on and very complex bugs.

Visual Management

All components should be in plain view with their status clearly visible. The standardized process should be defined visually within this system. This visual management system should make it easy to assess status, error areas, defect rate, and performance of each area.

Kanban is a great example of a visual management system. In children’s schools, visual management systems are typically well-used to show where each student’s belonging are and what activities each student is doing. Old hotels use key hanging racks to show whether a room is occupied and if the occupant is in.

Genryo Management

Genryo management refers to how you can expand or contract your production with efficiency. It allows you to make profits and lower costs as needed. It contains a few sub-concepts:

  • Shojinka or Labor Linearity: Adding labor will increase production and decreasing labor will decrease production.
  • Capital Linearity: Create a production line such that adding more machinery will increase production and removing machinery will decrease it. This is meant to avoid the initial cost of a lot of machinery leading to over investment and potentially to overproduction (and accumulation… and waste!)

Why would this be good? Consider working on a development team of 5 people that produces 1 feature per month. If I add 5 more people, does that mean I will get 2 features per month? In practice, no, we don’t see this happening unless the two features are completely independent of each other. In an ideal world, this is how it would work. In this example, the effect of adding a new developer is more complex that just adding more work capacity. This illustrates how all the other aspects of kaizen like standardization through documentation, continuous flow, and others need to be in play for genryo management to be effective.

Examples

  • Shojinka: At the motor vehicle licensing office, adding an attendant to accept applications will result in more processed applications. Removing an attendant will decrease processed applications.
  • Capital linearity: This is often seen in scaling services with commodity hardware. Adding more hosts means more customer requests can be processed. Decreasing the number of hosts results in less.

Process Study

A process study will help you understand where you can improve. This involves listing all the steps in your process and tracking all the items that pass through it. By timing all the steps and understanding the touch points of items through the system, you can get an idea of where and how much you can improve. Process studies should be repeated until consistency in timings and performance are reached.

Employee Involvement

Employees should be motivated to connect to the flow of the production system. They will be able to contribute improvements with their expertise and familiarity that managers and designers will not see. Understand that you can develop abilities in employees that will help with improvement and growth of kaizen. Remember the discipline or sustain aspect of the 5Ss: every employee should be contributing to sustain. Hold kaizen workshops to allow any and all employees to participate regularly. Kaizen isn’t a fix once and forget solution; continually maintain kaizen and grow an improvement culture.

Glossary

Kaizen: All of this together makes up kaizen.

Takt time:  How often to produce a component based on customer demand. Takt time = (available time per shift) / (demand rate per shift). Ex. 8 hour work day / 4 code reviews per day = 2 hour takt time for completing code reviews or a developer averages completing a code review every 2 hours.

Toyota Production System (TPS): a philosophy of lean production founded by Taiichi Ohno

5 Whys: Keep asking ‘why’ until you get past the obvious problems and reach the real root cause of an issue.

Poka-Yoke: Any process or procedure should be designed to be hard to get wrong. This is a design style to reduce defects through human error. Make it hard for mistakes to happen.

Other things about this book:

  • There are tons of forms and worksheets showing how to implement some of these guidelines in the Appendices

An Independent Venture: Before You Go…

At this point, I’ve decided to stop working full time. I considered a few different things before starting self-employment.

Disclaimer: I haven’t fully tested this advice so stayed tuned to see if this worked or not.

Motivation

If I’m actually going to do this thing, I’ve made sure I have thought out, defensible reasons to drive me and keep going through the hard parts. It is scary to quit something stable that works well and that “everyone” tells me is the greatest thing that ever happened to me. There will be a lot to learn with surprises along the way. People before me have been successful in this and I can be too… as long as I have the fortitude and grit to keep going.

Goals

Have them. This feeds into motivation as well and can help with some unexpected decisions. By choosing work based on goals, I might actually achieve them. For example, if I want to be primarily remote, I’m going to have to keep that in mind when Some Large Tech Company offers me a wonderland of benefits, high pay, and perks… in exchange for on-site work only. Then I’m back to square one.

Examples of goals I’ve considered:

  • A flexible work schedule
  • Freedom to choose projects and clients you want to work with
  • Freedom to learn a new skill and use it on the job right away
  • Able to work in any physical location
  • Variety and excitement in your work life
  • Being able to meet a diverse group of different people regularly
  • Far more interesting tax returns

You might think, “these don’t sound like goals, they sound like tenets“. Call it want you want – “North Star”, “Tenet”, “Guiding Principle”, or “Goal” – you (or I) need to be aware of the factors that help make or break decisions with arranging work,  life, and the fact that they’re about to become the same thing… if they weren’t already.

Digression on Goal Specificity: Flexibility

To clarify the level of detail in my goals, I will go into a more thorough explanation of what flexibility as a goal looks like to me. I have achieved the goal of flexibility if:

  • I can choose the number of hours I work proportional to how much money I want to make. If I work 10 hours, I get $10; if I work 20 hours, I get $20.
  • I can shift my work hours by days, weeks or months in order to create significant gaps in my work schedule for something like travel. I can work January to March and take April to travel to Japan for cherry blossom viewing.
  • I am able to choose my location of work 80% of the time. I can work from my home, someone else’s home, or a hotel for a large duration of a project (8 days of a 10 day project).

By working towards this goal I want to find out the following things:

  • How many hours per week is ideal for me within a range of +/- 5 hours
  • What are my optimal work times during the day or week
  • Am I more productive with short bursts of concentrated work or steady streams of work over longer periods of time.

As I drill down into these ideas of what I want to accomplish, I turn it into an experiment to make me a productive human in a way the full-time workplace couldn’t. If by some ironic coincidence I find out that I’m optimal for a concentrated, non-stop, 40-hour work week year-round, I suppose I’d go back to working for large tech companies.

As with development, it helps to establish a target even if I don’t get there. It helps orient  a scale, time frame, and organizes my values so I can say ‘no’.

Money

It turns out I need money or “funding” stashed away somewhere if I want to quit my job and not work for an extended period of time. Short story: I determined how much money I spend in a given period of time (let’s go with a month) and how much time I ramp up time I need. So, if I spend $10 per month and plan a month of travel and then 3 months before earning sustained income, I get $40. There are many “rules of thumb” out there that will give values like “3 months worth of pay”.

I also considered running out of money with the goals unmet. This means finding a safety net or backup plan, like Mom’s basement. I also needed an idea of when to hit the “eject” button. I don’t wait until you have $1 left before realizing I need $500 to move my stuff to Mom’s basement. Or more realistically, pay for my internet bill to do that phone interview to get the job I now can’t afford to turn down.

There is a ton of discussion on finances out there and I’m not an expert so I won’t go into it more. If you have recommendations on your favorite finance resources, I’d love to hear about them.

As a side note, starting a low-rent apartment complex called “Mom’s Basement” just for kicks suddenly sounds like a great idea…

Brand

“What is your personal brand?” is a question I usually avoid. However, if I am selling my skills directly to clients, I need to have one and it better be the one I picked. Picking a brand usually relates to “what do you want to be known for?” or “what do you want your customers to ask you to do?”. If people keep requesting SQL database migrations even though I really want to be a Ruby on Rails developer, something is wrong with my goals and my brand. People will learn about me from word of mouth and my work portfolio. If I accept and do jobs in an area, that area will be part of my brand.

Work style also contributes to how clients and customers see you. Do I insist on fully remote? How often do I meet with customers? Do I often deal with individuals directly or through others? Am I charismatic or overly technical? Whatever I want to be seen as, I try to be intentional about how my actions form my brand. It will impact the type of work and clients I get. It’s hard to change a personal brand once it has started to morph into a monster of its own.

All Your Base

Finally, once I have motivation, goals, money, and brand more or less ironed out, I need to get going. I think of this as “establishing a base” and it consists of the following:

  • Physical work location
  • Work setup (computer, developer accounts/software, contract templates, work email, comfy chair, fancy desk, desk toys…)
  • Client pipeline and advertising
  • Methods of professional development

Honestly, I really just need the first three. I added the professional development because I will be better able to advertise and network if you are current in your area. It’s also yet another venue to get work through conferences or courses.

Another disclaimer: this is how I got into the mindset of being ready to embark on self-employment. I heard other people reach it accidentally or unintentionally. I’ve heard stories of less preparation. I’ve never heard stories of more preparation. I suppose that says more about me than anyone else.

 

Tales from the Git Keeper: No Professional Growth for You

This is a post about wanting to grow as an engineer and having my management block me from doing so.

I frequently go to tech events for networking, learning, or some mix and I’m an active member in several online tech communities as well. I came across a tech event that was being advertised in several of my groups and it turned out that it was in the same city I worked. I had just started at the company I was working at a few months before and hadn’t yet encountered conferences as part of developer growth. I was about to find out what the organization I was in thought of that.

Firstly, I thought I should make sure the content of the conference was relevant to my company in an effort to convince them to sponsor my attendance or at least let me take that day as a work day and not a vacation day. I collected the following data about my organization and company goals:

  • My company at the time had an company Town Hall describing how moving to “the cloud” (AWS in this case) was going to help them go global.
  • My organization at the time was working on reducing the overhead of devops in their service maintenance and was looking into solutions for implementing Continuous Integration and Continuous Deployment
  • The organization needs to maintain both their on-premises datacenter and new AWS clusters at the same time.
  • The organization wants to move to building a platform instead of a product.

The bold words are meant to prepare you for the next segment of my proposal.

Second, I tried to relate the content of the talk to the organization goals. These are some of the titles of the talks scheduled at the conference:

  •  What does it take to build an enterprise SaaS product?
  • I may need hybrid cloud, but where do I start?
  • DevOps in an immutable world
  • Serverless and Containers: a Match Made in the Cloud
  • Building a Notification System at Scale
  • From Infra Ops to Platform Development: T-Mobile’s Approach to Cloud
  • Does your SaaS automate enough?
  • Not Your Mother’s Cloud: Best Practices for Enterprise Hybrid Cloud – from On-prem, Cloud, Containers, and Beyond

I’ve highlighted some terms in case it wasn’t clear that just the titles of the talks directly related to what my organization was advertising to be it’s goals. If you had, for some reason, built a heuristic function to rank conferences on how relevant to your organization they were based on your organizational goals, I thought this conference would rank pretty highly.

Thirdly, I tried to quantify the cost of this so I could be transparent to the company what I was asking for. Here’s what I got:

  • Cost at the time: $345 for a single ticket
  • Duration: 1 day
  • Location: Across the street kitty-corner to my office building (I could see the conference building from my desk if I chose to stand up)

As a finishing touch, I noted that my company was listed as one of the Gold Sponsors of the event. That’s right. I was asking to attend a nearby event at relatively low cost to learn about technology related to the goals of my organization that was sponsored by my company. Let’s see how that went.

[Instant Messaging]

Me to direct manager (DM): Hi DM, I’m really interested in this tech conference that’s across the street from us and sponsored by us. You can find the info here at http://www.notareallink.com. Do you think I’d be able to either get funding to go or be able to go without taking time off work?

DM: That looks great! I think we should try to send more people to that conference and even I want to go. It looks really relevant and it’s right nextdoor. I will talk to our director to see how funding for conferences work.

That went really well. I didn’t have to negotiate or bargain at all. Unfortunately, my direct manager, DM, at the time had only started 2 weeks after me and was optimistic that such a prominent tech company would of course sponsor sending its employees to go to a conference they themselves are funding. Sadly for both of us, he was wrong.

[A week later]

DM: I brought up the conference thing at our manager strategy meeting.

Me: How did that go?

DM: Well… I tried asking about it and then our director said it wasn’t important so we’d talk about it at the next meeting.

Me: I see… well, I bought my tickets because early bird pricing was only on until 2 days ago.

DM: That’s okay, at the very least our Sr Manager said we can’t fund it but we can look the other way if you go on your own.

Me:… I’ll do that.

Okay, so that wasn’t the best news but there’s still hope that they might reimburse my tickets and possibly send a few other people, right?

[Another week later]

DM: So, I asked about the conference again…

Me: Ah… that sounds like it didn’t go well.

DM: Well, I was a little surprised by the response. The director said we would need to make a case for its relevance and we’d consider sending people but we’d have limited budget.

Me: Does he know we’re sponsoring this?

DM: He didn’t seem to care.

Me: Awesome.

While both my manager and I remained confused at the lack of investment my organization had in its developers, I carried on and made sure to give ample notice to my managers and teammates that I would be out all day for one Wednesday to go to the tech conference next door. Tickets sponsored by myself.

I thought that was it. Sure, it was disappointing that the company wasn’t supportive of professional development but at least I would be able to go and not lose a vacation day. A week before the event, I overheard a manager say we were doing a mandatory all day off-site the following week. Knowing I had sent out my notice of my absence a month before, I was sure it wouldn’t conflict with my plan to go to the conference. Just in case, I sent a reminder to my managers:

[Email]

Me: Dear Managers, The agenda for the conference is up and can be found here: http://www.notarealsite.com. Some of the topics are fairly relevant to our organization, particularly those about migration from on-premises to cloud and hybrid cloud. If there is a talk that you’d like me to attend, please let me know and I will try to make it.

Skip Manager (SM): That conference conflicts with our all day off-site that I was planning to schedule tomorrow. Do you really have to go to this conference or can you go to another one?

Me: Given that this one is very close (across the street), only one day long where others on this topic are typically 3 days long, and I’ve already paid for it, yes, I will have to insist on going.

[Time Passes]

SM: I’ve rescheduled the off-site to the day after. The talk on hybrid architecture sounds good to me.

Not only was it a bit of a struggle to get people to tolerate my going to a job relevant conference, they also try to stop me from going because in favor of plans that don’t really exist yet. So much for the CEO’s proclamation that the company “attracts and develops top tech talent”.

I ended up going to the conference and enjoyed it greatly. I wrote up notes and made sure to send them out to my teammates and managers. No one cared. I didn’t go for them though so that’s fine by me. As for the offsite, it was rescheduled and delayed two more times before they eventually decided I no longer needed to attend. I’m glad they had all that hammered out before they asked me to cancel my conference attendance.