Web development and problem solving

23942329

Member
Joined
Aug 19, 2018
Messages
13
Reaction score
11
I'm 27 of age and have yet to decide on a career and was thinking of starting a web development gig and seeing whether or not it is for me. Up till now I've only been working for my father's company as a desk support nerd. I will first try the front-end of things and see whether or not I like it, if I do I would try to go full stack.

For the moment my only question is about the problem solving aspect of things and what exactly entails it. If web development is a form of programming and programming is defined in a number of contexts as creative problem solving within the constraints of computer technology, then what mathematical or logical problems am I expected to solve, and how would these problems change, in terms of both difficulty as well as their nature, over time as I get more experienced and my career progresses?

I would be very grateful if some real-world examples could be demonstrated as well as how I am to go about finding the solutions.

Thank you kindly for your time.
 
I would be very grateful if some real-world examples could be demonstrated as well as how I am to go about finding the solutions.

Here's a real world brain scratcher example:

Swop out the existing transactional and marketing email provider for a new one. They'll need to run side by side for a while because of an IP warm up period but don't mess up the unsubscribe lists!

You can math all you want, finding x is not going to help you with that one. On the other hand, this is not something a junior will be tasked with anyway.

Pure math/logical problem solving are found in interviews (dumb interviews) and not do much in real life. Yes, you'll use math/logic every day but it's more like solving a mathematical word problem and riddles - it's a natural analytical way of thinking.

If you know your math it will definitely help in a lot of cases (better "tools"), but I wouldn't worry about it: You either know how to solve a problem, determined enough to figure it out if you can't or you just couldn't be bothered.

Either way, there is a dev job for you (front end guys are more like graphic designers that know about for loops anyway :p /runs)

You can look at HackerRank, Project Euler, Code Wars etc. to find challenges, solve them and see how others solved them. With no coding experience it's going to leave you depressed though.

My advice: study up on front end and backend (Python is easy and not overwhelming), treat them as completely unrelated and see where it takes you.

One day when they overlap "Hooray! Full Stack" or as we liked to call it before recruiters and NodeJS: "Hooray! Developer!"
 
Last edited:
If you haven't already, check out Think Python (which was previously titled 'How to think like a computer scientist') and also check out the various courses on EdX.

You also mentioned that you are currently working in desktop support - have you considered real world problems that you can solve in your current role with programming? Automating tasks using Powershell or command line scripts for instance or maybe there is a problem within the company that can be solved with a basic application of some sort. In addition to giving you real world problems to solve, you can also use the opportunity to develop experience with version control, testing and other disciplines that would be required as a professional developer.

Best of luck with your career progression.
 
Either way, there is a dev job for you (front end guys are more like graphic designers that know about for loops anyway :p /runs)

Full-stack dev here:

I kinda think that USED to be the case. If you're sticking to simple HTML and CSS, then sure, it fits the same category as web designers...

But today most people are looking to have their frontend's written in something like React, Vue or Angular, which requires the same amount of problem solving all the time just like most server side tasks.

And then to answer this question:

then what mathematical or logical problems am I expected to solve, and how would these problems change,

For most part it depends on how complex your app is going to be.

Real life case I dealt with a few months ago. Client have a database with 5 million timestamp entries. I need aggregate number of entries by the hour / days / months, etc etc etc (a database like that could have hundreds of use cases).
Now, I haven't touched maths since high school and statistics in like 5 years, nor were I any good at it, but hey, thank gosh for Stackoverflow.
 
At the start, 99% of the time the most maths you will do is working out percentages in CSS (although flex box has kinda replaced that now) and those JS maths problems you get in all the tutorials.

As you gain experience and knowledge that will change though and you'll encounter more maths related problems. At that point though, problem solving will baked into your workflow.
 
PHP7 is easier, faster and all-around better than python for the web.
/runs
 
PHP7 is easier, faster and all-around better than python for the web.
/runs

Now for my real answer.

I haven't used PHP in years, I built an app about 5 years ago that is still used to this day, it's a very specific app so you don't need to add new features that often. That being said, I barely touch it, it just keeps humming away.

I haven't used any Python frameworks for web dev, so I cannot comment.
I haven't used any PHP frameworks since Yii, so I cannot comment.
What I do use is Rails as it really is fantastic and really does live up to its name for fast app development that makes me happy.

When I compare the actual languages (for me, my opinion)
1. Ruby
2. Python
3. PHP
... All the other programming languages ...
Then: Javascript

The last part was a joke but I really dislike the whole "modern javascript" movement.

If I compare speed:
I don't care, web development doesn't need raw speed. Each language can be optimized to provide sufficient speed 99.99% of the time. Let's face it, we're not programming critical systems like the landing control on Falcon rockets. It's web, most of us will never need more than a stock standard MySql database with a few servers.
 
If I compare speed:
I don't care, web development doesn't need raw speed. Each language can be optimized to provide sufficient speed 99.99% of the time. Let's face it, we're not programming critical systems like the landing control on Falcon rockets. It's web, most of us will never need more than a stock standard MySql database with a few servers.
Everything is cloud based these days so most business critical stuff runs on a server with APIs exposed to the outside and for that PHP7 is second to none.

PHP pre 7 is kak slow. 7 changed the game.
 
Everything is cloud based these days so most business critical stuff runs on a server with APIs exposed to the outside and for that PHP7 is second to none.

PHP pre 7 is kak slow. 7 changed the game.

PHP 7 is second to Rails API.
 
It's web, most of us will never need more than a stock standard MySql database with a few servers.

To be fair, most of us will never really need anything other than SQLite for web stuff.
If you somehow created something that needs to write super fast in millions, then yes, MySQL or Postgresql, sure - but then at the same time, you probably built something worth quitting your day job for ;).

SQLite is super underrated.
 
To be fair, most of us will never really need anything other than SQLite for web stuff.
If you somehow created something that needs to write super fast in millions, then yes, MySQL or Postgresql, sure - but then at the same time, you probably built something worth quitting your day job for ;).

SQLite is super underrated.

I prefer MySQL over SQLite because initially you can run all your apps from one DB... on the same server your app is running so there is no cost difference but you get a lot of benefits and if you ever need to scale something, you don't have to go through a DB change, it's just replicate and then failover.
 
I prefer MySQL over SQLite because initially you can run all your apps from one DB... on the same server your app is running so there is no cost difference but you get a lot of benefits and if you ever need to scale something, you don't have to go through a DB change, it's just replicate and then failover.
If someone is debating whether MySQL or SQLite is better, then they dont yet know enough about their requirements to start development.
 
If someone is debating whether MySQL or SQLite is better, then they dont yet know enough about their requirements to start development.

I don't think anyone was debating that but there certainly are instances where SQLite is the better solution.
For instance running a media center or home automation system on a Raspberry PII. Or if your Mobile App needs to work offline.
 
PHP 7 is second to Rails API.
Pretty sure PHP 7 is better in the web application space as it can generally handle more requests per second and has lower memory requirements, without even going into the time to deploy.
But if you're comfortable with Ruby on Rails, then rather go with that, go with whatever the team is more comfortable with as long as it's not an actual hindrance/faster to learn a better framework/tech that is also easy to maintain.

To be fair, most of us will never really need anything other than SQLite for web stuff.
If you somehow created something that needs to write super fast in millions, then yes, MySQL or Postgresql, sure - but then at the same time, you probably built something worth quitting your day job for ;).

SQLite is super underrated.
But why go with SQLite if setting up and using a MySQL/PostgreSQL DB is pretty easy and usually comes with most base frameworks out of the box? For the earlier post with having it on your Pi since you won't need to run a server for example, is a great reason, but if you're already running it in production on a server, e.g. with docker, why not?
And I dislike that brag about the 4.5kloc single php file, of course it works, but it's just stupid.
 
Last edited:
Pretty sure PHP 7 is better in the web application space as it can generally handle more requests per second and has lower memory requirements, without even going into the time to deploy.
But if you're comfortable with Ruby on Rails, then rather go with that, go with whatever the team is more comfortable with as long as it's not an actual hindrance/faster to learn a better framework/tech that is also easy to maintain.

I'm not going into the semantics of PHP7 vs Rails. If I wanted blistering speed I would use Phoenix over Laravel/Yii etc... even though I know PHP very well. That's mostly because my Rails knowledge translates very well to Phoenix.

I would say PHP is a lot more common but certainly not better.
There is a reason why Rails is famous with startups and that's because it lives up to it's reputation of quick MVP and maintainability and by the time the app is serving enough people where you need to start worrying about scale, you have enough money to pay for it. It's not only about the speed, it's also about investment. It's much easier to build out an MVP with Rails in a few weeks and get funding than to take 6 months in NodeJS and then have the cost of maintaining that mess.


But why go with SQLite if setting up and using a MySQL/PostgreSQL DB is pretty easy and usually comes with most base frameworks out of the box? For the earlier post with having it on your Pi since you won't need to run a server for example, is a great reason, but if you're already running it in production on a server, e.g. with docker, why not?
And I dislike that brag about the 4.5kloc single php file, of course it works, but it's just stupid.

I agree with you here, I only use it when system resources will be low.
 
But why go with SQLite if setting up and using a MySQL/PostgreSQL DB is pretty easy and usually comes with most base frameworks out of the box? For the earlier post with having it on your Pi since you won't need to run a server for example, is a great reason, but if you're already running it in production on a server, e.g. with docker, why not?

Sure. I was just making a point.
Django and Rails however ships with SQLite by default. But since they are ORM based, you can simply just use that.

To be fair, I mostly use Mongodb these days, because it's quite smooth with NodeJS and I use Mongodb atlas for development - no local setup required as everything is cloud based.
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X