I keep discovering these older videos. They are such gemstones that do not seem to be aging much! Wisdom remains precious even after a few years. Thank you, Tim! Your channel is my favorite.
The things that I would add: 1. Don't treat people like they are stupid, ever. If you technobabble to people to bedazzle them, they will notice you are hiding something. If you "dumb it down", they will notice too. And only that they have a different field of expertise doesn't mean they are stupid. Find a level of technical language that works for both and let them ask for clarification if you used terms they don't understand. If you are at about the right level, this will happen rarely enough so that they actually can do that (as opposed to machine-gunning technical terms). 2. See their side. And tell them you do. It works wonders if you tell someone: I see your side of things, and I am happy to learn more from you about x (the financial side, etc), but I will argue from the technical perspective. It tells them that you are taking them seriously and you are trying to find a workable compromise. 3. Give them options Usually I try to give 3 options in a pitch: A quick and dirty option that works for now with all the disclaimers. A solid but specialized option that solves the problem for good, but is not reusable. A generic option that is reusable and expandable. This builds trust, because the boss sees that you have his side (usually financial constraints or other priorities) in mind. It also illustrates where your extra effort would go if he gives you more time. And it gives you room for negotiation: A sensible person will usually meet you in the middle (solid solution) and sometimes even opt for the generic version if they see the value, if you are ready to do what is necessary right then and there. If you only give them the third option you like, chances are you will be forced into the first one because going all the way is not reasonable every single time. Trust them that they make the right decision, so that they trust you to give them a good recommendation.
On point. I struggle to articulate to my boss why things take as much time as they do so this is incredibly helpful. I think I am good at eliminating the jargon, but needed to be reminded to be patient and to speak more to the outcomes rather than the process.
I feel this advice will be very helpful for even my technical boss who was promoted to VP of IT and is no longer keeping up on various aspects of technology anymore. Great question and great answer!
Another excellent side subject! I already learned this and it really helps a lot when the person in charge understands what I am doing and why, these kinds of topics make you stand out Tim. Keep it up!
My history working as a Programmer Analyst/Software Developer for a non-technical boss: If you do not fully know what the project is, ask questions, ask questions until you have more knowledge about the project than the stakeholders. Keep a record of procedures that are new to you. It helps a lot, especially if you do not want repeat yourself. In my experience, every company is different, but the software development process is similar, even more similar when newer technologies are used (ex: Azure DevOps). Do not rush yourself, take your time understand a project/task before implementing any code/fix. This can help reduce bugs (although, no code is bug-free). Take meetings, preferably weekly, with your team (which may include non-technical boss) to discuss progress. If a project may require you learn new technologies, let your boss know. It is better to be honest and have more time for a project than to lie and create deadline-like scenarios.
Great video as always. There is more based on the type of person you are reporting to, but in 25+ years, you hit the basics on the head. It really comes down to trust and being able to communicate with who you report to as they have to be able to communicate it up the chain and this could be more than just for a project, but also possibly for tools that your team could use that your manager/direct report needs to be able to explain the reasoning for in a way executives will approve a budget.
Really good tips- especially when you touched on time-estimates- its easy to want to give an optimistic projection, but we need to balance that with the realistic scope of the project. Something I didn't really understand when I was working as a programmer before, thanks for the vid!
Thank you TimCorey for some samples. I always have a problem talking with my co-employees and boss(troubleshooting and software features). Most of the time, I speak to the language of a highly-technical terms and if they cant get my point, I telling them using the "layman's term" or preparing a diagram in whiteboard. BTW, this is the first time I see the face of TimCorey :)
Thank you for the video! Sometimes even banal things like "git" can get tricky to explain. Or "why does MSSQL in azure cost so much". This what you said to build trust is true. Only thing is, bosses usually want definitive answers. Especially about deadlines. Would be interesting to see a video on that topic, about deadlines, especially for smaller companies, not large scale...
I address that in another of my Dev Question Videos - ua-cam.com/video/wR_puxAf5sw/v-deo.html. Specifically, check out the Scope Creep and the Estimating videos.
Great advice as always. I've encountered the "I have a CS degree and you do not" attitude before in my last job over a year ago. I was learning/implementing SQL to provide better reporting in Excel at the time. It was off putting for someone who went the non-traditional route through a bootcamp and self teaching, so I can understand how a manager might feel if someone on their team starts to get a complex and speaks jargon that I didn't understand.
When I have an interview, I always take my laptop, that way I can show examples, things that interest me things that am having fun developing ( it shows I enjoy my job) I try to keep a range of different projects (not school like projects) to try to show anything that my interest him/her (relevance is best to keep in mind)
I did the same last time. I am not good in selling myself via speaking. Now I ask the candidate show me his codes using laptop is not because he is poor in introduce himself. But to proof he is really can code, not just good in telling the story only. 😅
Tim, I love what you do. I deeply appreciate the efforts, am sure hundreds if not thousands appreciate it as well. I am following you for 2 years now. and you good guy as a plus. really friendly. you know what book you should read next? quraan, no joke.
This applies to technical non programmers as well. I work with all engineers(non software) and phds and all these points still apply. If I have learned anything from 10 years of being the sole developer in my company it's learn to talk very high level. Anyways alot of good points here, especially regarding jargen. I can't even keep up with half the buzzwards so you can't expect a non-programmer too!
Good topic and video. While it is a developer responsibility but not 100%. As developer, I do advice that you choose a right boss. If you do find a non technical boss but don't put an afford to work together, then is just a one way communication. Thus you don't have collaboration, and then you just above endless loop of jumping over obstacles. Process does help and focus on end result to create a win-win goal. If you find yourself taking to a wall, you have no way out. A wall is a wall.
If you have the opportunity to choose your boss, definitely do. But I have found that most bosses can be worked with if you know their language (not all, for sure). Make sure you don't write off a "bad" boss without a lot of effort. I have been able to push through walls that others said were impossible.
I have one question. If i have class parent and classes who inherit class parent, and if i put object of classes that inhert parent class in List how can i get type of each object that is in that list ?
Tim....Tell you what....I am serious on this....Not a joke! Now I have a very technical boss until I could not understand his jargon! I have to find a way to understand what he wants with some human-API.
The All Access Pass opens for enrollment about six times a year. The next time will probably be around the first of the year. Make sure you are on the mailing list so you get notified.
Hi, I like your videos. I am wondering if you have advice on how to get a software development contract. And even better a systems contract where you earn recurring revenue on the performance of the system.?
My strong hard-won advice: Make sure you only work for a manager or boss who is technically versed. Non-technical managers often rate themselves as technical and they really very often resent those who can program and can do software engineering. At the same time they don't value your work and don't know how long each type of task takes. Run away unless the person has self-awareness.,
I think that last sentence is the key. I've worked for technical bosses who were not self-aware and it was rough. I've worked with non-technical bosses who were and it was wonderful. Knowing that even though you are the boss, you aren't the expert is really important in any position (when you aren't the expert).
I would love if you talk about Azure Certifications Especially about Azure Associate Developer AZ-203, 204, what is the importance of these certifications. and everything about the cloud. I appreciate your work, Thanks
I often have to work with non-technical managers, who make technical design decisions (it is more common, particularly in the UK, than one might think or hope). I end up having to spend a lot of time trying to convince them regarding best practices, solid principles etc. but that doesn't always work, an they usually follow best practices only if it suits their political agenda. It is really frustrating when you have to write code which you know is sub-optimal and will cause problems in the long run.
The trick is to make sure you show the financial benefit of such changes, because at the end of the day, finances will be what probably makes the decisions. There isn't a great reason to do things "right" if they cost more and don't add value.
Hi Tim, What is your opinion about this "Technical Boss"? The good performance is like a punishment . because of the performance of two developers is good, they assign extra tasks on them and remove important tasks from other developers. With no appreciation.
@@IAmTimCorey Specifically in estimating my project timelines and also in communicating when I have actual blockers preventing me from continuing. I think I may have been in a negative environment but I tend to take blame first ... which leads to my professional demise.
I thought it was through the expression of dance. Start with stretching your hair, then move around the floor with many arm gestures and cool down with defeat.
Best is work in a place where you don't have a non-technical boss. Might not be possible for many, been blessed to work at large companies where this usually is not a problem. Overall good advice but wondering if we go talk to a lawyer or doctor, anyone expect them to speak in English? Just saying :)
Actually, we often do. When we talk to our doctor, yes, we assume that they know big words and the names of a lot of medicines but we also expect them to explain to us what is going wrong with our bodies. I remember when I collapsed a lung when I was 18. My doctor drew on the bedsheet next to me and explained what happened with my lung, why it happens, and what he had to do to fix it. A simple little drawing and plain language helped me grasp the problem and understand the solution. If he had just said "spontaneous pneumothorax of the left apical section", he would have been accurately describing the issue without communicating effectively with me.
@Soy Orbison Think you eluded to the reason for a technical manager in your response. I've never seen a good software architect or manager able to build and guide a system unless they know the finer details of the base components and the cost/benefit for all possible alternatives. How does a manager or anyone get that knowledge unless they are technical and have worked through the issues and trade offs. That would be one facet, another one would be understanding co$t and schedule slippage, "Task X" is behind schedule or running into issues. How how does or what will a non-technical manager do here? Just do pencil pushing work or start suggesting alternatives? From a purely "managerial/process oriented manager" more often they would suggest getting more people to work on it... Ah you ever read "The Miracle Man Month", would assert a classic were IBM exceeded co$ts and schedule by adding more people, well worth reading... I wouldn't say a non-technical manager is always bad, if the system getting built is simple. And my comment was about having the best environment. I'm sure anyone can drive a nail in a board with a spoon, might work but not efficient nor the best....? Nor will the attitude of the workers and the environment be a place where i'd want to work, if you the perspective you have, might assert some point you'll have the joy to work in such an environment and change your mind ;)
Why do big companies have customer service departments? Shouldn't they know how to distribute their products without issues? Just like with anything else, the bigger and more complex an application is, the more potential there is for unknown variables to cause issues. What we do as developers is design the best process we can (for the time and money given) and then we learn from the problems that arise and make improvements to the process for next time.
Maybe, but they make you think about what you are doing in a way that is relatable to your actual customer. Too often, I think, IT and developers forget that we are making these things for the average person and that the average person is NOT who we are.
This should be taught on every school, workplace and basically everywhere where different people work together
I agree.
I keep discovering these older videos. They are such gemstones that do not seem to be aging much! Wisdom remains precious even after a few years.
Thank you, Tim!
Your channel is my favorite.
Glad you like them!
The things that I would add:
1. Don't treat people like they are stupid, ever.
If you technobabble to people to bedazzle them, they will notice you are hiding something. If you "dumb it down", they will notice too. And only that they have a different field of expertise doesn't mean they are stupid. Find a level of technical language that works for both and let them ask for clarification if you used terms they don't understand. If you are at about the right level, this will happen rarely enough so that they actually can do that (as opposed to machine-gunning technical terms).
2. See their side. And tell them you do.
It works wonders if you tell someone: I see your side of things, and I am happy to learn more from you about x (the financial side, etc), but I will argue from the technical perspective.
It tells them that you are taking them seriously and you are trying to find a workable compromise.
3. Give them options
Usually I try to give 3 options in a pitch: A quick and dirty option that works for now with all the disclaimers. A solid but specialized option that solves the problem for good, but is not reusable. A generic option that is reusable and expandable.
This builds trust, because the boss sees that you have his side (usually financial constraints or other priorities) in mind. It also illustrates where your extra effort would go if he gives you more time. And it gives you room for negotiation: A sensible person will usually meet you in the middle (solid solution) and sometimes even opt for the generic version if they see the value, if you are ready to do what is necessary right then and there. If you only give them the third option you like, chances are you will be forced into the first one because going all the way is not reasonable every single time. Trust them that they make the right decision, so that they trust you to give them a good recommendation.
Great points! Thanks for sharing
On point. I struggle to articulate to my boss why things take as much time as they do so this is incredibly helpful. I think I am good at eliminating the jargon, but needed to be reminded to be patient and to speak more to the outcomes rather than the process.
Thanks!
I feel this advice will be very helpful for even my technical boss who was promoted to VP of IT and is no longer keeping up on various aspects of technology anymore. Great question and great answer!
Glad it was helpful!
Another excellent side subject! I already learned this and it really helps a lot when the person in charge understands what I am doing and why, these kinds of topics make you stand out Tim. Keep it up!
Glad it was helpful!
Your videos are different and right on the point. They are very useful for solving real world problems. Thank you for a great job :)
I'm glad they are helpful. Thanks for sharing!
My history working as a Programmer Analyst/Software Developer for a non-technical boss:
If you do not fully know what the project is, ask questions, ask questions until you have more knowledge about the project than the stakeholders.
Keep a record of procedures that are new to you. It helps a lot, especially if you do not want repeat yourself.
In my experience, every company is different, but the software development process is similar, even more similar when newer technologies are used (ex: Azure DevOps).
Do not rush yourself, take your time understand a project/task before implementing any code/fix. This can help reduce bugs (although, no code is bug-free).
Take meetings, preferably weekly, with your team (which may include non-technical boss) to discuss progress.
If a project may require you learn new technologies, let your boss know. It is better to be honest and have more time for a project than to lie and create deadline-like scenarios.
Thanks for sharing! Good insights.
Great video as always. There is more based on the type of person you are reporting to, but in 25+ years, you hit the basics on the head. It really comes down to trust and being able to communicate with who you report to as they have to be able to communicate it up the chain and this could be more than just for a project, but also possibly for tools that your team could use that your manager/direct report needs to be able to explain the reasoning for in a way executives will approve a budget.
Thanks for sharing!
Thanks a lot. I was struggling with this problem. I will follow these steps and will post the outcome here after a few months.
You are welcome.
Really good tips- especially when you touched on time-estimates- its easy to want to give an optimistic projection, but we need to balance that with the realistic scope of the project. Something I didn't really understand when I was working as a programmer before, thanks for the vid!
Glad it was helpful!
Thanks Tim....
This is really cool.
I used to have miscommunication with my boss 10 years back.
You are welcome.
Thank you TimCorey for some samples. I always have a problem talking with my co-employees and boss(troubleshooting and software features). Most of the time, I speak to the language of a highly-technical terms and if they cant get my point, I telling them using the "layman's term" or preparing a diagram in whiteboard. BTW, this is the first time I see the face of TimCorey :)
You are welcome.
A great episode like always keep it up, Thank you, Tim Corey
Thanks, will do!
Thank you for the video! Sometimes even banal things like "git" can get tricky to explain. Or "why does MSSQL in azure cost so much". This what you said to build trust is true. Only thing is, bosses usually want definitive answers. Especially about deadlines. Would be interesting to see a video on that topic, about deadlines, especially for smaller companies, not large scale...
I address that in another of my Dev Question Videos - ua-cam.com/video/wR_puxAf5sw/v-deo.html. Specifically, check out the Scope Creep and the Estimating videos.
Great advice as always. I've encountered the "I have a CS degree and you do not" attitude before in my last job over a year ago. I was learning/implementing SQL to provide better reporting in Excel at the time. It was off putting for someone who went the non-traditional route through a bootcamp and self teaching, so I can understand how a manager might feel if someone on their team starts to get a complex and speaks jargon that I didn't understand.
Thanks for sharing!
Thanks for share your knowledge with us !!
You are welcome.
Brilliant! Thanks Tim!
Thank you!
Good video, I prefer having a non-technical boss, sometimes he/she asks a (simple) question and that we didn’t think about.
True. An outside perspective is often valuable.
When I have an interview, I always take my laptop, that way I can show examples, things that interest me things that am having fun developing ( it shows I enjoy my job) I try to keep a range of different projects (not school like projects) to try to show anything that my interest him/her (relevance is best to keep in mind)
Thanks for sharing.
I did the same last time. I am not good in selling myself via speaking. Now I ask the candidate show me his codes using laptop is not because he is poor in introduce himself. But to proof he is really can code, not just good in telling the story only. 😅
Communicate to them in their own language.
Me work, you pay.
lol
Great advice
Thanks
Tim, I love what you do. I deeply appreciate the efforts, am sure hundreds if not thousands appreciate it as well. I am following you for 2 years now. and you good guy as a plus. really friendly. you know what book you should read next? quraan, no joke.
Thanks!
The gist of this talk was to focus on the outcomes instead of process to non techies
Yep.
This applies to technical non programmers as well. I work with all engineers(non software) and phds and all these points still apply. If I have learned anything from 10 years of being the sole developer in my company it's learn to talk very high level. Anyways alot of good points here, especially regarding jargen. I can't even keep up with half the buzzwards so you can't expect a non-programmer too!
Thanks for sharing from your experiences.
Good topic and video. While it is a developer responsibility but not 100%. As developer, I do advice that you choose a right boss. If you do find a non technical boss but don't put an afford to work together, then is just a one way communication. Thus you don't have collaboration, and then you just above endless loop of jumping over obstacles.
Process does help and focus on end result to create a win-win goal. If you find yourself taking to a wall, you have no way out. A wall is a wall.
If you have the opportunity to choose your boss, definitely do. But I have found that most bosses can be worked with if you know their language (not all, for sure). Make sure you don't write off a "bad" boss without a lot of effort. I have been able to push through walls that others said were impossible.
I have one question. If i have class parent and classes who inherit class parent, and if i put object of classes that inhert parent class in List how can i get type of each object that is in that list ?
You would need to do a type check for each.
Tim....Tell you what....I am serious on this....Not a joke!
Now I have a very technical boss until I could not understand his jargon!
I have to find a way to understand what he wants with some human-API.
Ask questions and remember the answers. Write them down. Take notes. Show that you are growing and learning. That will help.
Hi TIm, I wanted to buy all-access path subscription on Your page but I can`t find it. Will it be available again?
The All Access Pass opens for enrollment about six times a year. The next time will probably be around the first of the year. Make sure you are on the mailing list so you get notified.
Hi, I like your videos. I am wondering if you have advice on how to get a software development contract. And even better a systems contract where you earn recurring revenue on the performance of the system.?
I will add it to the list. Thanks for the suggestion.
My strong hard-won advice: Make sure you only work for a manager or boss who is technically versed. Non-technical managers often rate themselves as technical and they really very often resent those who can program and can do software engineering. At the same time they don't value your work and don't know how long each type of task takes. Run away unless the person has self-awareness.,
I think that last sentence is the key. I've worked for technical bosses who were not self-aware and it was rough. I've worked with non-technical bosses who were and it was wonderful. Knowing that even though you are the boss, you aren't the expert is really important in any position (when you aren't the expert).
I would love if you talk about Azure Certifications Especially about Azure Associate Developer AZ-203, 204, what is the importance of these certifications. and everything about the cloud. I appreciate your work, Thanks
I will add it to the list. Thanks for the suggestion.
I often have to work with non-technical managers, who make technical design decisions (it is more common, particularly in the UK, than one might think or hope). I end up having to spend a lot of time trying to convince them regarding best practices, solid principles etc. but that doesn't always work, an they usually follow best practices only if it suits their political agenda. It is really frustrating when you have to write code which you know is sub-optimal and will cause problems in the long run.
The trick is to make sure you show the financial benefit of such changes, because at the end of the day, finances will be what probably makes the decisions. There isn't a great reason to do things "right" if they cost more and don't add value.
Hi Tim,
What is your opinion about this "Technical Boss"?
The good performance is like a punishment . because of the performance of two developers is good, they assign extra tasks on them and remove important tasks from other developers.
With no appreciation.
Great question. I have added it to my list of suggested topics.
Thanks)
You are welcome.
I love speaking to non technical bosses. Its technical bosses that I struggle with and against. Any tips on that?
I can add that suggestion to the list of topics. Any specific things you struggle with?
@@IAmTimCorey Specifically in estimating my project timelines and also in communicating when I have actual blockers preventing me from continuing. I think I may have been in a negative environment but I tend to take blame first ... which leads to my professional demise.
Hi Tim !
Hello.
Flowcharts, graphs, relatable metaphors, and clip art. Ok, not the last one.
Yep.
Don’t forget wingdings
I thought it was through the expression of dance. Start with stretching your hair, then move around the floor with many arm gestures and cool down with defeat.
I tried that. Don’t try that. :-)
Stretched your hair too much? Just like me ;)
I'm a software developer and my direct boss is non-technical so I have to deal with this every day...
That can be a great opportunity. Some of my best bosses were non-technical.
Best is work in a place where you don't have a non-technical boss. Might not be possible for many, been blessed to work at large companies where this usually is not a problem. Overall good advice but wondering if we go talk to a lawyer or doctor, anyone expect them to speak in English? Just saying :)
Actually, we often do. When we talk to our doctor, yes, we assume that they know big words and the names of a lot of medicines but we also expect them to explain to us what is going wrong with our bodies. I remember when I collapsed a lung when I was 18. My doctor drew on the bedsheet next to me and explained what happened with my lung, why it happens, and what he had to do to fix it. A simple little drawing and plain language helped me grasp the problem and understand the solution. If he had just said "spontaneous pneumothorax of the left apical section", he would have been accurately describing the issue without communicating effectively with me.
@Soy Orbison Think you eluded to the reason for a technical manager in your response. I've never seen a good software architect or manager able to build and guide a system unless they know the finer details of the base components and the cost/benefit for all possible alternatives. How does a manager or anyone get that knowledge unless they are technical and have worked through the issues and trade offs.
That would be one facet, another one would be understanding co$t and schedule slippage, "Task X" is behind schedule or running into issues. How how does or what will a non-technical manager do here? Just do pencil pushing work or start suggesting alternatives? From a purely "managerial/process oriented manager" more often they would suggest getting more people to work on it... Ah you ever read "The Miracle Man Month", would assert a classic were IBM exceeded co$ts and schedule by adding more people, well worth reading...
I wouldn't say a non-technical manager is always bad, if the system getting built is simple. And my comment was about having the best environment. I'm sure anyone can drive a nail in a board with a spoon, might work but not efficient nor the best....? Nor will the attitude of the workers and the environment be a place where i'd want to work, if you the perspective you have, might assert some point you'll have the joy to work in such an environment and change your mind ;)
How do you answer the question "Why the software you write has bugs / issues ?"
You can have it quick, functional and with some problems, or you can wait and it might be perfect in the end
Why do big companies have customer service departments? Shouldn't they know how to distribute their products without issues? Just like with anything else, the bigger and more complex an application is, the more potential there is for unknown variables to cause issues. What we do as developers is design the best process we can (for the time and money given) and then we learn from the problems that arise and make improvements to the process for next time.
PPT is the cure.
lol
Non tech bosses are a pain in the arse
Maybe, but they make you think about what you are doing in a way that is relatable to your actual customer. Too often, I think, IT and developers forget that we are making these things for the average person and that the average person is NOT who we are.
@@JasonPrice1 I'm talking about those with unrealistic expectations
They don't have to be (in most cases). You can work with them if you figure out what they want and do that for them.
First ;)
More importantly, did you learn something?
It depends in the sort order 😉