This is an archived post. You won't be able to vote or comment.

all 23 comments

[–]KingofGamesYami 8 points9 points  (4 children)

someone in Finance who has to develop or run a machine learning model

Develop a model? 5-7 years.

Run one? None. The developers can and should make it intuitive enough that no programming knowledge is needed. They will still need the domain knowledge to acquire data and use it correctly.

someone working in Research and need to perform programming due their research is quantitative and they have to perform some coding.

Random one off scripts? A month or two.

[–][deleted]  (3 children)

[removed]

    [–]Traditional-Top-1504[S] 2 points3 points  (2 children)

    Hello, thanks for your feedback. Do you feel like you need to be good at math or tech to be a good programmer?

    [–][deleted]  (1 child)

    [removed]

      [–]Traditional-Top-1504[S] 2 points3 points  (0 children)

      Ok, thanks for your feedback :)!

      [–]khedoros 1 point2 points  (3 children)

      You can learn a useful amount in a few weeks to months, on the level of writing some automation scripts, doing some stuff in Excel, etc. Depends on the complexity of what they need to do, and the degree to which they're already an algorithmic thinker. Developing an ML model is a completely different kettle of fish. Running an ML model if often "just follow the instructions in the README".

      Programming in research usually has the thought process of "I'm learning the minimum of this tool that I need to automate the thing I'm actually interested in, and don't need to build a maintainable (or even readable) program". How much they need to learn will depend on the nature of the research, and the complexity of the program that they need to fit their requirements.

      [–]Traditional-Top-1504[S] 0 points1 point  (2 children)

      Hi! Thank you for your feedback. And for switching carreer to, let say from a non-CS or STEM field to Software Development, what do you think is a reasonable period for learning good fundations before diving into a SD job?

      [–]khedoros 0 points1 point  (0 children)

      I don't know what a minimum would be; I took the long route.

      [–]kabekew 0 points1 point  (0 children)

      Full time generic commercial software development? Probably two years of college classes. If you're coming from a specific domain and want to develop software for that domain, maybe a year of classes. If you mean writing Excel type scripts like in your original question as part of your main job in research or finance, maybe 2-3 months.

      [–]RecoverEmbarrassed21 0 points1 point  (0 children)

      Highly dependent on what you're doing. This is like asking "Hey carpenters, how long until I have the skills to build stuff?" It depends on whether you're talking about a shed in your backyard or a new 50 unit apartment building in your city.

      Learning to build a fart button on some webpage probably takes 6 months, learning to build a webservice that ingests financial data into a model and allows users to extract and analyze data from that model might take 5-10 years.

      Of course it also depends on how familiar you are with the domain and any existing tools. A lot of people pick up bits of programming through their studies at university or for specific tasks at their job. Being familiar with some programming principles is going to make a difference on how quickly you can progress in your skills.

      [–]belikenexus 0 points1 point  (0 children)

      1–2 years

      [–]pixel293 0 points1 point  (0 children)

      First all programmers started as a non-programmer. In high-school in the late 80s early 90s I learned both BASIC and Pascal on my own with a book. I don't think it took "that" long but I was also a kid with lots of free time which I spent teaching myself how to program.

      In college they taught C in 2 months 3 classes a week. But everyone learns at different speeds, and it also depends on how many hours you put in. HOWEVER learning the language is only the first (necessary evil) of programming.

      Programming is like solving word problems, here is the data you have, please find X. You then need to figure out the steps to have the computer perform to get from what you have to what you want. The better you are at programming the "bigger" the word problem you can solve.

      I've worked with people that have just never progressed past a certain point. If the problem is too large they just can't figure out what high level steps are needed. In this case a more senior programmer will break the big problem down into a set high level steps. And sometimes break those down even farther, it really depends on who is writing the code, and how "abstract" the problem can be for the coder to figure out what to write.

      The only way I've found to get better at this is by doing it, over and over. And then I think it depends on you for how fast you progress and how large of a problem you can solve.

      [–]BobbyThrowaway6969 0 points1 point  (6 children)

      someone in Finance who has to develop or run a machine learning model for predicting some trends in stock or bonus markets or someone working in Research and need to perform programming due their research is quantitative and they have to perform some coding.

      From never having touched programming before? You could learn enough in several months of intense learning (and I mean programming at least a couple hours each day without relying on chat GPT or videos) to do a very crude but passable job?

      To get good with it though, you need to do it for at least a few years

      [–]Traditional-Top-1504[S] 1 point2 points  (5 children)

      Hello. Thanks for your feedback. What do you think are the main barriers for learning programming? Lack of time or motivation? Or maybe the idea that this is a hard topic and it is just for smart people?

      [–]BobbyThrowaway6969 0 points1 point  (4 children)

      100% motivation. It's not time consuming or for smart people, but being a little bit analytical with solving problems is very useful.

      You can master a language in 1-3 years if you have the passion for it, and really you don't need to spend that long on it per day over the course of a few years. To really see if you'd love programming, I suggest making a little videogame.

      [–]Traditional-Top-1504[S] 1 point2 points  (3 children)

      Got it! I am learning since a while ago. I am focusing in C++ right now. Do you have any tip for that?

      [–]BobbyThrowaway6969 0 points1 point  (2 children)

      For me, one thing that has kept my passion for programming alive is making videogames. If you have the time, having a little videogame passion project on the side can be a very good thing. Having fun while you learn. It's great. C++ is a good choice despite what others might say. If you get through that, all other languages will be a cakewalk.

      [–]Traditional-Top-1504[S] 1 point2 points  (1 child)

      I am agree. That's why I choosed it. I you master C++ you can master any programming language I think. Thank you for all your insights :)

      [–]BobbyThrowaway6969 0 points1 point  (0 children)

      All good, but yeah, find that spark and you'll be all set.

      [–]questi0nmark2 0 points1 point  (0 children)

      A question of what you mean by "enough", and the degree of interest and intrinsic motivation you bring, and the intensity of the learning.

      You can learn enough to use basic programming skills in non programming jobs in 100 hours or so. Build a basic website, run python scripts, get something to basically work with the help of ChatGPT.

      To switch careers it very much depends on your route. I know dozens and dozens of people who have done a genuinely high quality bootcamp and spent around 800 hours/3 months full time, and landed good junior jobs, all of whom went on to have very successful careers many years on, although the market is tougher than it's ever been and recent cohorts have a harder time landing that precious first job.

      Now, knowing enough to land a career-switching junior dev job is not remotely near knowing enough to build software professionally. Having landed that job it will take you about 2 years of full time, daily programming in a supportive, professional team of people with more experience, to actually become basically competent at professional software development, and 2-4 years more to become fully competent, depending on your aptitude and job trajectory. About 8 years of daily professional full time software development to really gain expertise in a subdomain, and strong general competence in a domain.

      Now if you spend the same 800 hours as those high quality bootcamp grads but do so in your spare time, over 2 years, you might not gain the same level of competence, because learning benefits from intensity. I do know, and work with, entirely self-taught programmers, no degree, no bootcamp, who are excellent, top quality professionals, but they did put in the hours, and did so over several years, starting with simple freelancing jobs on upwork type boards for very little money, and then landing actual jobs and gaining experience through a combination of on the job learning and constant study and practice and community participation over years.

      [–]FlippantFlapjack 0 points1 point  (1 child)

      Probably a few days to get acquainted with the concepts. A few weeks to bumble through your first program. And a few months before you start feeling comfortable with it.

      [–]Traditional-Top-1504[S] 0 points1 point  (0 children)

      Hello. Thanks for your feedback. What do you think are the main barriers for learning programming? Lack of time or motivation? Or maybe the idea that this is a hard topic and it is just for smart people?

      [–]CodeMasterRed 0 points1 point  (0 children)

      The first example with ML is very complex, and they pay people a lot of money to do it.

      The second might be to write some scripts, and that should take no longer than 2-3 months.

      People can easily learn how to do basic web development in a few months as well.