Being a front end developer is not an easy task these days. With the rise of new frameworks and libraries every week it’s not that easy to keep up with all the updates. In my opinion front end developers today need to learn how to utilize the amazing data source called “The Internet” to their advantage.
A lot of people ask me if they should go and learn coding in this or that school, my answer is always the same: “Take the time to learn alone, look for internet courses, read blogs, go to meetups and etc..”.
In my opinion people who can’t learn alone will have really hard time getting a good job, and more importantly getting a second job.
You can go to a coding course learn technology “A”, work with that technology for a year, or more. Then something happens and you lose/quit your job, you start looking for new positions and come to the understanding that everything you know is outdated.
It's important to always keep evolving and exploring new technologies even if you don’t do that on your daily job. It will make you a better programmer. New technologies can teach you different design patterns, architectures and coding styles that can help you with your daily work. It’s easy to fall into the trap of comfort zone. If you feel comfortable in your position, start learning something new. Get out of there as soon as possible.
The current state of web development is a real mess, every other week you have the "New cool kid", that can evolve or disappear in a couple of months. Investing in technology "A" or "B" is not an easy decision to make. But IMO it doesn't matter if it will stick or not, you can learn from it anyway.
It's really important to set yourself goals for a defined time interval. For example reading a programming related book once in 2 weeks. Contribute to open-source project at least once a month even if it's just fixing some docs, or going over a reddit tech feed every evening/morning on your commute to work, code a side project once a month with new technology stack and etc..
My daily routine includes going over 3 main social media sources: Twitter, Reddit and Github Trends.
Here are some people/channels to follow there:
- JS Foundation - @the_jsf
- JS Jabber - @JSJabber
- AngularJS News - @AngularJS_News
- Sitepoint - @SitePointJS
- React News - @ReactJSNews
- Angular Central - @angularjs_io
- Angular Central - @angularjs_io
- Dan Abramov - @dan_abramov
- Eric Elliot - @_ericelliott
Basically find the key influencers/aggregators in your field and follow them. It's also a good practice to follow the Frameworks/IDE's/Languages channels to be notified about new features and relevant tips. For example: typescript, Webstorm, angular, Vue, webpack, sass, etc...
If you still don't have twitter I highly suggest to open one, even if you are not an active member just subscribe to your favorite areas of interest.
Reddit is a great source of information as-well. You can find there a lot of interesting discussions around various programming topics. There are a lot of opinions there and you can learn a lot from simply reading comments. A lot of content creators also publish their work there, so you can discover a lot of great videos and blogs.
Here are some sub-reddits for Front-end developers:
Download the reddit app, it has really nice design and UX, I even prefer it over their web interface. If you are not interested in all the default sub-reddits you automatically joined feel free to un-subscribe them so your feed will be more tech-oriented.
This is a great place to discover new open-source projects. You can visit it once in a few days and check what's hot right now:
A great way to discover new content is by reading blogs and subscribing to their newsletters. You will receive weekly/monthly summaries to your email. I'm usually labeling those emails to a special folder and trying to find time on weekends to read them.
Here are some great front-end newsletters you can follow:
- Codrops https://tympanus.net/codrops/
- Sitepoint newsletters http://www.sitepoint.com/newsletter/
- CSS Weekly http://css-weekly.com/
You can discover great blogs on twitter, reddit or from newsletters. Keep yourself some of your favorite publishers bookmarked and even subscribe to their newsletter. There are a lot of amazing publishers out there here are few of my favorites:
- Todd Motto https://toddmotto.com/
- Ben Nadel https://www.bennadel.com/
- Eric Elliot https://medium.com/@_ericelliott
- Nettuts https://code.tutsplus.com/
- Smashing Magazine https://www.smashingmagazine.com/
Medium is a major indie publishing platform with really great design and user experience. You can find there a lot of great tech blogs. Open an account, mark your interests and medium's suggestion engine will send you relevant posts by different publishers. Mark your favorite content creators and posts with the "Like" button and you will get more relevant suggestions with time.
Medium's discovery is pretty good, but here are some FE channels you can follow:
Meetups and conferences
It's a really great thing to find the time to attend any dev related social events in your area. There are a lot of great communities around the world for web-developers. You can find local meetups at http://meetup.com/. Simply register and add your interests. Try to visit at least one meetup each month. It's a great opportunity to learn new technologies and meet new people.
There are a lot of great video sources for learning front-end development. Here are some of the main resources available:
- YouTube - You can find a lot of great and free content on youtube. Starting from tutorials to conference video's.
- Udemy - udemy offers video training on various topics. You can buy your favorite courses or learn on their free tier training. Note that there are a lot of sales on udemy, sometimes it's worth waiting for discounts and get really great content for pennies.
- Pluralsight - offers great courses on a monthly subscription basis.
- Egghead - Offers short videos on different topics (Angular, React, Css, RXjs, Vue and etc... Monthly subscription.
I hope that this post will help some of you with learning more and getting sense of what's happening with the web development community on a daily/weekly basis. In my opinion knowledge is power and with the incredible amount of free information you can get on the internet it's a shame not take advantage of it. This will make you a better developer and help you with advancing your career.
If you have any additions or suggestions feel free to comment with your favorite sources of information.