3 ms·
I'll give this a shot: 1. Learn React and Typescript. React has taken root in the enterprise and it seems to be the frontend equivalent of Java. 2. Learn abou
by Pandabob 5y ago
I'll give this a shot:
1. Learn React and Typescript. React has taken root in the enterprise and it seems to be the frontend equivalent of Java.
2. Learn about CI/CD: Github Actions is a good starting place. If you're hosting your projects in something like Vercel, try running separate staging and production environments.
3. Look at popular open source frontend projects. The newly released Supabase dashboard[0] seems to be a pretty good starting point to figure out modern best practices. Excalidraw is another[1].
4. Frontend masters has some pretty good courses regarding React and enterprise Typescript. Would give those a try (the price is $39/month).
5. Where I'm from (Finland) Spring Boot (Java/Kotlin) seems to be the most popular backend framework. Node and Python frameworks share the second place. If you want to learn backend, I'd suggest picking one of those three. Rails if you really want to.
6. At some point you'll probably want to work with AWS. If React is the Java of the frontend then AWS is the Java of infrastructure.
7. It's never a bad idea to know SQL.
[0]: https://github.com/supabase/supabase/tree/master/studio https://github.com/supabase/supabase/tree/master/studio
[1]: https://github.com/excalidraw/excalidraw https://github.com/excalidraw/excalidraw
- lytefm 5y agoThis sounds like good advice. Don't worry about Containers, deployment or testing "best practices" until you really need it. You'd be surprised at how many software companies' testing is "clicking around in the app", deployment is "upload to store/ rsync to server" and containers aren't used at all. Start learning React (you can also take a look at Vue), do some tutorials and build some CRUD app which has a database. Stay focused on the front-end, learn "just enough" of everything else when it comes up. I'd recommend getting into Cross-Platform Web app development using something like Electron (Desktop) or React Native/ Ionic (iOS/Android). After learning the basics, dive into some frontend-heavy open source project that uses your framework, figure out how it works and try to fix some bugs. For example, this is a Markdown editor using Vue and Electron: https://github.com/marktext/marktext https://github.com/marktext/marktext
- vanusa 5y agoYou'd be surprised at how many software companies' testing is "clicking around in the app", deployment is "upload to store/ rsync to server" and containers aren't used at all. Not only that - a non-dockerized, bare-metal, but otherwise cleanly coded "rsync to server" app can be -- compared to the usual non-spec'd, undocumented cluster-f hairball shoved into a container, with a shiny layer of CICD thrown on top -- can be surprisingly joyful to maintain.
- jraph 5y agoAnd it's usually not the frontend/backend developer deploying the app, but a dedicated person in charge of deploying / maintaining the infrastructure. But it helps to have an idea on how they work.
- brightball 5y agoI’d bump 7 to the front of the list but otherwise, totally agree.