How much math/physics does a full stack engineer need?

  • Job Skills
  • Thread starter skrat
  • Start date
  • Tags
    Engineer
In summary, D is a person who loves math, physics, science, and programming. They have experience in a variety of programming languages and are particularly enthusiastic about solving math and physics problems. D has received an offer to become a full stack engineer, but is unsure about the level of math and physics involved in this type of role. While some full stack engineering jobs may require some math and algorithm analysis, the majority do not involve any physics or advanced math. However, D's background in physics and engineering could be useful for data science and machine learning jobs, which may be more aligned with their interests. Ultimately, D must weigh their love for math and physics with the potential opportunities and challenges of a career in full stack engineering.
  • #1
skrat
748
8
So, imagine a person that likes math/physics/engineering problems. He also likes science and programming. Let's call him D.

D is in his mid-twenties, has much to learn about life and programming. He has the most experience in Pascal, C++, C, Python, Javascript. He also peaked into web development tools a bit. Note that, D is very enthusiast about solving & programming math/physics driven problems and can not imagine his job to completely lack such problems.

Now D got a really interesting offer to become a full stack engineer. The only concern is, that he is completely unfamiliar with this part of the development world. D likes the offer, but does not know how much math/physics, if any, is included in an everyday life of a full stack engineer. Is that none at all? Some? Or does it depend on the project? Could it be the most desirable knowledge in some cases?

Anyway D does not have the answers to any of the questions and is therefore having trouble accepting/denying the given offer. He is afraid that the lack of scientific approach in full stack development could bore him to death.

What do you think? I know people that are really good full stack engineers but bad (or none) math/physics knowledge. But I don't know any good mathematician/physicist to go for a full stack engineering career. Can you help D?
 
Physics news on Phys.org
  • #2
What is a stack engineer?
 
  • Like
Likes CalcNerd, Astronuc, berkeman and 1 other person
  • #3
It depends on what D is coding. Did they get an offer from a web marketing company, or a scientific lab? "Full stack" meaning can change depending on what stack you're expected to know.

We can say that the vast majority of jobs with that title require very little math and no physics.
 
  • Like
Likes rkr and skrat
  • #4
By full stack engineer, I assume you are talking about full stack web developers at a technology company. With the exception of niche companies that specifically focus on physics applications, I can say that you will find positively no physics whatsoever in full stack engineering.

With math, it depends on what type of math you're looking for. Software engineering requires reasoning about algorithmic approaches to coding implementations, and algorithm analysis can involve a lot of math. However, this is more pronounced in academic computer science, and the vast majority of one's time working as a software engineer will not be doing algorithm and complexity analysis. Now you definitely do need a strong math background going into software engineering in order to have that toolkit with which you can do algorithm analysis, but it won't show up in your day to day.

So for most situations, the answer is going to be no physics and math. If D really likes math, he should consider data science (and/or machine learning jobs), as it's programming heavy but uses advanced statistics and machine learning methods, which are math intensive.
 
  • #5
fissifizz said:
By full stack engineer, I assume you are talking about full stack web developers at a technology company.

Almost certainly. However, I've also seen the term used related to machine learning, where "full stack" includes ETL (pandas, dask, spark, dplier), feature engineering (pandas, patsy, scikit-learn), model development (statsmodels, sci-kit learn), and operationalization (dask, luigi/airflow, flask).
 
  • Like
Likes fissifizz
  • #6
Thank you all for much information.

And yes with the term "full stack engineer" I was referring to web developers. It goes without saying I am that D person. :)

I am a physicist/engineer currently in the middle of my PhD in the field of numerical analysis of partial differential equations. However I, got an interesting offer for a full stack web developer. Yet this part of development world is completely unknown to me. OK, I did build a webpage or two but that's nothing. I do not know to what degree the full stack developers use math/physics tools.

I did expect to hear that the majority of full stack engineers don't need much math/physics, however I was hoping to hear that this solely depends on the project. This would basically give me a hint that the knowledge I would gain in 3-4 years as a full stack web developer could (in case I don't fall in love with the job) EASILY be applied in a different company with more physics/math based project (which I already know I like). Yet, as far as I understand - it is not very common to combine the expertise of full stack web development and (semi)advanced mathematical/physics procedures. Right?
 
  • #7
skrat said:
Yet, as far as I understand - it is not very common to combine the expertise of full stack web development and (semi)advanced mathematical/physics procedures. Right?

Near zero math and physics in web development. Even if the project is math/physics related. Any of that work is going to be done by someone else, and then provided to you (either in a database or in code you'll call). As always, there are exceptions to every rule, but this one is pretty firm.
 
  • Like
Likes DaveC426913, BvU and fissifizz
  • #8
Locrian said:
Near zero math and physics in web development. Even if the project is math/physics related. Any of that work is going to be done by someone else, and then provided to you (either in a database or in code you'll call). As always, there are exceptions to every rule, but this one is pretty firm.

Precisely this. Web development focuses on just that -- development of the web infrastructure and design to support a web application. I've done physics-y web projects in my spare time just to practice my dev skills, and the vast majority of it is just figuring out the software development part.

You should seriously consider data science and machine learning, however, especially with your PhD background.
 
  • Like
Likes Locrian
  • #9
Well, I'll tell you my opinion on this issue.

A lot of people (even my physics professors) advised me to take on such a career because computers are "everything" nowadays, and the jobs pay well. That's because like you, I grew up having a huge love for computers and programming etc.. and it all started from modding video games.

I think, if I ever get such an offer and I know I can get the job done (I.E. actually master the language that they're asking for) then it's definitely something I wouldn't turn down, because let's be honest, it pays well, much better alternative to my best case of being a professor in the future or something.

You like maths/physics, yes, I admire that. unfortunately you won't find a lot of them there, especially the fact that you're looking at web dev, most math that you going to find is at best pre-university mathematics.

I think the most areas where maths and physics are actually used is when you work for a company that develop video games and game engines, but even at that level, if they wanted to build a physics engine for example, it is mostly built by physicists and not anyone who can get his hands in Visual Studio.
 
  • #10
This hit close enough to home that I am prompted to come out of my long withdrawal from physics forums. Very rarely I come back and read a few posts just for kicks. I have a PhD in math (in a physic-sy area of math) and have worked as a software developer. Backend until recently. I'm now involved with an early-stage startup in some sort of an ambiguously defined role that at the moment mostly resembles a full stack developer, although still more on the backend. My reaction to the posts is not complete disagreement, but I think the story is slightly more complicated.

The first point I would bring up is that when you leave your academic career, I think you have to grapple with the distinct possibility that your old physics and math interests are just going to become a hobby. From that perspective, I think your average programming job has something to offer in the sense that your work is built on top of so many layers (computers and computer networks) that do involve tons of math and science. So your hobby can at least have an interesting connection to your work. I think that's something that's at least worthy of note.

Having said that, you can ask the question of whether the relationship between the hobby and the job is actually a meaningful one. If you are a race car driver with a mechanical engineering background, would you just find the link to be comforting or could you possibly get some mileage out of your background? Does the analogy carry over to the programming case? I think it can take a lot of work to get the hobby to spill over into the job. Another added complication is whether you want something that really has the specific flavor of physics/math that you studied in grad school versus any old physics/math. If you are open to learning new stuff that you didn't necessarily study in grad school, there is stuff like theoretical computer science that's a little closer to your work. To argue this a little bit more convincingly, let me note that when Brendan Eich created Javascript, his idea was to create Scheme in the browser. And from there I can just recommend that you read Structure and Interpretation of Computer Programs to see the meaningful connection between lambda calculus from mathematical logic and program design on the other hand.

I heartily recommend data science for anyone who happens to find it appealing, but I don't think it's a good assumption that it's some kind of free pass to a good mathematically-oriented job that will satisfy all of us. It may be hot on the market, but it may or may not be hot as far as your intellectual tastes go. I know mathematicians who took that route who found it not to be that satisfying. I mean if you're anything like me, I would choose working on some physics engine for computer games over data science in a heartbeat without even having to think for a fraction of a second. Unfortunately, the reality of the job market is that the game engine is a very small niche, whereas data science is everywhere.

But that brings me to my final point which is that the job market out there has a lot of little niche things that you can luck out on. Things are less formal in the startup world. People tend to wear all hats. So, the full stack developer skillset is a pretty big asset there, even if it's not going to be your main focus. At the moment my work is pretty much standard full stack development, but if the startup can hire more people to free up my bandwidth, the plan is for me to be more of a research and development guy eventually and try to tackle some heavy-duty computer science problems.

It's up to you whether you try to gamble on the road less traveled and see if you can strike career gold. To be fair, though, your background with numerical analysis is a little closer to machine-learning than mine. I tried to go more towards marketability because I am just not good at and do not have the patience for complicated job searches, but I could only fight my own nature to a limited degree. So, I just had to improvise and find my own path and play with the hand I was dealt. There were no easy answers. You can always try to pursue the path that I and many of my friends have taken and try to become independently wealthy so that you are free to do whatever work you want without having to worry about getting paid for it.

So, anyway, I'm sure there is some startup out there where things could work out well with full stack development on some math or physics-oriented project, but you just have to acknowledge the risk that it's a gamble that you might not find it. So, you might have to be okay with that possibility.

Oh--and I forgot to comment on how you mentioned the lack of scientific approach. I don't see why you couldn't take a scientific approach to software development. It was Dijkstra's vision to try to use proof to get correct programs, and that failed, except in a few niche instances. Instead, the focus has been on testing. Essentially, I think software developers should be held accountable to demonstrate that their software actually works, but the usual approach is an experimental one where you run the program and check that it delivers the expected results. Maybe you mean you'd like a more theoretical approach, and in that case, maybe you should look into functional programming.
 
  • Like
Likes BvU
  • #11
Another thought I want to mention is that the full stack skill set is a very powerful one because with today's cloud platforms, you have a lot of power right at your fingertips to just code something up and unleash it on the world (for a price), whether it's a personal project, a freelance project (much harder to get if you just specialize in backend), or working for a startup. So, it can be a real advantage in any of those settings, regardless of subject matter. That's what attracted me to it. It can give you more flexibility, outside of more rigid corporate hierarchies where people tend to be more specialized. Just thought I'd add that because I think I might have been under-selling it slightly. It does take a lot of work to get that point, but it was a pretty natural next step after I started getting backend development down.
 
  • #12
Locrian said:
It depends on what D is coding. Did they get an offer from a web marketing company, or a scientific lab? "Full stack" meaning can change depending on what stack you're expected to know.

We can say that the vast majority of jobs with that title require very little math and no physics.

This post generalizes the answer that you're looking for.

I'll tighten the bound and estimate <=1% probability that a full stack engineering role for a web application will satisfy an interest in university or graduate-level mathematics, if the said company has 30 or more employees.

My rationale is that full stack engineering in a web development setting conventionally refers to a position where you're supposed to be a jack-of-all-trades and responsible for a lot of glue code, wrappers and interfacing that requires your full attention. This wasn't always the case. I'd say some 7 years ago the world of web development frameworks and devops practices became so large to the point that frontend and backend became polarized into two dedicated roles, and with it a void large enough that full stack engineering is a full-time role.

This is the type of role that requires significant context switching that makes it near impossible to build mathematical models even at a say, MCM/ICM/COMAP level of rigor. It's much less likely that a full stack engineer will be involved in quantitative modeling today, and I believe that it is going to be even less likely over time.

If said company properly used this term in describing the role, and is a relatively mature company where employees fulfill defined roles (hence my estimate of >30 employees), then by definition you can't be doing your job correctly while devoting time to interesting math.
 
  • #13
As a front-end Web Developer, I was constantly pelted with full-stack positions. I hate full stack dev. I'm a visual guy.

Even front-end dev is no longer anything visual (such as HTML, or even CSS) - its all just plugging libraries together and configuring them.

I've lost interest (3 decades behind the keyboard). Haven't coded in over a year. Not sure what the next chapter holds.Anyway, you don't need any math or physics. What math will do is help you with logical concepts, such as multi-dimensioned arrays and abstraction of objects.
 
  • Like
Likes PhDeezNutz and Locrian
  • #14
I tried to learn data science on the side when I was in my backend role, but it was just an uphill battle to get interested, and ultimately, if I had to choose between just writing code and data science, it was going to be just writing code. When I was a student, a lot of times, it seemed like I just liked whatever branch of math was thrown at me, but it turns out stats and data are just really not my thing, unfortunately. The cool stuff was just too niche for me to find with my job-search ineptitude, so to some degree, I just created my own job by joining the startup that hopefully will end up fitting the bill to some degree. I'm pretty bad at frontend and devops, but the startup is really small, so we have to make do for the moment. I may not need it so much long term, but since, as one of the founding members, I need to take on sort of a leadership role, I felt like I needed to at least have a feel for the whole project and not just the backend. I guess you could classify our work under "operations research". There could end up being a data science aspect to it, too, but what's kind of cool about that is that it would emerge as a practical need of the project, rather than being imposed on me in the sense of "I have to become a data scientist just because it's trendy and involves "math"" and just take it on without motivation, plus I could just delegate most of the annoying stuff to the actual data scientists once they get hired.

As a front-end Web Developer, I was constantly pelted with full-stack positions. I hate full stack dev. I'm a visual guy.

I am also a visual guy. As a mathematician, I was about as extreme on the visual side as it gets. That's part of why I started learning some frontend, but I guess explicit visuals are optional for me. As a math guy, most of the visuals were imaginary anyway, apart from chalkboard/whiteboard drawings.

Even front-end dev is no longer anything visual (such as HTML, or even CSS) - its all just plugging libraries together and configuring them.

I assume that's hyperbole. There's still quite a big part of it that's devoted to the visual design, so much so that people have entire jobs devoted to just the visual design without coding. I usually work with half my screen devoted to the browser, so that I see the results, even though I don't do most of the styling myself at the moment. Proper frontend guys will usually use one of those doohickeys that shows all the different screen-sizes.
 
  • #15
homeomorphic said:
I assume that's hyperbole. There's still quite a big part of it that's devoted to the visual design, so much so that people have entire jobs devoted to just the visual design without coding.
Exactly. There's UX (User Experience) roles and there's front-end dev roles.

I have (or had) transitioned from front-end dev into UX.
 
  • #16
Exactly. There's UX (User Experience) roles and there's front-end dev roles.

I have (or had) transitioned from front-end dev into UX.

I see. Maybe you should find a startup that doesn't have the resources for such a high degree of specialization yet.Going back to data science, my issues with data science are not so peculiar to just me, although I didn't even like it when I was able to just cherry-pick the math part, since I was only studying for it. I've spoken to data scientists who say describe their work as "data janitorial work", and there is data which supports that:

https://visit.figure-eight.com/data-science-report.htmlc

That being said, it pays well, and somewhere around 80% are still happy with the job, even though many of them don't enjoy all aspects of it.
 
  • Like
Likes PhDeezNutz
  • #17
homeomorphic said:
I see. Maybe you should find a startup that doesn't have the resources for such a high degree of specialization yet.
Bingo! I prefer smaller companies because I can wear multiple hats.

But it is a constant battle to direct my career toward the UX side, amid a lot of pressure to take on full-stack dev. Walked away from many-a job to keep true to myself.

homeomorphic said:
Going back to data science, my issues with data science are not so peculiar to just me, although I didn't even like it when I was able to just cherry-pick the math part, since I was only studying for it. I've spoken to data scientists who say describe their work as "data janitorial work",
Several years ago, I had an opportunity to make the transition to a budding "data-mining AI" department of a place I was working at. They were processing vast collections of data (billions of Twitter feeds at a time) and seeing what spills out.

It sounded fascinating.

It turns out, they were reading Tweeters' mentions and sentiments about products, and then selling the data and user details back to the corporations who wanted to know who exactly was talking about their products just so they could target them with ads.

My heart went out if it rapidly, and I left.

My sister described my feelings perfectly. She said: "So ... you're the problem with the world. :) "
 
  • Like
Likes atyy and Locrian
  • #18
Yea, I avoid marketing like the plague. Operations, finance and pricing are much less skeezy areas of analytics.
 
  • Informative
Likes atyy
  • #19
Locrian said:
Yea, I avoid marketing like the plague. Operations, finance and pricing are much less skeezy areas of analytics.

Understandable, but my speculation is that the biggest application of "big data" and "data science" outside of the biomedical area would be marketing, with finance a close second.
 
Last edited:
  • #20
Maybe. But the number of analytics jobs at Microsoft & Amazon alone might prove you wrong.
 
  • #22
StatGuy2000 said:
Understandable, but my speculation is that the biggest application of "big data" and "data science" outside of the biomedical area would be marketing, with finance a close second.
Maybe also search engines like Google.
 

1. How much math and physics is required to become a full stack engineer?

The amount of math and physics required to become a full stack engineer can vary depending on the specific job role and industry. However, in general, a strong foundation in basic math concepts such as algebra, geometry, and calculus is important for understanding programming logic and problem-solving. A basic understanding of physics, particularly mechanics and electricity, can also be helpful for understanding how computers and software systems work.

2. Do I need to be good at math and physics to become a successful full stack engineer?

While having a strong foundation in math and physics can be beneficial for becoming a full stack engineer, it is not the only factor for success. Other important skills such as problem-solving, critical thinking, and coding proficiency are equally important. Additionally, many programming languages and frameworks have built-in functions and libraries that can help with complex calculations, reducing the need for extensive math knowledge.

3. Can I become a full stack engineer without a strong background in math and physics?

Yes, it is possible to become a full stack engineer without a strong background in math and physics. While these subjects can provide a solid foundation for understanding programming logic and algorithms, they are not the only skills required. With dedication, practice, and continuous learning, anyone can become a successful full stack engineer regardless of their math and physics background.

4. Are there specific areas of math and physics that a full stack engineer should focus on?

It can be helpful for a full stack engineer to have a basic understanding of various math and physics concepts. However, some areas that may be particularly useful include linear algebra, statistics, and mechanics. Linear algebra can help with understanding data structures and algorithms, statistics can aid in data analysis and interpretation, and mechanics can help with understanding how computers and software systems work.

5. How can I improve my math and physics skills as a full stack engineer?

There are many resources available for improving math and physics skills as a full stack engineer. Online courses, tutorials, and practice problems can be helpful for learning and reinforcing important concepts. Additionally, seeking out a mentor or joining a study group can provide valuable guidance and support. It is also important to continuously practice and apply these skills in real-world projects and scenarios.

Similar threads

  • STEM Career Guidance
Replies
20
Views
497
Replies
18
Views
3K
  • STEM Career Guidance
Replies
10
Views
3K
  • STEM Career Guidance
Replies
4
Views
2K
  • STEM Career Guidance
Replies
1
Views
3K
Replies
13
Views
2K
  • STEM Career Guidance
Replies
8
Views
2K
  • STEM Career Guidance
Replies
33
Views
2K
Replies
17
Views
1K
  • STEM Career Guidance
Replies
1
Views
1K
Back
Top