My Work Principles

My Work Principles
Photo by Mak / Unsplash

A few people are reaching out to me these days looking for advice on how to get started in their business or how to fix up some issues in their startup.

I've condensed some of the limited knowledge I had over here into work principles. These guide mostly what I'm doing and how I operate. Understanding these can give you some ideas about how to react to a given situation!

Coupling this with my Useful Entrepreneurship Readings and you should be good to go! ๐Ÿ”ฅ

I'll be updating this as I go, feel free to favorite this and to explore it every week! Also, if you have an intense reaction to one of these principles feel free to reach out to me at mail@yacinemahdid.com, always happy to discuss ๐Ÿ˜Š.


The best way to learn how to do something is to do it.

This might sound obvious, but I've seen this pattern happen over and over:

โ€ฃ Someone really want to do X, so they embark in a grand journey of doing A, B, C, D, ... until X!

Lets take the example of someone who want to learn how to train machine learning models.

They will usually go down this path:

- Brush up their basic math skills

- Learn linear algebra

- Learn probability and statistics

- Pick up a programming language and make sure they understand it well

- Study least square and basic model like KNN

- Learn how to code it themselves

- Pick up a data science library

- Learn about how to train machine learning model properly (cross validation and such)

- Learn a machine learning library

- Finally train a simple model on a toy dataset

There is nothing wrong with going this path, but from experience it's neither the most efficient or the one that will work.

Somewhere along these steps people will drop out and will either think that they are not able to do machine learning or lose all interest.

A path that is more efficient to achieve this goal is the following:

- Figure out how people are training machine learning model (what they use and how they do it).

- Train a machine learning model.

The first step take max 5h to list whatever people are doing to achieve the desired end result.

The last step is where the magic happen. By mimicking what expert are doing you will directly get to your goal.

Of course the probability that you understand what is going on is very low, but you will be able to know where the "training machine model" task ends. More importantly, you will be able to drill down piece by piece to understand why each components is done in a specific way.

So instead of going bottom up in your learning you will be going full top down! The speed of learning will be way faster and the outcome are usually more robust than the other way.

However, this way of learning is not comfortable compared to the first one. Its painful because you will 100% suck at it.

Being okay with doing poorly at first and then iteratively improving yourself is the hallmark of a great learner, in my opinion.

Funny enough, this is exactly how a standard machine learning model work. At first it doesn't know what to do, but it will do it anyway. It will check the outcome and refine its parameters through time in order to achieve better results!

There cannot be growth without problems

This is easily one of the principle that is the most difficult to internalize. โ“

Growth (personal or in a endeavor) entails some sort of transformation from one state to a better one as evaluated by some criteria.

The important part is that the path to growth isn't known or understood with 100% accuracy by the person taking it. Otherwise, if the path was both known and understood fully the better state would already be reached.

I believe that the two components "Knowing" and "Understanding" are required in order to reach a given state, because you could have one or the other without having achieved growth:

โ€ฃ You know what you need to do in order to reach the better state (because a mentor told you), however you don't understand that this is the actual optimal path.

โ€ฃ You understand in rough terms that a given path is the right one (because you have seen someone taking that path), however you don't know yet what are the precise steps to take.

In order to reach that improved state we then need to figure out a path and understand that this is in fact the right one to take. This is where the problems comes in.

The steps towards growth are riddled with core problems that highlight a lack of understanding or knowledge in some form. Clearing these root problems help improve the mental models of the growth path.

Seeing no problems in sight while not achieving the desired better state is a huge red flag. It means that there is something that is so badly understood or known that the core problems are brooding in the dark.

So, if one wants to achieve growth they needs to accept that there will be problems and that the more core-problems they find and resolve the further they will be on their path!

Reduce overworking by prioritizing, restructuring and hiring in that order

Overworking is something that needs to be constantly warded off as it organically grows over time. ๐Ÿ‘ป

The first trap people usually fall in is to forget that this is not a positive state to be in. Maintained constantly, It's a very good indicator that something is going wrong in an organization.

To counteract overwork three simple steps allow to always make sure it stays in checks:

โ—‹ ๐๐ซ๐ข๐จ๐ซ๐ข๐ญ๐ข๐ณ๐ข๐ง๐ : The very first thing one should do is review the work they are doing. Eliminate what is not useful and focus only on the highest priority tasks/project. This sound silly, but an overwork person will not do this.

โ—‹ ๐‘๐ž๐ฌ๐ญ๐ซ๐ฎ๐œ๐ญ๐ฎ๐ซ๐ข๐ง๐ : The second remedy is to restructure who get what work. Here this includes delegating your work to people working for you, but also giving large chunk of work to people that are more capable in other department.

โ—‹ ๐‡๐ข๐ซ๐ข๐ง๐ : Finally, if there is optimal prioritization and the work is given to the people most efficient to do it, the only thing left to do is give more bandwidth to the part of the company handling this work.

This way of reducing overwork ensure that here isn't needless hiring and that the optimal people are already aware of the work!

Assume people won't change while being open to be proven wrong

If you are an entrepreneur this principle is a bit hard to swallow ๐Ÿ‘ฅ

The very act of starting a company and making it grow require you as an entrepreneur to be in constant metamorphosis.

Pushing this mental model to the logical conclusion you might say:

If I am capable of changing and adapting everybody should be able to.

The hard truth is that over short period of time, most people won't change. Their skills set might improve if you provide them with the resources, but the majority of people will stay fundamentally the same.

This is not an universal truth however, some people will step up again and again; Reinventing themselves for the better on a weekly basis. However, these people are rare.

Therefore, the optimal way of planning your organization is to assume that people will stay the same while at the same time keeping an eye open for these rare outliers.

Work in such a way that make you easily replaceable.

This principle might seems counterintuitive in current work environment, bu it is beneficial for both the team you are part of and your own professional development ๐Ÿ’ผ

The essence of this principle is not to make you a redundant worker, but to make is so that you are less of a bottleneck for productivity as possible. There is this unspoken attitude of some people that in order to keep themselves relevant in their position they need to become irreplaceable. This attitude is harmful for the company, the team and the individual for the following reason:

โ€ข Little to no documentation gets created, keeping the knowledge safely guarded in the individual head.

โ€ข Tasks tracking of project and initiatives is poor. If the individual can't work everything halt no matter the priority.

โ€ข The individual position becomes a bottleneck for many initiatives as it cannot get duplicated.

โ€ข The individual start to be overwhelmed as more and more people will interrupt their work to get status update and information.

By striving for the opposite what will happen is:

โ€ข By documenting yourself as much possible you will be able to direct most inquiries towards available information

โ€ข By reducing reliance on contact with you for information you will be able to train other people to do your work

โ€ข By having other people able to do piece of your work you will have time to simplify your work through automation or process refactoring.

This will not only improve everyone work by not having to wait for you, it will also buy you more time for professional improvement to make the extent of what you can do greater!

Prioritize thoughtful quantity over quality

This principle might be one of my most controversial. When I say I prioritize quantity over quality in my work-life, people usually assume that quality is not important for me, which is a misunderstanding. โ›ฐ๏ธ

What I mean is that quality shouldn't be the metric to optimize when doing work. Of course we all want to make very fine work; work that our peers find inspiring and which they want to emulate. Paradoxically, focusing on quality will not get you there for the simple reason that you will make fewer feedback cycle in your work process.

To illustrate my point, here is a question: What does Stephen King, Picasso, Jessie Frazelle, Dolly Parton and The Beetles have in common?

โ€ข They are arguably very talented at their craft.

โ€ข They are prolific to a point that almost doesn't make sense.

Stephen King is famed for writing 10 pages per day, every day. Picasso artwork is estimated at 50,000 which average 2 per day. Jessie Frazelle contributions on Github is on the average of ~15 per day. Dolly Parton has been writing a song or an idea every day since the age of seven. The Beetles did ~620 live performances before signing their first record deal, amounting to about 300 performance in 1961!

These consistent numbers are what lead to quality, not the amount of time they've spent on a single piece of their work. By making many cycle of the thing they want to produce they are able to get better feedback about what work, what doesn't and how to mix-and-match what they did previously into something greater!

It's also important to note that the quantity isn't just random. It's thoughtful in the sense that they use the past work feedback they've collected to guide what they are doing now. Therefore, to achieve greatness being prolific and prioritizing thoughtful quantity over quality is the way to go!

Refactor and document yourself on a daily basis

It's Monday you open Asana/Jira/Trello, select your task, go into the document/codebase you need to work and it's a disgusting mess with no structure ๐Ÿ‘๐Ÿ‘๐Ÿ‘

What happen next is very standard:

โ€ฃ You either switch task and do something else.

โ€ฃ Try to do your work in the mess and feel annoyed the whole time.

โ€ฃ Do an heroic effort to refactor the document and after that work on the task.

Working in a mess generates all sort of negative feeling on top of being error prone and slow to make progress. This principle ensure that you never get to this point, no matter the situation.

Every day, whatever you were working on and whatever state of urgency there is: ย you refactor and document yourself.

This will have the obvious benefit of improving your team working environment.

It will also allow you to get better understanding about what you are working on and generate more optimal structure in which you can do efficient work.

Be willing and eager to give your role to someone more competent

This principle is a though one to get onboard for most people. ๐Ÿช‘

There is two scenario that apply to this principle:

โ—‹ You are competent in your role, but are even more competent somewhere else.

โ—‹ You are not competent enough for your role and would be a better fit somewhere else.

The first scenario is where you should find a replacement ย in order to focus on the other role where you have most impact.

The second scenario is the hardest to face. It's important that you stay honest with yourself. You cannot learn as much if you are in a role where you are consistently struggling.

There are multiple reason why you might not be competent enough currently (not enough training, knowledge, experience).

Whatever it is you have to re-assess if the position that you hold will allow you to bridge that gap. If not, it's of utmost importance that you remove yourself from the role.

This applies whatever your role is: CEO, QA, COO, Head of a department, technical lead, intern.

However, do not assume that anyone other than yourself will be willing to do this. If you have someone that is truly not fit for their role their natural tendency will be to put more hours, hide major issues and stress themselves into a burnout.

Work with people that clean as they go and avoid people that prefer to do one big cleanup.

This principle is the kind that become more and more important as the number of people in an organization increase! ๐Ÿงน

One aspect of work that needs to be emphasis is that it's always decaying. ย This is because a company is always in a state of flux synced with the environment it evolves in.

If you work with people that want to do one big cleanup here is what will happen:

โ€ข They will leave errors and small problems in other's work, postponing them for the big cleanup.

โ€ข They will introduce errors and small problems in their own work, postponing fixing them for the big cleanup.

โ€ข The big cleanup becomes an ever greater task with each passing days, making it less likely to be prioritized.

Eventually the big cleanup will need to happen and it will be a dredge.

However, if you always work with people that clean as they go:

โ€ข Small quirks and problem will be fixed on an ongoing basis.

โ€ข Process will be put in place so that they have less problem to fix on a daily basis.

โ€ข Automation will be introduced to reduce cleaning and enforce cleanliness.

โ€ข There won't be a big cleanup (or it will be smaller)

This small works will make all the difference at scale!

Make a good mental model of where you want to go, communicate it and then improve it.

Communication is key to reaching goals, even when you are the only one working towards them! ๐Ÿ†

The very first step to achieving anything is to sit down and picture what that end goal looks like. If it's not crispy clear in your head, the chances that your course stay true to the destination is very slim.

This blurriness is even more damaging when there are multiple people involve in achieving it. If multiple people are pushing in opposite direction with passion a lot of good work get wasted on nothing.

Spend time refining this mental model and make sure to lay it as clearly as possible. When that's done, communicate it.

The very act of communicating your vision will highlight bias, flaws and alternative routes that weren't even thought of. These inputs are essential to ensure you are not walking towards a dead-end.

The vision is then iterated again and again and again with each new information that is available until you reach that goal!

Continuously re-work your goals and the measure of success

If your goals and the measures of success are not changing on a weekly basis you are not learning fast enough ๐ŸŽ๏ธ

Of course it all depends on what is the time frame for these goals and how much information there is available on how to get there.

But, if you are working on the right things you should be discovering new information that will make the mental model of where you want to go clearer.

This needs to be reflected in how you aim towards your end-goals. Having stale goals is hazardous, because if you are working diligently you will move to the direction that you are aiming.

Like my pal Zubin would say:

Direction is more important than speed. It doesnโ€™t matter how fast youโ€™re going if youโ€™re headed the wrong way

When fixing an issue, spend more time asking questions than providing solutions.

Rarely something is as frustrating than someone rushing to propose a solution before understanding the context of the problem ๐Ÿ˜ค

No matter what the issue is, a good understanding of what the situation is about is needed to make good decision.

This focus on asking good questions to the right people will allow many great things to be uncovered:

โ—‹ Context will be set for what happened after a failure, making a postmortem easy to do.

โ—‹ The behavior of everyone involved in the issue will be understood.

โ—‹ Fault in judgment and/or understanding can be underlined.

โ—‹ Root cause problem will come more logically and it will be easier to get buy-in to solve them!

This doesn't have to be a lengthy process, if done well a few drill-down question can suffice to solve an issue!

Internalize that every situation good or bad holds an opportunity.

This principle is the cheesiest one I got, but behind the facade there is a very deep message ๐Ÿง€

The important part is not any single situation. They will most likely not individually make much difference in the success of an endeavor.

However, the attitude of always digging through success or failure for what else you can get out of a situation is what will. There is thousand good/bad situations happening every year.

Moving the needle a bit more in your favor in every single one of them will adds up and compound over time.

This attitude is a mixture of decisively moving forward when things are working and rolling with the punches when they are not. ย It really does make a difference in how fast you can grow!

Learn to recognize when you have to trust and when you have to verify

If you are a problem solver this one is a very precious principle ๐ŸŽ

There is an infinite amount of problems to solve in the span of building and growing something. You will not have the time to solve all of the problems yourself. This is a fact.

At some point there is a need to have multiple people doing the problem solving and pushing a project forward. Yet, sometime even competent partner can go about a problem in the wrong way or not even see there is an issue.

We all have our biases and our fixed ways of thinking about a problem, this state of mind is built from experience and make us efficient in some task. However, it can also leads us to have blind spots where big issue can creep in.

This is where it's of utmost importance to develop a sense of when your teammate are all good and when they are in need of help. Sometime trusting that work is going in the right direction is the best thing to do as their isn't infinite time. ย Other time, checking in on the teammate and verifying if both your mental models matches is the only thing that matter.

This balancing act needs to be properly weighted as it can quickly devolve either into micro-management or no-management.

Continuously expand the horizon of what you don't know

This principle looks like you need to continuously dumb yourself down, but it's the opposite! ๐Ÿ“ˆ

There are 3 types of knowledge you can have:

โ—‹ Known Known โœ…

โ—‹ Known Unknown โ“

โ—‹ Unknown Unknown ๐Ÿ’€

The first type is very intuitive, the more knowledge you gain the more stuff you know about which is great. The latter one is also intuitive, it's the stuff that you have 0 ideas about and that can leads to big problems!

What category you should ensure that you have ever expanding is the Known Unknown.

This sort of knowledge similar to mapping the field roughly. For example, knowing that if you want to do a machine learning project you need the following:

โ—‹ Lots of data of adequate quality

โ—‹ Models of enough capacity to fit the model

โ—‹ Technical expertise to fine tune the model.

is a good set of Known Unknown to have! If you were to start a project/business with machine learning in mind knowing these basic facts will allow you to delegate properly.

From experience, this principle applies heavily to both starting a business and in research projects. Knowing your limitations and what to watch out for is the first step towards seeking help. This will ensure your endeavor is a success!

Yes, you can go a layer deeper and understand how to do all of this yourself. Incidentally by expanding your Known Unknown you will increase what you Know about as well.

However, making sure to always have an idea of where your blind spots are will allow you to reduce the chance of catastrophic failures!

Do what you can, with what you have, where you are

This one comes from Roosevelt and it's one of the core tenet directing how I work in my life and my career ๐Ÿ”ง

From experience, doing what you can with what you have right now is the best way to get to the intended result faster. Most often than not, just actively getting the work done is what is needed.

Yes, sometime what you can do and what you have is not enough. But, by doing your best right now you get to understand your own limitation and learn much faster about where you are lacking.

This in turn makes you take the necessary steps in order to improve a situation with much more confidence.

So if you have something that you need to get done, just do it!

Ensure there is only one owner per project

This principle is critical when you are working on something that needs to be tightly coordinated ๐Ÿ“ป

One of the most lethal event that can happen for a project is not having an owner for it. So of course most people make sure to have at least one owner that is accountable for it, or more if possible just to be safe!

This is a mistake. Having more than one owner is the equivalent of having none. It only takes a small ambiguity and you got yourself a zone of concern that is left unattended for.

"I thought that he was going to do this part of the project?"

"Wasn't that you that was supposed to talk to the stakeholders for the next phase?"

One common misconception with giving ownership of a project to only a single individual is that they are the one responsible for doing the work and therefore are the one that should get credited for success.

The owner doesn't even have to do much in the project. An assigned ownership only means that they are the one accountable for making sure the project continue moves forward. Therefore, questions about progress are naturally directed to them.

This one-owner-setup allow a simpler communication flow and ensure that critical project have enough internal drive to keep going!

Empathy allows you to gain deeper insight about any situation.

Empathy is a critical skills in data driven organization. ๐Ÿ‘ฅ

Factual information is at the core of decision making in all layers of life. Knowing what happen in any given situation is key to being able to draw out the shapes of how things are.

Without factual information, we are bound to make subjective and sub- optimal decision. However, how people are reacting to events and how they are feeling about them is crucial to fill-in the picture.

Think about the last time you felt really stressed out. The stressors didn't even have to be related to what you were doing during the day, it still affected how you conducted every tasks.

Factually, you might have done X with some amount of efficiency. Yet that hidden emotional parameter still had an impact on your whole output.

Not taking emotions into consideration within yourself or your colleague is removing an important source of data from your decision making process.

In an organization, being empathic allow you to understand why people are operating the way they do. It's like a super power that allows you to dig deeper and have a much clearer picture of what is going on!


I hope this was help! Don't hesitate to shoot me an email at mail@yacinemahdid.com if you want help or to discuss these!

๐Ÿ‘‹

Subscribe to Yacine's Machine Learning Help Desk

Donโ€™t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe