Top 10 Types of Software Developers

Поделиться
HTML-код
  • Опубликовано: 9 июн 2024
  • Freelance Coding is the way in 2024! Learn How: www.freemote.com/strategy
    / aaronjack
    #coding #programming #javascript

Комментарии • 910

  • @AaronJack
    @AaronJack  7 месяцев назад +3

    Free Beginner Programming Course
    coursecareers.com/a/aaronjack
    Free JavaScript Cheat Sheet
    dontforgetjavascript.com/
    Free Coding Advice (We'll Send you a Video)
    aaronjack.dev

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

      I dont agree with in terms of data scientist. Chatgpt Did not written in Python.
      The GPT-2 source code is written in 100% Python. The model is based on Tensorflow and NumPy which are written using C and C++.
      So data scientiest cannot develop engine or web app or backend.! So two types of ds are one just use existing predifened lib (worst one)
      They can write their lib contribute Python (average). You said that 80 percent of a data is unstructured. How a fucking data scientiest can read millions of images (you can use haskell ruby c C++) or you can make data dd in haskell faster than python. Average Python ds needs to spend two years to learn haskell or c. In this days every fucking thing is called a.i even you said that data scientiest developed chatgpt with Python. How this fucking frontend written how they deployed this huge app to all world without js or some kind of js library. How they developed backend mvc mvvm which design pattern they used. What is request response time. Caching backtracing logging ?parttitioning all that data. What is high cohesion and loose coupling types ask your ds who developed chatgpt assuming they are data scientist. Data science is just a tool and algorithm within huge application. Yes you are write math behind it too important. But you talked as if they are earning the best Salary.😘 After learning Python everyone can become a so called data scientiest that is aşk! 90 percent of then not even a software developer. Ask dsa system design bfs dfs. Make eda train test split put aşk supervised models into for loop look f1 roc curve and say that they are the best. Absulately rubbish. Please use for nlp haskell and Python. In haskell you can read image convert text write your own nlp compiler. In python pip install bla bla bla please find MR one python nlp dev can make same job in haskell within 20 days after this response. I think you cant find. But ı can make nlp with Python while one of my is not opened within 30 minutes

  • @jasonl9266
    @jasonl9266 3 года назад +3467

    The people who write systems and libraries from scratch for other developers are truly gifted.

    • @tasheemhargrove9650
      @tasheemhargrove9650 3 года назад +134

      Exactly. Of course the people who write systems level software are great; that goes without saying. But as someone who's still in the process of learning all this stuff, I always find it interesting to look at code I'm using.
      For example, a lot of times I'll open a Java file written for Spring or Jax-RS so that I can understand what a certain class or method is for, but I get a glimpse into how the developers at Oracle or whatever framework I'm using designed their software. The way these people design software is amazing. For the front-end, sometimes I'll take a quick minute to look at code in the developer's tools on popular websites. It's interesting to see how these devs organize their html and css.
      The JavaScript never makes any sense though. I'm assuming some type of algorithm is used to change the JavaScript shown in the console for security, because all you can see is a bunch of one-letter variable and function names. I doubt a team of devs would be able to understand thousands of lines of code with function and parameter names like "function a(b, c)".

    • @MrWhoAd
      @MrWhoAd 3 года назад +133

      @@tasheemhargrove9650 The JS code you saw was actually transpiled and minified for browser compatibility and reduction of file size.

    • @tasheemhargrove9650
      @tasheemhargrove9650 3 года назад +24

      @@MrWhoAd Ah, that makes sense. Thanks for letting me know that.

    • @dawoodmorriskaundama9320
      @dawoodmorriskaundama9320 3 года назад +34

      Most have PhDs in CS and Maths

    • @chexblu
      @chexblu 3 года назад +11

      @@MrWhoAd Hello! It looks like you've got a lot of knowledge about programming. I'm starting to learn python now that I ended my college semester (I literally just started), could you give me an example of a good project that will make me learn a lot of stuff? I thought about making a calculator but I already did that on C++ some months ago so I don't know

  • @dal2452
    @dal2452 Год назад +130

    As a software engineering grad student, I think systems programming is the hardest. Machine Learning isn't too difficult if you have a decent math foundation. But memory management and having to actually understand how different types of hardware work, are very specialized skills that don't come up in other areas of programming, let alone other industries. The people who wrote the Linux kernel and GNU must be absolute gigachads.

    • @dev-b2976
      @dev-b2976 Год назад +13

      Couldn't agree more, all those ml engineers just use framework libraries and they are also the one to get fired as even company do not know what they want, kudos to people who write libraries, kernel etc🙌

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

      Yeah you can’t really top the software that literally allows your hardware to work and run programs

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

      In Industry, machine learning is not just math, its the application of maths and it doesn't traslate exactly from academics to the industry. It is lot harder. But yes, people who write those libraries are the real MVP

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

      what is "systems programming"?

  • @williamkatcher2469
    @williamkatcher2469 2 года назад +637

    The concept of "back end" is only really applicable to web development. Nobody who works on embedded systems, for example, calls themselves "backend embedded software developers", they are just embedded software developers.

    • @LangstoniusRex
      @LangstoniusRex 2 года назад +31

      I would disagree.
      The guy writing my libraries might not be the best choice for implementing the UX.
      And im seeing this distinction more and more.

    • @Chris-io2cs
      @Chris-io2cs Год назад +11

      Yeah this guy seems to mostly be a front end dev but hey that's fine.

    • @Chris-io2cs
      @Chris-io2cs Год назад +10

      @@LangstoniusRex When theres no server-client relationship involved I would just call them an embedded developer that does UX. But in reality I don't think it matters too much where people draw disctintions as long as it makes some sense with a given job description so hopefully me saying that doesn't make me sound like some programming domain naming elitist...

    • @waveboard111
      @waveboard111 Год назад +6

      Most if the time i agree with you, but for instance for my graduation, i had to make a bluetooth interface for an embedded system, so i had to make a front end app, and a backend bluetooth server to execute configurations and and give responses to data requests.

    • @BDyoungster1997
      @BDyoungster1997 Год назад +4

      ............... what!?
      bruh
      everything is dependent on the system, there are no concrete things

  • @deeZee14
    @deeZee14 3 года назад +846

    Time Stamps:
    1. Web Dev 0:43
    2. Back End Web 3:01
    3. Back End Micro Services 4:39
    4. Data Engineer 6:55
    5. Sys Admin / Dev Ops 9:01
    6. Back End Embedded Systems 10:46
    7. Back End Performance Developers 12:49
    8. Ethical Hackers / Pen. Testers 14:19
    9. Game Developers 15:51
    10. Data Scientist and Machine Learning 17:33
    For people who might need them

    • @dearadulthoodhopeicantrust6155
      @dearadulthoodhopeicantrust6155 2 года назад +2

      Thanks

    • @ballinspalding11
      @ballinspalding11 2 года назад +18

      Where are app developers, damn

    • @deeZee14
      @deeZee14 2 года назад +24

      @@ballinspalding11 Being missed
      Press F for respect
      F

    • @AndriiMuliar
      @AndriiMuliar 2 года назад +2

      And flashers and javascripters

    • @233kosta
      @233kosta 2 года назад +3

      @@AndriiMuliarLol I learnt to use JS in about 3 hours and I'm not even a "real" programmer 🤣

  • @alexgraham6205
    @alexgraham6205 2 года назад +396

    Being new to programming and looking to pic a language to learn, this feels like I'm about to choose a new character in an MMO. Thanks for the great vid!

    • @AaronJack
      @AaronJack  2 года назад +37

      💪🏼

    • @SoundSpeeding
      @SoundSpeeding 2 года назад +54

      Don't worry about it too much! You are after all initially not much learning a language, but learning to program.
      In the long run, the particular language doesn't exactly matter, as you should be able to quickly pick up whatever is the right tool for the job.
      And a professional programmer while know more than just one language.
      Thus don't worry if you learn Javascript or Python or Go or whatever first, just pick one and get to it!! So long as it is fairly mainstream.
      Nothing either with picking a more niche language as your first language too, such as Matlab or R, if those more closely align with your current line of work.

    • @CE-vd2px
      @CE-vd2px 2 года назад +9

      I confirm. I learned python over a few months and was able to pick Java up in about 30 hours. I can't problem solve with it yet but I can write a class in Java with proper syntax. It really isn't a huge deal to learn a new language and I am very surprised.

    • @jathebest2835
      @jathebest2835 Год назад +3

      @@SoundSpeeding How long have you worked in IT?? Your comment gives me a big encouragement..thank you..!

    • @jop7479
      @jop7479 Год назад +1

      @@AaronJack what's another name of the title 'systems developer' in terms of this industry. Just need some clearance from a pro in the the field.

  • @mikekelly6774
    @mikekelly6774 3 года назад +216

    In the 90's there was only one kind of developer that the business expected to do all 10 of these - Web Master. Today when the business doesn't want to pay for 10 developers they just advertise a single opening for "rock star full-stack developer."

    • @niftyp2320
      @niftyp2320 2 года назад +8

      Absolutely, working for smaller businesses has their own benefits but you gotta be careful. At the very least, they better understand you're taking care of multiple positions and make accommodations one way or another

    • @themaggattack
      @themaggattack 2 года назад +19

      Key words "doesn't want to pay." Yep. In the 90's businesses HAD to pay BIG MONEY for a Web Master. Now they just take them for granted and treat them like a dime a dozen. So condescendingly calling them "Rock stars." Insult to injury. PAY THEM!

    • @houmy9041
      @houmy9041 Год назад +4

      full stack doesn't encapsulate everything, thats what non-tech people think is an "all round developer" but its just front end and back end. If you want a true full -stack you'd have to do front end all the way to the embedded chip it runs on. It's impossible to do all the roles in one.

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

      nice! I forgot about that title "webmaster" nice nice

  • @LucasNunesK
    @LucasNunesK 3 года назад +752

    There are 10 types of people: those who understand binary and those who don't

    • @MarcillaSmith
      @MarcillaSmith 3 года назад +44

      Wait, what about the other 1000?
      EDIT: typo

    • @mikasd9
      @mikasd9 3 года назад +4

      @@MarcillaSmith lmao

    • @dronestrikejr
      @dronestrikejr 3 года назад +1

      2

    • @VictorNascimentoo
      @VictorNascimentoo 3 года назад +94

      There are 11 types of people. Those who understand binary, those who don't and those who are so fucking tired of this joke.

    • @neptunemike
      @neptunemike 3 года назад +10

      @@dronestrikejr the joke is 1 and 0 he didn’t really mean Ten

  • @AaronJack
    @AaronJack  Год назад +23

    Watch my "Zero to Freelance Programmer" Strategy Video
    freemote.com/strategy

  • @sirstroam
    @sirstroam 2 года назад +401

    Some of the ones you've missed.
    Mainframe developers - Mostly older guys on the verge of retirement or from India where it is still taught. Used in large old established companies. COBOL and JCL is what is used. Very simple languages on very old and arcane systems.
    Machine operator - Programs CNC, and other industrial equipment operating instructions. Uses G-code, M-code, and other machine-specific languages.
    Quality Control Testers - Primarily write testing suites. Not very well respected.
    Graphics rendering developers and sound technicians- Usually very good at math, loves talking about shaders/audio stuff, and frequently found working on game engines. It's only when they mess up that you notice their work.
    Quantum computer programmers - Only a handful in the world.

    • @HardmodeEnabled
      @HardmodeEnabled Год назад +39

      As a QA guy, that hurt man. So many times I say, it's not ready "but we got deadlines..." - then surprised when everything is broken.

    • @user-vs6kl8ph5v
      @user-vs6kl8ph5v Год назад +8

      ones may not respect qa, ok, go with apps games and websites completely bugged up)

    • @aaditiwar1
      @aaditiwar1 Год назад +4

      Quantum Computer programmers representtt

    • @ReggieMisFit
      @ReggieMisFit Год назад +2

      @@aaditiwar1 provide a roadmap, how does one end up being one

    • @aaditiwar1
      @aaditiwar1 Год назад +21

      @@ReggieMisFit you start out as a 9th grader interested in quantum physics but because you have Indian parents you gotta go into CS, so as a compromise you do quantum computing
      fr tho if you want a good starter search up Qiskit, it's IBM's quantum computing sdk and theres a tons of tons of tons of explanations of quantum computing guides on how to learn qiskit

  • @julienperrier657
    @julienperrier657 3 года назад +68

    I love your videos' vibe. It's always got a chill atmosphere and the content discussed is always really well explained. Keep it up!

  • @user-ho5pm4jn4h
    @user-ho5pm4jn4h 3 года назад +100

    The quality of this video is just insane. You are making some real progress. Love your content. Keep it up!

  • @gargervon8697
    @gargervon8697 Год назад +20

    Watch an old video game developer who was making games for home computers and consoles in the 80s and you will see how sharp they had to be to give us some of our favorite experiences at the time.

    • @glowerworm
      @glowerworm Год назад +6

      The guy who wrote Rollercoaster Tycoon wrote the entire game, GUI and all, in assembly.

  • @scrizzjunior
    @scrizzjunior 2 года назад +198

    I think software engineers who work on safety critical systems deserve a mention in a list like this. Engineers who work on flight control systems for planes, stuff for NASA (space shuttle), medical equipment, etc where software defects can cost lives. Although there is some overlap with some of the other categories on this list, the processes and techniques used to write safety critical software are very specialized and rigorous.

    • @Bjokac
      @Bjokac 2 года назад +15

      I know a guy who writes C code for life-maintaining ventilators and what he does falls neatly into the embedded software developer. The software is so critical they have to use certified compilers, so GCC is out of the way for example.

    • @Maklaka
      @Maklaka 2 года назад +19

      @@Bjokac We use GCC in the train safety systems space but are limited to language features from C90/C99 and even a subset of those. Collections libraries are out the question because dynamic memory allocation is forbidden past runtime, for example. The code is strictly filtered through static analysis tools to ensure that no bugs get through and that the code is written as platform independent as humanly possible. The same code runs across 3 different OS/hardware platforms and they crosscheck eachother's memory on a 1/3rd second basis.

    • @drunkenmaster389
      @drunkenmaster389 Год назад +6

      Good point, but he does talk about Embedded Systems Engineers which safety systems would fall into. He just doesn't specially mention safety software on electronic embedded systems.

    • @carrot7868
      @carrot7868 Год назад +2

      Now I'm thinking about the fact that all these programs were made by humans and it scares me.

    • @augusto256
      @augusto256 Год назад +1

      Those are called Critical Mission Developers

  • @g.4279
    @g.4279 Год назад +60

    Embedded haven't been using Assembly for a looong time. The main reason is that compilers have become really good. When you find a good trick to speed up code in Assembly you just add it to your compiler. Occasionally they might decompile and tweak the machine code so it helps to know it. But devtime is way too important to attempt to handwrite anything major in machine code.

    • @salsamancer
      @salsamancer Год назад +4

      Yeah most embedded vendors just ship a modified version of GCC as their toolchain and call it a day

    • @MynecraftCZ
      @MynecraftCZ Год назад +3

      that's not quite true. there are cases where you need to write in assembly. especially when you're writing code for signal processing applications. it can be very small code where every instruction matters.

  • @FrankOdongkara
    @FrankOdongkara 3 года назад +359

    Great video quality. I do disagree almost entirely with the idea that you can rank complexity by category. I personally started with embedded systems, then ML/AI, then Frontend+Backend+DevOps+DataAnalyst, and in my experience how complex the work I'm doing always depends on the project scope. For example, it's easier to train an AI model and load it to an ARM chip than to build the interface of a service like Uber.

    • @n30v4
      @n30v4 3 года назад +13

      Cause you cant rank this up. I do or done all fields (also I never heard of "back end XY" developers) and programming a hardware can be easy or complex like programming a button in your app. Q

    • @fredi1505
      @fredi1505 3 года назад +4

      Completely agree

    • @zuhairs7929
      @zuhairs7929 2 года назад +9

      Maybe you missed his point, he compares complexity between these professionals one on one not based on one project but a lifetime of projects, for example training an AI model is not the same as making it from scratch aka inventing this algorithm. Also dabbling with systems programming for one project doesn't mean you can compare a professionally paid systems developer like one who works on the kernels, and OS such as Windows, Mac or Linux to a front end web developer complexity wise (not size of project wise). Sure Uber is huge but it has hundreds or thousands of employees working on it's front end alone. Does that make front end harder than coming up with a new AI algorithm ? Does it mean designing and making a web page is as hard as making a gpu driver ... This is not a comparison of projects but paths.

    • @disha2932
      @disha2932 2 года назад +6

      Now that's a full stack worth having

    • @Terszel
      @Terszel 2 года назад +9

      I agree I would say that the range of complexity does differ by category though. I.e. I dont think you could come close to the most complex FPGA design complexity in web development, each category has a ceiling I feel like and that ceiling differs by category.

  • @noeldev
    @noeldev Год назад +95

    I would say the difficulty in game development (solo, or in small teams mainly) is that you have to learn way more than just coding, game and level design, graphic design, music, story telling etc, because you have to be good at many things, it makes it hard, even if you are a excellent programmer, unless you got pepole for the other parts, your game is very likely to just fail
    atleast that's just my opinion, being on the lower end of the game dev spectrum

    • @DiamondZombie
      @DiamondZombie Год назад +8

      And if you are creating it from scratch you need to do shit toon of Math and deal with memory and specially dealing with storing entities or which way to handle them them the most efficient way.

    • @NameSpaceVoid
      @NameSpaceVoid Год назад +3

      @@DiamondZombie True but i don't know why you'd ever do that these days unless it's just for the challenge when tools like Unity and Unreal are available

    • @DiamondZombie
      @DiamondZombie Год назад +3

      @@NameSpaceVoid True, but aside for that 2D is still do-able I think easily without tools like Unity since easy to use 2D libs exist for DX and OpenGL, I think Vulkan has them to not sure, but having the benefit of engine is that you can export it to anything like Metal (Apple). I agree with you, tough I think that challenge of it is very fun and you can learn lot's of things!

    • @anandsharma7430
      @anandsharma7430 5 месяцев назад +1

      Game developers are a different species. As an ex front-end, ex back end, ex data engineer turned system admin, I find game development impossibly hard, just below actual computer scientists, specifically for the things you mention (4-5 different skillsets) and mainly for the fact that you cannot easily automate game testing. You can do a lot of unit test automation and all that, but you have to play the game over and over and over a million times to see how it actually plays on real hardware on a real computer (with all kinds of configurations). I am somehow just unable to imagine myself ever doing something so repetitive. Certainly a character defect in me, but I also see 95% of the population unable to do game development.

  • @Isaac-sf9sg
    @Isaac-sf9sg 3 года назад +11

    I was just thinking yesterday I wish you had a video explaining the difference with all of them! Thanks 🙏🏼

  • @stevewhitiker3590
    @stevewhitiker3590 2 года назад +3

    I have been wanting to start a new career in Software Developer and this is one of the best videos I can recommended to somebody if they want to understand the different types of Software Developers out there. Thank you Aaron.

  • @MarcillaSmith
    @MarcillaSmith 3 года назад +198

    Less Complex End
    1. Web Developer
    2. Back End Web
    3. Back End Micro Services
    4. Data Engineer
    5. SysAdmin / DevOps
    6. Back End Embedded Systems
    7. Back End Performance Developer
    8. Hacker / Pen Tester
    9. Game Developer
    10. Data Scientist / Machine Learning
    More Complex

    • @APsupportsTerrorism
      @APsupportsTerrorism 3 года назад +6

      FPGA is another niche.

    • @ahbabhossain2994
      @ahbabhossain2994 3 года назад +7

      thanks! I was getting bored halfway through

    • @maxdegreat566
      @maxdegreat566 3 года назад +5

      Blockchain is another

    • @billowen3285
      @billowen3285 3 года назад +2

      Game dev at 9th? Curious

    • @billowen3285
      @billowen3285 3 года назад +2

      @Arnav Vijaywargiya I would've thought it may not require the technical computer knowledge of pen testing

  • @stropheum
    @stropheum Год назад +35

    Very good video!
    As a career game programmer, I would add a caveat to your point about pay. I think pre-5 years you're definitely correct about short pay, long hours. It's still a livable wage by all means, but the problem is that a lot of larger studios will dilute your pay with long hours so your effective hourly rate is very low. The plus side is, as a "veteran" game developer, you have a lot of experience, you've built trust, people know who you are. Most importantly people are willing to pay you bigger $$ because you've got shipped titles under your name. They know that you're an asset, not a gamble. The largest churn in the game industry is people fresh out of college, getting their 1-3 years of experience under their belt and working their way to mid-level. Senior veteran game developers are very stable, have very good pay, and that's usually because they've forged themselves into a rockstar along the way. One thing I love about the game industry is that nobody can really coast by and get a cushy job at a high level position without knowing exactly what they're doing and being strong collaborators.
    It's definitely tough at first, but if anyone is discouraged about game dev as a career, I will say this: I burnt out of my first studio gig, and went into enterprise software, and it was significantly easier, but I had an itch that I just couldn't satisfy. The passion wasn't there, the energy of my coworkers felt so low, I felt like I was easing myself into an early coffin.If you can tough it out, the payoff is so worth it

    • @scifyry
      @scifyry Год назад

      I'm back in school for mobile app development but not for games. Do you think there is decent side money to be made in game dev?

    • @stropheum
      @stropheum Год назад

      @@scifyry depends on what you mean by side money I guess. Game dev can be hard. Only doing it on the side might be harder than doing it as a main gig

  • @Jeeperanthony
    @Jeeperanthony 2 года назад +9

    Would love to see videos like these include something like PLC / machine programmers. That field could benefit tremendously from many of the tools of the modern developer.

  • @SulaimanBotha
    @SulaimanBotha 3 года назад +8

    Man, I need to step up my video editing game. Yours is on another level

  • @aditnegi2577
    @aditnegi2577 3 года назад +19

    You can scale monoliths horizontally too, and backend web vs backend microservices isn't a different type of developer according to me. You fit into whatever architecture your company uses. Example stackoverflow is a monolith and Netflix is a microservices based backend, a good backend engineer will fit in both these roles.

    • @yohanasfaw5563
      @yohanasfaw5563 2 года назад

      Lol scaling a monolith is the worst thing you can do. So many headaches come with that. I think we can safely separate people who build Monoliths compared to people who build good architectured microservices

    • @aditnegi2577
      @aditnegi2577 2 года назад +6

      @@yohanasfaw5563 A lot of companies have there apps written in a monolithic architecture that might be for a variety of reasons. What if one day you need to serve 50-60k thousand customers you can’t rewrite your app. Vertically scaling becomes very expensive after a point you need to scale horizontally in those cases.

    • @A5tr0101
      @A5tr0101 Год назад +1

      Microservices project can all be in one repo like a monolith too, its just they are deployed as separate services

  • @eberronbruce1328
    @eberronbruce1328 3 года назад +169

    Forgot an important software developer these days. Mobile Developers

    • @brd5548
      @brd5548 3 года назад +25

      I'm pretty sure mobile devs can be categorized as front end devs nowadays. Many companies now have front end devs do their app development, thanks to more and more mature tooling ecosystem in this area, specifically, for example, you can find react native, flutter, which are both great platforms for native app development.

    • @yokulen545
      @yokulen545 3 года назад +6

      @@brd5548 lmao

    • @hentie5371
      @hentie5371 3 года назад +13

      @@brd5548 While yes Mobile dev are technically frontend dev, but normally when we talk about frontend dev we really means web dev, which is quite different from native mobile dev in terms of the knowledge involved.

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 3 года назад +6

      mobile devs = underrated devs imo lol.

    • @murdomeiring2934
      @murdomeiring2934 3 года назад +2

      And Fullstack, sure it is just 1 + 2, but should also fit in the complexity scale. I was thinking at 3rd or 4th.

  • @nikilragav
    @nikilragav 2 года назад +25

    Overall, really nice breakdown!
    I think control systems might be missing (for robotics or electronic sensor systems. E.g. thermostats or self-balancing robots). There's some overlap here with embedded systems.
    I also think you can be in Arduino land without ever touching real embedded systems concepts like interrupts (I think this is a huge shame because they're actually more like how humans think) or more complex concepts like RTOS.
    I also make a distinction between people who do matrix math (ML, data science, signal processing, robotics people) vs people who do discrete math / combinatorics (routing algorithms, trees, shortest path kinds of things) vs backend data mangling stuff vs DevOps vs people who connect pre-existing APIs (can be front or backend) vs front-end UX

  • @seanmumford2358
    @seanmumford2358 Год назад

    This cleared so much of the mystery up and was easy to watch, this guy nails it🔎

  • @apexhacker346
    @apexhacker346 2 года назад +2

    Listen Erlang has been a life saver for me when learning about scalability

  • @Radbrad869
    @Radbrad869 Год назад +3

    My boy said php was the most common backend language 😂

  • @AaronandAsh
    @AaronandAsh 3 года назад +3

    Hey Aaron,
    Thanks for this video! I learned alot.
    Aaron

  • @KDSBestGameDev
    @KDSBestGameDev 2 года назад +21

    I pretty much worked most of the roles once in my 25 years in the industry. If you become an absolute expert in frontend dev than your work isn't easier nor harder than a pentester or game dev. It is just different. I still kinda agree that the fundamental knowledge to get started might be higher for the later example.
    And I hat frontend dev, moving around pixels to match a psd file for example gives me more sleepless nights than squeezing the last ms or bandwidth out of a software.
    We all have our preferences.
    I liked the video! Got a new sub.
    Also a freelancer btw.

    • @AaronJack
      @AaronJack  2 года назад +2

      Thanks for sharing, Kevin👏

    • @edboss36
      @edboss36 2 года назад

      What was the most fun and least fun category for you?

  • @deepdaddy1208
    @deepdaddy1208 3 года назад +2

    Miss the vids man, awesome editing

  • @DrunkenUFOPilot
    @DrunkenUFOPilot 3 года назад +18

    Missing from the list: Graphics Software Developer. This could be considered a specialty within Front End, or Games, but really does seem to be its own thing. Lots of OpenGL, Vulkan, DirectX12, Metal and loads of libraries for dealing with meshes, objects, animation, almost all in C++ or sometimes Rust, Java.
    WebGL, Babylon, Three, and various Javascript libraries on top of those for working with Front End teams. Lots of 3D math, though no need for physics-level math jocks, since existing libraries take care of most of the details, but some ability to deal with vectors and coordinate systems.
    Having an eye for color, lighting, composition is helpful, though a hard-core left-brained coder will usually work with a hard-core right-brained visual designer to get things done. (I don't do that; I'm what you might call a "full stack" digital artist.)
    Understanding the hardware level of how things work is also good, since fast high quality graphics, especially in high end games, requires sling plenty of data around real fast. Can't waste time moving some data someplace only to copy it someplace else.
    Pays well, and the best part: playing with shaders all day long! Also one of the best areas of software development for impressing others, since you are literally making what others will see, tied only with Front End web developers.

    • @clemdemort9613
      @clemdemort9613 Год назад +3

      Yeah and some of the best programmers of all time are graphics programmers, ex : John Carmack

    • @abody6867
      @abody6867 Год назад

      Hey you seem very knowledgeable about this, can you send any contact info for you? I wanna ask some questions if you don't mind

    • @Bruhmoment135
      @Bruhmoment135 Год назад

      Interesting

  • @samuelmontypython8381
    @samuelmontypython8381 Год назад +4

    The "high performance backend developer" is known as a financial developer on Wall Street. It's apparently its own branch of development and those guys get paid enormous salaries to write super efficient and secure finance-related code in C. They're not normal people though, they're the kind of people that can tell you how many toothpicks are in a jar but can't tie their own shoes lmao.

  • @dzllz
    @dzllz 3 года назад +1

    Awesome breakdown! Really interesting

  • @scottisitt
    @scottisitt 3 года назад +2

    Very engaging video...and informative. Thanks for breaking this down for us!

  • @boris.karavasilev
    @boris.karavasilev 2 года назад +4

    Great video! I am deciding on which direction to go next after my bachelor's degree and this video made the options more clear. I will probably stick to web dev and go more in-depth and focus on scalable and bigger projects. I also like game dev a lot but if it is a lot of work for not so much money, it is probably not worth it.

    • @skymonkey30
      @skymonkey30 2 года назад +1

      Yeah unfortunately it seems to be one of those career paths that you have to enjoy more for the game creation and less about the money. Creating video games is a huge business Market and the pay for those people should never be low-balled.

  • @blaisetelfer8499
    @blaisetelfer8499 2 года назад +27

    I guess the first and second category both apply to me: full-stack web dev. It may not be as complex as AI or embedded systems, but keeping up with the ever-changing frameworks, languages and databases keeps me plenty busy.

  • @Slayer-33
    @Slayer-33 Год назад

    This is skanktacular my friend, this is helping me immensely.

  • @sebastianmartinez5508
    @sebastianmartinez5508 11 месяцев назад +1

    As someone who began learning python a few weeks ago after being undecided between programming and psychology, and as someone who has meddled with marketing and article writing, it excited me when you talked about how the front end connects user experience with coding. A light bulb lit up inside me because I saw a potential to connect everything there. Either that or data science. I have a burning desire to eventually connect programming with psychology one way or another.

  • @nevokrien95
    @nevokrien95 Год назад +9

    I learning datascince now and honestly the preprocessing is harder than model building.
    With established packages u can write the models from latest reaserch from scratch.
    It is math intensive but thats the fun part. I like tryinf new things and thinking of new algorithems. Even when they fail horibly

    • @PerteTotale
      @PerteTotale Год назад

      that's the point were the know how of applied math, physics, stats and domain knowledge obfuscates all dev tricks anyone might have learned.
      indeed smart preprocessing is craftmanship, and peta data number crunching monkey buzznezz and a waste of energy

  • @michaellatta
    @michaellatta 2 года назад +5

    Categories are pretty good. Some of the examples are a bit less cutting edge (but that may mean more quantity of jobs). I would add native mobile as a category though.

  • @major5maximus
    @major5maximus 2 года назад +1

    Bro, your explanations of most topics is 100% on point!
    Easy to understand and process. Keep it up brother.

  • @andreap9756
    @andreap9756 2 года назад

    I really enjoyed this video! Thanks!

  • @m3mee2010
    @m3mee2010 Год назад +3

    Great video. Web3 and blockchain programming including advanced P2P networks and smart contracts could be considered as an addition in the next 5 -10 years.

  • @brd5548
    @brd5548 3 года назад +35

    Finally, I can explain to my parents what I am doing in my job🤣! Jokes aside, I think this video summarizes up the general software development career pretty thoroughly and concisely. It does help me to explain my job to family and friends, great job, haha!

    • @mqsv
      @mqsv 3 года назад +1

      You should be able to explain what you do - just keep explaining at multiple levels. If you're both patient enough they'll get it :)

    • @Danielandradedance
      @Danielandradedance 2 года назад +3

      I'm a Wizard Mom & Dad just like I always wanted!

    • @electricimpulsetoprogramming
      @electricimpulsetoprogramming Год назад

      how you got your first job?

  • @colbymakaba7078
    @colbymakaba7078 11 месяцев назад

    Bro! this was insane, thanks

  • @pokadoodledoo9580
    @pokadoodledoo9580 3 года назад

    3rd video I've watched and so much value in your videos - subscribed and liked!

  • @petarpetrov198
    @petarpetrov198 2 года назад +4

    What a great and informing video I don't think anyone else has made something similair. I'm just wondering where do you think iOS/mobile devs fit in between these positions? Thanks again for the video.

  • @armanx2
    @armanx2 2 года назад +3

    I am not sure how that works in USA but here in Belgium where i am from , we devs do kinda all like front-end (even mobile) , back-end, db design , security , dev ops all together. It's called full-stack if you will and these are here the most required dev jobs.

  • @jordanatkins8841
    @jordanatkins8841 2 года назад +1

    Thanks for the awesome work Aaron!

  • @satyamgupta6030
    @satyamgupta6030 3 года назад

    great video brother absolutely loved it.

  • @swilwerth
    @swilwerth 3 года назад +14

    I have seen microservices written on C# for an stock exchange inner system.
    The underlying communication is always network but they often use a Message Queue (MQ) layer that simplifies the communication failure/busy handling scenario.

  • @BrendanMetcalfe
    @BrendanMetcalfe 3 года назад +5

    Dude your thumbnails are amazing 😂

  • @ErikaMartinez-mp7zj
    @ErikaMartinez-mp7zj 2 года назад +1

    Great the answer that I was looking for.

  • @kazuma8696
    @kazuma8696 2 года назад +1

    I want to start learning how to code and I came across your channel, your videos overwhelm me... But I can't stop watching them 😞

  • @tafellappen8551
    @tafellappen8551 2 года назад +3

    Indie game developers absolutely use existing engines like unity to make stuff. Its what most are probably familiar with and unless you have a specific reason to build your own engine, if your only goal is to get a game out the door and you have probably little if any income you would be absolutely insane to burn through ungodly amounts of time reinventing a wheel that already works perfectly fine for your needs.
    If youre an engine dev you are almost certainly working at a bigger company

  • @cato447
    @cato447 3 года назад +4

    That’s a really nice video for starting cs students

  • @themodernwaiter8455
    @themodernwaiter8455 Год назад

    It's so informative, thank you

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

    Great video! Some key points were highlighted that I hadn't heard anyone else discuss. Thank you!

  • @sevzen
    @sevzen 2 года назад +5

    just when I thought I couldn't be any more intimidated.

  • @thejoe7682
    @thejoe7682 Год назад +3

    I work in embedded systems and in my opinion is the most fun of all software development out there. I think you also need to be have an interest in electronics and hardware. I like fighting for bytes and testing my sw while running it on the hw in a lab and I wouldn't change a job in embedded for web, game dev, or any of the other ones 😁

  • @tacocat5774
    @tacocat5774 3 года назад +1

    Amazing video mate you deserve more views

  • @user-os5ww4xn9o
    @user-os5ww4xn9o 10 месяцев назад +1

    I'm a fullstack dev. When i was new, I used to think that front end was easier. The more experienced I got, the more I could see that front end web development is more difficult and demanding than backend.

  • @osc3892
    @osc3892 2 года назад +12

    From the thumbnail I kept reading "IO types" (inputs and outputs).. I was very confused

  • @Jbrandao10
    @Jbrandao10 2 года назад +5

    Some valid points but I’d specify something that you threw out there. Web Developer != Front End Developer. “Web sites vs Web apps” like you mentioned for example. Many different types of systems need a GUI. Which is where a front end dev would come in. Whereas Web Developers stay in the realm of browsers exclusively even using tools like Wordpress. Just my two cents.

  • @AsperTheDog
    @AsperTheDog Год назад +2

    Game engine developers are a funny group because they are basically toy makers but they make amazing stuff, like these developers are one of the main groups behind some of the most important optimization techniques like the fast inverse square root or memory arenas. I remember watching a conference about super efficient memory management made by John Lakos (one of the most important people in the whole history of C++) and he mentioned some of the techniques he structured in the C++17 standard had been in use for game engines for years. It's just amazing what they do, needless to say the fact that they not only work in low level but also have to learn to process data in dedicated hardware (GPU) just adds.

  • @DgreatChannel
    @DgreatChannel 3 года назад

    Im learning every videos you upload.. Thanks :)

  • @JeSus-hl6zj
    @JeSus-hl6zj 3 года назад +5

    Great video! Although I think you missed that AI models and algorithms are not implemented in Python or R, which are actually just the interface to them, but in C or C++

    • @sonicemitter6131
      @sonicemitter6131 3 года назад +1

      Wait, so would learning C++ be better for AI and machine learning? Assuming one wants to make money within 6 months.

    • @JeSus-hl6zj
      @JeSus-hl6zj 3 года назад +3

      @@sonicemitter6131 No. Decide weather you want to develop machine learning software or just be a machine learning software user. Both will require you to code, but the first one involves fast, compiled languages and tons of math and computer science knowledge and the latter involves probably Python and much less knowledge of what is actually going on. The usual job titles you see refer to being a USER, you'll just use machine learning algorithms, not implement them.
      So yeah, if you want to get a job fast, learn python and python machine learning libraries.

    • @sonicemitter6131
      @sonicemitter6131 3 года назад

      @@JeSus-hl6zj Thank you for the information. I have more research to do it seems.

    • @edboss36
      @edboss36 2 года назад

      @@JeSus-hl6zj so if I wanted to develop a ML software/alogirhtm (the one that involves a lot of maths and cs) will c++ be a good language for that?

  • @mentalview8703
    @mentalview8703 3 года назад +21

    Any time I watch one of this videos I'm really inspired. But I think you missed 2 things, Mobile and Desktop development. Even though we don't hear much about desktop developers these days 😅

    • @waleedeissa2270
      @waleedeissa2270 2 года назад +2

      I was thinking the same too. I could also add operating system developers and programming language designers.

    • @hj007
      @hj007 Год назад

      considering so many people are watching this on either a laptop/desktop or mobile phone makes it particularly amusing. You might be looking at a website from a webdev, but your browser is definitely a desktop or mobile application =)

  • @harry8040
    @harry8040 3 года назад +1

    Great video man :)

  • @LB-lz1ks
    @LB-lz1ks 3 года назад

    Great video Aaron. Cheers 🥂

  • @amineacademy1544
    @amineacademy1544 3 года назад +6

    for the AI newcomers: use google colab to train models (Tesla T4 /K80/ P100)and google drive to directly download your datasets into it

    • @danielniels22
      @danielniels22 3 года назад

      but why do i feel it runs each cell pretty slow? i mean, just run a cell that printis "hello", and the loading symbol is slower than jupyter notebook. did i do something wrong or haven't i correctly prepared my Colab settings?

    • @amineacademy1544
      @amineacademy1544 3 года назад

      @@danielniels22 my first guess would be server latency

    • @danielniels22
      @danielniels22 3 года назад

      @@amineacademy1544 ohh.. is it from Google Colab itself? or do i need to fix it?

    • @amineacademy1544
      @amineacademy1544 3 года назад

      @@danielniels22 there's nothing we can do about it really maybe getting a better net would help a little

    • @danielniels22
      @danielniels22 3 года назад

      @@amineacademy1544 ohhh okayy thank u... But i really wonder why people use Google Colab. Idk why, but i still feel Anaconda's Jupyter Notebook is faster. They also provide something about tensorflow-gpu... Maybe i did miss something about Google Colab? Do you mind to share insights maybe? THank youuu 🙏

  • @coolshegs5136
    @coolshegs5136 2 года назад +4

    Wow, this is amazing!
    So glad I came across this. I'm entering the tech world as a Data Analyst, but I'm impressed with the high demand for Software Developers.
    So, I've been asking if a Data Analyst could easily transition into the Software Dev world, but got no tangible response...
    But after watching this, I now know that Data Engineers & Data Scientists/ML Engineers, are also know termed "Software Developers".
    Now I can look forward to having a smooth career transition in the future. 😎

  • @eyrebear
    @eyrebear 2 года назад

    Nice video and in my experience most developers dont fit into a single one of these brackets but lay accross a few of them such as back end microservices and dev ops

  • @DivineMisterAdVentures
    @DivineMisterAdVentures Год назад +1

    Unusually clear source. Up to date pan-survey of computer science. Comments Rich.

  • @elijah4840
    @elijah4840 3 года назад +3

    Fanatic vid!

  • @launchedgg
    @launchedgg 3 года назад +5

    It's hard to rank any of these roles in order because the difficulty often scales with how large the company is. The bigger the company, the more difficult the job can be, especially for DevOps / SRE.

    • @yashsolanki069
      @yashsolanki069 2 года назад

      Even small size startups are now demanding for cloud/devops/systemadmin roles that too for entry level position tho it mentions 3 years exper 😂 (something I don't standard this) but devops definitely is growing faster than before and this is the best time command on it. 🙌

  • @alananalyst7795
    @alananalyst7795 Год назад

    I enjoyed this!!

  • @TampaCEO
    @TampaCEO 2 года назад

    I am ready to take the next step from business application development to the A.I. world. There's a ton of resources, videos, and libraries (Tensor Flow, etc.) Very excited to see what I can do with it.

  • @ioannischristou2362
    @ioannischristou2362 Год назад +10

    I am a "Senior Research Data Scientist" (that's my title) and a faculty member teaching Machine Learning, Data Mining, Databases etc. I liked your video a lot, exactly because my passion is also in developing new algorithms for AI/ML, and I consider myself foremost to be a programmer! However, despite popular belief, the main languages of ML developers is not Python and R; these languages are mostly suited for the "other" category you mentioned: the "users" of other people's algorithms. I claim that in the highly sophisticated (and mathematical/statistical) world of ML, the languages that should be used are the HPC (High Performance) ones that you mentioned: C/C++ (see TensorFlow) and my personal favorite, Java, for its great libraries for concurrency/parallelism/distributed computing. ML is a field where high-performance matters a lot, as very often the computations are extremely complicated, or you deal with "Big Data" (with a capital ""B").

    • @nicosoftnt
      @nicosoftnt Год назад +2

      Hi Ioannis, as a Senior Data Scientist would you by any chance recommend any books for Machine Learning? Would a high level of Calculus and a notable understanding in Statistics allow someone to understand Machine Learning algorithms? Would you say a degree in Math is compulsory to follow your steps, along with a Computer Science degree?

    • @nicosoftnt
      @nicosoftnt Год назад

      If you are as smart and capable as you claim you are, then you must surely know what you have really done here. Nothing but separate yourself from the Python community (those "users") and positioning yourself in a different league, no wonder that's your favorite thing about this video, it speaks directly to your ego. The truth is, nobody gets anywhere without collaboration, everybody sits on top of the shoulders of giants, and thus, if you are as capable as you individually claim, in a group setting you are only better than someone who is completely useless. Humans (like other lifeforms made of bone and flesh) are very fragile and have depended in shared knowledge preserved through generations, in that sense you have proven yourself infertile. If you hold a position as a faculty member, it is clear that this was not a calling that was chosen by authentic vocation. Enjoy your temporary status while it lasts, as technology such as GPT-3 has proven to be highly efficient at algorithms and will likely continue to grow in that field first.

  • @jaserogers997
    @jaserogers997 3 года назад +10

    Data Scientist should be way down the list. All of their algos are prewritten and imported via external libraries. Moat data scientists just do "plug in and play".

    • @DrunkenUFOPilot
      @DrunkenUFOPilot 3 года назад +1

      For some, that's the case. But others do a lot of R&D in new application areas using TensorFlow, PyTorch, ML.Net first to develop new types of models that might work well, then make actual models to be made into production pipelines. Figuring out the right variables to feed into the ML training process can be tricky in some applications. There's a wider range of Data Scientists skill levels and pay levels than ever before.

    • @jaserogers997
      @jaserogers997 3 года назад +1

      @@DrunkenUFOPilot "others do a lot of R&D". I'd say 'others' equates to a tiny percentage of them. And yes, that tiny percentage that actually do create new solutions are trailblazers.
      But the majority of data scientists are just putting the Lego bricks together.

    • @robdoubletrouble
      @robdoubletrouble 2 года назад

      @@DrunkenUFOPilot you've touched on a very important point that renders this video utterly useless - you can't directly rank jobs as per their "difficulty" - as their difficulty is highly dependent on the task at hand - there are the "for some, that's the case" in every field - the complex systems can be found in any of those positions mentioned and I doubt they can be easily and directly compared - not to mention, there is no metric as to how the ranking has been reached in the first place

  • @depressedknight369
    @depressedknight369 3 года назад

    always love your videos..
    keep it up❤️
    good luck

  • @AnonyMous-jf4lc
    @AnonyMous-jf4lc Год назад

    Nail on the head with embedded systems. You have to watch how many variables you use and precisely control buffer size. Your code is specific to the hardware. It’s a blast!

  • @kevinkingsley7539
    @kevinkingsley7539 3 года назад +3

    Aaron what about blockchain developers any clue were the rank ? Thanks for all you do.

    • @tysonboring9844
      @tysonboring9844 2 года назад

      There is definitely a market for blockchain developers, however it might be to soon in the technologys lifespan to fit into a category

  • @msugal
    @msugal 3 года назад +15

    U forgot 3 important types of engineers:
    1) Infrastructure engineers
    2) SREs
    3) Mobile developers

    • @JeSus-hl6zj
      @JeSus-hl6zj 3 года назад +2

      SRE are pretty much what he called devops(wrong name in my opinion)

    • @timhaiii730
      @timhaiii730 3 года назад +1

      Don’t know why he missed these types…

    • @apoilgun8342
      @apoilgun8342 3 года назад

      I think nowadays mobile dev is pretty much similar to web dev, that might be the reason he didn't include it

    • @robbietorkelsonn8509
      @robbietorkelsonn8509 2 года назад

      @@apoilgun8342 either embedded or web, depending on what part of the system

  • @WeightlessBallast
    @WeightlessBallast Год назад

    An interesting video! I feel that I learned a lot about the concepts between front-end and back-end. One area or niche in programming that I did not spot from the video is DSP programming.

  • @JonathanRose24
    @JonathanRose24 Год назад +1

    Front end web development definitely has the lowest bar to enter, but it can get wildly complex

  • @casdf7
    @casdf7 3 года назад +6

    I think people really underestimate the complexity of frontend applications. At my work all devs that work in the backend and on microservices really struggle in the frontend.
    Because it's really hard to load the data correctly, while keeping the code readable and fast. As a good frontend dev you really have to understand how the DOM and the event loop works.
    It got really complex over the last few years.

    • @vickerfinal
      @vickerfinal 3 года назад +1

      It's still easier than all of the backend.

    • @casdf7
      @casdf7 3 года назад

      @@vickerfinal never said otherwise

  • @riacharda
    @riacharda 2 года назад +3

    What about mobile app developers?

  • @chantelvenessa
    @chantelvenessa 2 года назад

    This was really helpful, thankyou

  • @mihadaking
    @mihadaking 3 года назад +10

    What about Mobile Developers, QA Engineers?

  • @ProjectVastness
    @ProjectVastness 3 года назад +14

    Funny I'm in 3 areas lol , and for what you say they are very difficult, but I don't think they are very very difficult, I think the problem nowadays is that schools /universities don't invest and teach most of the times , the basics and in a good way.

    • @TheSgrizli
      @TheSgrizli 3 года назад +5

      I think coding is easy in general It's just that it's incredibly time consuming to learn

    • @devinisreal9356
      @devinisreal9356 3 года назад

      What 3 areas are you in?

    • @ProjectVastness
      @ProjectVastness Год назад

      @@devinisreal9356 cybersecurity/pentesting/etc, embedded software, operating systems .

  • @honne23
    @honne23 2 года назад +1

    woulda have been great to cover cross functional roles like machine learning engineer, where we do devops + performance backend + machine learning + architecture

  • @shooKnFr0st3
    @shooKnFr0st3 Год назад

    Starting my tech journey in mid October with helpdesk. Hopefully transitioning to software engineering and development when they have an opportunity in that company! So excited!!

  • @pelic9608
    @pelic9608 2 года назад +3

    Don't ever be intimidated by those mentioned "I programmed x in 10 minutes" or whatever videos! They copy from an off-screen, prepared code. That's about it.

    • @lacumbancha6273
      @lacumbancha6273 2 года назад +2

      Writing code is usually fast, the thinking part is what takes time

  • @elpe21
    @elpe21 3 года назад +10

    For me you missed Mobile Devs and Desktop Apps Devs ( someone has to develop Visual Code / Visual Studio / Browser or Excel ;-) ) .

    • @msugal
      @msugal 3 года назад +2

      Desktop developers aren’t worth mentioning. Most app are moving or already moved to the web. Mobile developers on the other hand are on demand.

  • @DarkOutsideNow
    @DarkOutsideNow 2 года назад +1

    I did OpenGL C++ for 3D graphic development. Unity now seems like a walk in the park.

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

    Jack, this video is just sooo grreat!!. so loaded with value. can't thank you enough. I actually went to your about page hoping to see your email but...nada
    I'm a math graduate and I'm just start my tech journey...I'm interested in software develoopment but still kinda confused where to specialize. I still need a lot of guidance.

  • @silver12151
    @silver12151 3 года назад +7

    You cannot put wordpress frontend at the same level as javascript+react+redux enterprise level apps. Try creating a scheduler with zoom levels and dates and events with dragNdrop from the ground up. Or UI for inner banking systems and many more. Those are pretty complex. I think you should subdivide frontend further. Otherwise great video.