How to deal with bad bosses + other questions - Fun Fun Function

Поділитися
Вставка
  • Опубліковано 26 жов 2024

КОМЕНТАРІ • 96

  • @JhonnyMichel
    @JhonnyMichel 7 років тому +47

    The type of bad bosses I hate the most in TI are the ones who just don't care about code quality, maintanability, development pipelines or anything related. All they care about is crazy impossible deadlines and seeing the product ready, doesn't matter if the code is a mess and it'll break everything if you remove a comma.
    I find that kind of management extremely toxic and not constructive for the developers. if you want to evolve as a programmer, go find a better place for you. that's what I did =\

    • @jacobroy1812
      @jacobroy1812 7 років тому +10

      Hi johnny! It's Steve, the new head of marketing! I turned Toblerome around in two years!
      Anyways, we love the app, however all of these menus are feeling stale. I want you to streamline the interface into something resembling cortana or siri. I was at a trade show in Boston, and let me tell you, bots are the new thing.
      Dont give me any of that crap about cycles or testing. That stuff is just gibberish to me. We need bold, self-starting, disrupters who get shit done.
      You have two weeks.

    • @error.418
      @error.418 7 років тому

      TI?

    • @JhonnyMichel
      @JhonnyMichel 7 років тому +3

      Oh my god! You nailed it! hahaha.
      The boss I was refering to does exactly this! He goes to conferences like Web Summit just to come back with "BLEEDING EDGE TECH WE MUST IMPLEMENT NOW". hahahaha

    • @grayrachelle
      @grayrachelle 7 років тому +1

      My favorite is "we don't have time for process anymore." Actual quote. :)

    • @devvvvvvvvvvvv
      @devvvvvvvvvvvv 7 років тому +2

      Just playing devil's advocate here, but it's often times your job as a developer to help your boss understand the balance between good code and good sales figures. After all, your team selling your code, whether it's a bastion for best practice or not, is what keeps the company afloat and you with a job.

  • @amoskane
    @amoskane 7 років тому +4

    @mpj, I love that someone recommended "How To Solve It" to you. My community college calculus teacher recommended that to me 20 years ago and I still think about it all the time. One of my favorite ideas in there is that the last step of problem solving is that you have to go back and see if your answer makes any sense. I often find that I'm so happy to get an answer at all the first time through that I need that advice! Also, I love the connection you make between a text like that, pure mathematics, and our field. I personally find it difficult to find teams that really are looking for good thinkers. I'm confused by interviewers that are testing to see if you've memorized all ajax syntax (why on earth would I do that?), or if you can hand-write a method in jquery in 20 minutes (why on earth would I do that?), or write a merge sort algorithm that passes a bunch of test cases you can't see (why on earth would I write test cases to figure out what your test cases are?). It's rough out there! As a thinking engineer, you definitely have to be interviewing them while they think they're interviewing you!

  • @Ultrafusion
    @Ultrafusion 7 років тому +6

    Hofstadter's Law:
    It always takes longer than you expect, even when you take into account Hofstadter's Law.

  • @Ihatetomatoes
    @Ihatetomatoes 7 років тому +6

    Good Monday morning MPJ, great Q&A!

  • @aloufin
    @aloufin 7 років тому +1

    THis is the content I have subscribed for! Yes! Getting to the real gritty details of LIFE within software jobs.

  • @clemensjanes8998
    @clemensjanes8998 7 років тому +2

    I love the way you are talking about code - thank you so much!

  • @paroxyzm21
    @paroxyzm21 7 років тому +46

    Could you show us your books?

    • @Paretozen
      @Paretozen 7 років тому +1

      great idea, whenever I see books in a video/photo I always try to determine which one they are. Too hard in this video.

  • @ghusse
    @ghusse 7 років тому +2

    As I'm reading the book "Extreme Ownership" you mentioned in a previous video, I totally recognize the kind of approach the book preaches. Taking ownership of the bosses mistakes is a good and constructive answer.
    Thanks for the video

  • @Tapecutter59
    @Tapecutter59 7 років тому

    Excellent answers! I've been in the game for 30yrs, really like what you said about money - if you can pay the rent and eat well, forget about it, it will look after itself. Personally I've learnt to see frustration as good sign, it means I'm going to get an edomorhine rush when I eventually solve it. Ironically that view has made more patient. :)

  • @Totiimon
    @Totiimon 7 років тому

    Really nice video MPJ! Good thing to live another monday (?
    Finally watched a funfunfunction at 7am and received the correct greet. Waiting for next week episode :)

  • @immerification
    @immerification 7 років тому

    Always a pleasure to listen to the smart answers!

  • @InfiniteXmas
    @InfiniteXmas 7 років тому +1

    I have many experiences with bad bosses. I get hired to do a project on my own and my boss uses his expertise in his experiences to demand what I am to do even if I know what way is the best way to do it.
    It's very difficult for me to have a lead role, even if I'm definitely the lead of a project, because of my natural social esthetic. Going forward, I will try to limit what I take a stance on and put my foot down even harder.
    I just wish there was a better way of communicating an issue when both parties are unfamiliar enough to not make any strong arguments. That is why I have been focusing on diagrams, sequence graphs, and so forth to be able and show that I am knowledgeable enough to say this is better than that. Better planning is the only way to avoid issues in the future where nobody has direction and the team gets confused on what future implementations will look like. /endrant

  • @nanthilrodriguez
    @nanthilrodriguez 7 років тому +7

    You said premature generalization like 50% of your "premature optimization " section.

  • @brisketbaron
    @brisketbaron 7 років тому

    imho, just walking away and letting your brain deal with 'it' w/o focusing so hard on 'it' works (in those WTF! moments). I love it when answers just bubble up out of nowhere.

  • @steliosvoskos9610
    @steliosvoskos9610 7 років тому

    A very good video with very good points Mattias. I like what you said about pre-mature generalisation and it could stand out as a valid argument. However, I find it useful to often remove any uncertainty from the problem at the very beginning or think about handling as many cases as possible in my abstraction. This allows you to remove unnecessary abstraction at the very end, rather than handling messy duplicated code (which is way more difficult). For example I have recently been implementing a modal in React and I wanted to make it as generic as possible. It can handle a title, subtitle, images, buttons, a list of items, icons and it is responsive as well. If some of those props are not necessary, I'll simply remove them, but it couldn't be much easier to handle all those cases at the end.
    Keep it up with your videos

  • @jirkajr9584
    @jirkajr9584 7 років тому

    finally a mature channel about development without ego-mastrubation over presentations and screen captures ... many thanks for this

  • @MrHmmburger
    @MrHmmburger 7 років тому

    @17:11 The look of bad memories flooding back

  • @BenRangel
    @BenRangel 7 років тому +1

    In unit tests find that duplication is benefitial to my test data.
    If I used a generalized way of mocking input, I would just use the same input all the time.
    When I rewrite it, I tend to change inputs - and thus unintentionally cover more cases.

  • @mustang19ms
    @mustang19ms 3 роки тому

    You're a wise man, I learnt a lot from this video, thanks

  • @jnfsmile
    @jnfsmile 7 років тому

    Regarding bosses and other humans: ua-cam.com/video/6HW3382nhKE/v-deo.html

  • @WannabeWant3D
    @WannabeWant3D 7 років тому +1

    In Haskell it's a code smell if your functions aren't overly general. (a -> b) -> C a -> C b can really only do one useful thing (function from a to b, container of a, returns a container of b, with no way to construct a new a or a new b; maybe it converts all a's into b's and puts them into a container of the same type?). In an imperative language, generalization right from the start is usually bad.

    • @kasperbrohusallerslev2455
      @kasperbrohusallerslev2455 7 років тому

      I wouldn't call that an "abstraction" in Haskell. It's just removing unnecessary specialization. Just because something is _abstract_ doesn't mean that it is an _abstraction_.
      Abstractions in Haskell usually come in the form of type classes.

  • @peterdaze1
    @peterdaze1 7 років тому +7

    you look like a serious person in this video😂😂 great vid !awesome as usual

    • @david59675
      @david59675 7 років тому +2

      Pedro Diaz he has a shirt!

    • @peterdaze1
      @peterdaze1 7 років тому

      it think that might be it .. lol i also use visual studio but i like how atom looks cleaner at least for me .. vs code feels a little cluttered

  • @arunsasidharannambiar
    @arunsasidharannambiar 5 років тому

    That is some solid advice. Thanks MPJ!

  • @drgrdrgrable
    @drgrdrgrable 7 років тому

    Errata for the ep description s/lease of/raise, or/
    "Manage your manager" was a good advise. If your manager has good intent and seeks to imrove you and your org, they will listen and support you. Also, quitting/moving _is_ the best advise when that doesn't work, great that you pointed that out. /L

  • @Kembread
    @Kembread 7 років тому +2

    I thought in the thumbnail you'd written 'How to deal with badasses'. Maybe an idea for a future video?

  • @rohovdmytro
    @rohovdmytro 7 років тому

    You are awesome, man! Thanks for your vids.
    Your regular viewer :)

  • @konstantinnesterov6165
    @konstantinnesterov6165 7 років тому

    Leading upwards - great advice. From my experience this can make your department a better place, so there will be much less reasons to switch it :)

  • @Hex72
    @Hex72 7 років тому

    Respect, the answers in this are excellent.

  • @tuchi35
    @tuchi35 7 років тому

    Blackboard thing: done that in a interview. didn't get the job. And I thought that that kind of "attitude" was positive. Thanks mpje! I guess that I need to practice that.

  • @optomium
    @optomium 7 років тому

    Thanks for these videos, your new glasses look great.

  • @Danizords
    @Danizords 7 років тому

    Your channel is awesome! Good job :)

  • @AngusMcIntyre
    @AngusMcIntyre 7 років тому

    Muddling up optimisation and generalisation felt like a test 😀

  • @robertkes
    @robertkes 6 років тому

    I really like this quote "our life is a way to short to suffer bad managers eight hours a day"

  • @thiagomiranda3
    @thiagomiranda3 7 років тому

    Make more Q&A videos. I liked this a lot. Thanks!

  • @Delaterius
    @Delaterius 7 років тому +1

    You should try a coffee shop background noise generator. It can be a good break from color sounds.

  • @secondwavesoftware3607
    @secondwavesoftware3607 7 років тому +1

    mpj, is it possible in some future video to show an example of how you profile a piece of code?

  • @jasminamihaylova9789
    @jasminamihaylova9789 7 років тому

    mpj, you're truly & simply AWESOME :)!

  • @ivandong
    @ivandong 7 років тому

    I also use VSC from the interwebz. Atom has become just my notepad and ST has turned into memories.

  • @mariovrpereira
    @mariovrpereira 7 років тому

    You are just amazing! Thanks for share your thoughts...

  • @LeviWhalen
    @LeviWhalen 7 років тому +1

    Noticed you wearing the Pavlok. Curious about your use and experience with it. FFF episode worthy?

  • @PlerbyMcFlerb
    @PlerbyMcFlerb 7 років тому

    Glad I'm not alone on the estimation multiplier!

  • @mindbodysouldeveloper9688
    @mindbodysouldeveloper9688 7 років тому

    Excellent answers to all the questions.
    For music, I have been using Brain.fm for the last month. It has worked out wonders. Very pleased. Highly recommended.

  • @SeigoOsawa
    @SeigoOsawa 7 років тому

    I also always multiply my estimations by aproximatedly 3! And it really works! :D

  • @lukasz.domanski
    @lukasz.domanski 7 років тому

    very informative, thanks mpj
    I have tinnitus too, I'm sorry yours is acting up recently :< Do you use speakers or headphones to listen to white noise?

  •  7 років тому

    How do you keep your work interesting? As a developer I enjoy solving problems, finding heisenbugs, and similar things that provide a challenge. But these are rare. Building the nth e-commerce site is just boring. The same applies to any kind of programming. Anything new is exotic and fun the first three times, but gets repetitive over time and proficiency.

  • @alejandrocastroq
    @alejandrocastroq 7 років тому

    great video ! you really Make me think about my work hahahah keep it up !

  • @tomasztucholski2191
    @tomasztucholski2191 7 років тому

    I'm not sure I agree with the premature optimization part. What you described is basically unnecessary optimization. It's not realy premature since there is no point at which it will be useful to optimize the slow function anyway.
    What I always though of as premature optimization is when you e.g. add a kind of skeleton for future use case that eventually never comes. So you're kind of optimizing for easier additions to your code, not optimizing for speed.
    E.g. you might create a factory function for your simple object. The object creation is fairly simple and you don't really need this factory right now but you "know" that this will change in the future, as more features are added. You also explain this to your collegues during the code review and they of course agree with you ("Yes, having a few factories will of course be better than having a horribly complex constructor"). But eventually the features that you thought would come, never do. So now you have this stupid useless factory in your code that's there because someone wanted to PREMATURELY make a smart choice about handling circumstances that never came.

  • @chuckd4741
    @chuckd4741 7 років тому

    Hej MPJ! You are awesome! I have a great question for you! How do I set the F8 / play key to initiate/start up my SPOTIFY desktop app on my MacBook?

  • @TheMarioDeluna
    @TheMarioDeluna 7 років тому

    Hey there, thanks for all the work you put in your Videos. I really enjoy them and I have got a Question:
    When beginning a new Project espacially in JavaScript im always struggling with the initial setup. I often end up spending hours of researching how I should structure things before writing even one line of code. This goes all the way down to the file structure where I spend way to much time on deciding where to put stuff because my brain constantly tells me that the code base "could" grow.. And it seems when searching for articles or examples on the structure of a (lets say) react application you always end up with examples covering a one page application. Do you have any tipps & tricks or good readings solving the initial setup?

    • @funfunfunction
      @funfunfunction  7 років тому +3

      +Mario Deluna this is not specific to programming, it's called procrastination via research. It's well documented in the book The Now Habit which also suggests a bunch of coping strategies.

  • @hodsh1
    @hodsh1 3 роки тому

    your advice is gold

  • @CariagaXIII
    @CariagaXIII 7 років тому

    i use the multiply by 3.14 to manage time too i believe i got it from a Unity3d talk. where they mention time management

  • @Jiraton
    @Jiraton 6 років тому

    Not to ruin it, but PBS guy has the same video closing mantra (and, also almost the same glasses). I suggest you find another one. What about "Keep coding ?" (or sumthing....).

  • @lightpixeldotnet
    @lightpixeldotnet 7 років тому

    Wow, didn't know Microsoft made a full Sublime Text clone...
    I'm gonna try it out. On first glance it seems surprisingly decent.
    It even has the JSON settings... oh and some "telemetry"........

  • @nanthilrodriguez
    @nanthilrodriguez 7 років тому

    What about bad teams? Teams that continually choose inefficient processes, overly complex/overarchitected implementation instead of the obvious simple implementation? Such as rampant premature overgeneralization and refusing to pair program or code review...

  • @amypellegrini1732
    @amypellegrini1732 6 років тому

    How to deal with bad bosses/managers: listen Jocko Willink podcast, which gives pretty much the same advice, just much more expanded and in depth. Don't deal with them, deal with their egos.

  • @thiago061290
    @thiago061290 7 років тому

    Great video!

  • @MartinoNotts
    @MartinoNotts 7 років тому

    Thanks for this Mattias. Interested to learn of your tinnitus . How did it come about? Is it something you manage long term or in 'flare ups'? Moderate sufferer here.

    • @funfunfunction
      @funfunfunction  7 років тому +2

      +Martin ive had it very mildly for a couple of years, but got a spike a couple of months ago and another spike a week ago. The last one was in conjunction with a party but this one is not obviously relatable to anything but stress. I've learned a lot about it the last four months, it's a fascinating condition.
      It gets noticeably worse on days that I've slept badly or when my mood is very low, and it's seems like it in general is almost purely neurological (we know very little about it). Many people get hearing damage and doesn't get tinnitus, and it seems like a lot of people that get it have depression prior to the tinnitus appearing. Julian Hill seems to have the best advice on the internet on dealing with it as far as I've found.
      I'm still formulating my strategy on how to deal with it, honestly, but looking at the few data points there are, it's seems like the people that get rid of it permanently focus a lot of removing stress from their lives and creating coping mechanisms for stress - meditation (transcendental and mindfulness) reoccur a lot in success stories.
      What I'm currently focusing on is removing stress from my life (reducing work load etc) and adding more stress handling - exercising and creating a daily routine for example. I'm also working on making the tinnitus my friend a bit more. It essentially means well, and viewing the sound as negative will keep you in a constant alert for the sound so that you are unable to forget it. I try to think of it as an internal stressometer, and visualize it as a cute corgi. Helps a lot.
      I'm planning on making mediation a habit but I found meditation hard even before the tinnitus, so that will require some planning and effort to work.

    • @funfunfunction
      @funfunfunction  7 років тому +2

      +funfunfunction I also try to use masking sounds as little as possible, or at a limited extent(not masking completely). Partially because the objective IS to get used to the sound and eventually forget that it exists, but also because it raises my sense of agency over it if I control it up and down.

    • @rubenbaden5508
      @rubenbaden5508 7 років тому

      A few months ago I started getting it as well, I do not know too much about it - however I have noticed that after a few sauna sessions and then cycling between hot and cold showers tends to get rid of it.
      Although it may just be that I am focused on the shock of temperature differences

  • @СергейДрузь-ь3ж
    @СергейДрузь-ь3ж 4 роки тому +1

    This guy looks really COOL.

  • @niclaflamme1106
    @niclaflamme1106 7 років тому

    I see have a Pavlok.
    How do you like it and what habbit were (are?) you trying to break ?

  • @VinsysVlogs
    @VinsysVlogs 7 років тому

    Very practical..!

  • @jnfsmile
    @jnfsmile 7 років тому

    13:34 - do you have sources for this? Thanks!

    • @david59675
      @david59675 7 років тому

      Naftali Friedman anecdotally this is how it has worked for me and most of my friends and colleagues

  • @johnsurigan3047
    @johnsurigan3047 7 років тому

    i use this background noise machine -> mynoise.net there are many types of noises, atmospheres and drones to choose from and has an EQ and an animation feature. it's kinda cool!

  • @supetorus9612
    @supetorus9612 7 років тому

    whether you are new or not, you still watched an episode of fun fun function.

  • @mazyvan
    @mazyvan 7 років тому

    I think someone read Clean Code 3:37

  • @brianhogg358
    @brianhogg358 7 років тому

    Your videos are consistently great, but the immature person in me was tittering every time you said "premature generalization," because apparently anything with the format of "premature X" makes me laugh.

  • @Joe-zw9ep
    @Joe-zw9ep 7 років тому +14

    How to deal with bad bosses:
    Get some balls and stop being someone else's slave.

    • @655432655432
      @655432655432 7 років тому +3

      then you will have to deal directly with clients that have even less knowledge about code :(

    • @Joe-zw9ep
      @Joe-zw9ep 7 років тому +1

      What i said was not in keeping with the video context.

  • @karlokidd
    @karlokidd 7 років тому

    I see that you love books. I suggest Algorithms to Live By.

  • @Bansalvks
    @Bansalvks 7 років тому

    how to do interview people when you hire them :)

  • @rommelrivera2353
    @rommelrivera2353 7 років тому

    Have the same problem .... can I get a job ... are you hiring ? ;)

  • @MihaiAndreiStanimir
    @MihaiAndreiStanimir 7 років тому

    The word "just" starts with a "j", not with an "i" ;)

    • @funfunfunction
      @funfunfunction  7 років тому +2

      +Mihai Andrei Stanimir sorry, j is proncounced that way in Swedish, very hard habit to break.

    • @LeviWhalen
      @LeviWhalen 7 років тому

      Mihai Andrei Stanimir sorry you don't like it! I as an American love your accent MPJ!

    • @immerification
      @immerification 7 років тому

      no worries, it is like your own schtick))

  • @GuillermoValleCosmos
    @GuillermoValleCosmos 7 років тому

    "causator" == cause lol

  • @sam0112453
    @sam0112453 7 років тому

    hello =]

  • @nayaleezy
    @nayaleezy 7 років тому +1

    Bad boss? Gtfo of there asap.