Top 10 Types of Software Developers

Поділитися
Вставка
  • Опубліковано 28 тра 2024
  • Freelance Coding is the way in 2024! Learn How: www.freemote.com/strategy
    / aaronjack
    #coding #programming #javascript

КОМЕНТАРІ • 910

  • @AaronJack
    @AaronJack  6 місяців тому +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 2 місяці тому

      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 роки тому +3462

    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 2 роки тому +34

      Most have PhDs in CS and Maths

    • @chexblu
      @chexblu 2 роки тому +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 Рік тому +12

      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 7 місяців тому +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"?

  • @deeZee14
    @deeZee14 2 роки тому +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 🤣

  • @williamkatcher2469
    @williamkatcher2469 2 роки тому +636

    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.

  • @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.

  • @LucasNunesK
    @LucasNunesK 3 роки тому +751

    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 роки тому +93

      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

  • @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

  • @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

  • @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 2 роки тому +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.

  • @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!

  • @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.

  • @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.

  • @scrizzjunior
    @scrizzjunior 2 роки тому +197

    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

  • @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!

  • @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 🙏🏼

  • @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 2 роки тому +2

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

  • @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.

  • @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

  • @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.

  • @SulaimanBotha
    @SulaimanBotha 3 роки тому +8

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

  • @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.

  • @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.

  • @deepdaddy1208
    @deepdaddy1208 3 роки тому +2

    Miss the vids man, awesome editing

  • @AaronandAsh
    @AaronandAsh 3 роки тому +3

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

  • @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

  • @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

  • @dzllz
    @dzllz 3 роки тому +1

    Awesome breakdown! Really interesting

  • @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

  • @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.

  • @Radbrad869
    @Radbrad869 Рік тому +3

    My boy said php was the most common backend language 😂

  • @seanmumford2358
    @seanmumford2358 Рік тому

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

  • @scottisitt
    @scottisitt 3 роки тому +2

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

  • @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.

  • @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.

  • @jordanatkins8841
    @jordanatkins8841 2 роки тому +1

    Thanks for the awesome work Aaron!

  • @apexhacker346
    @apexhacker346 2 роки тому +2

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

  • @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?

  • @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.

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

    great video brother absolutely loved it.

  • @major5maximus
    @major5maximus 2 роки тому +1

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

  • @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.

  • @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.

  • @andreap9756
    @andreap9756 2 роки тому

    I really enjoyed this video! Thanks!

  • @pokadoodledoo9580
    @pokadoodledoo9580 2 роки тому

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

  • @DrunkenUFOPilot
    @DrunkenUFOPilot 2 роки тому +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

    • @jocelynvazquez7688
      @jocelynvazquez7688 Рік тому

      Interesting

  • @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 😁

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

    Im learning every videos you upload.. Thanks :)

  • @tacocat5774
    @tacocat5774 3 роки тому +1

    Amazing video mate you deserve more views

  • @BrendanMetcalfe
    @BrendanMetcalfe 3 роки тому +5

    Dude your thumbnails are amazing 😂

  • @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 2 роки тому +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?

  • @harry8040
    @harry8040 3 роки тому +1

    Great video man :)

  • @colbymakaba7078
    @colbymakaba7078 11 місяців тому

    Bro! this was insane, thanks

  • @cato447
    @cato447 3 роки тому +4

    That’s a really nice video for starting cs students

  • @elijah4840
    @elijah4840 3 роки тому +3

    Fanatic vid!

  • @sebastianmartinez5508
    @sebastianmartinez5508 10 місяців тому +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.

  • @LB-lz1ks
    @LB-lz1ks 3 роки тому

    Great video Aaron. Cheers 🥂

  • @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.

  • @sevzen
    @sevzen 2 роки тому +5

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

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

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

  • @Slayer-33
    @Slayer-33 Рік тому

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

  • @AaronJack
    @AaronJack  Рік тому +23

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

  • @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

  • @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

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

    Really good info.

  • @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.

  • @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 2 роки тому +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 2 роки тому

      @@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?

  • @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 😞

  • @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.

  • @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 🙏

  • @chantelvenessa
    @chantelvenessa 2 роки тому

    This was really helpful, thankyou

  • @alananalyst7795
    @alananalyst7795 Рік тому

    I enjoyed this!!

  • @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 =)

  • @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. 😎

  • @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.

  • @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.

  • @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.

  • @kevinkingsley7539
    @kevinkingsley7539 2 роки тому +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

  • @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.

  • @themodernwaiter8455
    @themodernwaiter8455 Рік тому

    It's so informative, thank you

  • @jaserogers997
    @jaserogers997 2 роки тому +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 2 роки тому +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 2 роки тому +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

  • @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 .

  • @felixosei403
    @felixosei403 2 роки тому +2

    Its like when I wanted to get into tech, I started with Explorative R. I had to stop because I did not understand a thing. I'll get back to it someday though.

  • @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!!

  • @ahmedal-xawad1342
    @ahmedal-xawad1342 3 роки тому +3

    Hey, I am a high school student(16 years old), I am learning to code, I am trying, even sometimes nothing makes sense to me... I am still trying to code... But The problem is when I think of myself in the future, I see that I have to code for over 20 hours, and I won't get well paid... But I love programming, Yes, sometimes I hate programming, But I want to write my own code... So, I can not stop programming, also the problem is I am a very slow learner... Also, I am deepest about my future... Please give me some advice.

    • @4inShopper
      @4inShopper 3 роки тому +5

      Ahmed stay in the moment. Trust me your future is taken care of if you are in engineering - software, architecture whatever. It is hardest in the beginning but one day this will all be a cake walk. If you want to avoid coding in some dark corner while big tech steals your talents for penny's on the dollar - build solutions for people, not consumers. This will satisfy your soul, get rid of your anxiety and keep you in your purpose. You could die tomorrow, the future is not guaranteed - so enjoy today, embrace your struggle and forget the "future."

    • @abbaskhan2017
      @abbaskhan2017 3 роки тому +3

      No one is a slow learner than me Ahmad and It was extremely difficult in the beginning but I'm doing well now.
      Remember NEVER GIVE UP.

  • @osc3892
    @osc3892 2 роки тому +12

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

  • @brittanyjohns7264
    @brittanyjohns7264 2 роки тому

    #1 love you videos #2 the editing in your videos is flippin awesome. :)

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

    great quality video!

  • @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.

  • @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 2 роки тому

      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

  • @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

  • @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. 🙌

  • @riacharda
    @riacharda 2 роки тому +3

    What about mobile app developers?

  • @davidgavney6711
    @davidgavney6711 Рік тому

    I started out in the 1980’s with BAL, COBOL, JCL, business application programming, then over the years learned Visual Basic, VBA, SAS, Python, C, C++, etc. I had the most fun doing online IBM mainframe CICS screens and MS Access and Visual Basic PC applications, so I know what you mean about front end web development being the most fun. Closer to the end user and trying to anticipate their actions or something like that. I suppose game programming could be similar.

  • @blazinup5871
    @blazinup5871 2 роки тому

    That was such a good video 👍🔥 thanks

  • @mihadaking
    @mihadaking 3 роки тому +10

    What about Mobile Developers, QA Engineers?

  • @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.

  • @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.

  • @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!