kamranahmedse / developer-roadmap

Interactive roadmaps, guides and other educational content to help developers grow in their careers.
https://roadmap.sh
Other
296.91k stars 39.12k forks source link

Front-end Suggestions #101

Closed damengilland closed 7 years ago

damengilland commented 7 years ago

Great work on this! Really good start.

My feedback is partially covered here: https://github.com/kamranahmedse/developer-roadmap/issues/33

I look at this list and think, "What would I need to know a dev could do before I felt confident hiring them?"

I'd want to see technical SEO (so like Semantic HTML, and basic knowledge of meta data for SEO and social sharing, as well as things like canonical tags, and localization tags, etc.). I'd want to know they knew how to set up an SSL cert, and keep page load times under 3 seconds too. I'd want them to know how to build HTML emails.

I'd want to know that the dev knew something about some CMS system... if they know one they can learn another... but I'd want to know they knew how to deploy and manage one of these systems. Sort of the basics... set up automated backups, deploy changes to a live system that has a database, how APIs work, how to set up a DNS entry, how to set up cleaning scripts for building local environments that don't strip out customer email addresses, how to install a firewall... or run SQL queries... read error logs... simple knowledge of Unix command line... basic knowledge of what AWS services do. Simple back-end and DevOps / SecOps stuff. I sort of look at anyone who doesn't know WordPress or HubSpot or Drupal or some CMS as having never worked on any sort of marketing system before... and that would scare me off.

I want every dev to at least understand where they can go to read about coding standards, and how to validate them. Various services they can use to make sure their code isn't sloppy... how to do an effective code review.

I'd want them to know a bit about UX Design, and certainly know how to slice comps in Photoshop. The don't have to know how to do Visual Design from scratch, but they should know the basics philosophies of "Don't Make Me Think" and how to give feedback to designers around points vs pixels and how to design for responsive layouts.

I'd want them to know the basics about Google Analytics / business performance tracking. Optimizely, Marketo, something like that. They don't have to be experts, but they should be able to read a report and figure out what's happening on a page... is it the UX, is it the site performance, or is it just that users aren't converting... and to get this they just need to know the basics around a "conversion funnel" and the paths for how user data is captured.

If they went down the eCommerce (just another kind of CMS, really), I'd want them to know how to integrate with some basic services... email campaign service, payment gateway... these are fairly basic, but require understanding how to set up a local and various test / prod environments slightly different to utilize various service sandboxes. I'd want them to know the basics of PCI compliance.

I'd want them to know the basics of monitoring. How to set up uptime monitors, how to set up content monitors, how to set up application performance monitors, system health monitors, security access checks... Use of tools like New Relic... to figure out what pages need to be optimized... use of tools like Pingdom or Uptime Robot are pretty basic.... but you'd be surprised how many "devs" coming out of these coding academies know nothing about them.

Anyway my point with a lot of this is really just that you can't do Front-end without working knowledge of a few things in DevOps and Back-End. Certainly I agree with lines and specialization, but I never met a Front-end Dev who only did Front-end and nothing else ever. Front-end Devs typically are on the hook for making everything work... being able to diagnose where the issues are is key for them to be successful.

Are your Balsamiq files posted somewhere? Can I make edits and suggestions directly to those files?

Cheers!

amirsaleem96 commented 7 years ago

First of all, I would like to thank you for this amazing roadmap. My suggestion to you is that please include Data Structures & Algorithms, AJAX, JSON, and XML in front end roadmap.

ferdis commented 7 years ago

Can we please let XML die.

garrettw commented 7 years ago

It still has its uses, but a good dev should definitely learn when it's appropriate to use and when it's not.

savinger commented 7 years ago

I must not be a good dev... when is it appropriate? When the legacy system can support nothing else?

damengilland commented 7 years ago

Many many systems still use XML (and sadly they can't all be considered "legacy" even). I think it's still prudent to learn about... but also a good lesson in how to use it without being super sloppy... and also why a variety of things are better... First article that came up seems like a good summary of why XML is a pain in the ass to work with. It's important that people try not to build new things using XML... it will always be a huge pain in the ass...

pnoeric commented 7 years ago

Agreed that WordPress CMS (which is some front end, a lot of back end and a lot of specialized knowledge) is a large piece that should go... somewhere. ;-) I can't quite decide where, but I'd love to see it in there. Killer roadmaps btw!