5 Signs of an Inexperienced Self-Taught Developer (and how to fix)

Поделиться
HTML-код
  • Опубликовано: 17 дек 2024

Комментарии • 2,4 тыс.

  • @TravisMedia
    @TravisMedia  5 месяцев назад +17

    My weekly programming/tech newsletter is now live. Go and subscribe - geni.us/WfAml

    • @MazBringsby
      @MazBringsby 29 дней назад +1

      You must clean the your tea cup before you drink it.

  • @softcolly8753
    @softcolly8753 10 месяцев назад +4964

    As a dev for over 20 years, the majority of my knowledge is self taught, and that's after studying at University.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +128

      Knowledge is transient and unimportant. The real reason for the difference between the educated and uneducated ones is in structure and rigour.

    • @softcolly8753
      @softcolly8753 10 месяцев назад

      @@vitalyl1327 in 20 years I have seen no correlation between educated and (experienced) self taught developers and their abilities.
      An education is a good place to start and will help point you in the right direction, but self taught developers often have a passion that has led them to become developers.

    • @Daniel-ym3fi
      @Daniel-ym3fi 10 месяцев назад +88

      @@vitalyl1327 nah

    • @Rexvideowow
      @Rexvideowow 10 месяцев назад +206

      Yeah, I take issue with him calling CS majors "traditional programmers". Actual traditional programmers read through the manuals and learned to code that way. There were no Computer Science degrees back then. Every contributor to the field back then had degrees in engineering or mathematics. No one was holding your hand to teach you anything.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +16

      @@Rexvideowow key word here is *engineers*.

  • @georgewashing10
    @georgewashing10 10 месяцев назад +2776

    I have a CS degree and manage an engineering team at a top tech firm. Anyone who thinks that non-traditional developers are somehow lesser or "need to be purged" is naive (to be overly generous) and more likely just arrogant to the point of being a detriment to their team. Having people with diverse backgrounds (e.g. chemical engineering, geology, finance, etc.) adds perspectives to technical problem solving that results in better overall solutions.

    • @willneve
      @willneve 10 месяцев назад +39

      What about no degree at all :( ?

    • @traveller23e
      @traveller23e 10 месяцев назад

      @@willneve That's my case, and tbh I haven't really had a problem with it yet. There are companies that will only hire people with a degree, but considering that it's fairly widely recognized that universities unfortunately don't do a tremendously good job of preparing software developers I figure more fool them.

    • @mrfixitm3345
      @mrfixitm3345 10 месяцев назад

      ​@@willnevesome of the richest people in the world were dropouts. College is a business.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад

      People with degrees are not "self-taught". They were taught how to learn. It is people without any education who are the root of all problems.

    • @JimmieFulton
      @JimmieFulton 10 месяцев назад

      @@willneveMy typical role is Chief Architect at organizations that build sophisticated Service-Oriented Architectures in FinTech, banking, payments, fraud detection, ML, etc. My specialty is in 0-1 projects, and un-f@#$%ing technical debt, monoliths, and spaghetti code, using world-class code generation and automation techniques. Among many roles I’ve had, a previous role was the Software Architect overseeing both the Commerce and Payments platforms at Sony PlayStation, processing billions of dollars a year. My current company builds software ventures. So not just one start-up, which is hard enough, but multiple start-up as a commodity. The gentleman above is right: it’s not what you were spoon fed in college… it’s the knowledge and discipline you learn on the job. You’ve either got it, or you don’t. I have no degree at all.

  • @TuanNguyen-ed9rb
    @TuanNguyen-ed9rb 8 месяцев назад +164

    Graduated from college, and they didn't teach much, pretty much all of my knowledge is self-taught

    • @WojciechowskaAnna
      @WojciechowskaAnna 2 месяца назад +4

      there is lots of bad colleges, most likely you picked one. Smart college is a huge advantage, but the smart colleges are also picky on choosing students. Like attracts like, sorry

    • @GMOTP5738
      @GMOTP5738 Месяц назад

      @@WojciechowskaAnna Couldn't be any more wrong, all colleges are a massive scam to give you student loan debt. I went to a good reviewed university and most of the professors were terrible and only focused on giving a rubric to follow, never really taught anything. Most professors don't really care about teaching the material they just want a paycheck at the end of the day. Rarely you'll get professors that actually care but its very random. However "smart colleges" do not exist even people graduate from said "smart colleges" aren't even knowledgeable to begin with its all about just paying more and being scammed into thinking if I graduate here I'll have a better chance at landing a job which degrees are meaningless.

    • @Xiquinhodasilva99
      @Xiquinhodasilva99 Месяц назад +1

      I was taught pascal in 1 year, vb in 2 year, 3 yesr php... this was around 2012, I still hate php today.

    • @BitMan1010
      @BitMan1010 Месяц назад

      @@Xiquinhodasilva99 yea php is ugly

    • @WojciechowskaAnna
      @WojciechowskaAnna Месяц назад

      most likely you work with easy business software, without going through architecture design, database design, any threading thuncionality or actual math. Good universities and CS prepare students for that. Most business development is however very easy text processing without any requirement for correctness or preformance. For this kid of job - very little education is required. It similar to being an engineer and getting hired for a simple construction work - where no phycis model derivation is ever required, just hammer and dirller skills.

  • @lawrencecollins8999
    @lawrencecollins8999 10 месяцев назад +629

    Very refreshing to read all these comments. I am 87 and started coding/learning computing in the 50’s using machine code, assembler, pseudo code, cobol. What I am learning here is that the greater mass of interested and active people in the coding business are following a strong discipline. It was the Wild West in my day and a wonder anything functioned properly at all. Congrats from me to all readers here. Keep learning. Do it as simply as possible. Remember some poor guys and gals have to fix your work some day. Have great and interesting careers. Well done getting this far. Keep going and enjoy. BTW when I first visited the Central library in Scotland for a book about computing they had nothing. NOTHING.

    • @blackstreak02
      @blackstreak02 9 месяцев назад +7

      with the advent of AI and our processing power getting so much more powerful, its a new gold rush.

    • @torf1746
      @torf1746 9 месяцев назад +3

      I agree! I see a lot of people (myself included) way overcomplicate things for no good reason. It's always really inspiring for me to read about the beginnings of computers... there was some ingenious stuff (like the old fully electromechanical TTYs), but a lot of those early innovations were just regular people coming up with clever workarounds.

    • @heiscalledinvinciblenotinv68
      @heiscalledinvinciblenotinv68 8 месяцев назад +12

      Wtf based boomer detected?

    • @thomasmaughan4798
      @thomasmaughan4798 8 месяцев назад +3

      Doubtless you remember the arrival of "Structured Coding" -- wow, what a concept! Have some structure! Avoid "goto". Beware global variables.

    • @thomasmaughan4798
      @thomasmaughan4798 8 месяцев назад +1

      @@torf1746 "like the old fully electromechanical TTYs"
      I was a mechanic (?) on the IBM 407 Accounting Machine. Fully electromechanical; it was a BEAST. IBM called such person's "CE" (Customer Engineer) but being in the Navy I wasn't titled CE. But that's what I was doing. Training? OJT: On the Job training combined with excellent documentation and proper tools.

  • @baziwan9407
    @baziwan9407 8 месяцев назад +105

    Why people hate non college grads, is because they paid ~200k for a degree and you make pretty much the same as them. It is partially Envy, and jealousy I think.

    • @kolyashinkarev7366
      @kolyashinkarev7366 2 месяца назад +15

      Also the fact they need to be forced by their debt to learn something when self taught people either are extremely passionate about their field or have extreme discipline to make themselves learn something new and hard, which makes them overall better workers, because when you are self taught, the learning part never really ends

    • @kanaverum
      @kanaverum Месяц назад +8

      Self/taught devs have a demonstrated track record of teaching themselves and (often) working with others to get a better understanding of those concepts.
      A college grad has demonstrated personal management under a timeline, but has been fed everything in an organized way.
      There are pros and cons to both, but I usually see self-taught engineers rocket to success early on and continue learning more complex concepts as they need them.
      Many times, I’ve seen college grads basically freeze when given tasks they don’t already understand all the concepts for, since they’re typically less familiar with how to research things on their own and communicate with others to learn concepts in an unstructured way.
      College grads do, however, have the right initial exposure to supportive concepts like Computational Complexity… but I also usually find that just informing a self-taught dev of this concept results in a complete understanding within a few weeks of side-research.
      In the end, neither approach is wrong. A college grad with the right attitude and focus on growth does very well and a self-taught dev with the right curiosity and drive does well also.
      [edit: a typo and some grammar]

    • @RogerTheil
      @RogerTheil Месяц назад +1

      Sunk cost fallacy as well. Subconsciously they feel as though all that money would be wasted if they didn't have to do it that way. So naturally, they feel that everyone must do it that way too, or they made the wrong choice.

    • @GMOTP5738
      @GMOTP5738 Месяц назад +2

      Yeah i notice a lot of coders are pretty petty and always give the most misleading info, probably due to gatekeeping

    • @kolyashinkarev7366
      @kolyashinkarev7366 Месяц назад

      @@GMOTP5738 coder community is the most toxic community after Dota players

  • @dabneyapplechunks
    @dabneyapplechunks 10 месяцев назад +881

    A VERY ancient senior developer here, so ancient that there was almost no formal education like the modern CS courses available when I started, except for in some obscure mathematics departments!
    Having interviewed, hired, fired and mentored many graduate & non-grad developers in different settings, I can confirm that all your points are important. But also several personal qualities are beneficial if you want to both become an effective software engineer and enjoy the journey. These have little to do with coding or even design techniques and a lot to do with being prepared to cultivate skills like careful listening, humility, patience and persistence. Not to mention the ability to tolerate being in a state of confusion for way longer than is comfortable - sometimes that’s the only way to reach a state of clarity.

    • @friedrichjunzt
      @friedrichjunzt 10 месяцев назад +27

      Great Addition! Often those "soft" skills are the most important ones, unfortunetely hard to measure and therefore often neglected.

    • @Navi-Val
      @Navi-Val 10 месяцев назад +35

      state of confusion is permanent 🙃

    • @carl2488
      @carl2488 10 месяцев назад +16

      Such a great point about staying in that place of uncertainty.

    • @MichelleJones-cp2tv
      @MichelleJones-cp2tv 10 месяцев назад

      I want to frame this comment

    • @voster77hh
      @voster77hh 10 месяцев назад +3

      lol, yeah, when all that COBOL stuff still running the world was made CS degrees didn't even exist. i always cringe when I have to IT archeology COBOL stuff and reengineer it. that's systems doing their job for 7ß+ years in super stable high performance environs. Like flight booking, money transfers or container management of ships. Stuff that moves crazy amounts of trillions of USD.

  • @mbee32k
    @mbee32k 10 месяцев назад +1018

    What you describe are signs of INEXPERIENCED developers. Period! I’ve seen CS grads do all five of them, and then some! As a computer scientist, turned developer, I’ve taught students at the university but also on the job as a dev. Most go on to become good experienced developers, while some never do, degree or no degree.

    • @thecollector6746
      @thecollector6746 10 месяцев назад +5

      No you haven't.

    • @davidtrott9469
      @davidtrott9469 10 месяцев назад +35

      I agree, with one caveat, specifically on point #3 - a good degree will usually select languages not just to teach the language, but also to reenforce concepts for example a functional language may be taught to improve comfort with recursion and immutability. There is nothing stopping a self-taught engineer from building their own learning path to cover the same ground, but a CS grad (on a well balanced degree) is forced to cover this ground.

    • @Chris-io2cs
      @Chris-io2cs 10 месяцев назад +9

      Yeah I'd personally say 1 and 3 make sense because school is supposed to teach you concepts regardless of language and engineering focused schools will introduce you to the idea of requirements and thinking about design before starting. For that reason I'd say 1 is the big one (although in large classes with mediocre teachers it often does just turn into get something to work.. But a proper software eng. class should at least get you thinking about planning it out first though and expose you to industry tools or concepts to do so)
      But 2, 4, and 5 are just misc skills that schools won't teach. If you get a good professor you will get critiques (instead of just checking that it works) but never has a professor told me my commit was too big (if they even care if you use VC in the first place) and no one in an acedemic setting gonna tell you you're working on too much at once lol. Maybe you'll get exposed to this in group projects or senior design but it's doubtful it'd be an important part of any curriculum.

    • @lua9502
      @lua9502 10 месяцев назад

      nu uh@@thecollector6746

    • @minion3806
      @minion3806 10 месяцев назад +23

      ​@thecollector6746 maybe critical thinking isn't for you

  • @Warpgatez
    @Warpgatez 10 месяцев назад +373

    I’m a CS grad and if you think you gain the knowledge you need for being an “engineer “ from school then you’re high as a kite and misguided.

    • @markusr353
      @markusr353 10 месяцев назад +7

      Science vs Engineering.

    • @someonesomewhere8658
      @someonesomewhere8658 10 месяцев назад +16

      The mark of an engineer is experience in applying and improving their craft

    • @juanitoMint
      @juanitoMint 9 месяцев назад +11

      Most of the people don't realize that the end of a degree is the start of a new Learning experience In which, most of the time but not always, you're alone and are self taught

    • @Warpgatez
      @Warpgatez 9 месяцев назад +6

      @@juanitoMint I never went in to getting a degree thinking id gain knowledge from it. Matter of fact, I knew that I would be learning outdated information and technologies through the lenses of the academic field. Not the practical and useful side. I got it to check a box. Since I got my degree at the end of 2022, I have been just learning whatever interests me.

    • @Warpgatez
      @Warpgatez 9 месяцев назад +6

      @johndanson4427 well, hold on now. If my 14+ years of service in the military taught me anything its that sometimes you need to let the rookie host something and take the lead. It allows them to break through nerves, gain confidence, and experience. Even if afterwards, you walk out and say "well that was a waste of time for us".

  • @sprayberry88
    @sprayberry88 8 месяцев назад +6

    CS grad here. We don't all hate self-taught devs. Some CSs have an inferiority complex because you're better than them without having to spend the time and money on the education portion, and others pissed that they don't think you're up to the expected level regarding knowledge, programming capability, etc. The former are just morons and the latter just screams of a disconnect of where they were when they started their careers because we all sucked at the job at first, too. The degree isn't a guarantee that we'll be good devs, it's a guarantee that we have a certain set of qualifications as outlined by an academic institution. We all learn most of our skills on the job and are, by extension, all self-taught devs. Much respect to all the software engineers out there who had the gumption to learn everything on their own.

  • @DaleOwens-x4q
    @DaleOwens-x4q 9 месяцев назад +10

    We're all self taught. University might teach theory, but all practical knowledge has been gained on my own.

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад +2

      University does not teach theory. It teaches foundational truths in CS and CE. Unless you have taken a degree's syllabi and learned every single topic taught in a degree program, you do not have the foundational knowledge.

    • @captaincavemonkey
      @captaincavemonkey 15 дней назад

      @@jonaswatson533 According to who? Big University?

    • @johnlehew8192
      @johnlehew8192 9 дней назад

      Right, and anything you’ve learned is out of date 3 years later and new methods have to be relearned with one exception… sql is forever. Anything not self taught is lost and new knowledge is self taught. We are all self taught!

  • @Codotaku
    @Codotaku 10 месяцев назад +649

    Him: Only the syntax is different
    C++: huh
    Rust: yes
    Haskell: good luck

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +27

      Well, this kind of people will never work in, say, finance, so they have no chance of getting their minds violated irreversibly by the certain APL descendants that are so popular im algo-trading.

    • @ToaOfTech
      @ToaOfTech 10 месяцев назад +88

      Yeah, paradigms can be different and using a language effectively isn't a matter of syntax. Doing things in Java then copying over that code to rust can make the rust code suck, but redo it in the rust way and it'll work well. I guess basic syntax can for sure be understood, but the way you use a language definitely differs

    • @dil_lal_imperfect_roti
      @dil_lal_imperfect_roti 10 месяцев назад +38

      @@ToaOfTech Any Bilingual will confirm to this.

    • @joet3935
      @joet3935 10 месяцев назад +24

      Matlab: you like ()'s? Lets use them for arrays and functions. I'm sure nothing can go wrong.
      SAS: You want a loop, you are going to have to pay for it.

    • @EchoPrograms
      @EchoPrograms 10 месяцев назад +18

      Python to C or ASM 💀

  • @jasonwelsh417
    @jasonwelsh417 10 месяцев назад +337

    I have seen all of these offences committed by people with degrees, for the record. Great list by the way.

    • @absent72
      @absent72 10 месяцев назад +30

      Yea I was gonna say, this is just devs without work experience period really

    • @smort123
      @smort123 10 месяцев назад +13

      All people with degrees start off as unexperienced programmers.

    • @lifeartstudios6207
      @lifeartstudios6207 9 месяцев назад +7

      same, often. In every place I've worked. Frankly I find the self-taught variety are more willing (and able) to learn and have a better perspective than the walking textbook types. The textbook types have some very clever knowledge, but don't know when to use it. They also tend to impose things that make project development pace grind down. I tend to like people who can make systems, but then actually use them / make tools. You figure out the pain points of certain methodology very quickly.

    • @Jonas-Seiler
      @Jonas-Seiler 8 месяцев назад +3

      Graduates pretty much can't be trusted, but IT graduates are probably the worst of the bunch. Either way, people thinking they're engineers when they really aren't is a problem, as is dismissing the importance of and difficulty in achieving high quality in software systems.

    • @davidmartensson273
      @davidmartensson273 6 месяцев назад

      @@absent72 I agree, and as for the term "traditional developer", well, when I started, almost all developers where self taught to some degree and even today I would say that a developer that spends time learning on their own (preferably on top of an education) is usually a better developer than one that only comes with school knowledge.
      Most schools still teach a sort of optimistic coding that might work for a green field project or for small projects, but once it grows you need to be able to go of the path and account for reality ;)

  • @dameanvil
    @dameanvil 10 месяцев назад +124

    01:25 🤔 Inexperienced developers often focus solely on making code work, neglecting essential pre-coding observations and considerations for maintainability and scalability.
    02:29 🔄 Large, unorganized code changes in pull requests can lead to confusion and difficulty in diagnosing problems. Commit often, test each commit, and keep pull requests focused on cohesive features.
    04:35 📚 Constantly learning new languages or frameworks may hinder true understanding of programming concepts. Focus on mastering core concepts rather than accumulating superficial knowledge.
    06:10 🚥 Working on too many tasks simultaneously can compromise efficiency and depth of understanding. Prioritize tasks, complete them one at a time, and avoid overcommitting.
    07:17 🙈 Reluctance to share code for critique indicates a fear of criticism. Embrace feedback, especially during code reviews, to learn and grow as a developer.

    • @bbrainstormer2036
      @bbrainstormer2036 10 месяцев назад +2

      I keep seeing these everywhere what the heck are they

    • @dameanvil
      @dameanvil 10 месяцев назад +5

      @@bbrainstormer2036 They are people. Surely, you are not used to them. And they talk about the things they think they master.

    • @p3ter408
      @p3ter408 8 месяцев назад +1

      Bro had to include emojis 😂😂😂

    • @atsanonwadsanthat166
      @atsanonwadsanthat166 8 месяцев назад

      Ah, you're talking about Salesforce engineers.

    • @lime148
      @lime148 5 месяцев назад

      @@bbrainstormer2036 People posting AI-generated video summaries to farm likes.

  • @PhaseControlDNB
    @PhaseControlDNB 3 месяца назад +21

    I think you misunderstood the comment at 0:23. The commenter literally talks about the "engineer" as a degree. For example in my country, when you graduate with a diploma in an engineering degree you can put "engineer" before your name (similar to a title). So this comment is most definitely about the overuse of "engineer", often by people who technically aren't. It doesn't mean that a non-engineers can be less of a specialists or worse programmers, it's all about the proper use of the words. I'm also on the same opinion that you can't present yourself as an engineer if you don't have a diploma in some engineering degree.

    • @dmiller2036
      @dmiller2036 Месяц назад

      fart sniffing credentialism is a plague on society

    • @sherrickthuesmunn657
      @sherrickthuesmunn657 Месяц назад +2

      What if you do engineering professionally with years of experience? Then you're still not an engineer but some 20-year-old fresh out of college is? Seems like a weird standard. Engineer *isn't* a title the same way 'doctor' is, and it seems to work just fine this way. This just feels like gatekeeping from people who feel threatened.

    • @agericabella6909
      @agericabella6909 29 дней назад +2

      ​@@sherrickthuesmunn657
      Engineer is a title in Europe, with legal responsabilities if something on the project goes wrong. "Doctor" (Ph.D.) is a title of academic research if succeeded after 4 years on a specific knowledge branch. Teachers at university must be 'doctors' in most of the cases.
      I think you were trying to refer to 'medical doctor', a title that grants permission to work in a hospital doing surgery and license for adquire drugs. To be a judge, or architect, you must have a degree in your possession, too. Experience doing the job are bonus points out of mandatory academic requirements.
      Sorry for my english.

    • @enzozbestetti5992
      @enzozbestetti5992 25 дней назад +1

      ​@@sherrickthuesmunn657in terms of a title, no, you aren't an engineer. The title of engineer comes with responsibilities, and you legally won't be penalised for anything if you claim to be an engineer without being one. Well, unless someone finds out (e.g. your boss after something fails catastrophically) and sues you for misrepresentation because they'd incur the losses since you're not an engineer. Your experience in the profession has nothing to do with it.

    • @glupostidosade1992
      @glupostidosade1992 10 дней назад +1

      @@sherrickthuesmunn657
      In that case you are experienced senior developer but you are not engineer, you can like it or not but there is only one way to become an engineer.

  • @zo1dberg
    @zo1dberg 8 месяцев назад +25

    I've been a dev for over 20 years, and have got a Bachelor of Computer Science degree. Back then, sure, it made sense. But now, I would recommend kids save their money and learn online instead of going to uni. Uni is a waste of time and money. But it was good fun back when I went.

    • @toby9999
      @toby9999 13 дней назад

      Uni is not a waste of time.

    • @zo1dberg
      @zo1dberg 13 дней назад

      @@toby9999 Well, you've convinced me otherwise with that well thought out retort. Well done! Thank you!

    • @martinberit3558
      @martinberit3558 12 дней назад +1

      Well you write "But it was good fun back when I went" and you probably have been able to negotiate a higher salary having a degree :=)

    • @zo1dberg
      @zo1dberg 12 дней назад

      @@martinberit3558 I went to uni back in the 90s. It was a different world back then. Most, if not all of the software developer jobs advertised these days do not mention a university degree and it is not advantageous to have one if you have experience. Most applicants are tested on their technical knowledge during the interview with a technical/coding test and that basically determines if you get the job, not what on-paper qualifications you have.

    • @charlesgantz5865
      @charlesgantz5865 8 дней назад +1

      That's ok until someone asks you to write code that requires some middling knowledge of physics or finance. Then you find that the physics class you slept through in high school, or the finance stuff you never learned because that isn't taught in high school, is not enough to figure out the more advanced stuff you need to write. It helps to be at least reasonably well-rounded.

  • @wendiborden6590
    @wendiborden6590 10 месяцев назад +129

    College educated with 2 degrees here (CS and Business Admin) and feeely admit having worked with many self-taught developers I admire and myself learn from!

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад +2

      Having a computer science degree and being a developer are not the same. Coding is a tool in computer science coursework to apply computer science concepts.

    • @wendiborden6590
      @wendiborden6590 6 месяцев назад

      @@jonaswatson533 Have worked in development now for over 11 years. Point remains. Use all your tools wisely, regardless of background, and be willing to learn from others. ☺️

  • @salimbendag6274
    @salimbendag6274 10 месяцев назад +276

    Hi everyone, Personally I am an engineer in biology, I hold a master of science in biotechnology and I am currently almost finished with my PhD in marine biology, and I am now trying learn how to code and be a self taught software engineer, and i have to say coding is far more difficult than anything I went through obtaining that "Engineer" or "Dr" status, so self taught deserves respect, It was diffuclt yet they did it ! Much love to the community!

    • @InconspicuousChap
      @InconspicuousChap 10 месяцев назад +11

      The author is not meaning "self-taught to PhD", he is talking about "self-taught to writing some sloppy apps". Suppose a guy pretending to be a proper biologist after dissecting a few frogs at home and learning a few random fragmented statements from a biology book. That's what majoiry of self-taught programmers are.

    • @salimbendag6274
      @salimbendag6274 10 месяцев назад +19

      @user-dz5pt3yr9z I get what you're saying, It does require practice, but we should not neglect that not every self taught is bad at it, and that we should not let a minority ruin the image of the majority, the majority of self taught developers are working very hard to improve their situation and making a scary leap into something that is very difficult to master and they end up working through it ! That said, it should also not deminish the effort that people who went through a college education to obtain their positions or knowledge.

    • @InconspicuousChap
      @InconspicuousChap 10 месяцев назад

      ​@@salimbendag6274 Talents can exist. People could learn math. People could develop math knowledge independently of the mainstream; that's what we are taught to do at universities - all that complicated stuff can be derived from the basic principles. Only we have to live in a certain real environment where most IT newcomers are there for quickmoney and not because they are interested in the scientific part of it.

    • @InTimeTraveller
      @InTimeTraveller 10 месяцев назад +20

      That's because you didn't study computer science as an undergrad. Regardless of the difficulty of coding in a particular language, there are many adjacent concepts that you learn in a university. Such as computer architecture, computer networks, operating systems, compilers, parallel programming, database management systems, computational complexity, linear algebra, numerical analysis, etc. All these may or may not matter depending on what you're doing. If you're just coding the front end of a website for example all these probably have very little importance. But if you are coding the back end for example, or developing a standalone software suite then all these may come into play depending on what you're doing.
      Just like in biology, if you're studying e.g. immunology there are many background concepts that you should know, such as chemistry, biochemistry, microbiology, etc. This is why people say that if you've only studied one thing, eg Python programming, then you're not a software engineer. You are a programmer sure, but a software engineer (should) have much more generic knowledge.

    • @Qwertyuiop-p2s5f
      @Qwertyuiop-p2s5f 10 месяцев назад +5

      As someone who switched out of Biochem to Chem E and finds bio very intimidating I find coding to be one if the easiest things ever. Every bio-related class I have taken has, at one time or another, resulted in pretty severe panic attacks due to the sheer amount of information I needed to know.

  • @0runny
    @0runny 10 месяцев назад +125

    As a developer with + 30 years experience in multiple languages across many industries, I think it is very important to learn the basics of computer science. Concepts like memory management, algorithms, data structures, security, networking, etc. These concepts are language agnostic, but are very important to becoming a well rounded developer.

    • @Muskar2
      @Muskar2 10 месяцев назад +14

      Hardware is to software as physics is to engineering. I wish I had realized the cost of abstracting away everything into black boxes much sooner in my career.

    • @dancingdoormanable
      @dancingdoormanable 9 месяцев назад +5

      Becoming a well rounded developer is something to strive for, but the most important thing is to function in the role you have. Knowing what is going on under the hood is good, but often it's not relevant and on occasion it can send you the wrong way. There are many environments like databases or CMS systems that are so encapsulated that reasoning with basic concept on how thing should be done or estimation performance is nearly impossible. In such cases you just have to read the documentation, consult with the community and test things out. I think in general the higher the level of the software you are building on the more that this is the case, but opinions may differ.

    • @markteague8889
      @markteague8889 9 месяцев назад

      @@Muskar2 The difference between hardware and software is a logical one.

    • @markteague8889
      @markteague8889 9 месяцев назад +5

      @@dancingdoormanable A basic understanding of B-Trees and how modern relational databases store tables and their indices as such is kind of indispensable for tuning performance of non-trivial queries. Just an example of how something one would learn in a college level file processing class is applicable to professional work.

    • @TheXarus
      @TheXarus 8 месяцев назад

      ​​@@markteague8889Wow man, I definitely couldn't learn about those things in any other way. Surely having my hand held for a few tens of thousands of dollars will make me a super smart fellow!

  • @Blueberrysoup55
    @Blueberrysoup55 8 месяцев назад +6

    Thank you for concentrating on audio when putting this together.

  • @spinostu
    @spinostu 8 месяцев назад +24

    I'm an Experienced self-taught developer currently working on 3 huge PRs...thanks for the pull up 😊

  • @aaronsmith600
    @aaronsmith600 10 месяцев назад +147

    I'm studying Python in working towards a career change. This was great advice. It's terrifying, being MUCH older than most, to switch careers. But, I love learning, and this will not be easy, and it may be naive to try and get into tech in my mid-50's. But, I'm stubborn, and no's just make me try harder. I'll take coming across this video as a sign, and I look forward to more advice. Thanks!

    • @Jerry-uc1pn
      @Jerry-uc1pn 10 месяцев назад +7

      You can learn at any age. But keep in mind it takes time and you might be too old to enjoy the fruits of your labour. In addition to python, I suggest you learn Bash to orchestrate your python scripts when your projects get larger

    • @LuzMCosta
      @LuzMCosta 10 месяцев назад +37

      You can do it! When times get tough, remember ...
      1. You're not alone. My husband is 51 and studying Python too. People change careers in their 50s all the time, and tech isn't just for the kids.
      2. People don't retire from this gig until they're in their 70s, so that's a 20-year career if you start now.
      3. Resumés don't require years anymore, and most interviews are conducted by video, so it's much harder for them to discriminate against you.
      4. Don't let these ageists get you down. They're talking like you're a foot in the grave when you might outlive them by a score.

    • @aaronsmith600
      @aaronsmith600 10 месяцев назад +4

      Thank you!@@LuzMCosta

    • @JamesQMurphy
      @JamesQMurphy 10 месяцев назад +14

      If you truly love learning, then you’re already ahead of half the developers I’ve encountered. I’ve worked with some devs who are younger than me (I’m in my 50’s) and they haven’t read a single book or article in years. Never stop learning… you can totally do this!

    • @blackstreak02
      @blackstreak02 9 месяцев назад +5

      you inspire me aaron...lets get it!!!!

  • @DaverSomethingSomething
    @DaverSomethingSomething 10 месяцев назад +167

    This is not about self-taught per se, it’s the difference between a “hacker”/“coder”and a “software engineer”. The discipline of applying scientific methods and engineering principles to the work. Schools attempt to train people how to approach problem solving methodically, and 18-22 is not the age to learn that for everyone. Someone made the comment about humility, and I agree 100%. Openness to criticism and a learn-it-all mentality rather than a vain/ego-driven “I made it work” know-it-all mentality is the biggest differentiator I see in my day job. Learn-it-alls will always pick up on the engineering principles inevitably because they will see the value of not repeating mistakes. Know-it-alls are rarely capable of evolving past the hacker stage even if they can pick up technologies/skills easily.

    • @IQLion
      @IQLion 10 месяцев назад +13

      I'm not sure what school you went to, but as a computer engineer, I studied and worked along-side many computer science majors who were still struggling with the concept of loops and conditional statements. As far as discipline goes, none of the classes ever got this far. Professors didn't think that things like code repositories, clean code, or even server-side database connectivity were important topics. Not when most students were still struggling with the basics.

    • @richardsteiner8992
      @richardsteiner8992 10 месяцев назад +8

      Effective code can be created in many different ways. As long as it works, is supportable, and fits in with the general scheme, I see terminology like the above as a weak attempt at gatekeeping.

    • @Alexander_Grant
      @Alexander_Grant 10 месяцев назад +2

      This is 100 percent the case. I see the same thing in both people who have the degree and people who don't. I'm almost certain anyone who disagrees with how you put that is suffering from the Dunning-Kruger effect.

    • @fictitiousnightmares
      @fictitiousnightmares 7 месяцев назад +1

      "I'm an engineer, not a coder!" says the gatekeeper with a big ego who thinks he is better than others that can not only do what he does, but possibly do it even better.

    • @DaverSomethingSomething
      @DaverSomethingSomething 7 месяцев назад

      @@fictitiousnightmares Nah, it’s not about what you are, it’s about what you can learn that counts.

  • @Adrian-jj4xk
    @Adrian-jj4xk 10 месяцев назад +57

    commit as often as you want. it's like a quicksave. if you're not done with a specific unit of work yet, commit anyway. when you're done, you amend the commit and proceed with the next unit of work.

    • @streetcoder76
      @streetcoder76 10 месяцев назад +17

      If it's not committed and pushed it doesn't exist.

    • @ChrisIsOutside
      @ChrisIsOutside 10 месяцев назад +16

      @@streetcoder76 I agree - I usually make my own branch and commit and push whenever I'm finished for the day - just in case my computer explodes overnight, my work is saved to the cloud

    • @CottidaeSEA
      @CottidaeSEA 10 месяцев назад

      ​@@streetcoder76Even if it's pushed you can make it not exist. Just rewrite the commit history. It is mostly useful when you've accidentally added sensitive data though.

    • @CottidaeSEA
      @CottidaeSEA 8 месяцев назад

      @luke5100 Roughly how big are your commits?

    • @CottidaeSEA
      @CottidaeSEA 8 месяцев назад

      @luke5100 Does that mean you create unused functions and/or classes that can be worked on in segments? I'm a bit curious about the process.

  • @Sweet_P0tat0-piiie
    @Sweet_P0tat0-piiie 8 месяцев назад +24

    I've seen similar comments but I just wanted to be another affirming voice. I have a CS degree but most of my knowledge is self-taught. I'm sorry that my fellow CS grads are trying to gatekeep. They are probably a little bitter about all their college debt.

    • @S5Dic09
      @S5Dic09 3 месяца назад

      "gatekeep" yeah right, I'd say is annoying to see "engineers" made through months long bootcamp and seeing colored-hair ballet girls take jobs over "another man", yeah, let's punish the man who made his mind up early and as you said probably got family into debt and work his ass off for a decade just so a disney-style company dismiss him over a DEI thought-provoking fresh ideas new perspectives wokeployee, gimme a f break

  • @Marcus_613
    @Marcus_613 8 месяцев назад +4

    I've been a C/C++ developer for more than 20 years. I believe that's both good advice and common sense.
    I would add: "be persistent". Being a good developer involve way more than just writing code that work as expected. Being simply "ok" takes years, truly mastering takes decades.

  • @mattlm64
    @mattlm64 10 месяцев назад +7

    In my experience Computer Science and Software Engineering graduates are rarely better than self-taught developers.

    • @robinpipslayertekprofitsfa2644
      @robinpipslayertekprofitsfa2644 9 месяцев назад +1

      I dropped out of University for personal reasons, however INN.Uni the Lecturers themselves said "We cannot 'spoon feed' You!", so WE HAD TO LEARN for OURSELVES!!
      Those who excelled were those who worked together in groups and solved their problems together, whilst the "soloists" caved in week-by-week. By Year 2, the Class was less than half what started in in Year 1 😰.
      Since Uni, I've taken extra Courses and when in one Course, all the Tutors and Students predicted the guy with 20+ years of Pro experience to pass the exams first.... I DID!! 😂😂SOOO....since then, it has been self-driven push!! Self-Determination and focus.

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад

      You are working at too low of a level then to witness expert work.

  • @zshn
    @zshn 10 месяцев назад +53

    3:50 How is this not the norm? I thought everyone works like this.
    1. Create, groom, schedule and assign an issue in JIRA.
    2. Create a 'feature' branch from master/develop.
    3. Breakdown issue into smaller tasks.
    4. Code, test, commit for single task (ideally) or multiple related tasks.
    5. Push remote branch.
    6. Raise a PR to merge 'feature' branch into master/develop.
    7. Implement review comments, test, commit, get approvals.
    8. Merge

    • @MrC0MPUT3R
      @MrC0MPUT3R 10 месяцев назад +14

      When I worked on a small team of three we did single branch development where we all worked off the development branch.
      This was possible because we were such a small team, but also our code base was only worked on by the three of us with some people from other teams committing from time to time.
      I loved it. It forced small non-breaking commits.
      As for Jira, today's Jira culture at companies is a cargo-cult. I'll never forget the time I had a single character commit that took two days to get into a simple staging environment because of all the "ceremony" and red tape it needed to go through. Absolutely insane.

    • @CyrilCommando
      @CyrilCommando 10 месяцев назад +2

      Such an overcomplicated and overseparated process

    • @ShiningChris12
      @ShiningChris12 10 месяцев назад

      @@MrC0MPUT3Ri am currently working in a team of three and I am pushing my fellow engineers to use jira and github and code reviews as much as possible, because every time they merge directly to dev I have to solve some nasty conflicts or the code quality just isnt 100 there. I never understood why people cant allocate 70% of the time to coding and 30% to planning/refinement/etc. Its a simple step that from my experience makes working async on big project much more enjoyable

    • @zeez7777
      @zeez7777 10 месяцев назад +2

      @@CyrilCommando Did you ever code anything non trivial in a team?

    • @streetcoder76
      @streetcoder76 10 месяцев назад

      Many but not all. There is no single rule fitting for all it depends on your company, project and team.

  • @cody_codes_youtube
    @cody_codes_youtube 10 месяцев назад +41

    That was the most insane comment I’ve seen in a while. As a CS grad myself, that is such an absurd mindset. 95% of us devs are building websites, not saving lives. This video was some good advice for how to approach our work.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +6

      Ever heard of Horizon / Post Office scandal? This is what happens when bad developers are unchecked and unregulated. Also, your users suffer every day, faced by bugs and glitches of your otherwise probably benign "websites". This should not be dismissed either. High time software development is regulated. And I'm not even a CS graduate, I'm an engineer (as in, a proper, regulated mecatronics engineer).

    • @cody_codes_youtube
      @cody_codes_youtube 10 месяцев назад +9

      @@vitalyl1327 ha. Yeah, bad software can hurt people. 95% won’t. I’d love to hear, in detail, how you can regulate software. And where. We already have regulations on our financial systems, defense systems, strong requirements on medical systems. What are we missing in regulation? Your concerns are real, for sure. But taking aiming at “self taught” engineers is objectively a dumb angle to take

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +3

      @@cody_codes_youtube self-taughts are just the demographic slice where the problem is the most pronounced. Being a self-taught is not necessarily a root of the problem, it just tends to correlate with a lack of rigour that is otherwise present in those who had a more structured education. Regulations work pretty well in medical and engineering domains, and I cannot see how the same framework cannot be applied to the software development. Personal responsibility, to start with. Centralised certifications that should be required in any sensitive development (aerospace, automotive, financial, civil service related, personal data handling, etc.). Responsibility of the certifying bodies for the failures of the certified. I.e., all the same as we have in the engineering.

    • @cody_codes_youtube
      @cody_codes_youtube 10 месяцев назад +1

      @@vitalyl1327 respectfully, if you haven’t been building software, or have experience building software in the industry for more than 2 years, you wouldn’t realize how much of an ask that is. We have formal structured education with information systems, we have an incredible amount of certifications in every framework and software discipline, yet saying most problems come from that slice of demographics is ridiculous. I’ve worked with 100s of engineers throughout my freelancing career and in my experience the level of due diligence and safe programming has not been correlated to how they started and is directly informed by their professional working career

    • @ThomasTurini
      @ThomasTurini 10 месяцев назад

      ​@@cody_codes_youtube LOl those "engineers" are so haughty, I thought there were like this only in France but it looks like they are assholes all around the world 😂
      They are so insecure and starving for validation after years to learn something you can learn by yourself that they have to tell everybody in the world "i am an engineer " 😂 for real the worst people on earth in the professional world

  • @curruption018
    @curruption018 8 месяцев назад +9

    My mentor at my first job after completing my BS in CS was a self taught developer who dropped out of high school and was 21 years old lol self taught devs are some of the smartest people out there.

  • @AstroDestroyer146
    @AstroDestroyer146 11 дней назад +2

    Inexperienced developers do more exploration, but achieve less. Experienced developers do less exploration, but achieve more.

  • @soggy_dev
    @soggy_dev 10 месяцев назад +13

    I feel like self taught devs get lumped into an unfortunate bucket with accelerated bootcamp devs and the like. Obviously this is a terrible over generalization, but the perception of these folks essentially thinking they're on an "easy" get-rich-quick path is a real thing. I've seen this idea perpetuated by plenty of folks, but I've also seen absolutely kick ass engineers with those backgrounds. At the end of the day it really boils down to passion and skills. If your only motivation is to be well paid with as little effort as possible, it will show. The fact that people like this exist doesnt give the rest of us a right to discount every other person with a similar origin story

    • @TheXarus
      @TheXarus 8 месяцев назад

      This right here

  • @innomin8251
    @innomin8251 10 месяцев назад +38

    I’d disagree with the learning languages. If you learn the idiomatic way each language works, it can give you great insights into what you’re already doing.
    Take Ruby -> Kotlin as a good example… it’s super familiar and I find it easy to work in. Meanwhile, my colleagues who came from an extensive Java background keep trying to write Kotlin as though they were in Java, and constantly complain the language being more difficult.
    It’s ultimately a skill issue, and there’s nothing better than broad experience in many different languages and ways of working to solve a skill issue.

    • @BW022
      @BW022 10 месяцев назад +2

      If I saw a developer with say a two-year diploma and a year's work experience, yet have C++, C#, Python, JavaScript, React, Angular, etc. I'm going to have to ask WTF they've actually been doing and whether they actually worked in any to actually get proficient.
      If you are 50 and know everything from assembler, Pascal, C, JavaScript, SQL, VBA, Python, etc., etc. that's a different story. You could have been in five different positions for 5+ years each. However, even in those cases, you should probably either skip them from your resume or just focus on the ones key to this job.

    • @kabiskac
      @kabiskac 10 месяцев назад +1

      ​@@BW022what if they started coding at 14?

    • @BW022
      @BW022 10 месяцев назад

      @@kabiskac I've interviewed and hired lots of developers. Like most, we look at three main things -- education, work experience, and job specific skills. None of these show up well prior to around 18 on most resumes. When an employer asks for X, they typically want to see that you've used in a professional setting -- if not paid work, at least a school project, etc. Most development isn't just coding, it's working with others, needs, testing, versioning principles, documentation, testing, etc. Those rarely come from self-taught experience.
      That said, it may help you get through a technical interview, you can certainly say "X years of experience" even if some of that happened before school, and maybe it you can use it to provide examples or "projects" to discuss -- if you made a web site, you could include a link to it. If you are self-taught, only a diploma, and/or not much work experience, just realize what (and why) employers want proof of experience using these in team/semi-professional environment and try your best to highly any experience you have.

    • @andydelle4509
      @andydelle4509 10 месяцев назад

      @@BW022 Peope who know assembler and K&R C don't use Python! IMO, Python is the new BASIC.

    • @BW022
      @BW022 10 месяцев назад

      @@andydelle4509Clearly that statement isn't true since I know assembler and C and I do use Python. I agree that Python is the new entry level general purpose language, but that doesn't mean because you know something else, you shouldn't use it. My choice of which language to use comes down at a lot of decisions -- time, ability to deploy them, policies, ability to share it, etc. Sometimes you just need something quick and dirt and that often happens to be Python.
      I've had to write small utilities, analysis, document sorters, etc. in Python since others dev don't have C (or Delphi compliers) or is it necessary. Then again, I've had to rewrite some of their Python programs in VBA (inside Excel) so non-programmers (who can't install Python) can run them locally. Finally, I've had a few 'quick and dirty' apps which were so painful to run in Python or VBA, I gave up and fired up MS SQL and Delphi. And once, I had to rewrite one of their Python utilities in JavaScript so that everyone in the organization could access and run it.

  • @bitpilot79
    @bitpilot79 10 месяцев назад +10

    I am a self taught developer myself. In my country you cannot use the title engineer, without having a degree in some kind of an engineering field. So I consider myself a software developer, not a software engineer, and that's ok for me.

    • @fabianpetersen2452
      @fabianpetersen2452 10 месяцев назад +3

      I'm a chemical engineer doing software development and i dont mind being called software devloper since i didnt study CS. I agree with your country though, the title engineer is used very loosely nowadays. Example some countries will call a millwright an engineer or the aircon technician engineer. It is a very hard course to do at university just to be so diluted and used by everyone. It should only be reserved for people who actually studied to be one

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +4

      ​@@fabianpetersen2452people with CS degrees should not call themselves engineers either, they are supposed to be scientists.

    • @jarodmorris611
      @jarodmorris611 8 месяцев назад

      People in the US don't mistake a software engineer for someone that can do the traditional kind of engineering. If you heard a mechanic market themselves as "Truck Doctor" you wouldn't be confused and think they were a real doctor would you?

  • @markus-hermannkoch1740
    @markus-hermannkoch1740 8 месяцев назад +6

    5:12 objection, your honor. A good new language is not merely a new syntax. I use C++ (fast, powerful, relatively crossplatform, a little convoluted, but able to handle large projects) for different tasks than I do python (fast prototyping, good science libs), matlab (simulations, proof of concept), R (statistics), Javascript (browser guis) or even perl (yeah, I am a boomer. Regexps, scripting for tasks around the OS). A wiser guy than I once said: "If a language won't change the way you think about a problem, it is not worth learning it." True. But does not mean we should do everything using the same single tool. Greetings, an experienced autodidact.

    • @dmiller2036
      @dmiller2036 Месяц назад +1

      Perl is the shit especially for regex work

    • @crsv7armhl
      @crsv7armhl 28 дней назад +1

      As a self taught dev with a couple years in paid dev work, but quite a few function focused PR's (accepted) to major Radio Frequency FOSS projects I absolutely agree with the sentiment.
      Python I use for most things not dependent on speed
      C/C++ I tend to use for speed dependent projects and microcontrollers (what is with the trend to use python on microcontrollers???). Almost all my RF stuff is C/C++ when microseconds matter.
      VBA I have used extensively on systems where external code can take years to be approved to run on the network. Its terrible, but it gets the jobs done

  • @JerusnamWien85
    @JerusnamWien85 21 день назад +1

    0:43 people assume that you need a college degree to be an engineer when, historically speaking, many engineers didn’t go to school and were self-taught or acquired their skills on the go.

  • @Drcalatayud
    @Drcalatayud 10 месяцев назад +6

    Very good points. These are real, I have lived through them. I'm also a self-taught software ENGINEER. Thanks for the video Travis.

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад

      How are you an engineer exactly?

  • @lambda-snail
    @lambda-snail 10 месяцев назад +16

    I think everyone are self-taught - it's impossible to have someone else learn for you :)
    Just one thing I reacted to was your discussion about PRs and branches - this can be influenced heavily by the project/team/company so may not always be a reflection of the developer. But great video!

    • @phoenixamaranth
      @phoenixamaranth 10 месяцев назад +4

      You absolutely hit the truth of it. University gives you access to materials, resources, and typically helps with a plan of how to tackle learning them, but the actual learning is always a self-taught matter in the end. People can pass courses without a full grasp of a subject simply by plugging and chugging on some topics. Ultimately understanding a subject requires a person commit to teaching themselves what the material means and how to use it. That has no relation to learning from university or from other resources outside of a formal school. No one can learn it for you, as you said.

    • @jarodmorris611
      @jarodmorris611 8 месяцев назад

      The phrase is "self-taught" not self-learned.

  • @CyberAbyss007
    @CyberAbyss007 10 месяцев назад +53

    Good video! I'm a mostly self-taught developer for last 25 years. Currently, a mid to senior dev on a team of mostly senior developers. I'm more of an App repair guy than anything. My company is large and has had several reorgs and mergers over the last 20 years. I deal with a lot of legacy apps that came in from mergers where nobody knows anything about the application and get a mix of everything from Classic ASP & PHP to .NET & Angular and we're now trying to move to more modern React apps. I try to not be pigeon holed as a .NET or Java developer. I'm just a problem solver no matter the stack. I've fallen into an interest niche that is not for everyone. I never know what kind of App I'll get but the expectation is that I always figure them out. 🙂

    • @InconspicuousChap
      @InconspicuousChap 10 месяцев назад +9

      It's funny how everyone sticks to one specific language (usually the only one they know) these days. In 1990s it was like: "We have got a bunch of code to migrate from platform A to platform B and from language X to language Y. You don't know the language X? Well, the project is 7 months long, which is more than enough time to learn it and migrate those 500'000 lines of code". I've been quite fluent in 3 programming languages even before applying for a trainee position at my first job, and that was sort of normal. Now indeed everyone is pigeonholed with a language sticker on them. It's like a Babel language confusion. Had to create 2 CVs differing only in the language name in the title, otherwise recruitment simply can't match them to a position.

    • @traveller23e
      @traveller23e 10 месяцев назад

      @@InconspicuousChap Currently on the job hunt with roughly two and a half years professional experience (I was a hobbiest doing mostly C# for years before), It's remarkable how many companies specifically ask about your experience with a language or framework. Great at C# but they're hiring for a Java role? 0 years of experience as far as the first few interviews go. I'm not sure I've come across a single role that requested a certain level of experience in computer programming in general.
      I wonder if it's a reflection of more dug-in frameworks, though I'm not really sure how it was back then. Or maybe it's due to companies industrializing the recruiting process to the point where it takes a while before you get in touch with someone who knows that C and C# are in fact different.

    • @dorgana225
      @dorgana225 9 месяцев назад +3

      I think you job sounds awesome!

    • @CyberAbyss007
      @CyberAbyss007 9 месяцев назад

      @a225 - I guess I'm in my dream job actually. At first I thought, gee this is a bad situation but over time and with each new success, I really built my confidence and began to see that long term, this was to my benefit when I eventually make the jump to Cybersecurity at some point. It really takes a lot of guess out of what is happening inside all the the black boxes. 🙂

    • @radboyshrooms9077
      @radboyshrooms9077 8 месяцев назад +1

      This is one of the most interesting jobs I have ever seen, I would love to try this out. If there is any way I can experience this job, please let me know.

  • @petermoomaw3400
    @petermoomaw3400 20 дней назад +1

    5:12 - "Each one is just a new syntax." This might be true if you are talking only about procedural languages. However, as a counterexample, the language Haskell doesn't have loops, switch statements, or even mutable variables, and functions are restricted to having only one parameter. Yet, Haskell is as expressive and powerful as any procedural language like Java or C. If you are coming from, say, C, there is quite a learning curve to writing programs in Haskell's functional paradigm. One needs to not only learn the syntax of the language but also understand concepts like immutability, higher-order functions, currying, and monads, which are foreign to procedural programming.

    • @glupostidosade1992
      @glupostidosade1992 10 дней назад

      It proves how much self-taught has no clue even after gaining more experience..

    • @petermoomaw3400
      @petermoomaw3400 9 дней назад +1

      @@glupostidosade1992 Well, I'm self-taught. I was just taking issue with the statement that language differences are merely syntactical. Different languages can force you to think in different ways about writing algorithms.

  • @GordonTWebb
    @GordonTWebb 11 дней назад +1

    I definitely disagree with your statement about people hating you because they want the term Engineer protected. At least where I am there are plenty of "protected" job titles, you can't claim to be a "Registered Nurse" or a "Physician" or an "Engineer" without meeting specific requirements. For Engineering these include a recognized university level bachelors degree of applied science, at least four years of engineering work experience under a certified Engineer, completion of law and ethics course and exam, agreeing to a code of ethics, etc all while being overseen by a regulatory authority.
    Saying that self taught software developers shouldn't use the term Engineer isn't saying you are worse at the job, it is simply saying that you don't meet the legal requirements required to be an "Engineer" just as you couldn't legally use the term software "Physician" or "Surgeon" or other terms that are regulated by the government and their associated regulatory bodies.

  • @0xglitchbyte
    @0xglitchbyte 10 месяцев назад +33

    Fantastic video, as usual! It's always fun seeing those kind of comments from CS grads. Another thing I would add is inexperienced devs dont understand the problem they're trying to solve, or have ambiguous defintions, and thus try to do too much at once. One thing I constantly remind myself is to take the smallest piece, and make it smaller. Some old proverb put it best: "The mountain is moved pebble by pebble".

    • @broadestsmiler
      @broadestsmiler 10 месяцев назад

      I've heard that proverb worded differently by my old Algebra II teacher in the form of a question and answer: "How do you eat an elephant? One bite at a time."

    • @thes7450
      @thes7450 10 месяцев назад

      ​​@@AndreiGeorgescu-j9pthey know enough computer science to do the job. The rare self taught dev are the ones who are able learn cs and implement it in their work using direct learning.

    • @angelocarantino4803
      @angelocarantino4803 10 месяцев назад

      ​@@AndreiGeorgescu-j9pwhat the heck bro lol, you keep copying salty replies everywhere hahaha

    • @thecollector6746
      @thecollector6746 10 месяцев назад

      @@angelocarantino4803 Find the lie. You clowns don't....hence the reason why you routinely lose out to those who do hold CS degrees.

    • @thecollector6746
      @thecollector6746 10 месяцев назад +2

      Not nearly as fun as it is when I interview "self-taught devs" and they can't; down to a person provide me with a concise definition of OOP and or polymorphism, and why either should be used. But remember everybody.....Self-Taught-Devs aren't the deluded, generally unqualified, ignorami who thinks reading Medium Posts and copy/paste from Stack Overflow is the equivalency of grinding for 4 years in an accredited program instructed by actual Computer Scientists.

  • @conditionallytriggered2313
    @conditionallytriggered2313 10 месяцев назад +7

    I genuinely appreciate this perspective. I am brand new to coding in general as I have only just started trying to make games and I have no experience yet. The biggest thing that has catapulted my learning experience is that I have spent a few years now figuring out what I wanted to make when I started and also having people around to discuss ways of doing things with.
    Having the opportunity to discuss purpose and relevance of the application of code for a task really helps make the process future-proof.

  • @danieljohnson8154
    @danieljohnson8154 10 месяцев назад +34

    As a CS grad myself, i actually find myself admiring the resolve of self taught devs. Software Engineering is a demanding field, and people who are self taught who manage to break into the competitive job market deserve the utmost respect.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +1

      Far too often those people who broke in are breaking things and wrecking havoc. There is a lot of wrong people in this industry, who should have stayed far away.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад

      @@AndreiGeorgescu-j9p I think it's youtube itself, its auto-moderation is absolutely unhinged. My comments get deleted randomly. Often it's simply because of a stray dot in between words instead of a whitespace (thanks to the mobile phone keyboards), it's interpreted as URLs and punished. Sometimes it's for some keywords - a lot of my comments here disappeared that mentioned the abbreviation for atomicity, consistency, isolation and durability.

    • @applepie9806
      @applepie9806 10 месяцев назад

      @@vitalyl1327 Not exactlly.... the ones wrecking stuff are the "tech lead" with 9 years of experience who on multiple occassions tell me a snippet of code works when it doesn't and he sounds like he hasn't touched the language and framework he's supposed to be leading the team in for at least 5 of those 9 years, and isn't familiar enough with the language, getting shocked by its unique features, AND also costing the company extra thousands for months by provisioning more expensive cloud resources for no good reason and then going on vacation. This same guy asks me to write high latency code for no good reason other than it looks clean. Clean code will kill a web server, thanks to him the microservice I wrote is basically useless because it does multiple queries for one request other than the one query I wanted to do for that request and has about hundreds more lines of code. Readability and maintainablity is down the drain and I now hate working with that code. He also told me exceptions throwing exceptions don't cause latency issues. LMAO. Latency basically shot up by 4x when I added more exceptions. I had to tell him it doesn't work (because each exception has to collect the stack trace) but of course he's the tech lead he doesn't believe me, the intern, because I'm not the tech lead.
      Or the other senior devs with 9 years of experience who come in to "help" and leave at least 3 bugs behind for me to fix. Their unit tests were useless at catching their bugs.
      I have less than 1 YOE and mainly self taught, and the newcomer "senior dev" with also 10 years of experience come running to me to ask how to do this and that.
      These people have MASTERS DEGREES.
      Look, good sirs, with all due respect I'm sure there's good software engineers with Masters, but someone with a Bacherlor's or Master's degree isn't necessarily good, especially if they've been out of school for a LONG while. I'm bloody tired of them and would rather work with a self taught dev with integrity and common sense.

    • @mrfixitm3345
      @mrfixitm3345 10 месяцев назад +6

      ​@@vitalyl1327why because they read the same books and did the same projects at home while you paid thousands for some dude to say "hey do the project on page 58 by tomorrow"? 😂 collge is a joke for 98% of professions. Everyone teaches themselves. Some do it cheap and some do it expensive. Who's smarter? Does it matter when you're dead? Your boss will have a new ass in your seat before it's cold and who knows maybe they are "self-taught" doing a better job than you were 🤷🏼‍♂️. There's always someone smarter, faster, bigger.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад

      @@mrfixitm3345 you so very obviously have glaring gaps in your fundamental knowledge. And the funniest part here is that you will never be able to detect them yourself.
      Again, people without higher education have no ability for systematic learning, they do not learn bottom-up, they are unable to form comprehensive systems of the knowledge they acquire. You're an obvious and hilarious case in point here. You have no faintest idea of what education is. I am so glad I will never have to work with someone as low as you are.

  • @christophhenninger6440
    @christophhenninger6440 9 месяцев назад +4

    4:17 I (mostly self-taught) do that stuff like this:
    I branch of develop (that is my main working-branch), then I start to work on the feature. I commit and push everything up as every step is done, so I created my user-model, then I create the form, then I create the login-check. Every time I test, commit and push.
    When the feature is done, I create a pull-request, but to be honest since I am the only one working on that project I merge it without reading it again.
    Code _in my branch_ can possibly be broken when I try to use it. Code _in develop_ should never ever be broken.
    The main-branch is by the way my release branch. So when the release comes up, I branch v1.0rc (in example) off of develop, get it into a state where I am sure it will work on the server, then merge that first into main and tag it as v1.0 and second I merge it back into develop of course.
    On the server I pull it again from the tag and create a docker-container, first to make another test, then to really send it to production.
    Of course "production" is a little webservice with one user: me.

  • @gmdplutonic
    @gmdplutonic 3 месяца назад +4

    I'm a Self-Taught dev (pretty new) and the whole reason I decided to teach myself is because I hate getting taught by other people and the people who hate self-taught devs just need to learn that almost every self-taught dev has a good reason to be self-taught in the first place.

  • @cagdasucar3932
    @cagdasucar3932 10 месяцев назад +10

    I have a bachelors in Computer Engineering and I feel like the PhDs hate us. :)

  • @psygirl0111
    @psygirl0111 10 месяцев назад +15

    Engineer who graduated in CS: We have to cleanse the society of impostors!
    Me, a tourism graduate, watching people who didn't study tourism getting jobs in travel agencies and hospitality industry.

    • @CW91
      @CW91 10 месяцев назад +1

      They are self-taught 😂

    • @applepie9806
      @applepie9806 10 месяцев назад +3

      Just curious, what do people learn in tourism degrees?

  • @TheRealInscrutable
    @TheRealInscrutable 10 месяцев назад +6

    I'm a university trained programmer. No one is asking for regulation that has any grasp of what comes with it.

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад

      What is a university trained programmer exactly? What is your degree in?

    • @TheRealInscrutable
      @TheRealInscrutable 6 месяцев назад

      @@jonaswatson533 Literally Computer Science.

  • @herberttlbd
    @herberttlbd 10 месяцев назад +1

    First, CompSci is not an engineering discipline but I get the impression that most undergrad CompSci courses shifted away from concepts a long time ago without picking up the standards required of engineering. Second, while software design is more dynamic than other engineering disciplines, none of the development methodologies of the past 30 years would qualify as meeting the required rigor - there are some useful concepts but most of it would have to go because engineering disciplines, almost universally, use some variant of waterfall.Third, the notion that languages are inter-changeable comes from most popular languages being a hybrid of procedural/OO structure - if you know one popular language then you know them all but there are other languages with concepts that have yet to be incorporated into the mainstream.

  • @asdsdfadfsa
    @asdsdfadfsa 2 месяца назад +4

    I've got 1 year left of my cs degree and almost everything I know is from outside learning. A dedicated self taught programmer will be 10 times better than a lazy college graduate that just barely passed.

  • @ayoubahabchane
    @ayoubahabchane 10 месяцев назад +9

    I see what you did there at 06:26 ! I just finished reading that book. Can't thank you enough for the recommendation 🙏🏼. I'm happy to see it echo and build upon something that I've always believed in: that wonders and breakthroughs will always come about when somebody finds their specialty and pour their heart into it, no matter how small or niche that specialty may be.

    • @e.m.r1124
      @e.m.r1124 10 месяцев назад

      Hey, you got me curious. What is the book?

    • @never_give_up944
      @never_give_up944 10 месяцев назад

      @@e.m.r1124 Probably it is "Just One Thing"

    • @ayoubahabchane
      @ayoubahabchane 10 месяцев назад

      ​@@e.m.r1124
      It's a productivity & self-help book titled The ONE Thing (240 pages). Travis talks about it in his video: THE Book That Changed My Life As A Developer.

  • @dvillegaspro
    @dvillegaspro 10 месяцев назад +33

    I have always thought I was a weaker developer because as a junior dev I haven't learned more languages and frameworks outside of JavaScript and React, but I figured I wanted to get really good with programming concepts, techniques, patterns and architecture and I can then apply those to other languages later. Thanks for helping me feel better about not being a massive polyglot yet.

    • @Muskar2
      @Muskar2 10 месяцев назад

      Don't take my word for it, but I think that's dangerous given JavaScript and React is your chosen specialties. React is a very replaceable framework and JavaScript is a hard language to learn fundamentals in. Don't feel bad about it, but just know that it will benefit you greatly to get comfortable doing something timeless, like writing in C and/or building something from scratch with minimal dependencies.

    • @dvillegaspro
      @dvillegaspro 10 месяцев назад +1

      @@Muskar2 I don't disagree, I just meant to specialize as a beginner in these things. I am currently starting to learn C actually!

    • @retagainez
      @retagainez 7 месяцев назад

      @@Muskar2 It's probably more dangerous for the reasoning that browsers are tightly coupled to JavaScript and vice versa. So much so, coupled to browsers where the GUI is untestable and not standardized. If anything, JavaScript has valuable lessons in navigating/avoiding this tight coupling with the complex configuration system it has via various json configuration files.
      From a perspective of creating patterns of programs, I would say it's all mostly still there but maybe only less accessible due to all previously mentioned overhead.

    • @KFarah
      @KFarah 4 месяца назад +1

      C is great but I think maybe too low level for a front end dev to get as much use out of … I would look at Java or C# if you want to learn OO. Another good language which I have come to really like is Python you can write things in a more efficient readable way and you still have OO concepts as well as the ability to write a quick script.

    • @JayJohnson11
      @JayJohnson11 2 месяца назад

      I recall a slide shown at the Dallas JavaScript meetup with frameworks...each year it changed.

  • @sohaibmalik6846
    @sohaibmalik6846 10 месяцев назад +5

    I am in a university. And all my knowledge is self taught, one of few things i got from University are Soft Skills and Degree. My entire development and AI knowledge is self-taught.

  • @offgridvince
    @offgridvince 2 месяца назад +1

    This is amazing content!! 😮 Excellent. I'm going to listen to this several more times. Thank you

  • @BeekersSqueakers
    @BeekersSqueakers 13 дней назад +1

    #1 is what I see the most with non-grads.
    Things made by non-grads are often "hacky" or slapped together, which is a big reason grads get frustrated with non-grads.
    There is little to no consideration for maintainability, longevity, safety, or industry standards. Those are simply things you don't encounter when you're self-taught.

  • @softcolly8753
    @softcolly8753 10 месяцев назад +7

    There are plenty of qualified engineers that write absolutely crap code. Some of the best and the worst developers I have worked with have been self taught. Far too many devs over engineer everything into a mess of complexity.
    No 1: Very good. Completely agree. Probably the most important mindset to have. Readability and maintainability above all. A lot of places don't need to scale too much.
    No 2: Whatever. No 1 is way more important. A lot of working environments are way to chaotic for stuff like that.
    No 3: Again agreed. Mastering things is more important than chasing fads and trends. Constantly learning means you will never be mastering stuff and constantly pushing out code in languages / frameworks where you aren't an expert.
    No 4: Again, great of you have a working environment that you can do that in. A lot of places have to many firefighting issues to be able to focus on only one thing.
    No 5: Experienced devs can be just as bad for this.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +1

      And this is exactly why robust regulations are so important. With a personal responsibility, with severe consequences for screwing up, bad engineers will be weeded out.

    • @softcolly8753
      @softcolly8753 10 месяцев назад +1

      @@vitalyl1327 As I pointed out, some of the best people I worked with had no formal qualification. Why would regulations be expected to help?

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад

      @@softcolly8753 same as they work for medics and engineers - by placing the responsibility where it should be.

    • @softcolly8753
      @softcolly8753 10 месяцев назад +1

      @@vitalyl1327 medial error is the third leading cause of death in the US.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад

      @@softcolly8753 which can be attributed to one of the most relaxed regulatory regime in the world. EU is a far better example.

  • @sikemullivan
    @sikemullivan 25 дней назад +3

    This content is solely about inexperience a nothing to do with being self taught. Whether you have degree or not, we are all still self taught.

  • @Archon-Zero
    @Archon-Zero 6 месяцев назад +3

    Started programming at 10 years old in BBC Basic, as an adult spent 10 years in the industry before deciding to go to uni to help further my career. My experience tells me that you learn more, and better in your first 6 months on the job under a good development team than you will doing 4 years of university. I wouldn't have hired 90% of the class I graduated with. University has an almost negligible value in the programming industry other than getting hired. In my humble opinion.

    • @stevevanniman443
      @stevevanniman443 4 месяца назад

      Should have attended the University I attended. The Dean of Computer Science was hell bent on structure, core understanding and algorithms. This was a while ago, if anyone in CS took the business coding Cobol class, they were dismissed from the CS program.
      Hard core. First class out of the gate was Mainframe Assembler. Started with 60 in two classes. Ended freshman year with 15 in one class.

  • @CootChick
    @CootChick 8 месяцев назад +1

    5:17 "A language that does not affect the way you think about programming is not worth learning." -- Alan Perlis. Not all languages are just new syntax ... Some will teach you new concepts. Often, new concepts arise as patterns in existing languages, and later, someone invents a new language that is built around the concept. Many years ago, in a program written in C, I saw structs with function pointers ... basically, Povray Raytracer had object-oriented programming in C (not plus plus). Creating a language that is built around the concept enabled the concept of visibility!

  • @BeekersSqueakers
    @BeekersSqueakers 13 дней назад +1

    As someone who self-educates on many topics, the problem with people like us is that our knowledge is often incomplete.
    I was able to land an Mech. Eng. job without a degree from being self-taught (very, very lucky), but after returning to school, I realized how much important knowledge I was still missing; topics that are prohibtively dense or are difficult to find resources for if you weren't already familiar with them.
    Good schools also have more resources like peers, instructors, equipment, and project funding that open opportunities you wouldn't otherwise get from being self-taught.

  • @DaMuffinDev
    @DaMuffinDev 10 месяцев назад +10

    I rarely comment, let alone like a video, but wow, these tips are great. I, for one, have a big problem with adding huge changes to the codebase at once and never thought about doing it step by step, as you mentioned. I also really think the notebook advice is awesome. Thank you for sharing your wisdom; I will be sure to take advantage of my newfound knowledge! Great video!

  • @MindIsLikeFullMoonInFall
    @MindIsLikeFullMoonInFall 9 месяцев назад +4

    These are all very valid and useful tips. I have made some of those mistakes myself. I think it will take time for me to rid of those problems, but hopefully, knowing them will make me become more aware and fix it before becoming a problem.

  • @davebudah
    @davebudah 10 месяцев назад +14

    Funny thing about people who say the industry needs "to be sanitized" is they are going to Universities to learn from lectures who are joining bootcamps to also learn from non-university graduates. Everyone who thinks they deserve better treatment coz they spent a couple of years writing assignments needs to heal.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +3

      It does not matter how and where did you learn. What matters is who will be *responsible* when your code goes south. This is the difference between the wild west software development and properly regulated fields such as civil engineering and medicine.

    • @davebudah
      @davebudah 10 месяцев назад

      @@gppsoftware You are right, that's what you prefer and it has to be respected by those who will look for employment at your company.

    • @davebudah
      @davebudah 10 месяцев назад +1

      @@gppsoftware I agreed with your point, meaning I would still agree with a billion other people who share your view. However I have worked as a programmer for 5+ years now, I have a college degree but has nothing to do with Programming. During my years as a programmer I have come across a lot of graduates with CS degrees but cannot code beyond the old none usable projects that they did in college, and now as I speak, I know of several recruiters who prefer someone who knows hands on programming than just a certificate holder.

  • @zandgall1837
    @zandgall1837 4 месяца назад

    I actually had the reverse of Sign 1. I found it very easy to overplan and make things unnecessarily scalable when all I really needed to do was make something that works. Worrying less about scalability and future-proofing for every single potential future has made me a better programmer for my solo projects. But that also does take into account that I naturally write cleaner code that is easier to refactor, if and when the time for scalability and maintaining comes.

  • @TomLeys
    @TomLeys 9 месяцев назад +1

    Everything you raise in this video is about lack of commercial experience and has nothing to do with graduate vs non-graduate. Most CS graduates will have issues with every point raised here and will have to learn them on the job. This video is more "Junior programmer" vs "Programmer."
    The actual differences you learn during your CS degree vs on the job:
    - Mathematical fundamentals of computers ( state machines, automata, algorithm complexity and proofs, graph theory, ...)
    - How CPUs represent data, how they work. How gates and the physics in computers work.
    - A wide range of fundamental algorithms
    - Creating a compiler, implementing a protocol such as TCP/IP, Operating system concepts like virtual memory.
    You can self-teach all these things of course. I was a self taught programmer of 5 years (from 13yo) before I attended university and I had a lot to learn.

  • @PriyankRupareliya
    @PriyankRupareliya 10 месяцев назад +5

    Experiencing a huge paradigm shift right now. Thanks, Travis

  • @jositconsultinginc.3972
    @jositconsultinginc.3972 10 месяцев назад +3

    This part here (0:20) is a masterclass on how to take feedback that is meant to be offensive and inflammatory, dissect it to see if there might be anything useful there, using that part to improve and disregarding the rest of it. Excellent video.

  • @becker8192
    @becker8192 10 месяцев назад +6

    Good video. But at 6:11, it really bugs me that you can't spell "TOO" as you talk about competence.

  • @artolaganus
    @artolaganus 7 месяцев назад +2

    Workload of multiple days in the local repo is a horrible idea. What if you get sick, have an accident, have a bluescreen of death? Just create a feature branch remote, push every day and squash if necessary on merge/rebase.

    • @nintendoeats
      @nintendoeats 5 месяцев назад

      In principle I agree that you want to get your work onto the public server frequently, but...if the company can't handle the outside chance that they might lose a day of your work then they are way too close to the edge.
      BTW, a BSoD doesn't cause you to lose your work. Some hard drive failures cause BSoDs, but most BSoDs are not from hard drive failure. I'm willing to venture a guess that the majority of BSoDs that do not immediately follow a driver or hardware change are transient and do not immediately recur.

  • @slayeryt637
    @slayeryt637 8 месяцев назад +4

    I'm a CS major and the only crime in this video is the lack of a red sus reference at 0:46.

  • @Immudzen
    @Immudzen 10 месяцев назад +9

    As a senior dev I normally enforce that people have tests to cover all of their code before I will process their merge back into the development branch. I also look at their code for maintainability and to make sure it solves the actual problem. I have found that most of the self-taught programmers just want to throw something up and move on and while it is fast for them in that moment it is too slow for the projects. My experience is that the time spent debugging later completely swamps the time it would take them to do a better job.
    I actively work to train the people I work with to be better programmers with feedback and pair programming sessions. However, some people actually seem hostile to learning and this creates a lot of problems. Their code quality is bad, it does not get better, and it creates maintenance problems.

    • @Nocare89
      @Nocare89 10 месяцев назад +2

      I know what you mean by hostile. I get defensive when my world is threatened, but I let it all come in and marinate, and I'll come around or form a stronger debate basis. A lot of people can't or won't do that. IMO it is a clear red flag and that dev needs to get replaced soon as it is viable if they are consistently cagey. Titanic waiting to happen, hiding a burned hull...
      A junior can still teach a senior on occasion and its part of what makes the mentoring process so beneficial. The moment where a dev thinks there is nothing else to learn, its time to go flip burgers. Another way to put it, someone who wants to be a developer who won't develop themselves can't be a true developer.

    • @alkenstein
      @alkenstein 10 месяцев назад +2

      There's 2 different mindsets needed during the PR process:
      1. While creating a PR the coder should have a lot of pride and ownership to produce the best code they can
      2. While the PR is being reviewed the coder should take their ego out of it and instead consider that the code belongs to the team, wishing for the reviewers to surface as many issues and good suggestions to improve the code as possible
      In this way each PR has the best opportunity to be of the highest quality and the coders skills will grow at the same time
      This is something that every successful (team oriented) developer learns early on in their journey

    • @retagainez
      @retagainez 7 месяцев назад

      This branching strategy could also harm testability in this case, too.

    • @Immudzen
      @Immudzen 7 месяцев назад +1

      @@retagainez We normally aim for branches to live for about 2-4 days. The work is all scientific work and mostly involves a lot of math. The way the code is structured conflicts are pretty rare. A person working on chemical reaction equations won't conflict with someone working on mass transport because those will be in separate areas.

    • @retagainez
      @retagainez 7 месяцев назад

      @@Immudzen Ah. In that case, a lack of merge conflicts wouldn't really detract from using branches.
      I am more curious about the problem domain you guys write code for and it makes me sad and confused to hear about the hostile pairing sessions. I would do ANYTHING to work in a company with pairing, but I highly expect I won't be exposed to that for possibly up to an entire decade or so.

  • @taylorallred6208
    @taylorallred6208 10 месяцев назад +12

    I have seen both good and bad in self taught programmers. The main difference I see between the good and bad is the humility. I think it’s easier to fall prey to the Dunning-Krueger effect as a self taught person because you aren’t exposed to as wide a range of knowledge. Granted, CS grads and self-taught folks are just as likely to lack humility and fail to learn new things when it matters.

    • @anthonyobryan3485
      @anthonyobryan3485 10 месяцев назад +6

      As a completely self-taught programmer of nearly 40 years, I have to vehemently disagree with the supposition that self-taught programmers are not exposed to as wide a range of knowledge as formally educated programmers. The greatest hindrances I ever experienced while learning my craft were while in a classroom earning my degree.
      I had been programming for about eight years before I stepped foot into a University, and exposed myself to many different programming concepts and techniques that my University classes didn't even mention in passing. In my experience, formal training is a choke collar.

    • @jvdl-dev
      @jvdl-dev 10 месяцев назад

      @@anthonyobryan3485 +100. I learned how to code first and then studied web development at a local college.
      With regards to the exposure to knowledge, as I see it, the vast majority of it is gained as experience during one's career, so regardless of whether you're self taught or college / university educated, it's what you do after you learn those basics that determines your exposure to knowledge and experiences.
      As far as college curriculum was concerned, it was relatively general at the beginning and there was a lot of material being taught that was fairly dated. Don't get me wrong though, glad I learned it all because it was all super interesting nonetheless!
      I was very fortunate that all the teachers and the IT department head were very open minded and willing to accept input from students for some parts of the curriculum - for example, I found out they were planning to teach ASP classic, this is about 20 years ago, but it was already losing relevancy. Myself and another student wrote a proposal for switching the language to PHP. While PHP surely isn't "the best", it's a great language to learn in terms of web development, given it's wide availability and large community.

  • @jeffsherman9638
    @jeffsherman9638 6 месяцев назад +2

    I am a recent grad with a bachelor’s and masters in computer science. College doesn’t even scratch the surface of what is required as a SWE1 at most companies unless you are one of the lucky ones who got into a company as an intern to permanent position. Learning a computer language is just a small fraction of the job. Concepts like the use of Apis, use of interfaces, dependency injection, git, sql injection attacks, etc etc are not even taught. The things you mentioned are spot on. Constantly build projects in one framework, in one language and become very proficient first before moving on to something else. It’s essential to build projects regardless if you are currently employed or looking for employment. It’s this experience that determines how well you will exceed into an intermediate or senior developer role.

  • @mattshu
    @mattshu 2 месяца назад

    I chuckled at your thumbnail of the obvious code smells and what I would do differently but then thought of how it might have looked to me before I understood code and became quite anxious. Thanks for the humble reminder!!

  • @ngoCEO
    @ngoCEO 10 месяцев назад +4

    Excellence isn't derived from a piece of paper you paid an institution for.

    • @TravisMedia
      @TravisMedia  10 месяцев назад +1

      Wise words

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад

      Yes, however having a high GPA and receiving the respective piece of paper proves you have an excellent understanding of the foundations of the respective program (CS or CE).

  • @LiberalLoudMouth
    @LiberalLoudMouth 8 месяцев назад +6

    People that complain about non-uni coders are the ones mad that they paid for something they didn't need to pay for and probably know far less about it than the one passionate enough, and disciplined enough, to teach him/herself.

  • @imbra
    @imbra 10 месяцев назад +16

    We are social creatures and almost everything we do has a goal to increase our social status. Being an "engineer", for a lot of people is a status symbol. Just like being a doctor or lawyer. So, I don't really feel bad when I hear that I am not really an engineer. Because what I am really hearing is "for me, being an important person is very, very important"

    • @ErnaSolbergXXX
      @ErnaSolbergXXX 10 месяцев назад +2

      That is just not true. It's the mindset of a slave. "look at me, I have climbed higher than you" for people who are really free, they don't give shit about titles. That means they don't care about the title people have. They care about who they are.

    • @vitalyl1327
      @vitalyl1327 10 месяцев назад +3

      Being an engineer, by definition, is having legally binding personal responsibility for what you're doing. Nothing about the status.

    • @applepie9806
      @applepie9806 10 месяцев назад +1

      @@vitalyl1327Indeed, that's why I unit test the crap out of my services, unlike some people with degrees. I've seen some of the laziest shit coming from both self taught and degree holders.

    • @angelocarantino4803
      @angelocarantino4803 10 месяцев назад

      ​@@vitalyl1327engineering is just an applied science, legal obligations are predated by engineers lol

  • @scrashthepunkstar
    @scrashthepunkstar 11 дней назад

    I'm self-taught but got a computer science degree and I've been with one of the big software companies for almost 20 years. These recommendations are spot on. I made these mistakes at the beginning and learned the hard way. Good job!

  • @JamesHoyland
    @JamesHoyland 7 дней назад

    Great video. I don't work as a developer but I am a scientist who has developed a lot of software over the years as part of my work. I've had to learn a lot of these points along the way! Interesting though that all of these tips actually translate very well to generally good habits outside of software development!

  • @1495978707
    @1495978707 10 месяцев назад +6

    1. The opposite side of this is premature optimization. Yes, you should take some time to draft how your code should work and orgabize things in a way that makes sense, but you also need to get to implementing, or all that planning is worth nothing. Plus, stuff comes up, plans need to be changed. So it's important to find a balance between not looking ahead and looking ahead so much that you get nothing done.

    • @dynogamergurl
      @dynogamergurl 10 месяцев назад

      This is definitely something I struggle with even in traditional storytelling and writing. There’s a fine balance and some it helps to have a generalized section like a template and fill in the relevant sections.
      It makes it easier to commit out sections that don’t work or still need some more lines to work. It sounds odd but it sometimes helps to write the beginning and end and meet in the middle

  • @professorquarter
    @professorquarter 2 месяца назад +10

    CS grads talking down on self-taught is wild. They should ask those of us in Electrical Engineering what we think of software "engineering".

    • @holdenmarkymark33
      @holdenmarkymark33 2 месяца назад

      What do you guys think of software engineering?

    • @professorquarter
      @professorquarter 2 месяца назад +2

      @holdenmarkymark33 Mostly, it's seething about how CS people suck at math (and everything except CS stuff, really) yet get paid more on the top end. There is also a lot of resentment that the term "engineering" is used when it doesn't touch on common engineering staples common to the traditional engineering degrees.

    • @holdenmarkymark33
      @holdenmarkymark33 2 месяца назад

      @@professorquarter hahaha, you must have met some of the "senior" software engineers I work with. I'm no genius or math whiz, but some of these front-end cats are embarrassing XD

    • @professorquarter
      @professorquarter 2 месяца назад +1

      @@holdenmarkymark33 Yeah, they must be especially non-mathy. I think the math stereotype has to do with a lot of CS degrees only requiring up to Calc I or II, which are actual high school subjects whereas ABET engineering degrees all require multivariate calculus, differential equations, and linear algebra as well at a minimum (most often more than that. I was required to take a basic stochastics class at a minimum as well as what amounted to applied diffeq + LA twice, not to mention the actual content).
      In fairness, I have met a lot of math undergrad -> MSCS people working in logistics, financial, etc. software and the like.

    • @holdenmarkymark33
      @holdenmarkymark33 2 месяца назад

      @@professorquarter honestly, it's an extremely rare case where I have to apply any mathematical concepts beyond discrete math. I have done zero calculus for work, but then again I work on commerce systems, nothing cool like rocket ships (yet).
      Mostly basic arithmetic.

  • @keithrobinson2016
    @keithrobinson2016 10 месяцев назад +4

    It's not all "just syntax"

    • @JKBockstael
      @JKBockstael 9 месяцев назад +1

      Given the large number of programming languages that are basically shades of C, it can seem like it's all just syntax. From time to time you'll come across the work of someone who thinks "it's just syntax" and writes C code in Python, it's a good exercise in controlling your murderous urges.

  •  20 дней назад

    I'm in the middle of a re-design of some core features of the system, due to memory leak. We switched off the feature, and yes, I'm currently writing a huge PR. Sometimes we need'em! But I've enjoyed the video, and agreed with you that software development is a slower process then everybody thinks.

  • @alancito98
    @alancito98 10 месяцев назад +7

    You know something cool about software industry, it's no matter what you background is, if you have the knowledge you can even make your own startup

  • @luid705
    @luid705 10 месяцев назад +5

    Im lucky to have a software engineer as my mentor and all these tips are the same advice he gives me, im starting out with learning C# right now…I picked the self taught route because college is expensive, and it takes time away from my responsibilities as I have a mother who I help out financially do to her health problems. Its pretty sad that theres people hating on the subject of self taught developers…sorry but not everyone has the opportunity to go a get a degree, I have found something I want to do as a career and im doing my best with what I have.

  • @fulconandroadcone9488
    @fulconandroadcone9488 10 месяцев назад +6

    I 50s in and as self thought developer it escapes me how engineer lead could not comprehend client side caching. Good self thought devs have a proven track of will to learn and study new things on there own, school grads have a track record of passing exams.

    • @paxsevenfour
      @paxsevenfour 10 месяцев назад +1

      Respectfully, if I may offer some feedback, the “how” you say things are just as important (maybe even more so) than the “what” you’re saying. You may not mean for any negative or unhelpful tone to come across but, for example, your message sounds like you may have a chip on your shoulder about CS grads. I’m not saying you actually do but the tone of what you say can communicate that even if it’s unintentional.
      The soft skills of dealing positively with people, teamwork, communication, etc are equally as important as the hard/technical skills. Just my 2 cents, sir! 😊

    • @fulconandroadcone9488
      @fulconandroadcone9488 10 месяцев назад

      @@paxsevenfour I do agree with what you say, my storie is that I trusted people too much and it shows more then I'd like. I don't have anything against the students, it not there fault that none really cares about making anything of quality. I worked for under a lead engineer who complained about response size and could not comprehend that client side caching exists and you are not limited to 5mb on a browser.
      Lets just say I have a hard time trusting people these days. It's not even that they don't know, they don't want to know. Or don't want to look stupid.

    • @retagainez
      @retagainez 7 месяцев назад

      @@fulconandroadcone9488 Students don't learn the "trade" side of writing code. In my University I had ONE course that maybe mentioned any semblance of code quality as a brief aside in a lecture. That was my software engineering course where we developed a project for stakeholders for an entire semester. One lecture mentioned agile, another unit testing, one talked about assertions, design patterns, and some about Git practices. And even that was in passing and not really remarked upon past that.

  • @mandisaplaylist
    @mandisaplaylist 6 месяцев назад

    2:30 I remember one public opensource project where I submitted some changes neatly separated into multiple cohesive commits and they asked me to squash them into a single commit. Other project regularly dirtied their commits with noisy formatting changes, making it harder to make sense of the changes in the commit. So some "project management" out there can be exhibiting this sign you are talking about here.

  • @kernelpanick636
    @kernelpanick636 5 месяцев назад

    I catch myself doing things like this a lot. This just helped me come to the realization that taking things slowly can help me get farther in huge ways. Very helpful video

  • @haxi52
    @haxi52 10 месяцев назад +6

    Self taught for almost 20 years, I see just as many "traditionally educated" devs make the same mistakes. It doesn't matter how you learn it, if you are truly passionate about coding.

    • @jonaswatson533
      @jonaswatson533 6 месяцев назад

      A developer is not a computer scientist or a computer engineer. A computer scientist or engineer can be a developer, but not the other way around.

  • @elliejohnson2786
    @elliejohnson2786 8 месяцев назад +3

    That first comment is literally, "I don't think people who are good enough to self-teach themselves skills should be allowed to work in the industry". Actually the most insane positive I've heard on education regulation in my life.

  • @Lorenzo-pw7dp
    @Lorenzo-pw7dp 5 часов назад

    Not the topic of the video at all, but this is the first video I saw of yours, and I might say the background lighting and color are just perfect dude, you nailed it

  • @GeoffCanyon
    @GeoffCanyon 23 дня назад +1

    Yes, learning a new language is a small thing if the language is so similar that the difference is just syntax. The same can't be said for learning a language like J, or LISP, or Forth. If the language *isn't* just a different syntax -- if it approaches programming in a different way entirely -- then it's a mind expanding experience and (IMHO) well worth it.

  • @CertifiedDoc
    @CertifiedDoc 10 месяцев назад +3

    I think it's pretty funny that somebody with a CS degree would call out self-taught developers for not being "real engineers", call himself specifically a "software engineer," and conveniently forget that computer science is a different discipline from a software engineering degree.

  • @fmachine86
    @fmachine86 9 месяцев назад +3

    None of these things are something an experienced programmer does, either self taught or traditionally educated. This is a sign of an inexperienced dev.

    • @halivudestevez2
      @halivudestevez2 3 месяца назад

      everyone does it, until regulated by a lead or supervisor

  • @vytorbrb3568
    @vytorbrb3568 9 месяцев назад

    Here is your summary👍:
    No 1: "Worrying only in making it work" (1:24)
    No 2: "Doing huge code-base changes at once in a PR" (2:29)
    No 3: "Learning excessive languages leaving the fundamentals of programming aside" (4:35)
    No 4: "Working on too many tasks at once" (6:09)
    No 5: "Not carrying or neglecting critiques" (7:15)

  • @rusmaakatupal4723
    @rusmaakatupal4723 9 месяцев назад

    I feel like organization issues are what slowed me down the most.
    The bigger something gets the more organized it needs to be in order for it to fit all in your head. Abstract classes are like forshadowing a story and it needs to makes senses from a to z to be a geat story.

  • @tosgem
    @tosgem 8 месяцев назад +1

    Another "qualified" person here who absolutely does not judge the self taught! Plenty of great colleagues I've had over the years have come to this point through different paths, not all university. I've trained plenty of graduates who come with their own problems. Besides all of this, we are ALL self taught in huge areas of our knowledge because tech changes so much, and no university education is a perfect fit for any job. We all need to self develop, increasingly as your career goes long

  • @Spekplant
    @Spekplant 4 месяца назад

    This advice does not just aplly to coding but in so many other aspects of product development, great post thank you.

  • @brianconners5216
    @brianconners5216 2 месяца назад

    This is excellent advice, I wish this video existed back when I moved back into development. I learned this all the hard way and embrace it all, I think you might want to market this to regular developers, I've training 400 developers with Comp Sci degrees and all of these are classic rookie mistakes they make almost as often as the self trained.

    • @TravisMedia
      @TravisMedia  2 месяца назад

      Thanks for sharing. If you ever want to come on a call and share with a group us these classic rookie mistakes, let me know (support@travis.media). It would be helpful to hear