Is programming a good fit for me?

In summary, the speaker has completed their undergraduate degree in physics and applied math, but prefers applied math due to the abstract nature of physics. They are considering pursuing a Master's or PhD in mechanical/aerospace engineering, but have also become interested in starting their own tech startup after coming across Paul Graham's website. They have limited programming experience, but have used C++ for a research project and enjoyed it. However, they are unsure if they would enjoy programming for websites and are considering pursuing a PhD in a field that involves programming and problem-solving. They are also considering starting a website as a side project to test their interest in website design and programming.
  • #1
creepypasta13
375
0
I just completed my undergrad in physics and applied math, but I liked the applied math more partly because the physics got too abstract for me - I liked classical mechanics more than quantum mechanics. As a result, I had been strongly considering getting my MS or phD in mechanical/aerospace engineering. In fact. I thought I was completely sure of this until I came across Paul Graham's (he's a programmer) website. If I pursued a career in ME/AE, I would work in academia, a private or public company, the national labs, or the army/navy/air force labs etc. But starting a startup sounds much more interesting to me because I can run my own company, not have to deal with office politics, deal with bureaucracy, and have the potential to make a lot more money than in ME/AE. So I thought about how much I enjoyed programming to see if I would like to start my own startup. Well that's something to think about.

I only took one CS class in my undergrad, which was an intro to C++ course, a few years ago. I didn't even know what HTML was until about a week ago. Other than C++, matlab, and mathematica, I know essentially nothing about other programming languages, what algorithms are, etc. But I did use C++ extensively in one of my undergrad research projects with an applied math professor. He basically gave me a relatively simple physics problem he wanted me to model and then generate simulations of the process using C++. Given that my only prior programming experience was taking 1 intro CS course, I struggled mightily with the project. My program consisted of only basic if, for loops, etc. Nothing complicated and no object-oriented programming. Though I did find it challenging and fun to write the project, I also ran into lots of frustrations. In the end, I was able to get the program to do was it was supposed to, but it probably wasn't the best program that could as much as possible as quickly as possible. I understand that running into unexpected problems with unknown solutions is a part of research projects, but I'm sure if I had better programming skills I could've done things ALOT more efficiently.

Anyways, I heard that applied math and CS/programming are very similar. But other than them both requiring problem-solving and critical-thinking skills, I didn't really see their similarities from my applied math classes. Then again, I didn't take discrete math, number theory, combinatorics, or graph theory. The applied math courses I took were analysis, PDEs, ODEs (proof-based), linear algebra (proof-based), prob/stats, Fourier analysis, and numerical analysis. I did enjoy the numerical analysis course as the concepts were interesting and the HW problems involving Matlab were challenging. But again, I wasn't good at it and often couldn't obtain full solutions to the programing problems. I did much better with the numerical analysis theory

That being said, would someone like me enjoy a job involving lots of programming that's required for doing stuff on websites? I'm pretty sure that I would like programming for solving physical/engineering problems. The question is just whether I would like it enough to create and run my own website for something like an online dating site.
 
Last edited:
Physics news on Phys.org
  • #2
creepypasta13 said:
That being said, would someone like me enjoy a job involving lots of programming that's required for doing stuff on websites? I'm pretty sure that I would like programming for solving physical/engineering problems. The question is just whether I would like it enough to create and run my own website for something like an online dating site.

If you're setting up that type of commercial website then 'programming' won't be the mainstay of your day-to-day activity. You'd be a webmaster as well as a business owner - the design of the website and maintenance would be the only things that are really programming and whilst there would be an initial burst in activity during set up, you'd be spending almost no time from them onwards on this. Marketing, finance and customer administration would take the majority of your responsibility if you're running it on your own or with someone else.

I've written websites in the past myself, and certainly wouldn't consider this type of activity anything like applied math. It's true that studying applied math gives one a good preparation for the type of mindset you need to program - but this is more with setting up a problem and solving it - something that exists in a different way with website design.

If you're interested in a future involving programming work - you could look for a PhD in some sort of modelling or programming activity solving physical and mathematical problems. Engineers are very big on modelling, you could look into Finite Element Analysis for an idea of what many mechanical and aeronautical engineers do. Otherwise, in academic science MATLAB is huge. You would be able to find plenty of post-graduate projects using MATLAB for modelling and solving various kinds of problems. If you want to get back to it in your spare time without having to pay for it, you can try a free alternative that runs MATLAB scripts called 'Octave'.

Having said this, I think one of the things that's convenient about setting up a web-business is that you can work on the website in the evenings whilst you still have a day-job. This way, you'll discover how much you enjoy the process. If you want to give website design a shot, set yourself up a local Apache server, install php and mysql and play around with it. This way you can learn on your home computer without even having to pay for webspace.
 
  • #3
fasterthanjoao said:
If you're setting up that type of commercial website then 'programming' won't be the mainstay of your day-to-day activity. You'd be a webmaster as well as a business owner - the design of the website and maintenance would be the only things that are really programming and whilst there would be an initial burst in activity during set up, you'd be spending almost no time from them onwards on this. Marketing, finance and customer administration would take the majority of your responsibility if you're running it on your own or with someone else.

I don't think I would mind the work as a business owner. Although I have the opposite personality of a salesperson, I would also like to take the pride in running my own company

fasterthanjoao said:
I've written websites in the past myself, and certainly wouldn't consider this type of activity anything like applied math. It's true that studying applied math gives one a good preparation for the type of mindset you need to program - but this is more with setting up a problem and solving it - something that exists in a different way with website design.

But given my past difficulties with programming, how hard would it be to write and design websites? This is one of the things scaring me the most actually since Paul Graham said that founders of startups should be very good at programming.

fasterthanjoao said:
Having said this, I think one of the things that's convenient about setting up a web-business is that you can work on the website in the evenings whilst you still have a day-job. This way, you'll discover how much you enjoy the process. If you want to give website design a shot, set yourself up a local Apache server, install php and mysql and play around with it. This way you can learn on your home computer without even having to pay for webspace.

I actually heard from Paul Graham and others that if you want to start a startup then you have to quit your day-job otherwise it would be too easy for you to give up and make excuses to not work on your startup. But I guess it can be a good idea at first because, like you said, it would be a way for me to see how much I enjoy the process.

I'll definitely look into the Apache server, php, and mysgl. Thanks for your help
 
Last edited:
  • #4
creepypasta13 said:
I don't think I would mind the work as a business owner. Although I have the opposite personality of a salesperson, I would also like to take the pride in running my own company

I have worked in sales for a couple of years before, it's a very cutthroat environment - most people do find it very difficult. If you're going to run your own business, depending on what the business is actually going to do, you'll probably need good marketing and sales skills. I'm not sure if there's some sort of business start-up scheme you can join if your government offers one. I would check this out.

creepypasta13 said:
But given my past difficulties with programming, how hard would it be to write and design websites? This is one of the things scaring me the most actually since Paul Graham said that founders of startups should be very good at programming.

It will be difficult to get things rolling, and, depending on what your company would offer, there could be a significant amount of time between 'startup' and the point where money actually starts to come in. I do programming for my work, though I now almost exclusively use MATLAB I would say it takes about 12-18 months of usage with a brand-new language before you can really call yourself 'competent'. Certainly you should look to spend a few months with php and, if appropriate, SQL before launching your website. You could do it much quicker, but you'd be much less prepared for when problems arise. It's especially important to understand nuances when you're designing a website for business - you need to know how to make sure your web page is visible and works-as-intended for as many people as possible.

You should probably also at least familiarize yourself with Javascript, since there will be certain things that can be easily done in JS but would be more complicated otherwise. I would also look into Perl.

As far as the actual website design goes, you will also need to have some reasonable graphics skills.

creepypasta13 said:
I actually heard from Paul Graham and others that if you want to start a startup then you have to quit your day-job otherwise it would be too easy for you to give up and make excuses to not work on your startup. But I guess it can be a good idea at first because, like you said, it would be a way for me to see how much I enjoy the process.

I guess this advice would certainly apply to those who already have the skills to start their business. It's up to you, but if you can afford to have quite a long time out when you're just learning before making any income then go for it. It will take much longer to get things going when you're not able to commit to it full time - but it may not be an option given the amount of time you'll need to spend getting yourself up to speed.

For the learning of the languages, the 'technical stuff' (you'll need to be familiar with how servers work - setting up a local Apache server should help with this at least) and graphics you should try to design a schedule so you have something to stick to. It will be necessary to refine it as-you-go, but I would say worth it in the end. Try to focus on one language at a time, since once you've learned a lot about, say, php, you'll maybe have a better idea of the things that you want to learn from the other languages.
 
  • #5


Based on your background and interests, it seems like programming could be a good fit for you. Your experience with C++ and MATLAB in your undergrad research project shows that you have the ability to learn and apply programming skills to solve real-world problems. Additionally, your interest in starting a startup and the potential for higher earnings in the tech industry suggest that you have a strong motivation to pursue a career in programming.

It is also worth noting that programming is a broad field with many different areas of specialization. While you may not have enjoyed HTML or web programming, there are many other areas of programming that may be more aligned with your interests, such as scientific computing, data analysis, or software development for engineering applications.

In terms of your concerns about not having enough experience or knowledge in programming, this is something that can be addressed through further education and practice. Many successful programmers come from diverse backgrounds and have varying levels of experience when they first start out. With your strong background in physics and applied math, you have a solid foundation to build upon.

Ultimately, the best way to determine if programming is a good fit for you is to try it out and see how you enjoy it. Consider taking some online courses or attending workshops to gain more experience and see if it is something you truly enjoy. Good luck with your decision!
 

Related to Is programming a good fit for me?

1. Is programming a difficult field to enter?

Programming can be challenging, but with dedication and practice, it is definitely possible to become a successful programmer. Like any other skill, it takes time and effort to become proficient in programming.

2. Do I need a degree in computer science to become a programmer?

No, having a degree in computer science is not a requirement to become a programmer. Many successful programmers are self-taught or have learned through online resources and coding bootcamps. However, having a degree in computer science can be helpful in understanding the foundational concepts of programming.

3. What are the essential skills needed for a career in programming?

The essential skills for programming include problem-solving, attention to detail, logical thinking, and a passion for learning. It is also helpful to have knowledge of programming languages, data structures, and algorithms.

4. Is programming a good fit for someone without a technical background?

Yes, programming can be a good fit for someone without a technical background. Many successful programmers come from diverse backgrounds and have learned to code through self-study or coding bootcamps. As long as you are willing to put in the time and effort to learn, programming can be a great career option.

5. Are there different types of programming careers?

Yes, there are many different types of programming careers, including web development, mobile app development, software engineering, data science, and more. It is important to research and explore the different types of programming to find the best fit for your interests and skills.

Similar threads

Replies
6
Views
987
  • STEM Academic Advising
Replies
11
Views
491
  • STEM Academic Advising
Replies
7
Views
996
  • STEM Academic Advising
Replies
16
Views
480
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
2
Replies
63
Views
5K
  • STEM Academic Advising
Replies
4
Views
1K
  • STEM Academic Advising
Replies
1
Views
690
Back
Top