I really love the community that Mattias built here on youtube & quora as well. Good intended people, educated and most of all CURIOUS! Thank you my man for sharing once again your wisdom with us.
In my experience, the only way to truly create mission clarity and answer the 'why' of things is to put developers in direct, meaningful contact with real users of the software. Not focus groups, not personas, but real persons. Many developers are not comfortable with this, and actually prefer the lower (and more familiar) cognitive load of working on code or UI while someone else determines what is important to users. But without that first-hand exposure, they can never fully understand the 'why'.
Yes I worked in so many places where nobody cared of explaining the why to developers, and then the end result was a totally different thing that the customer wanted. As when explaining the why new ideas and solutions can be found and also the product owners and managers can validate their ideas! Great video as always and thanks for giving me more books to read! Its always good to learn more about leadership :D
Thanks MPJ! As always, great video. There is an implicit side effect of this as well. It allows better communication. If a team member feels they can "challenge" their superiors or those around them, then that team member will feel empowered to speak more. This means, a team member is more likely to ask for help when needed. A team member is less likely to burnout. A team that communicates more is one that takes care of one another more and is more supportive in general. This is a good thing all around. As such, I think that's why the comments on your videos are so nice and supportive. You've done a great job in encouraging discussion etc. Thanks! As always, stay awesome!
Thank you MPJ for this video. It's really top notch. I always try to remind both managers and developers to ask and explain why. It really easy for everyone of us (both manager, developer, etc.) to be distracted and lost sight of why, and just do things based solely on fear of being perceived as incompetence. I have been in this kind of organisation before. It's really bad for everyone. Customer get things done as stated in contract, with still not solving their problem. Customer add more requirement changes, developer prove their "competency" by just blindly followed the requirement without exactly knowing why. Software was developed in a way that never consolidate with actual problem. Now in my current workplace, as a lead developer, I always try to remind everyone that it's actually better to both ask why (as a subordinate), and explained why (as a boss). But this require hard work, people need to feel safe before they actually asking why. I kinda responsible and prioritise to make everyone in my team feel safe to ask me a question. After sometimes, momentum come, everyone always ask "why" automatically, and after a while, I have a best team with best productivity and quality that I have ever work with. Giving the meaning of work to the people is really important. Even now, when some people come ask me "how can I make my team become this way" and I answer like "well, it's all about safe space and people knowing why they work", I can still see these kind of statement confused a lot of people why is it important. All I have is "trust me, it is important".
I think you make a GREAT parallel to safety, as it is probably prerequisite for understanding of why to arise in the first place. Leaders can explain until they are blue in the face and it's still useless if the devs don't feel safe enough to ask questions. Google identified psychological safety as one of the top contributing factors to a high-performing team, I refer to it in this video: ua-cam.com/video/J9OpTNk0hYc/v-deo.html It's frustrating, because I have no good advice on HOW to create safety within a team. I would really love to learn about how teams achieve that.
Some really good points. Especially the one about how one weak point in the chain of command can really ruin everything. Yet another video I wish more managers would watch (and their managers, and their managers... )
Thanks! I've seen exactly this happen in an experienced, well functioning team just two weeks ago. It's a really nasty trap. It probably has to do with assumptions between leader and team too.
Great book! This is one of the best books on leadership I have ever read. In Jim Collin's book Good to Great he talks about the Level-5 Leader. Jocko's book Extreme Leadership is all about the Level-5 leader.
Great video! knowing and most importantly understanding the "why" by all the team members, is the best way to get improved features and better results in less time, if we din't mind about the "why" we would be kind of robot developers.
This actually hits me quite deep, because I've seen it happen both in software development and outside of it, particulary in political organizations.... Strange as it may sound, lots of leaders of Cuba government, which has a huge top-down approach in decision making, should watch this video.
I try to be the kind of developer that needs to understand the "why" to actually start my task because if I'm not sure of the reason being for the task I feel uncomfortable making it, or I just feel like I really want too visualize the task the same way everyone is, anyways good video and hello lovely community
I really like the video on leadership. I'd like to think a great system led by competent people can produce great software with a wide variety of individual talent. I'd be curious to see a follow-up on some of your thoughts on running a software team - things like code reviews, code standards, oversight on pull requests, pair programming, best ways of sharing knowledge among team members, etc. As always, great stuff +funfunfunction !
great episode, and couldn't be better timed for recent conversations at my workplace. can you do an episode on software patterns / architecture, from the perspective of a team trying to create / choose the ones that work best ? in particular, at my company, we have been developing and iterating product so quickly that we simply did not have a chance to slow down and design our systems in a scalable or maintainable way. when is the right time to think about these questions ? does it depend on the size of the team? who should influence the decision making process, every member of the team or only the most "experienced" people? I'm rambling- just trying to convey what I'd want to see in another episode like this one.
I really enjoyed this one, your truly are mastering your work. I feel impacted a lot by this, I can't do anything if I don't know why. It often was quite a handicap in life :)
I've had a bad experience questioning the why of doing a certain task a while ago: There was a new intern on my team and someone decided to task the intern with building a tool could have been easily solved with a CI (jenkins) plugin. Me and a colleague questioned if that made sense, as there were a lot of tasks in our backlog (i.e., tech debt), which were hindering our work. We were told maybe we should stop questioning the decisions that were made :-(
It's really funny that you mentioned Extreme Ownership. I've been listening to Jocko's podcast thinking, "wow, I'm getting a ton of great software advice from a Navy SEAL." Glad to hear I'm not the only one :)
yip agreed, very well put. One interesting point is that lack of clarity is not the only reason why developers introduce hacks. I think you came close when you said something to the effect of... "developers run short on time and so introduce hacks". This can also happen due to client or management timeline pressure. Ever thought about doing a show on that?
In my experienced, 70% of blindlessly followed unreasonable and tight timeline is caused by lack of clarity. For most project, given a clear clarity, developer will have enough information to debate with stakeholder / customer. For example, if developer know that this part of system is really crucial, they will have enough information to says that "we cannot introduce the hack here, otherwise it will be really bad for the crucial system". But most of the time, project are run without any priority and clarity in mind, so everyone will just focus on "are you guys doing it on-time?". Because, no one knows when the quality of the project is important than time.
Is the background music something new right? I must say that is really nice add to the show, is something `secondary` but it helps A LOT, and it seems like you took care with the placement and all. Glad you keep working on making all of this even greater. Nice video. Really interesting :D Now that i started working (as a freelancer developer now, was working in IT) i really can get to use more and more of what you talk about in your videos. Hoping for more `coding` videos (my favorites). Keep it up with the nice work MPJ ^^
+Tomás Di Vito The by music is not a new concept, but I think that I'm finally getting the hang of using it properly after two years. ;) thanks for the nice words!
In my case, the why is critical in one more way. If I get a request to make something and I don't understand the why (if I didn't ask), I would basically resort to the requirements and pick them off one by one. The problem is, the requirements aren't very detailed and sometimes don't go into the complexities they affect. So I can consider the requirement achieved, but overlooked some "little" detail. Usually and according to Murphy's Law, when that "little" detail comes to anyone's attention, it's going to be one of those things that will hit the project sideways and make the whole thing start over or rewind quite a bit. This is even worse when you're new to a legacy code-base with roughly 30 years in the making and about 300k compiled objects. You're guaranteed to miss the "little" detail!!! All these factors mixed in, already create chaos when you know the why. I can only imagine what not knowing would accomplish. Especially because the why, most of the times is outside the scope of the project and this will make the dev ask even more questions as to how that part is going to work, allowing him to catch more details on the critical parts of the project, that is where it contacts with the rest of the system. *Maybe for a future video:* patching; hacking; monkey-patching; copy+paste and change this line only. This seems to be a common technique in legacy code due to impact management where you're not sure how the change will make the whole system go bonkers, so you just take the old one kick it here and there and now u got 2 versions of the same thing. This is obviously debt, but I can't seem to convince anyone that this is the case!!! :'(
My nickname at college was "The why guy" :) I would question the intention of everything, when there was a lot of focus on the how. I would like to believe that I have maintained this outlook. I agree with your points of view on this topic wholeheartedly and I have seen both sides of this situation in my career. Knowing the why and being able to challenge it are requirements for long term success in my experience.
big fan mpj. you work at spotify right? why can't I alphabetize my playlist? Why can't I close the Friend Activity box. It takes up so much room that the app removes the album name, and I can't scroll to see it either. please send up the chain, haha [windows 10 app]. Great videos though!
To have the clarity one must know the vision. To many managers or leaders, of large companies especially, the vision is not theirs. Thus, they lack understanding of all its nuances and may, and do, struggle to convince others of someone's else dream they themselves don't believe in on any other level than that of a possible profit. And, nice vid. ^.-
Hello mpj! We love this video at my work, and would like to know what you think about _how_ to communicate the why. And how can you know when you have enough "why"? Thx
I'd like to know how much money has been thrown away in software development projects because no one explained why and no one asked why :) I like to ask these questions before I start coding: What should be done? What is the purpose of the function? How should it work? What are the expectations of the client? How much time/money should we spend on this task?
Hey MPJ ! Love your videos man. Would like to hear your views on designing effective MVP. I find this concept awesome in theory but to effectively implement it is another thing. Do you actually do MVPs in iteration ?
The problem I found is that (in my experience) most of the time, all decisions are made, so whatever I have to say, (any improve, any shortcut, tradeoff or even things that I would like to take my time and think about and let's say, solve before implementing them) it late to the party and seen as if I'm saying: "let's dump you work and start my own" so it's usually frown upon, to say least. (Don't know if I made any sense)
The truth has been spoken, you just told something very similar to my opinion, not to mention, in a very funny style. I can 100% agree with you, maybe even a bit less optimistic. The part about when you talk about developers getting into “do it - ok” mood I have to tell I feel like is true, and if it mixes with a code review where issues comes up with the code it just gets worse until a total unmotivated non-caring state hits in. It is one way of making someone leave a company...
Hi MPJ . May you make a video on developers perspective . How do we respond when asked how long is the task going to take (How to improve in giving estimates). How do we explain ourselves especially to non technical people that something unexpected happens and it will take longer than expected.
I like your use of 'connectedness', and to get there by explaining the how & why. Unfortunately in most of my experience, not even my bosses (non-technical) (let alone other programmers) gave many shits about the how or why. Do you have any tips for this? I Definitely agree with your assessment that the hack-solution is the result when the boss/manager doesn't care or doesn't invest 'why' in their subordinates as you put it. And I agree that you can get this hierarchical political thing (like you described when the result is 'poison') where you feel it's difficult to challenge/ask your superior (and then they might feel the same about their own superior), but I don't think you made it clear how investing time in mission clarity actually helps with this? Can you explain the cause-effect of making people understand the why equals less politics/grumpy, defensive people? I know you mentioned at the start about connectedness and motivation, but do you think this works when most people are just there to make their money and that's all (external motivator), I only ask cause I desperately need some good tips haha.
"when most people are just there to make their money and that's all" This is not true according to lot of research. People start to work for only money when they feel like internal motivator, such as meaningful work, is impossible. I've seen lot of people regain the hunger for internal motivator and meaning, after they switching their career or company. I kind feel sad for your situation, but first step is to make them believe they are more than just money and searching for meaning is possible. I don't think this can be done by you alone without encouragement from manager or team
Chakrit Likitkhajorn I guess what I'm asking is, what do you do to change things if your superiors give no shits? without quitting that is. I don't understand how talking about the 'why' helps with this situation like it's suggested towards the end of this video. But yes, it is mostly my experience that no shits were given generally
As always, great content Mattias. I disagree with the motivation point regarding money; i don't think it performs badly. There is indeed research "backing" it but I think pragmatically you need both money and purpose. Creative/complex tasks require focus and are extremely exhausting. They require patience and persistent. In order to achieve those you need purpose and to be able to excel, you need to take care any other worry involving your life. For the latter, money helps a lot.
+Stelios Kiayias what do you mean by adding quotes around "backing"? The research is very clear on this point. Naturally you need to be paid to a market level so that lack of money is not a major distractor in your life, but I hope that goes without saying. The point of the research which you should spend time reading if you "disagree" with it, is that past that point, money worsens performance in creative and problem solving tasks.
The reason why I putted quotes is that when it comes to human behaviour I feel that research results are not always that accurate. An experiment that works great in an environment, with some people and under some circumstances could yield different results for different people in the same circumstances. Of course, the research is always done in many different environments and with different people and the results are normalised; but still, it might not work everywhere. I guess what I am saying is that If you have purpose in your work and know why you do it and agree with it, I can’t see how money worsen performance. :)
+Stelios Kiayias if you really "can't see" then you should really read up on it. I understand and agree that there are nuances to this, but this is a real thing, and it's called motivation crowding. I have experienced it personally on many occasions, where something that I previously did for pleasure turned into boring chore I shunned the moment I started getting paid for it. It's pretty a well-documented psychological phenomena - adding money to a motivational equation often (not always) hurts motivation. I elaborate a lot I about it in the Losing Motivation video.
Well, all these things: connectiveness, asking why and other stuff is got to be integrated into well designed developing cycle model. All "why" have to be discussed during initial and scheduled technical analysis related to the whole project and to every single feature implementation. There is clear separation between what is wanted and how we are gonna implement those things. It is never true that one person even with a huge experience is able to establish a final plan, determinate every single task and figure out with certain precision all time lines. And this can not be achieved by explaining every "why", the only "why" everyone should know is an importance of developing cycle and a separation of responsibilities.
I also often notice that some executives don`t even want to bother about `cookies` motivations and end goal - they bring low price labour and a big `scourge` to punish any misbehaviour like procrastination or doing job slowly or any another thing that to their opinion isn't good for the company. They don`t bother to hire highly self-motivated and skilled people - they think that while they swing with lash of scourge above of heads of workers - they will perform equally good despite the level of workers' skills, inner motivation and all other stuff which makes individual to do her/his job quality and, if possible, quick.
But then from not providing goal and reason, they have to suffer to think everything ahead of time all by themselves, without help of developer (because at this point devs don't know how to argue, they just blindly followed)
Double edged sword my friend, double edged sword.. Many smart, capable programers are highly opinionated and will challenge and fight ideas just to demonstrate their intellectual superiority (kind of like this comment), which may be valuable, but many, many times is really not. Managing smart people is walking the fine line between clarity and authority. I have managed hundreds of developers over the past 20 years on numerous projects of different scopes, both in startups and corporates, and there is no magic solution. Every situation is different. Every team is different. I tried many times to be completely open for discussion, so that everyone is convinced of the way to go rather than told to do it, and many times it turned to endless fights which left a lot of resentment and less than optimal productivity. I guess what i'm saying is, the reason we all can't just get along and make great decisions together in a wonderful development utopia, is that we just can't as human beings. Leaders need to adapt, forever torn between their own management/business demands, their own view, and their teams. That's it, i'm done. Good day
Clarity is not the opposite side of authority. My team always give reason to every developers, but when the fight comes, we respect decision roles to make a final call. Clarity is opposite side with ignorance. You can share information, listen to every developer, and still use your roles to make final decision. It would be better long-term to explain the reason. I always insist on having they know the reason, even if I know that all of them are going to agree with me anyways. Over-time, everyone will know how your decision making process works. How you prioritised things, and they can see for themselves if they want to be part of your team or leave because of mismatch culture and style, which is good either way.
+Scavadir I would love to hear more actually. In the teams that had endless fights - how did you end up solving it? What were the source of the disagreements?
Why is very important. There have been too many times when the why hits you, hours upon hours have been wasted to fix a non-existent problem. Btw: The background music after 10:00 is a bit distracting.
What exactly does the answer to the why question solve? I mean, even if i get the answer to why i need to do feature X, in the end i will still need to do feature X. Otherwise, a great video, as always! :D
Just to add, here is a great TED talk with the same conclusion. Although Simon talks about it from a consumer stand point, with a bit of thought and tweaking, it can be applied internally as well. Oftem times your internal teams are the first "consumers": www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action
Can I ask if background music is something that generally disturb you, or is it these videos specifically? For instance, if you are watching a documentary, do you often find the music they use to be distracting?
As for documentary - background music does not disturb because there is no need to listen that carefully unlike here. By the way I'm not a native english speaker so I have to put even a little but more efforts than normally to listen - that's also might be the case. Or maybe you just need to continue and practice more to make it smoother. Anyway thank you for making a great channel.
I think managers must level 'down' to the roles that actually get the things done. XKCD comic says it all: most of the times managers doesn't understand how hard is to implement X feature and that is one of the biggest problems in this kind of social structure. I'm fond of the 'Programmer Anarchy' concept that was successfully implemented by Fred George many times: ua-cam.com/video/tIxHmsWCd7g/v-deo.html
"It's not that i'm lazy, it's that i just don't care" -- Office Space img.picturequotes.com/2/34/33713/its-not-that-im-lazy-its-that-i-just-dont-care-quote-1.jpg
If one developer knows everything about project(the project idea, business niche, business logic, technologies) he might want to steal the project and idea. And start working for yourself.
If your product can actually be built by a lone developer without the support a team and the rest of the organisation, then that makes sense as the team and organisation is dead weight. If your job is to just goad a developer on and hope they don't figure out that you are useless, then you should question the health of your business plan. However, hopefully, in reality, the team members and organisation provides great value to the developer, allowing them to achieve something much greater than they would be able to on their own.
The background music is a little distracting. Can you tone that down a little. I like what you are saying, but the background music keeps pulling me away. It's at a tone that's almost at the same level as your voice so it's a little distracting.
I really love the community that Mattias built here on youtube & quora as well. Good intended people, educated and most of all CURIOUS! Thank you my man for sharing once again your wisdom with us.
Oh and one more thing, please acknowledge that Mattias is not actually making his videos 'bait'.
+CodeGeeks TV weeeeeelllll
CodeGeeks TV As a beginner programmer mpjme kinda feels like a mentor, even though he doesn't know it :)
You are spot on!
I see the "why" often being answered with a "the ticket was assigned to me" :-(
Awesome, One of the best episodes from you. I think many teams have this problem.
In my experience, the only way to truly create mission clarity and answer the 'why' of things is to put developers in direct, meaningful contact with real users of the software. Not focus groups, not personas, but real persons. Many developers are not comfortable with this, and actually prefer the lower (and more familiar) cognitive load of working on code or UI while someone else determines what is important to users. But without that first-hand exposure, they can never fully understand the 'why'.
Each episode of yours gives voice to my internal thoughts in a fun way!
Yes I worked in so many places where nobody cared of explaining the why to developers, and then the end result was a totally different thing that the customer wanted. As when explaining the why new ideas and solutions can be found and also the product owners and managers can validate their ideas!
Great video as always and thanks for giving me more books to read! Its always good to learn more about leadership :D
+Foo Bar Bang on!
Taking up a new job where I would be heading a React team. Your video is just in time. Will keep these discussions in mind :)
Thanks MPJ! As always, great video.
There is an implicit side effect of this as well. It allows better communication. If a team member feels they can "challenge" their superiors or those around them, then that team member will feel empowered to speak more. This means, a team member is more likely to ask for help when needed. A team member is less likely to burnout. A team that communicates more is one that takes care of one another more and is more supportive in general. This is a good thing all around.
As such, I think that's why the comments on your videos are so nice and supportive. You've done a great job in encouraging discussion etc.
Thanks! As always, stay awesome!
mpj is my spirit animal!
Thank you Mattias. Please do more videos on leading software teams. Super interesting and helpful! Keep up the great work! 👏
How you communicate is just amazing!!
This is fantastic. Thank you for sharing, this gives me a way of expressing problems some development teams have in my organization
Thank you MPJ for this video. It's really top notch.
I always try to remind both managers and developers to ask and explain why. It really easy for everyone of us (both manager, developer, etc.) to be distracted and lost sight of why, and just do things based solely on fear of being perceived as incompetence.
I have been in this kind of organisation before. It's really bad for everyone. Customer get things done as stated in contract, with still not solving their problem. Customer add more requirement changes, developer prove their "competency" by just blindly followed the requirement without exactly knowing why. Software was developed in a way that never consolidate with actual problem.
Now in my current workplace, as a lead developer, I always try to remind everyone that it's actually better to both ask why (as a subordinate), and explained why (as a boss).
But this require hard work, people need to feel safe before they actually asking why. I kinda responsible and prioritise to make everyone in my team feel safe to ask me a question. After sometimes, momentum come, everyone always ask "why" automatically, and after a while, I have a best team with best productivity and quality that I have ever work with.
Giving the meaning of work to the people is really important. Even now, when some people come ask me "how can I make my team become this way" and I answer like "well, it's all about safe space and people knowing why they work", I can still see these kind of statement confused a lot of people why is it important. All I have is "trust me, it is important".
I think you make a GREAT parallel to safety, as it is probably prerequisite for understanding of why to arise in the first place. Leaders can explain until they are blue in the face and it's still useless if the devs don't feel safe enough to ask questions. Google identified psychological safety as one of the top contributing factors to a high-performing team, I refer to it in this video: ua-cam.com/video/J9OpTNk0hYc/v-deo.html
It's frustrating, because I have no good advice on HOW to create safety within a team. I would really love to learn about how teams achieve that.
Some really good points. Especially the one about how one weak point in the chain of command can really ruin everything. Yet another video I wish more managers would watch (and their managers, and their managers... )
DUUUUUDE Fun Fun Function it's so FUN and so FUNCTIONAL loooove your videos thanks for the hard work !!!!!
Thanks! I've seen exactly this happen in an experienced, well functioning team just two weeks ago. It's a really nasty trap. It probably has to do with assumptions between leader and team too.
Great book! This is one of the best books on leadership I have ever read. In Jim Collin's book Good to Great he talks about the Level-5 Leader. Jocko's book Extreme Leadership is all about the Level-5 leader.
Great video! knowing and most importantly understanding the "why" by all the team members, is the best way to get improved features and better results in less time, if we din't mind about the "why" we would be kind of robot developers.
While you were talking about motivation, I thought about Simon Sinek's Ted Talk "Start with Why." Somewhat relevant and I highly recommend it!
Awesome video, I've been trying to spread this mindset among my teammates for the last few months, specially for not let the tech debt grow that much
This actually hits me quite deep, because I've seen it happen both in software development and outside of it, particulary in political organizations.... Strange as it may sound, lots of leaders of Cuba government, which has a huge top-down approach in decision making, should watch this video.
Thanks MPJ! Awesome videos as usual. PR: Redux series tutorial will be awesome and you can talk a lot about FP!
I have only watched 1 minute but I can relate it instantly with the Golden Circle by Simon Sinek
It's interesting to think on leadership from the developer point of view. I enjoyed this video! Hope to see more about the subject.
I try to be the kind of developer that needs to understand the "why" to actually start my task because if I'm not sure of the reason being for the task I feel uncomfortable making it, or I just feel like I really want too visualize the task the same way everyone is, anyways good video and hello lovely community
Your videos are absolutely helpful. THANK YOU.
I really like the video on leadership. I'd like to think a great system led by competent people can produce great software with a wide variety of individual talent. I'd be curious to see a follow-up on some of your thoughts on running a software team - things like code reviews, code standards, oversight on pull requests, pair programming, best ways of sharing knowledge among team members, etc.
As always, great stuff +funfunfunction !
great episode, and couldn't be better timed for recent conversations at my workplace. can you do an episode on software patterns / architecture, from the perspective of a team trying to create / choose the ones that work best ?
in particular, at my company, we have been developing and iterating product so quickly that we simply did not have a chance to slow down and design our systems in a scalable or maintainable way.
when is the right time to think about these questions ? does it depend on the size of the team? who should influence the decision making process, every member of the team or only the most "experienced" people?
I'm rambling- just trying to convey what I'd want to see in another episode like this one.
I really enjoyed this one, your truly are mastering your work.
I feel impacted a lot by this, I can't do anything if I don't know why.
It often was quite a handicap in life :)
I've had a bad experience questioning the why of doing a certain task a while ago:
There was a new intern on my team and someone decided to task the intern with building
a tool could have been easily solved with a CI (jenkins) plugin. Me and a colleague questioned
if that made sense, as there were a lot of tasks in our backlog (i.e., tech debt), which were
hindering our work. We were told maybe we should stop questioning the decisions that were made :-(
Lucas Tadeu Teixeira Excellent example of horrible leading. 😀
It's really funny that you mentioned Extreme Ownership. I've been listening to Jocko's podcast thinking, "wow, I'm getting a ton of great software advice from a Navy SEAL."
Glad to hear I'm not the only one :)
+Daniel Hodges oh wow, did not know he had a pod, great tip!
I love this man. Thank you very much for all your wisdom.
I liked the sudden change of pace at 10:00
yip agreed, very well put. One interesting point is that lack of clarity is not the only reason why developers introduce hacks. I think you came close when you said something to the effect of... "developers run short on time and so introduce hacks". This can also happen due to client or management timeline pressure. Ever thought about doing a show on that?
In my experienced, 70% of blindlessly followed unreasonable and tight timeline is caused by lack of clarity.
For most project, given a clear clarity, developer will have enough information to debate with stakeholder / customer.
For example, if developer know that this part of system is really crucial, they will have enough information to says that "we cannot introduce the hack here, otherwise it will be really bad for the crucial system".
But most of the time, project are run without any priority and clarity in mind, so everyone will just focus on "are you guys doing it on-time?". Because, no one knows when the quality of the project is important than time.
My comment about audio shouldn't take away from the content. Great video....love it. Keep up the good work. I've gained a lot from your videos.
No problem, I appreciate the feedback. Thank you for being so polite!
Thanks for the video. This video valuable in any case, for every team.
Is the background music something new right? I must say that is really nice add to the show, is something `secondary` but it helps A LOT, and it seems like you took care with the placement and all. Glad you keep working on making all of this even greater. Nice video. Really interesting :D Now that i started working (as a freelancer developer now, was working in IT) i really can get to use more and more of what you talk about in your videos. Hoping for more `coding` videos (my favorites). Keep it up with the nice work MPJ ^^
+Tomás Di Vito The by music is not a new concept, but I think that I'm finally getting the hang of using it properly after two years. ;) thanks for the nice words!
In my case, the why is critical in one more way.
If I get a request to make something and I don't understand the why (if I didn't ask), I would basically resort to the requirements and pick them off one by one. The problem is, the requirements aren't very detailed and sometimes don't go into the complexities they affect. So I can consider the requirement achieved, but overlooked some "little" detail. Usually and according to Murphy's Law, when that "little" detail comes to anyone's attention, it's going to be one of those things that will hit the project sideways and make the whole thing start over or rewind quite a bit.
This is even worse when you're new to a legacy code-base with roughly 30 years in the making and about 300k compiled objects. You're guaranteed to miss the "little" detail!!! All these factors mixed in, already create chaos when you know the why. I can only imagine what not knowing would accomplish. Especially because the why, most of the times is outside the scope of the project and this will make the dev ask even more questions as to how that part is going to work, allowing him to catch more details on the critical parts of the project, that is where it contacts with the rest of the system.
*Maybe for a future video:* patching; hacking; monkey-patching; copy+paste and change this line only.
This seems to be a common technique in legacy code due to impact management where you're not sure how the change will make the whole system go bonkers, so you just take the old one kick it here and there and now u got 2 versions of the same thing. This is obviously debt, but I can't seem to convince anyone that this is the case!!! :'(
Yes! Very much this.
We (developers) make solutions to problems. We shouldn't limit ourself to an assembly line for management dictated features.
The last few seconds are hilarious.
Is that a GLaDOS voice attempt at 14:29? =]
I have no idea. In hindsight it is a combo of shodan, trump and her.
Hey mpj,
I really love your videos and I really would like to see an episode on how to handle cross platform compatibility!
have a good one,
Georg
My nickname at college was "The why guy" :) I would question the intention of everything, when there was a lot of focus on the how. I would like to believe that I have maintained this outlook. I agree with your points of view on this topic wholeheartedly and I have seen both sides of this situation in my career. Knowing the why and being able to challenge it are requirements for long term success in my experience.
+Niel van Steenderen i now aspire to be you!
funfunfunction I feel that way about yourself, the depth of your knowledge inspires me
lolz, I really like the "hack" part, it's true and harmful to the team when they face pressure and have no choice
"Good Monday Morning!" *watching on saturday 5 am* xD
Jocko Willink (Author of the book) was on Joe Rogan Podcast, he got really awesome mindset, started reading book minute after podcast
big fan mpj. you work at spotify right? why can't I alphabetize my playlist? Why can't I close the Friend Activity box. It takes up so much room that the app removes the album name, and I can't scroll to see it either. please send up the chain, haha [windows 10 app]. Great videos though!
This is an awesome episode!
To have the clarity one must know the vision. To many managers or leaders, of large companies especially, the vision is not theirs. Thus, they lack understanding of all its nuances and may, and do, struggle to convince others of someone's else dream they themselves don't believe in on any other level than that of a possible profit.
And, nice vid. ^.-
Hey mpj, I love your videos, keep up the good work :) I have a weird question. Where did you get that picture with yoshi on it in the background?
See pappasparlor on instagram
Hello mpj! We love this video at my work, and would like to know what you think about _how_ to communicate the why. And how can you know when you have enough "why"? Thx
Nice video, thanks for sharing your knowledge, is very helpful
I'd like to know how much money has been thrown away in software development projects because no one explained why and no one asked why :)
I like to ask these questions before I start coding:
What should be done?
What is the purpose of the function?
How should it work?
What are the expectations of the client?
How much time/money should we spend on this task?
Hey MPJ ! Love your videos man. Would like to hear your views on designing effective MVP. I find this concept awesome in theory but to effectively implement it is another thing. Do you actually do MVPs in iteration ?
The problem I found is that (in my experience) most of the time, all decisions are made, so whatever I have to say, (any improve, any shortcut, tradeoff or even things that I would like to take my time and think about and let's say, solve before implementing them) it late to the party and seen as if I'm saying: "let's dump you work and start my own" so it's usually frown upon, to say least. (Don't know if I made any sense)
Verrrry to the point, thanks :)
The truth has been spoken, you just told something very similar to my opinion, not to mention, in a very funny style. I can 100% agree with you, maybe even a bit less optimistic. The part about when you talk about developers getting into “do it - ok” mood I have to tell I feel like is true, and if it mixes with a code review where issues comes up with the code it just gets worse until a total unmotivated non-caring state hits in. It is one way of making someone leave a company...
Hi MPJ . May you make a video on developers perspective . How do we respond when asked how long is the task going to take (How to improve in giving estimates). How do we explain ourselves especially to non technical people that something unexpected happens and it will take longer than expected.
+geocine I do have a time estimates video that is a fun story, but I really don't have good advice here
I'm wondering. When do you become a team leader? I'm just starting my coding career so its far away from me but I'm just curious.
node js videooossss
or some framework, you are a beast !
I like your use of 'connectedness', and to get there by explaining the how & why. Unfortunately in most of my experience, not even my bosses (non-technical) (let alone other programmers) gave many shits about the how or why. Do you have any tips for this? I Definitely agree with your assessment that the hack-solution is the result when the boss/manager doesn't care or doesn't invest 'why' in their subordinates as you put it. And I agree that you can get this hierarchical political thing (like you described when the result is 'poison') where you feel it's difficult to challenge/ask your superior (and then they might feel the same about their own superior), but I don't think you made it clear how investing time in mission clarity actually helps with this? Can you explain the cause-effect of making people understand the why equals less politics/grumpy, defensive people? I know you mentioned at the start about connectedness and motivation, but do you think this works when most people are just there to make their money and that's all (external motivator), I only ask cause I desperately need some good tips haha.
"when most people are just there to make their money and that's all"
This is not true according to lot of research.
People start to work for only money when they feel like internal motivator, such as meaningful work, is impossible. I've seen lot of people regain the hunger for internal motivator and meaning, after they switching their career or company.
I kind feel sad for your situation, but first step is to make them believe they are more than just money and searching for meaning is possible. I don't think this can be done by you alone without encouragement from manager or team
Chakrit Likitkhajorn I guess what I'm asking is, what do you do to change things if your superiors give no shits? without quitting that is. I don't understand how talking about the 'why' helps with this situation like it's suggested towards the end of this video. But yes, it is mostly my experience that no shits were given generally
As always, great content Mattias. I disagree with the motivation point regarding money; i don't think it performs badly. There is indeed research "backing" it but I think pragmatically you need both money and purpose. Creative/complex tasks require focus and are extremely exhausting. They require patience and persistent. In order to achieve those you need purpose and to be able to excel, you need to take care any other worry involving your life. For the latter, money helps a lot.
+Stelios Kiayias what do you mean by adding quotes around "backing"? The research is very clear on this point. Naturally you need to be paid to a market level so that lack of money is not a major distractor in your life, but I hope that goes without saying. The point of the research which you should spend time reading if you "disagree" with it, is that past that point, money worsens performance in creative and problem solving tasks.
+funfunfunction if you're interested in reading more en.m.wikipedia.org/wiki/Motivation_crowding_theory
The reason why I putted quotes is that when it comes to human behaviour I feel that research results are not always that accurate. An experiment that works great in an environment, with some people and under some circumstances could yield different results for different people in the same circumstances. Of course, the research is always done in many different environments and with different people and the results are normalised; but still, it might not work everywhere.
I guess what I am saying is that If you have purpose in your work and know why you do it and agree with it, I can’t see how money worsen performance. :)
Thanks for the link. "The Puzzle of Motivation" go into some detail about intrinsic and extrinsic motivation www.ted.com/talks/dan_pink_on_motivation
+Stelios Kiayias if you really "can't see" then you should really read up on it. I understand and agree that there are nuances to this, but this is a real thing, and it's called motivation crowding. I have experienced it personally on many occasions, where something that I previously did for pleasure turned into boring chore I shunned the moment I started getting paid for it. It's pretty a well-documented psychological phenomena - adding money to a motivational equation often (not always) hurts motivation. I elaborate a lot I about it in the Losing Motivation video.
excellent episode.
Is that House of Leaves on the bookshelf? (The book nerd in me keeps getting distracted by the books I think are there)
+Cathal Geoghegan yep!
Hallelujah brother :-)
Well, all these things: connectiveness, asking why and other stuff is got to be integrated into well designed developing cycle model. All "why" have to be discussed during initial and scheduled technical analysis related to the whole project and to every single feature implementation. There is clear separation between what is wanted and how we are gonna implement those things. It is never true that one person even with a huge experience is able to establish a final plan, determinate every single task and figure out with certain precision all time lines. And this can not be achieved by explaining every "why", the only "why" everyone should know is an importance of developing cycle and a separation of responsibilities.
Careful of background music choice: the jingle in the beginning with its regular pings was a bit distracting. Otherwise loved the message and vid!
Thanks for the very specific feedback on the music, most people just say "it's distracting" which isn't very helpful.
So important.
hi mpj! you're doing great job here. Can you record a video about profiling web app with Chrome / Firefox?
I also often notice that some executives don`t even want to bother about `cookies` motivations and end goal - they bring low price labour and a big `scourge` to punish any misbehaviour like procrastination or doing job slowly or any another thing that to their opinion isn't good for the company. They don`t bother to hire highly self-motivated and skilled people - they think that while they swing with lash of scourge above of heads of workers - they will perform equally good despite the level of workers' skills, inner motivation and all other stuff which makes individual to do her/his job quality and, if possible, quick.
But then from not providing goal and reason, they have to suffer to think everything ahead of time all by themselves, without help of developer (because at this point devs don't know how to argue, they just blindly followed)
an awesome video. if only we had someone like you in python :(
Double edged sword my friend, double edged sword..
Many smart, capable programers are highly opinionated and will challenge and fight ideas just to demonstrate their intellectual superiority (kind of like this comment), which may be valuable, but many, many times is really not.
Managing smart people is walking the fine line between clarity and authority. I have managed hundreds of developers over the past 20 years on numerous projects of different scopes, both in startups and corporates, and there is no magic solution. Every situation is different. Every team is different. I tried many times to be completely open for discussion, so that everyone is convinced of the way to go rather than told to do it, and many times it turned to endless fights which left a lot of resentment and less than optimal productivity.
I guess what i'm saying is, the reason we all can't just get along and make great decisions together in a wonderful development utopia, is that we just can't as human beings.
Leaders need to adapt, forever torn between their own management/business demands, their own view, and their teams. That's it, i'm done. Good day
Clarity is not the opposite side of authority.
My team always give reason to every developers, but when the fight comes, we respect decision roles to make a final call.
Clarity is opposite side with ignorance.
You can share information, listen to every developer, and still use your roles to make final decision.
It would be better long-term to explain the reason. I always insist on having they know the reason, even if I know that all of them are going to agree with me anyways.
Over-time, everyone will know how your decision making process works. How you prioritised things, and they can see for themselves if they want to be part of your team or leave because of mismatch culture and style, which is good either way.
+Scavadir I would love to hear more actually. In the teams that had endless fights - how did you end up solving it? What were the source of the disagreements?
You see the same in fashion, business, finances, science, etc.. I call them "the insecure ones"
What happened with "Hi! I am MPJ and you are watching Fun Fun Function"?
Lul, I just forgot it. :)
Great topic btw :) It was an awesome episode
This video is better than "eval" !
I'm on the last case, and will probably leave my job ^^
Do it man !
''Ma vie: quitter son taff' , j'aime bien xD
Start with why! , or like many times, start 3 weeks ago.
yay
Why is very important. There have been too many times when the why hits you, hours upon hours have been wasted to fix a non-existent problem.
Btw: The background music after 10:00 is a bit distracting.
3:48 Recursion?
Connectedness === The Borg
Gold.
Yahoo more books to read
It's great and all in a team, but when there are several higher-ups and one dev... Things get crunchy
What exactly does the answer to the why question solve?
I mean, even if i get the answer to why i need to do feature X, in the end i will still need to do feature X.
Otherwise, a great video, as always! :D
Blaz Pecnik sometimes asking the question turns X into Y, which you might have to do, but it is the right thing.
Michael Murphy thank you, its kinda obvius now that you've explained it. I feel kinda dumb now X)
+Michael Murphy i really love my audience now. The fff comment field is the envy of other UA-camrs.
Just to add, here is a great TED talk with the same conclusion. Although Simon talks about it from a consumer stand point, with a bit of thought and tweaking, it can be applied internally as well. Oftem times your internal teams are the first "consumers": www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action
Preach 🙌
Everytime I encounter one of these negative behaviors I'm going to force the person to watch this video. Your views might increase drastically.
awesome
Awesome, but the background music is really disturbing.
+Pavel Agarkov all of it, or specific parts?
Maybe that's just my opinion but shouldn't we "focus" on the talk XD) I think we don't need music at all.
Can I ask if background music is something that generally disturb you, or is it these videos specifically? For instance, if you are watching a documentary, do you often find the music they use to be distracting?
As for documentary - background music does not disturb because there is no need to listen that carefully unlike here.
By the way I'm not a native english speaker so I have to put even a little but more efforts than normally to listen - that's also might be the case.
Or maybe you just need to continue and practice more to make it smoother.
Anyway thank you for making a great channel.
I think managers must level 'down' to the roles that actually get the things done. XKCD comic says it all: most of the times managers doesn't understand how hard is to implement X feature and that is one of the biggest problems in this kind of social structure.
I'm fond of the 'Programmer Anarchy' concept that was successfully implemented by Fred George many times: ua-cam.com/video/tIxHmsWCd7g/v-deo.html
"It's not that i'm lazy, it's that i just don't care" -- Office Space
img.picturequotes.com/2/34/33713/its-not-that-im-lazy-its-that-i-just-dont-care-quote-1.jpg
Please, make a video about Redux!! XD
Great video! but can you please move that plant out of screen it bugged and may be others with OCD (:
bhavesh bhide I hate to be a conspiracy theorist, but that plant looks green-screened. What is mpj hiding, lol?
If one developer knows everything about project(the project idea, business niche, business logic, technologies) he might want to steal the project and idea. And start working for yourself.
If your product can actually be built by a lone developer without the support a team and the rest of the organisation, then that makes sense as the team and organisation is dead weight. If your job is to just goad a developer on and hope they don't figure out that you are useless, then you should question the health of your business plan.
However, hopefully, in reality, the team members and organisation provides great value to the developer, allowing them to achieve something much greater than they would be able to on their own.
The background music is a little distracting. Can you tone that down a little. I like what you are saying, but the background music keeps pulling me away. It's at a tone that's almost at the same level as your voice so it's a little distracting.
All of it, or specific parts?
Si