In practice, the main difference is the pay / relative "rank" within a company. Employer's perspective: Want to hire a software engineer but don't have the budget? Create a new role, call it something else, now the pay difference is justified.
Context - I'm a software engineer by title but my job is application development. Which is hard, mind you! It looks like simple coding but it involves prioritizing, making smart decisions, and making all stakeholders happy.
This bolsters the point that the future of online dating is not a computer estimating compatibility with creepy accuracy, it's someone engineering an app to be addicting to get the largest userbase.
Understood. But they have so far avoided asking the user for structured data that they could use to vastly improve their matches. Clearly it took a back-seat to usability.
Perhaps I shouldn't have used the word "dumb" - I do not mean to imply the Tinder strategy or algorithms are stupid. Just meant that instead of prioritizing matching to the best of their ability, they prioritized usability.
Dating apps/sites that employ the strategy of "get as much data as possible and match intelligently" have failed to compete for users against Tinder, the dumbest, simplest dating app that hardly does any intelligent matching at all. This implies that it's not the sophistication of a dating app that matters, it's the simplicity and ability to attract a userbase that in turn attracts a larger userbase etc in a virtuous cycle.
Javascript is not easy to learn. Many language quirks, and doing anything fancy with asynchronous code will require an understanding of closures, functional programming, and perhaps promises.
I was so on-board at the beginning - yes, html and css skills are undervalued.
And then the essay tried to generalize the lack of respect for HTML/CSS specialists as an example of lack of respect for specialists compared to full-stack devs. This is where I think the essay took a wrong turn.
The technical community has tremendous respect for backend or math specialists. Now more than ever, ML and data science is cool. High performance is cool. Security and cryptography are cool. Etc.
But HTML and CSS? There is a general attitude that they're "easy" and javascript is "harder". But writing good HTML and CSS should be considered one of the highest art forms. Good HTML and CSS makes the end user go "wow, this is nice and clean" and makes the javascript developer go "wow, this is nice and clean". Achieving both of these is so fricking hard!
For 1 and 3, it's the process that matters more than the tool. One process I found effective is maintaining a spreadsheet of tasks and a spreadsheet of larger milestones, updated in periodic meetings.
For the task spreadsheet, you can have a twice-a-week stand up where everyone goes around and updates their own tasks on a google sheet in turn.
For the milestone spreadsheet, a period between one month and one quarter works well.
Although meetings are often eschewed by software engineers, they really do help to keep projects on track.
Also appoint someone to be in charge of tracking the "health" of various milestones, red = needs course correction, orange = at risk, green = on track, etc.