Hi,
I'm hoping to get some much-needed tech-stack advice. I have been in UX/UI design for ~11 years now. No hands-on programming until very recently, I learned the basics of Python/CSS 3/HTML5/Django/Flask.
I am looking to work in early-stage startups, helping to build tech/software design. Where I would essentially need to wear multiple hats.
The tricky part for me has been understanding which technology I should focus on learning.
I don't really care at all about where the jobs are. I care more about these priorities (in order):
- Feature-rich / Robust capabilities / Scaling / future-proofing / Security (Is it good tech)
- Ease of build. (Being a UX/UI guy, I love a good GUI to build with.)
- Library resources. Would love to skip the easy stuff whenever possible.
- Strong Dev community.
- Ability to convert Prototypes to usable code. Figma?
- Cross-platform capabilities.
- Monolithic nature. Would love to avoid learning a million different tools.
Basically, I am looking to be enough of a do-it-all type developer, that gets the MVP tech stack far enough along with the company to get funding and get the dedicated resources we would need for whatever the technology is...
Any advice is appreciated! Thanks! - Brian
I would advise you to learn a good amount of Javascript and/or Typescript. Start with one or the other. Then, start learning a framework like Vue or React (I'd recommend the latter), and if you've gained enough knowledge about core topics, get on to learn a meta framework like NextJS (which is based on React).
For styling, I would recommend to learn at least the basics of CSS before you move on to a framework like Bootstrap or Tailwind. You mention you already have so that's good. I would definitely invest time in understanding Grid and Flexbox, as well as writing media queries for responsiveness if you haven't so. When you're confident writing your own CSS, I could definitely recommend Tailwind as framework as that still allows you to implement your own styling and designs, instead of using a predefined UI Component-based framework like Bootstrap. I've been using it for a few months now and when you get the hang of it, it's really time efficient.
One tip: try to define your tech stack now, and focus on mastering those tools instead of being a jack of all trades. It's hard to master tools/topics if you're not enough invested in learning those because you want to learn too much. For example, I would either pick Django or Flask in your situation. My preference goes to Django. If API support is needed, then use the Django REST Framework for example.
Also, best way to learn is to just build things. Try building your portfolio website or a to-do app. Also, try to build something that retrieves data from an API.
Yeah, nextjs probably has the best frontend among all the development tools, but i dont recommend using it for backend, you can continue using django/flask since i think they are more development ready, even tough nextjs can do great things in its backend too
Yeah, nextjs probably has the best frontend among all the development tools, but i dont recommend using it for backend, you can continue using django/flask since i think they are more development ready, even tough nextjs can do great things in its backend too
Master JavaScript or TypeScript first, then choose a framework like React. Learn the basics of CSS, focusing on grids, flexbox and media queries before styling with Tailwind. Define your tech stack to avoid getting stuck, and create projects like a portfolio or a to-do app to apply your skills and gain practical experience.
Prototype to code would be better with teleport.hq. Figma is ok for the prototype itself but to get the code you would still end up using the Teleport plugin. Either way the code generated is always moderately hacky, you should keep learning JS and HTML so you can fix up odd looking parts yourself.
Figma is excellent for creating prototypes, but Teleport HQ's plugin is crucial for converting designs into code. Keep in mind that the generated code may need manual adjustments for the best quality. Continuously improving your JavaScript and HTML skills will allow you to address any issues and guarantee a polished final product.