Top products from r/webdev

We found 179 product mentions on r/webdev. We ranked the 443 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top comments that mention products on r/webdev:

u/MetaSemaphore · 2 pointsr/webdev

Hey there! I recently finished this course and also recently got my first offer for a Jr. Front-End Developer role after about a year and a half of self-study. Colt's course is awesome, and I found it to be the best single resource on web development I encountered. So I think you've picked a really good place to start. But, that being said, it is just a starting point (even a full-time $10k boot camp is just a starting point), and you probably will need to look into other resources as well.

I will second what others have said that I found the Rob Percival course underwhelming, but there's a lot of other stuff out there that I would recommend. Note: I'm going to go a bit link crazy here, and I know that might seem a bit overwhelming, but I'm figuring it's better to give you more rather than less; your mileage may vary, and you may not need all of these. These are just the resources I found most helpful.

Free Code Camp is a great place to find practice problems to work through, mainly when it comes to front-end. I can't stand using it end-to-end as a learning path, but others love it. So, different strokes and all that.

CSS Tricks is a really great blog and site for learning how to do advanced CSS stuff. And the site founder Chris Coyier, also hosts a really great podcast called Shop Talk that's all about front end.

John Duckett's books HTML & CSS and JavaScript & JQuery are really pretty and very noob friendly. The JS one does have some errors, so be wary of that, but I found it really helpful for getting a sense of the underpinnings of the language while reading on the train.

You Don't Know JS Is a great book series that is all available online for free and will really help you solidify your JS knowledge.

JavaScript: Understanding the Weird Parts is another Udemy course that does a deep dive of JS (Udemy always has sales, by the way, so never pay full price for their courses).

JavaScript Design Patterns is a free course on Udacity that is super helpful in introducing you to JS frameworks and MV* design patterns. Note that, while you can pay to do a "Nanodegree" through Udacity, you can also access a lot of their courses for free, so I would recommend trawling through them--there's a lot of good stuff on there.

JavaScript 30 is a 30-day structured course in building stuff with vanilla JS by Wes Bos, who has a lot of other good courses as well (though some of them are paid).

Practical JavaScript This is one I've actually just started working through, but so far, I'm really enjoying it. Again, this is free. It will introduce you to test-driven development and give you a better sense of how to plan your own projects, while also not getting mired in any frameworks.

If you want to go into the bowels of the framework world, though:

The udemy course I did first for React/Redux now seems to have been taken down by its creator so that he can update it. But it was called The Complete React Web App Developer Course by Andrew Mead, and when it comes back in updated form (hopefully soon), I would definitely recommend it. If you like Colt's teaching style, Andrew's has a lot of the same feel (excited, but really detailed explanations, and goes over things 50 times in different projects and contexts so that you really learn them). I've also started doing Stephen Grider's Modern React with Redux, and it seems really good so far (though I'm not that far into it, so take it with a grain of salt).

React Fundamentals is another awesome free course by one of the developers of react-router.

u/wackycrane · 1 pointr/webdev

I would like to encourage you a little and liberate you from the thought that a good designers must "be creative" (i.e., good at making things look pretty).

Form and function. Web design is primarily about function (i.e., problem solving). Form plays a lesser role and can be highly subjective. As a general principles, so long as form does not hinder function and is not needed to communicate a particular message (e.g., elegance, happiness, anger, etc.), then good-enough form is good enough.

Consider Craigslist. It's an ugly website. It's not going to win any good-looks awards. Yet, people are not leaving in droves because it solves a problem (i.e., post, search, and review classifieds) and does so well.

On the flip side, there are many beautiful websites that are functionally defective.

Good designers solve problems. If you want to learn good design, I'd recommend a few courses:

  • Graphic Design Specialization [Coursera]
  • Interaction Design Specialization [Coursera]
  • Game Design Specialization [Coursera]
  • User Experience Research and Design MicroMasters [edX]
  • Intro to the Design of Everyday Things [Udacity]

    You can take all of these courses and specializations for free. (Make sure you select the free option if that's your preference.) They will help you learn "design thinking" from three different perspectives.

    A really good book on usability (function) with wide applicability is Don't Make Me Think by Steve Krug. A good book on graphic design basics is The Non-Designers Design Book by Robin Williams.

    Sadly, most web "design" books focus on teaching HTML, CSS and JavaScript rather than design, so I can't provide any good resources specifically on web design. (Maybe others can fill that void.)

    However, the benefit of approaching design from a variety of perspectives and in a variety of contexts is that it helps you learn how to "think design." Seeing design thinking play out across areas reinforces the basic design principles and practices and makes it easier to apply them to web design.

    If you are more interested in form, then I'd recommend looking into studio art classes (e.g., drawing, painting, photography, digital imaging, etc). (Alternatively, you could follow courses on YouTube for these.) While these sometimes focus more on technique, they'll help you learn how to dissect what you see. You'll learn to see objects as shapes, lines, textures, shades, hues, etc. Combine that knowledge with good technique (e.g., drawing, HTML/CSS, Photoshop, etc.), and it becomes easy to make things look nice.

    Also, don't neglect creativity. One of the best books on creativity that I've ever come across is Sparks of Genius: The Thirteen Thinking Tools of the World's Most Creative People. While it's a long read, it provides you with some great tools to use to "spark" creative thought.

    Hope that helps.
u/ryanpeden · 28 pointsr/webdev

I've been here a few times in my decade-long career.

To start, this isn't something that only happens to junior developers. Trying to approach a large existing code base can be a real challenge, even when you have lots of experience.

You're not going to understand the whole application in a day. Probably not even in a week, and probably not even in a month. On some large code bases, I've regularly run into new code *years* after I first started working on the application.

What I've found helpful is to pick a small part of the application; preferably one that's related to a feature you're trying to add or a bug you're trying to fix. Find what looks like the entry point of that small part of the application. In a web app, it could be a method in a controller class. Or it could be a method in a service class somewhere.

Once you've found that entry point, read through the code one line at a time, and try to make sure you understand what's happening at each point. If the method you're in calls another method/function, jump to that and go through it one line at a time. On code that's particularly complex, I'll grab some sheets of lined paper, and devote one sheet to each method I go through.

As I go through each method, I'll write out the whole thing by hand as pseudocode. In order to do this, I have to understand what the code is doing. Some people might find it more effective to do this in a text editor. I find that there's something about the process of physically writing it out on paper that really helps cement my understanding.

Now, the whole writing out part isn't worth it if you just need to go in and do a quick bug fix. But if you've been handed responsibility for a chunk of code and you'll need to understand it deeply, I've found it to be a useful approach. I think it can still be helpful even if you're not solely responsible for a piece of code, but will have to work on it heavily.

Start by deeply understanding one important part of the code. Then move on to understanding another important part. Soon, you'll start to see patterns and understand how these important bits of code fit together.

If you're not yet sure what the important parts of the code for you to understand are, then a good way to find out would be to look at the repository's commit history to see which files have the most commits over time. The places that change the most often are likely the ones *you* are going to have to change, so they are a good place to begin. You can find instructions on how to do this here:

https://stackoverflow.com/questions/5669621/git-find-out-which-files-have-had-the-most-commits

That assuming your code is in a Git repository. If you team uses Mercurial, you can look up instructions on how to do the same thing. If your team uses Subversion or heck, even CVS, you can probably accomplish the same thing. If your team doesn't use source control at all, then start spiking your morning coffee with rum or Kahlua because that will make your job significantly less painful.

For a look at using Git commit history to find the most important code - and the parts with the most technical debt - I enjoyed a book called Software Design X-Rays.

I've found the book Working Effectively with Legacy Code to be quite helpful in showing me different ways to approach an existing code base. Even if you don't apply all of the techniques the book suggests, I think it's still useful for finding out ways to find 'seams' in the code that you can use as points of attack when refactoring, adding features, or even just choosing a place to start learning a new bit of code.

If your employer will let you expense the cost of eBooks, you might find these interesting. If you can get access to Safari Books Online, both these books are available on there, along with a metric ton of great software development books. You might not need to pay for it - in my city, everyone with a public library account can access Safari for free. Maybe it's similar where you are?

Also, if you have a particularly frustrating day, feel free to come on Reddit and send me a DM. I might just have some useful advice. And if I don't happen to have useful advice on a particularly topic, I'll at least be able to come up with an on-topic smartass remark that will help you laugh and feel better about the code that frustrated you.

u/mearkat7 · 4 pointsr/webdev

I'll preface this by saying i've done a little bit of hiring and helped my boss look at candidates so i'll try to explain why interviews might not be coming your way.

Also be wary that i'm bias. I don't really understand the idea of a "boot camp"; You can't leave your job and become a teacher or a lawyer in 6 months, why is a developer different? I guess it just seems a bit offensive to just assume that the field has such a lower barrier to entry that you need next to no training to be work ready.

Ok rant over.

Some tips/advice:

  • Go to meetups. Whether it be a nodejs or an express meetup find what is happening in your area and do your best to get along. You'll meet people and build up a bit of a network which will help gain some respect even if it's within small circles. Many of the people will have jobs and might be able to hook you up
  • You currently don't get interviews because you're easy to discount from a list. If a business gets 20 applicants an easy way to narrow down is by degree/experience. As somebody without either you're just culled while the list is narrowed down so you probably never get past that first step. That's why the above is vital. Also if you're rejected somewhere try to find out why, follow them up and see if you can improve yourself. I know many people who've done comp-sci/programming at uni for 4+ years and still can't get a job, you're going to need to work hard to get ahead of these people
  • Reason 2 people won't give you an interview is you're a big risk/investment. To get you where up to scratch in tech they're going to need to invest time in you, get you mentored, train you and help you which is $$$. The fact that you've dropped your previous degree and done a 6 month course I know my boss and I would raise a red flag at, how do we know you won't get bored in a year and after all the investment you just leave? Not saying you are like this at all but trying to explain what goes through peoples heads when they look at you
  • Not sure what jobs are like in your area but it's probably worth looking at what tech is popular. Is C# the king of your area? Learn C#. Is python the most popular stack? Learn python. People get too caught up in trying to use something cool and current rather than something that will be useful. You can write beautiful code in any language.
  • Read some good books. Most people have done a 3 year degree at uni to get to your position so in some aspects you'll be massively behind. Reading something like clean code(best book i've read on development) will help you get up to speed. Understanding how to get requirements is as important as being able to write the code.
  • Make sure you're applying for the right positions, again I have no idea what you're looking at but you need to be looking as low as possible. Anything without the word junior in it they'll write you off instantly. Call some businesses and see if you can find out what they look for in a junior, maybe they like seeing more side projects etc.
  • Contributing to open source is often a good idea, while some people hold it up as all important I think it's just good as it shows you can work with others and understand the idea of getting issues/features done and have the ability to come into a library/application and understand it enough to contribute.

    Portfolio critique:

  • Nowhere does it mention what sort of job you are after(unless I missed it)? It just launches into name then skills, having something like "developer" or "web developer" I think would help me
  • Skills are way too saturated, you can probably remove all the browser images, i'd take away ajax, and depending on your target audience html/css. If you call yourself a dev and can't do html/css you're not worth looking at
  • Personally i'd put a contact form on there, you say "be the next chapter" but don't give me an "easy" way of getting in touch with you, drop a form in so I don't have to do more work
  • All your projects look like assignments from your course(they might not be). I'd try to diversify those because I just assume when I look at them you've had help or have not actually done it yourself and is something i'll often question with our applicants
u/U3011 · 1 pointr/webdev

In that case here you go.

____


They're ok. Try this. Codecademy isn't bad. It won't teach you much in the way of doing things but it does teach you the way to type out code, the general process and stuff. I can't speak for myself because I work as a professional developer and have been tinkering with code for 10 years now, but I did give the first lesson to one of my brothers. He's not great with computers or the Internet, but he was able to follow the first two sections of the basic HTML/CSS course and able to make his own site albeit very basic in nature nearly a month later (3 week gap following him doing the lessons). He was able to do a rough basic site of his Facebook profile, and he nailed it. It should open doors for you in terms of having the basic knowledge of how to do things. It'll allow you to read more advanced stuff and pick it up much faster than if you hadn't.

Below is a list I sent to someone on here a while back.

>
>http://www.reddit.com/r/webdev/comments/1eqaqo/best_books_or_online_resources_for_comprehensive/ca2w2dn?context=3



>PHP and MySQL Web Development (4th Edition)
>
>Beginning PHP and MySQL: From Novice to Professional
>
>Read the second book, do all the examples, then go back to the first book. Pay a lot of attention toward array manipulation. When you're comfortable with that, get into OOP. Once you do and OOP clicks for you, you'll be able to go to town on anything. I've heard a lot of good about Jefferey Way's video lesson courses over at TutsPlus. I've never used them nor do I need to, but I've never heard a single bad thing about their video courses. Their Javascript and Jquery is a great starting point. This is great stuff too if you're willing to put in the time.
>
>Professional JavaScript for Web Developers
>
>JavaScript: The Definitive Guide: Activate Your Web Pages
>
>Responsive Web Design with HTML5 and CSS3
>
>The Node Beginner Book
> Professional Node.js: Building Javascript Based Scalable Software
>
>Paid online "schooling":
>
>http://teamtreehouse.com/
>
>http://www.codeschool.com/
>
>Bonus:
>
>http://hackdesign.org/
>
>
>I've got a shit ton (Excuse my French) of books in print and E-Format that I could recommend, but it would span a couple pages. Anything is easy to learn so as long is it's served in a hierarchical format that makes it easy to absorb the information. A year ago I started to learn Ruby and using ROR as a framework. I can say it's been quite fun and I feel confident that I could write a fully complete web app using it. I started node.JS a few months ago, but it's been on break due to being sick and some unexpected events.
>
>My knowledge is extensive only because I wanted it to be. I'm not gifted by any means nor am I special. Not by a longshot. Some people are gifted when it comes to dev and design, most are not. Most only know one or the other. I forced myself to learn and be good at both. I'm 23, I started when I was about 12. I'm only breathing more comfortably now. I know a load of people on here and other sites who make me look like complete shit.
>
>
>Also for what it's worth, sign up to StackOverflow. It's the bible and holy grail rolled up into one site. It's amazing.
>
>Also;
>
>Hattip to /u/ndobie
>
>> CodeAcademy
>
Team Treehouse
> CodeSchool. This is more programming but still very useful & has free stuff.
>
Tuts+
> Google. Probably the best way to find out how to do something specific.
>
This subreddit. If you have any questions about how to do something, like parallax scrolling, try searching for it, then ask, make sure to include an example of what you want if you don't know what it is called.

u/ryantriangles · 2 pointsr/webdev

> Recently released books? Udemy courses? Free stuff online like W3Schools or CodeAcademy?

Mozilla Developer Network has fantastic documentation for JS, HTML, CSS, and the browser APIs, and a section intended to guide you through them for the first time in a comfortable order.

If JS is your first language, I'd recommend checking out the book "Code" by Charles Petzold, a great and relatively short book that answers the fundamental beginner questions like "So what's a CPU actually doing in there?", "How does source code make stuff happen?" and "How can music be 1s and 0s?"

There's a great series of books, available for free online, called "You Don't Know JS", that teach you how the language operates. It might be too involved if it's the first thing you read, but definitely at least start it and bookmark the later volumes to come back to.

Marijn Haverbeke's book "Eloquent JavaScript" is available to read freely online. I'd really recommend that one, too. And when you want to stop reading theory and start working on actual projects, grab "JavaScript Cookbook" by Shelley Powers.

> Did I choose right languages for what I wish to create? Maybe I should also use something else, like Bootstrap, Node.js or Typescript?

Don't worry about those for now. Node will be useful if you decide you need a server component to your game. Bootstrap is nice, and it's helpful, but if you're still trying to learn HTML and CSS yourself, it will only get in the way and obscure things. TypeScript is something you'd look at only once you're comfortable and confident with regular old JS. Stick to plain old HTML/CSS/JS of your own to start.

u/Zuslash · 5 pointsr/webdev

I found Lynda.com to be extremely dry and slow. To me it was the equivalent of those old school mandated educational movies you would watch in classrooms back in the 90s on your faux-wood tv. Take this opinion with a grain of salt though as it has been almost two years since I have looked at anything on Lynda, I hear it may be better today.

If you are looking for web development in particular I would suggest the following:

  • Codeademy - Free and very good at introducing basic web development skills.
  • Team Treehouse - Paid subscription but well worth it in my opinion as they will walk you through everything from the most basic HTML to building advanced JavaScript applications.
  • CodeSchool - CodeSchool tends to be more advanced and I would wait until you have a strong grasp on your HTML, CSS and JavaScript before investing in their coursework.

    In addition, StackOverflow; A general programming Q&A website, has an answer to just about any programming issue you may be running into. If the answer is not already there, then chances are you will have one within 24hours.

    I began my pursuit into web development about 2 years ago. In that time I have gone through the resources listed above as well as the following books which have helped immensely:

  • HTML and CSS: Design and Build Websites - Ducketts whole series is extremely friendly to the new web developer and will help you build a solid foundation quite quickly.
  • JavaScript and JQuery: Interactive Front-End Web Development - Another Duckett book which was just released focusing primarily on JavaScript.
  • JavaScript: The Definitive Guide - A massive JavaScript reference. It has answers to just about everything.

    Some personal career history if you're interested:

    In the last two years I have gone from making 18k a year as a Technical Support Representative to 80k a year as a Front-End Engineer building JavaScript applications at a large FDIC Bank. It was only in the last two years that I really dug into Web Development (and programming for that matter) and I really can't see myself ever doing anything else for a living. The job requires an immense amount of learning (which I love) and will keep your mind sharp. I really do get a kick out of problem solving all day. Programming will require a major adjustment to the way you think. I can say that the way I work through problems now is completely different to the way I did before. I feel as if critical thinking has eluded me until the last two years and it has been a major life changing event. By far the biggest contributing factor to my growth has been the team I work with. You have to do your best to find a team that is willing to work with you as a junior so you can siphon that knowledge. Even if that means taking a low paying job, however; know your worth so that you can ask for the right amount of money once you have gained the necessary skills. As a personal rule of thumb, I will not stay at a company where I am the most knowledgable member of the team. This inhibits growth as a developer and will prevent me from realizing my true potential.

    Feel free to hit me up if you have any questions.


u/YuleTideCamel · 1 pointr/webdev

Geez, man. Thanks for making me feel old! :P

This subredding is actually a good resource to keep up on what's new. Twitter is another one if you follow the right people. Paul Irish, Addy Osmani, John Resig and a few others.

In terms of training, pluralsight is a GREAT resource. It's not free, but you can get an introductory offer and the low end monthly plan is $30 which isn't too bad. They have courses on web dev and programming by some of the best people in the industry. It's a great way to learn. http://pluralsight.com/training

Online learning:

u/minond · 2 pointsr/webdev

Not really related to mobile development, but he should still really enjoy these if he hasn't read them already:

u/ezekg · 8 pointsr/webdev

Before becoming a developer, I was running a part-time freelance design studio while working at a coffee shop for a few years. That worked out well for where I was at in my life, but I always wanted to move towards working in an agency to get more experience.

I ended up applying for a few designer positions at small local agencies, and finally got an interview... even if it ended up being a job opening for a front-end developer, not a designer (the job posting wasn't very clear).

Although they would have liked to hire me as a designer, they just didn't have the need. They said they would hire me if I learned HTML, CSS and a little JavsScript to do some front-end templating and design. And so it begun.

I bought a couple books and crammed in some late nights learning how to make a simple website. Learning JavaScript (basically how to use jQuery) was probably the most rewarding part of that. A few months later, I came back to go over what I learned and landed the job as a front end developer and designer. I started out at around $20,000.

Fast forward to where I am now, I am the lead developer for a small agency. I held onto that drive I had in the beginning to delve deeper in computer science via MIT's OpenCourseWare on YouTube. Within just a couple years, I've more than tripled my salary, and pushed myself to areas I'd never thought I'd be able to go (or even be interested in going).

I still do a little bit of design, but I found that my real passion is in development and I plan to continue growing my skillset.

I hope this at least encourages somebody to pursue their career in development. If you can't land a job now, just continue learning until you do land that job. I had to wait nearly 6 months before I finally got that second interview, and it changed my career (and really, my entire life). There's a plethora of courses online at sites like Treehouse and of course YouTube.

Good luck!

u/jbacon · 1 pointr/webdev

Well, you could obviously pay someone to create it for you. If Wordpress or other off the shelf CMS software doesn't cut it, then you're likely rolling your own solution.

I would recommend learning. Here's how to do it:

  • Get a good development environment. I love Webstorm for general web work - great code completion, and makes a lot of things easy. For Rails, I would recommend RubyMine. Those guys at JetBrains make some really kickass software, let me tell you.

  • Learn the basics of web development, and the roles of each technology involved. Use HTML to create templates for your pages, use your server-side backend to accept and provide content, use CSS to make it pretty, and JavaScript to make it dynamic.

  • Understand the difference between and limitations of client-side and server-side code, and use each appropriately.

  • Learn the tools. Pick a real technology stack and learn it, whether that be Ruby on Rails, LAMP, whatever you like. Doesn't matter - this is all about learning. Using jQuery will make your JavaScript life much easier, and try out SASS if you're feeling frisky.

  • Don't expect a good-looking, reliable site on your first try - it's going to take a lot of effort.

    GET BOOKS. Books are the best programming resources around, believe it or not:

  • The Pragmatic Programmer - The de facto programming best practices guide.
  • Javascript, the Good Parts - How to JavaScript, by JS guru Douglas Crockford. Not really a beginner book, but a great reference once you get a handle on JS.
  • Ruby on Rails 3 - Learn Rails by Example - This looked like a really nice beginner level intro to general web development and Rails.
u/checksinthemail · 4 pointsr/webdev

Preface - you have missed years of development in an area (web client front end coding). It's advancing so fast the rest of us can barely keep up. I'm serious - seems like every day there's something new that would take me multiple days to learn well.

See the "Web Development Timeline"





Moving beyond the standard HTML5/CSS3 stuff, I spent part of my evening compiling this list. It's incomplete and some stuff is opinion. WMMV. If you were helped, well, buy me a beer someday :-)

  • JS got real popular. Catch up on the current terminology used.
  • ECMAScript/ES5 language extensions
  • ES6 ("Harmony") extensions - coming soon; some already here. The current working draft of ES6 as PDF
  • Exhaustive list of Micro-libraries
  • HTML5 shims, ES6 shims, Lazy loaders (require.js), Modernizr... It's overwhelming, please see Daily JS for an exhaustive roundup of libraries/frameworks as they are released.
  • Underscore.js for functional programming niceties
  • The myriad client-side MVC frameworks - (Backbone.js, Ember.js, Spine.js, etc.)
  • Stratospheric rise in the goodness of webkit. See Peter Beverloo's blog for weekly reports of WebKit new features added.
  • Douglas Crockford's JavaScript: The Good Parts was a huge hit - this always comes up in interviews.
  • IE9 and IE10. IE9 did border-radius, SVG, and added a faster JS engine. IE10 (only for Windows 8) adds CSS gradients, 2D/3D(?) transforms, CSS transitions (and animations now I'm told?)
  • Opera is now on versions 11 and 12 - and it still rocks. Here's what's new in the development snapshots from their blog. I'm a fan since long ago, it's nice to see them continue to remain competitive with the 'larger' browsers.
  • Firefox is now on versions 12 through 14.
  • Chrome is now on versions 18 through 20.
  • JSLint is now integrated in some editors (I love it in notepad++) and JSLint begat JSHint, which is sold as "kinder, gentler"
  • Web Workers (aka JS threads)
  • Web Sockets API
  • WebGL See the 3-D dynamic terrain/bird demo - awesome!
  • Death of Ajaxian.com rule, takeover by Daily JS and BadAssJS (IMHO)
  • Inline images expressed in data/uris which are base64 coded) eg: IMG SRC="data:image/gif;base64,EEEEEEBASE64JUMBLE" online image encoder
  • LESS and Sass - better CSS with variables, macro expansion, etc.
  • calc() in CSS3 Really new - chrome nightlies and firefox supports. If you remember way back when, IE 5.5/6.0 had a similar but poor performing feature called CSS expressions
  • INPUT TYPE="COLOR" and "DATE" should now work well, and have in-browser helpers for selection.
  • CSS3 display:flex-box
  • CSS Gradients/Animations/Transitions see this slidedeck/demo
  • CSS3 Shaders/Filters. Shaders are really really new (as in: last week) as far as implentation in a browser. I'm psyched about creating some vertex shaders (.vs files) for effects.
  • Local Data Stores (4k cookie - bah!)
  • Mobile browser coding: events for swiping screen, etc. see jQuery Mobile, Sencha touch.
  • Node.js based on Chrome's V8 JS interpreter (I know; you know...)
  • Coffeescript (I know you know, I included for completeness) The JS to Coffeescript is also interesting.
  • DART. Google's JS-like language for those who like classical Java/C++ oop style - they even have a version of Chromium for Mac which has DART native. Else it transpiles to JS, like Coffeescript does.



    If you didn't click on any links above, well, for shame. There's some good important stuff up there. Below are a couple websites that I think are must-sees, as far as demos of the recent html5/css3/bleeding edge, and news/informational blogs I read daily or weekly... Most were listed above!

  • CSS3 Click Chart
  • HTML5 Rocks!
  • Learning threejs/tQuery (WebGL)
  • Bad Ass JS

  • W3C's blog on CSS
  • Daily JS - - news on libraries and node, mainly
  • Steve Souder's blog on high performance web sites. He wrote a couple books too that are very good.
  • Peter Beverloo's blog discussed what's new in this week's WebKit/Chromium builds.






    Stuff I didn't include, and am going to leave as an exercise to the reader:

  • Vibration API (for tablets, phones)
  • Battery status API
  • CSS3 image-set (download different quality/resolutions depending on capabilities)
  • Video element stuff - Hollywood's next blockbusters may be edited over the web.
  • Speech API - see Peter Beverloo's blog and W3C...
  • Audio - there's some full on audio mixers and synthesizers out there now
  • Web Inspector in Chrome
u/phaggocytosis · 1 pointr/webdev

How about a new language? Or writing software rather than web stuff?

After doing webdev for a while I got in to offline Java (software) development. Aside from helping me tighten my grasp on real OOP, it also caused me to shift/alter some of my design patterns. Java itself can be extremely cumbersome to write, but the process of doing so definitely made me stop and re-think exactly HOW much I want to leverage the flexibility of other languages.

Writing Java also lead me to read books, from which I took lessons I could apply to other languages. These books in particular were helpful:

http://www.amazon.ca/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

http://www.barnesandnoble.com/w/data-structures-and-algorithms-in-java-robert-lafore/1100840388?ean=9780672324536&itm=1&usri=9780672324536

Obviously I'm just using Java as an example. If you already write Java, or feel great about your understanding of OOP, perhaps try a functional programming language? Lisp(Clojure)? Scala? The performance of some of these languages is really wild, and I'd think it would be possible to leverage their speed when working on large SAAS projects.

Anyways, to each their own. Obviously the other comments here have plenty of good suggestions. I know I certainly didn't regret getting familiar with SASS. And I could probably stand to spend time forcing myself to get more proficient with my editor. Right now I use Sublime Text 2, and I could either make sure I'm using all the proper key binds for traversing/manipulating text OR just go boss mode and make the switch to vim. Or even bite the bullet and use an IDE (http://www.jetbrains.com/).

Best of luck!

u/kurple · 1 pointr/webdev

Not all programming books are tutorials. There are definitely books that exist which talk about concepts and ideas, ways of thinking.

A udemy course, YouTube video medium article, or any other typical internet resource are great sets of instructions but there's more to it than that.

I was recently recommended Code Complete which i think will have a great impact for myself, despite the fact that it's moreso a textbook.

I also believe books like Eloquent JS are amazing. I would consider it the lighter side of books but is amazing for new devs.

I get where you're coming from but don't discount books entirely! There's a lot of great knowledge out there.

u/chris-c-thomas · 2 pointsr/webdev

HTML and CSS is a pretty popular book. You mentioned your HTML skills are pretty good but what I like with this book is each chapter ends with a nice example that incorporates styles and markup to give you a pretty good CSS foundation.

I'm also a big fan of Treehouse which is along the lines of Code Academy or Plural Sight.

Mozilla's Developer Network has great documentation as well.

u/davidbuck0 · 1 pointr/webdev

Hi James!

One of the best books for a novice web developer/designer (and not just novice, for anyone who wants to get up to speed with the newest editions of HTML and CSS) in my opinion is the "Learning Web Design" by Jennifer Robbins. The 5th edition was published in May last year, so it's pretty recent. You won't be learning any outdated stuff from this book.

The book is quite big, with around 800 pages, but the author is really great. She explains everything you need to know and she explains it really good. Throughout the book you'll be building an example web site by doing a lot of exercises.

The book starts with an explanation of how Internet works in general. It doesn't go too deep into this topic, just enough for a beginner. You'll then learn HTML, and after that CSS. There are two chapters on JavaScript, but it covers only bare essentials. You'll need another book(s) for JavaScript, though. The one I would recommend is Head First JavaScript Programming, which somebody already recommended it, too.

The Head First HTML and CSS and HTML and CSS: Design and Build Websites (also already recommended by other users here) are also great, but they are a little bit old now, as they are from 2011. Not that you won't learn anything from them. You could read these two, and then the book by Jennifer Robbins, so you get better familiarity with HTML 5 and CSS 3.

u/phpdevster · 87 pointsr/webdev

You need to build up a foundational set of programming skills. Frameworks and libraries are important to know, but not as important as knowing how to program. The difference between a program/website/webapp that works, and a program/website/webapp that works AND has sensible code, is significant to a company. I've seen the simplest of features take weeks to implement in very poorly written code bases. This is valuable and expensive time that could have been spent building other features.

Companies are sensitive to this because very few companies are immune to the effects of poorly written and maintained code bases, so they are going to ask you code design questions and even have you do live programming challenges to see how think about the problem, and whether the design of a solution is important to you, or whether you're content to just shit out any old solution that works and move on.

To start, with, I would familiarize yourself with the basic mechanics of the language by reading the You Don't Know JS series: https://github.com/getify/You-Dont-Know-JS/tree/1st-ed

Next, I would read Clean Code by Robert Martin. It's based in Java, but the general principles are the same.

Next, I would read Refractoring: Improving the Design of Existing Code (2nd edition - which is JavaScript based). You can read the Java-based 1st edition for free.

Finally, I would read A Mostly Adequate Guide to Functional Programming.

Yes, it's a lot of reading, but these books will help you think about your code design choices, and in combination with practice, will help you write better code. But of course there is no substitute for practice. The more you write code, the better you'll be at it. The resources I linked to are just guides, not magic bullets.

In terms of other things that are necessary to learn, you'll need to learn how to use git (not to be confused with GitHub). Git is basically the industry standard version control system. You don't have to be an expert at it, but you do need to know the basics of it.

You're also going to want to get familiar with the basics of node and npm, because even doing front-end work, you'll be relying on 3rd party packages, and running builds, all of which are managed through node and npm (or yarn).

u/KantSeeMe33 · 2 pointsr/webdev

I was in a similar boat. I learned A TON through taking the coding bootcamp over at Free Code Camp. You should check them out, you go through several hands of modules and the community is amazing. People are always willing to help. You also have the opportunity to build a portfolio through the years they have you do at the end of the modules.

I would also recommend the book HTML & CSS: Design and Build Web Sites by Jon Duckett

HTML and CSS: Design and Build Websites https://www.amazon.com/dp/1118008189/ref=cm_sw_r_cp_api_i_ExHxDbCEW19Q4

I highly recommend Free Code Camp though. For even more fun and access to a community checkout the #100DaysOfCode hashtag challenge on Twitter.

Good luck!!

u/Chris_Misterek · 1 pointr/webdev

I like the mix of design and dev. In the position I have one week I’ll be designing a site or interviewing users and the next I’ll be developing a plugin for WordPress.

So, yes technically they’re exclusive but there are positions where you do both.

I started in https://codecademy.com did html/css, JS and PHP.

Then I started freelancing in my spare time building websites right after I learned the basics. That helped me a learn a ton that I probably wouldn’t have been motivated to learn on my own.

Then I was able to use the portfolio I’d built as a freelancer and land a the position I have now.

Now instead of freelancing in my spare time I help people try to take the same path I did.

UX is great to look into as well.

Here’s a few resources I’d suggest:

u/mrjinpengyou · 2 pointsr/webdev

Ok so by reading the about section I understand the intent but I'm not sure how it's an improvement over my address bar in my browser.

I don't want to sound like a jerk. I just want to challenge your idea and if you are serious in any way about this project you'll have answers for this, I'm just curious what they are. Maybe the answer is as simple as "it's a personal challenge" or "I think I can do better than Google or Yahoo/Mozilla for this". And don't get me wrong they are all valid reasons.

Here's my honest (and hopefully constructive) feedback: if you're trying to help the user by limiting the input without explaining what's going on: you're making me think. Obviously you're trying to fix a user experience problem (bookmarks are good for specific content but what if I want to quickly access a website in general) so I'd consider hiring a UX expert.

A common advice in the UX world is: if users keep hitting a wall maybe you should put a door there.

u/e1349b · 2 pointsr/webdev

thenewboston.org is a really good tutorial website. I like the Head Start HTML & CSS book, then the O'Reilly book, PHP,mySQL,JavaScript, and CSS (all in one book)

Here is the link to the book. I am on chapter 4 and so far it is pretty good. They explain everything like you have never touch it before, which is good.

http://www.amazon.com/Learning-MySQL-JavaScript-Step---Step/dp/1449319262/ref=sr_1_2?ie=UTF8&qid=1343577123&sr=8-2&keywords=learning+php%2C+MySql%2C+and+JavaScript

Oh, and here is the one to the Head First HTML & CSS one
http://www.amazon.com/Head-First-HTML-Elisabeth-Robson/dp/0596159900

If you read both of these books, you will be well prepared to tackle web development projects. Then, when you want to learn more about a programming language (Like JavaScript) you can either buy the JavaScript book from O'Reilly, or watch the more advanced TheNewBoston tutorial videos.

Good luck!

u/trout_fucker · 3 pointsr/webdev

>would you say this is critical knowledge to be a good web developer?

Not really. Most people are out there solving business needs. Even if you're working for a web app, the majority of it is taking a business problem and building and designing a solution around it in whatever way makes the most sense. How good the architecture is, is really not super important because you're likely not going to be supporting enough customers that throwing more hardware at it can't solve. Knowing how things work and how to build maintainable software, is more important than knowing obscure CS fundamentals inside and out.

But what you described sounds more like something from Amazon, Apple, FB, MS, Google, or other large tech company. They want true blue software engineers, not someone who can make them a pretty landing page. I know from first hand experience that FB interviews for JS developers hit heavily on memory managment and Amazon doesn't give a shit what language you program in. Cracking the Coding Interview is a good way to study for all of those (but you're not going to memorize that book in the time you have).

u/BradChesney79 · 1 pointr/webdev

By far, the most beautiful thing I have touched and own to gently bring a mature person into the craft I find great satisfaction from is HTML & CSS by Jon Ducket. I have it solely to share with others, this book isn't for me.

https://www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118008189

The author guy fucking really cared about order of introducing things and the packaging he put it in. The paper quality-- the book is just nice to touch, there is stonking obvious attention to graphical detail. It makes no sense for me to be saying these things in a normal conversation, I'm not one of those "I love books, you'll tear the crusty pages from my dead hands" guy-- I just don't buy many paper books anymore. I bought this one and it is by far the most luxurious paperback I have ever come into contact with just in book binding and construction alone.

Amazon is charging $17 according to my screen. Worth every god damn penny. Perfect for a mildly computer literate beginner.

u/luenix · 3 pointsr/webdev

Does only coming from a sys admin background count as no prior experience to web programming? I just was given access to the static company site about a year ago and was tasked with updating it since then. Fast forward to about 5 weeks ago and I decided to teach myself WordPress + LAMP then LEMP. L(A/E)MP = Linux, Apache/Nginx ("Engine-X"), MySQL/MariaDB, and PHP/Python (bottle.py).

I knew PHP and Linux from system management of random servers at work and through consultations with my personal business.

If you're asking for advice on where to start, it seems that the current best practice is to go on codeacademy.com and accompany that work with the Jon Duckett books on at least front end stuff including HTML/CSS/JS and maybe some jQuery.

http://www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118008189/
http://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647/

Cloud9 and GitHub are great first destinations for starting in development. You can go my route if you're feeling confident with system management and go for Amazon Web Services EC2 with a free (for a year!) micro instance that you can load with all kinds of stuff, including a basic Ubuntu server with LAMP (MySQL, PHP) that in-all takes less than an hour to get comfortable with and ready for a new page or even WordPress.

A significant amount of people here swear by laracasts.com as well once you're through the basic front end tech :)

u/xiongchiamiov · 39 pointsr/webdev

I've been in a somewhat similar situation. First off, tell your boss that the deadlines aren't happening. They're trying to get all three points of the project management triangle, and it's not going to work. They need to compromise on something. While they're figuring that out, let's get to work.

Step one, if you haven't done this already, is to check everything into version control. You can't do anything about the past, but you can fix the future.

Working Effectively with Legacy Code is a well-reviewed book. Maybe you'll find it more useful than I did - ask your boss to buy it for you. My summary of it is:

  1. Write tests for as much as you can without changing anything.
  2. Refactor a tad to open up more testing opportunities.
  3. Repeat.

    You need a working test environment. The one the customer calls production is ideal (for you), but if that's not going to work, you need something as close to it as possible. It is management's job to solve this problem for you so you can do your job. Tell them that you're working with the 4-hr feedback window, and the more time they take to fix that, the longer this is going to take.

    You mention that there's no documentation, and that you've read thousands of lines of code but still don't understand how it's pieced together. As you read the code, write the documentation. Be as extensive as you can. This is also a good time to write tests that verify the behavior you think is supposed to happen. And don't just read a file at a time, top to bottom - approach it always with a purpose, eg "how does this page get generated?". This will help you understand the flow, because you'll be tracing it repeatedly, so you'll start to see patterns in how it's all put together.

    May the Force be with you.
u/MSpeedAddict · 1 pointr/webdev

Have you read Working Effectively with Legacy Code?

I ask because mundane problems and new solutions do not always go hand in hand. Sometimes, working on the bleeding edge isn't possible; even when it is I've been there correcting Microsoft employees in C#, correcting Google on timezones in Chrome, tooling employees in their own stack, etc. and I don't think that's even what you're looking for. Its more of the same.

I've found grace in truly helping companies refactor, restructure, re-stack and modernize their applications for scale. Be it on mainframe applications or full-stack client-facing web applications, taking something old and completely ripping it out for something new is an art form. It's much easier to try and write your own code, find a problem - hit a wall, search for a solution and copy pasta. It's much harder to understand the problem you're facing, that stems from understanding someone else's code and derive a solution. In the same way it's easier to create something new then fix something old (holding constant creativity).

This is what has led me to the art of architecture, refactoring beyond SOLID and design patterns by the GoF - but in truly coming in to a new company and really understanding their business first then their solutions and the consequences of re-writing all of their applications in a new, automated way.

I'm not your "pixel-perfect" guy. While I see why you focus on the "front-end" being what bores you, I think instead you're bored by cookie-cutter solutions you can even begin to find on StackOverflow. I've traced problems on a mobile web client down to processor implementations. I refer to real problems as greenfield, most likely inaccurately. I find design both consequently and paradoxically crucial and irrelevant to success. You can have the prettiest looking face with no neck, working body and arms or everything working just fine but damn ugly to look at and you'll steer clear. It just might not be what interests you.

It's finding where you fit into the puzzle that matters most - this career is both scientific, relational and calculated as it is the most creative art form on the planet. They say development is one of the most free art-forms one can hope to master. Go figure.

--ramble, ramble, ramble

u/bonesingyre · 5 pointsr/webdev

Sure! There is a lot of math involved in the WHY component of Computer Science, for the basics, its Discrete Mathematics, so any introduction to that will help as well.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_sp-atf_title_1_1?s=books&ie=UTF8&qid=1368125024&sr=1-1&keywords=discrete+mathematics

This next book is a great theoretical overview of CS as well.
http://mitpress.mit.edu/sicp/full-text/book/book.html

That's a great book on computer programming, complexity, data types etc... If you want to get into more detail, check out: http://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/0534950973

I would also look at Coursera.org's Algorithm lectures by Robert Sedgewick, thats essential learning for any computer science student.
His textbook: http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr_sp-atf_title_1_1?s=books&ie=UTF8&qid=1368124871&sr=1-1&keywords=Algorithms

another Algorithms textbook bible: http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844/ref=sr_sp-atf_title_1_2?s=books&ie=UTF8&qid=1368124871&sr=1-2&keywords=Algorithms




I'm just like you as well, I'm pivoting, I graduated law school specializing in technology law and patents in 2012, but I love comp sci too much, so i went back into school for Comp Sci + jumped into the tech field and got a job at a tech company.

These books are theoretical, and they help you understand why you should use x versus y, those kind of things are essential, especially on larger applications (like Google's PageRank algorithm). Once you know the theoretical info, applying it is just a matter of picking the right tool, like Ruby on Rails, or .NET, Java etc...

u/jvdizzle · 1 pointr/webdev

I'd not recommend jumping straight into React if you're not familiar with programming languages and frameworks yet. That would be like trying to learn how to build a house before you even know a thing about plumbing and electrical.

Take the online courses other posters have linked, or if you like to go at your own pace, buy this book: https://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647

Then, make some HTML elements and try to play around with them in JS. Like change their CSS properties.

Then, play around with JS by itself in the console. Do some basic math, some string concatenation. Use a built-in data structure like an array or object literal and play around with their built in functions.

Then start writing your own functions. Make them do functional stuff like take two numbers and output the sum.

Then play around with objects and classes. Make some object with real life properties and methods. Like an animal.

Get more and more advanced. Start building simple webpages with custom animations and modules.

Eventually, get to AJAX and API calls.

THEN pick up React, to put everything together to make a dynamic web app.

u/jhnsnc · 6 pointsr/webdev

First of all, don't worry too much about a single interview. A lot of interviewers don't really know what they're doing / why they are actually asking the questions they are asking. Usually, they're programmers--not experts at hiring people.

Having said that, you definitely want to be familiar with common "gotchas" and major issues in the languages/frameworks you will be using.

For JS, I recommend two books in particular: JavaScript: The Good Parts and JavaScript Patterns. I found these helpful because they cover all the major issues with the language and they are quite concise. These don't cover any frameworks like jQuery or Angular though--that's another matter altogether.

Also take a look here: https://github.com/h5bp/Front-end-Developer-Interview-Questions
There's a good chance the interviewers will straight up copy questions from this list and you researching the answers will be a great learning experience.

u/MarcMurray92 · 5 pointsr/webdev

Don't Make Me Think by Steve Krug is basically a must read.

This blog post - 7 tips for creating gorgeous UI is a great primer, with lots to think about presented as a few tips focused on aesthetics.

This blog - The Nilsen Norman Group is a great resource for the "functional" end of things, full of tips and research results on what people find the easiest and most enjoyable to use.

u/alfred-nsh · 1 pointr/webdev

With the assumption you already have a good portofilo and linkedin profile, you can also try contributing to open source projects and have your own projects on Github. This might get you noticed. Open source projects always have this beginner bugs that needs to be fixed because the core members usually work on more important stuff. You can also try fixing issues for money with bountysource. There's also Stackoverflow, you can answer some questions there. Try to have a project of your own and if you learn new stuff you can write them up in a blog or something. These stuff not only make you noticed but also make you a better programmer as you will learn new stuff and practice your skills.

Also try to make yourself better. Everyday try to learn something new. Find about new frameworks and libraries. Read books and blogs. Also read this book if you haven't already: Clean Code. If you want to work with others, it's very important to write readable code.

And trust me, web devs can make a lot of money, so don't lose yourself. If you have any passion for what you are doing, don't ever give up.

u/nwilliams36 · 1 pointr/webdev

MVC is one of many design patterns. The original work was done in the book [Design Patterns] (http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612). This is an evolving area of software and most of the work has been done with OO languages (PHP but not node). However the concepts can be adapted to any language and I am sure many people would be interested to see how the patterns could be replicated in node. The point is that understanding these underlying concepts of how code can be structured does provide more solutions to real world problems than the obvious ones. This level of thinking helps particularly when organising large and complex code bases, but can also apply to smaller applications as well.

Encryption is not my area of strength, it does require knowledge of mathematics as the algorithms are complex. Many of the new MOOCs that are springing up around universities offer courses in encryption, though you might be advised to undertake some of their courses in mathematics first. It is an area of real shortage in the industry, there are not many people who understand this area well.

In the end a degree serves two purposes, one is to provide to employers proof that you have the knowledge and skills that they require and the other is to provide you with knowledge and practise in thinking at a high level of abstraction and as a way of interacting with others at a similar level. Just from reading what you have written here it seem you already have the experience that the industry requires to prove that you can do stuff so you don't need a degree for the first reason.

However the second could open some doors for you and some opportunities to interact with people who are thinking at your level. These occur as a result of the processes involved around getting the degree, not from the degree itself. For example in my last year in my recent Computer Science degree (after 30 years working related industries without any qualification I decided to get another degree in this area of interest) I wrote a paper which was published in an International IEEE conference. The degree does not include international recognition, that comes as a by product of the study if you are good enough.

u/dkbot · 1 pointr/webdev

I found that this book was great for improving my knowledge of JavaScript to really jump to the next level in my JS expertise:
https://www.amazon.co.uk/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

I found that after a few years my JS knowledge was still quite limited and it took me reading this book to really understand how little I knew.

It's very easy to fall into the jQuery trap as you have highlighted as well. I use jQuery in my workplace as I have no choice, but I find using things like OOP as well can really help when you start building larger scale applications.

My main advice would be to improve your knowledge on core JS and CSS and avoid being sucked into libraries / frameworks / toolsets, they will come and go whereas JS / CSS will always be around. Many developers burn through time just learning things like bower, webpack, sass, jasmine, react, react-flux etc etc. I tend to stay away from trends and learn only what's popular on the job market. I always find that if you understand JS / CSS, you often can pickup any other framework built on top of it. I also burned a lot of time learning Angular 1.x which I never ended up using (except for side projects), with Angular 2.0 coming out it made me realise I need to be very careful when investing time into something which might not exist a year from now, or at least not have a demand on the job market for.

u/FattyBurgerBoy · 6 pointsr/webdev

The book, Head First Design Patterns, is actually pretty good.

You could also read the book that started it all, Design Patterns: Elements of Reusable Object-Oriented Software. Although good, it is a dull read - I had to force myself to get through it.

Martin Fowler is also really good, in particular, I thoroughly enjoyed his book Patterns of Enterprise Architecture.

If you want more of an MS/.NET slant of things, you should also check out Dino Esposito. I really enjoyed his book Microsoft .NET: Architecting Applications for the Enterprise.

My recommendation would be to start with the Head First book first, as this will give you a good overview of the major design patterns.

u/azCC · 1 pointr/webdev

Two of the best books on beginning web development are those by Jon Duckett IMO. They are an absolute master class in simplicity and understanding for those new to web development.

https://www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118008189

https://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647

The physical copies of these books are absolutely beautiful, the typeface, margins, and colors are very well thought out and done.

The book isn't structured like typical programming books. There is an emphasis on completing projects every chapter rather than "theory."

If you are a beginner I would definitely recommended it. Please look in the "peak inside" on amazon. They are definitely unique and well made.

u/tylernerd · -2 pointsr/webdev

www.w3schools.com is my go-to favorite for learning basics. There are courses laid out to learn the basics of HTML, CSS, Java, and more scripting, and is pretty well done if you're the kind of person who needs to do it yourself to see it work. Other than that my new favorite book is HTML & CSS that is super well laid out and newbie friendly.

u/TransFattyAcid · 8 pointsr/webdev

The agile principles are based around the idea of iterative development. This invites what you're calling rework to make the product the best it can be.

Obviously, you're coming at this from a place of frustration because you want to meet deadlines but the "simple" solution is to build all these steps into your estimates. If you're not setting the deadlines, then you need to be up front with your manager about what you can get done in the given time. Maybe it'll work, but not be clean code (the P.S. here is that after it ships, you need time to make it clean). Maybe you can get features X and Y done, but not Z.

Refactoring and code reviews are part of the job. Yes, your manager is going to make suggestions you might not agree with and, yes, the senior devs are going to send you back to the drawing board sometimes. Sometimes it's because they're jerks and sometimes it's because experience has taught them something.

All in all, I'd recommend reading any of the following by Robert Martin. Clean Coder is perhaps most relevant to estimates and deadlines but they're all really helpful.

u/psyick · 51 pointsr/webdev

I am not a designer. But I am getting better, a big part due to this book:

https://www.amazon.co.uk/Non-Designers-Design-Book-Robin-Williams/dp/0133966151/ref=dp_ob_title_bk

Even though it is not aimed at online it is really really good at pointing out some of the very simple and immediately applicable things 'designers' do to make things look better.

e.g. one example if you want two complementary styles of text, make them very different - much bigger, or one much bolder, and a totally different font. Or another could be always making sure things align with something else, you have placed it there for a reason. It all seems very obvious in hindsight.

​

Also checkout https://refactoringui.com/ for a more modern web oriented approach it is pricey for the amount of content IMO but what is there is good stuff.

​

I think it helps with the prevalence of flat/simple sites even as a non designer you can make things look good by striving for simplicity and consistency

u/BuffloBEAST · 1 pointr/webdev

Thanks a ton for the sub, glad you found the video helpful :). Not sure of any tutorials off the top of my head, but this book is a fantastic companion for anyone looking to up their HTML / CSS skills:

https://www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118008189

Very clear and easy to understand explanations, I haven't come across a better resource yet.

u/berkes · 47 pointsr/webdev

Exactly this.

For quite some projects, I had to find a freelance frontender or webdesigner.
Here's how that goes:

  • I post an ad, classified or get names via referrers.
  • I wade through that to make a shortlist of 20+ candidates.
  • One by one I visit their sites, looking for a Resume or a Portfolio.
  • One by one, I have to wade through weird navigation, presentations, fucking horizontal scrolling, skipintros. I even had to open the source to find what fucking image represents a link to the portfolio. I've had to wait for some fancy JS caroussel to take me through the portfolio. I've had to watch videos, in order to see the resume.

    I'ts a great way to separate the rubbish developers from the good ones. If you manage to present your information on one page, with a few clicks to learn more about a certain project, in clean, simple HTML, preferable recenly updated to work on mobile (responsive): you're through. But if you cooked up your navigation while on LSD using Suprise.js or WhittyScroll.js you're out.

    Browsing 20+ sites from designers truly is a hell. So, nowadays, I simply ask them to email me the resumes.

    Because I too realise that a good webdeveloper or designer is hired most of the time. And as such, won't have time to redesign his or her site after every new change of technology. I can understand if your site looks like it was from 2008, if you've been hired and busy since 2008, it's actually a good sign.

    But really. Don't make me think. Ever.
u/otown_in_the_hotown · 1 pointr/webdev

Some people might sometimes recommend Javascript: The Definitive Guide but that one's really more of a tome or reference book. It's sort of the be-all, end-all of Javascript, but really REALLY not fun to learn from. Very dense and dry.

I've heard really good things about JavaScript and JQuery: Interactive Front-End Web Development. Or you could get the combined HTML, CSS, JS set.

I don't know those first-hand though. I've just heard good things and the design is beautiful. First-hand, I know that JavaScript & jQuery: The Missing Manual is good. I really like The Missing Manual series in general.

u/axvk · 2 pointsr/webdev

Not annoying. It's a good question. Every icon has three states, default, hover, and active. The importance of these states is to give feedback to the user. There is a book called Don't make me think and it explains that the user should be able to navigate a site without thinking. This is done by meeting user expectations.

When a user hovers over a button it should react in some way to inform the user that it is indeed a button and they can click it. When a user clicks the button it should again react so that the user doesn't have to think about weather their click worked.

The button does turn your mouse into a pointer on hover, but that is not the expected reaction. The mouse should stay the way it is and the button should change. That is what all users have come to expect.

Some possible ways to achieve this.

  • Change the button color on hover then change it to a different color or back to the first color on click.
  • Change the opacity to something like .7 by default, .9 on hover, 1 on click.
  • Make the button get bigger or smaller on hover then change again on click. (This one is complicated because you have to make sure the other buttons don't move if they're float left or display inline.)

    They are many more options like adding borders, shadows, etc. Pretty much anything that css has to offer.
u/metaphorm · 1 pointr/webdev

try /r/javascript for questions specific to node.js, its a pretty active subreddit and includes a lot of people who are developing more interesting apps than just browser scripting.

in general though I'd say that if you want to learn more advanced programming you should go for computer science fundamentals. for example, do you own a copy of CLRS Intro to Algorithms? thats basically the gold standard text book for algorithms and data structures that is used in every Comp Sci curriculum in America. just working your way through some of the chapters of that book should be a very good way to improve your programming skills.

u/rgonzal2 · 3 pointsr/webdev

Sure. To be honest, it really came down to some luck and starting the job application process before I was ready.

Learning HTML/CSS/Javascript


I started off with no coding background at all so Head First HTML and CSS was a total godsend when learning the basics. I completed every exercise and then tried to find a few local business websites and recreated them with what I had learned. That took about a month and a half. I still had very basic knowledge, but it was enough that I wasn't intimidated as much anymore.

Then I needed to learn Javascript. I tried out codecademy, but didn't really get too much out of it. Somehow I found a learning path someone had written out here. Again, I'm not building crazy web apps, but at this point I could make something happen on a screen if someone clicked something.

Finding a job


I've always been intimidated by job postings for developers since they always require 5+ years of experience with every single programming language out there. So, I made the decision to start applying before I was ready. I made sure that mentally I knew this was a test. There would be no failure, even if I looked stupid or out of place. I was just going to see what kind of questions I would be asked and to really get the jitters out.

The second interview I went out for was a small trade association that had no technical staff and wanted someone who could improve their current website. I had done a lot of reading on effective websites so I told them more about what could improve their user's experience and less about the technical details. I was upfront and said I was completely new to the field, but that I would easily learn as I went. Surprisingly, they called me back that same day and told me I got the job.

Initially, they paid me crap. Low 30's (I took a pay cut), but they were pretty much paying me to learn so I jumped on it. I'm not an incredible developer now, but I'm much better than I was when they first hired me. About a year after I started I renegotiated and am now making high 60's. It's not incredible, but I get to work from home, no one works after 5 or on weekends, and I'm still learning so much.

The biggest lesson I learned here is that most companies aren't looking for the most experienced programmer in the world or someone with a CS degree. If you can solve their problems and do it with the right attitude then it doesn't matter that you're just starting out. It won't get you hired at Google immediately, but it's good enough for the first step into the field.

u/cheald · 3 pointsr/webdev

Code Complete.

The examples are given in C++/Java, but it's a goldmine; I believe that every serious software developer should read it. He may be beyond most of it, but it's easily my favorite book on my bookshelf, and I recommend it to everyone who wants to become a better developer.

u/blazemongr · 12 pointsr/webdev

Also, more general but still super useful: The Non-Designer’s Design Book

I recommend both all the time. The multiple editions attest to the timelessness of their advice.

u/opaque_toaster · 4 pointsr/webdev

Definitely more beginner, but I loved Jon Duckett's books when I was starting out. If you're looking for intro level, front-end stuff, they're very visual and easy to grasp.

HTML & CSS: Design and Build Websites

JavaScript and JQuery: Interactive Front-End Web Development

u/letsencrypt · 10 pointsr/webdev

Here is an interactive page where people can visualize how Quicksort works, this is one of the most widely used sorting algorithms, once understood you can pick any of the other popular ones: Bubble, Insertion, Heap, Selection, etc. CtCI — Cracking the Coding Interview is a good book written by an engineer who used to be part of the recruitment team at Google and other "Big 4" companies, I really recommend it, every page is worth its penny*. Leet Code is also a good resource to learn and practice algorithms, most of the exercises have articles with good explanations of how to solve the problems.

u/emcoffey3 · 7 pointsr/webdev

I'm a big fan of JavaScript: The Good Parts. I'm not sure if it is quite intermediate, but it is a terrific (and short) read.

Secrets of the JavaScript Ninja is a bit more advanced. It's written by the guy who created jQuery. I found some of the coding style to be sort of strange, but it does have a lot of great information.

u/dzhv · 1 pointr/webdev

If you are a person who tries his best to keep his code tidy and readable, I strongly recommend reading this book:
https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

If I recall correctly, their suggestion is to keep functions as short as a few lines and focus mostly on how you name them. But the general guideline is the same as most of the comments here mention: a function must do a single thing. Similarly to single responsibility principle of a class/module: https://en.wikipedia.org/wiki/Single_responsibility_principle

The book is really well written and has helped me a lot in making my code readable (atleast i hope so :) ).

u/adamnemecek · 1 pointr/webdev

I was in a similar boat. I'm still not quite 'good' at design but I'm making progress.
Check out this https://medium.com/@karenxcheng/how-to-get-a-job-as-a-designer-without-going-to-design-school-bad8cdb67068

http://www.amazon.com/Design-Hackers-Reverse-Engineering-Beauty/dp/1119998956

This is assuming that you know HTML + CSS. If not, learn those too. This is a pretty useful guide for writing CSS https://smacss.com/

u/brianbrennan · 12 pointsr/webdev

I think this article is great. Writing good maintainable code is a must for those that want to advance with their career. I'd suggest Clean Code to those that want to get better at this. Note that this is not a fun book, the first chapter even goes into detail saying how it's going to be a slog to get through. Other things to do are submit code for regular review, try and work with others as much as possible since it will make you much better at programming, and take your time doing things the right way, rather than the fast way. Speed comes later.

u/KorgRue · 3 pointsr/webdev

Only ever fully read a single programming book, and that was because the material was best learned through a book. It was about non language specific design patterns. It was a key that unlocked so much knowledge for me.

The book is Design Patterns: Elements of Reusable Object Oriented Software. It's old but it does not matter. Object Oriented design patterns don't change much because they are tried and true, and you will see them in every OO language. While JS is not technically OO (though ES6 introduces some strong OOP features), it still uses many of the same patterns!

https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

u/ericawebdev · 1 pointr/webdev

This isn't ready yet, but I'm looking forward to this book on the subject - https://refactoringui.com/book/

I've seen this one recommended - https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133966151

This looks interesting, and developed into a book - https://medium.com/hello-web-design/design-for-non-designers-part-1-6559ed93ff91

There are two I can think of related to UX for developers, which isn't graphics design but should help you design better interfaces. One is due out in January - https://www.amazon.ca/Developers-User-Centered-Day-Day-Development/dp/1484242262 This one is already out - UX Fundamentals for Non-UX Professionals - https://www.amazon.com/Fundamentals-Non-UX-Professionals-Experience-Principles/dp/1484238109

​

u/triforcepizza · 2 pointsr/webdev

I commented before, but I misread your question, sorry.

When it comes to design, Hack Design helped me out a lot. You can either read it all at once or get easy to tackle sections in your email inbox every week. If you like books, HTML & CSS by Jon Duckett touches on design a little bit but is also a great reference resource.

u/audaxxx · 2 pointsr/webdev

About the refactoring:
Working Effectively with Legacy Code is a bible for refactoring. The single best thing I read about working with legacy shit I have ever read. It really helps.

Great book. After reading it I even enjoy working with shitty code from time to time!

u/gin_and_toxic · 2 pointsr/webdev

Some highly recommended books:

u/jeromius · 2 pointsr/webdev

I'd highly recommend checking out this book: JavaScript: The Definitive Guide - it covers everything you need to know in an easy to read way - I still keep a copy on my desk as a reference, one of the best books on the subject.

u/Blatherard_Osmo · 5 pointsr/webdev

You should take a look at the book "Working Effectively with Legacy Code" by Michael Feathers, which is on exactly this topic. It's about ten years old at this point but still the best.

Here's an amazon link http://www.amazon.com/gp/aw/d/0131177052?pc_redir=1413174357&robot_redir=1

u/tesladriver · 1 pointr/webdev

From what you've written, it sounds like you might be primarily doing front end work. You're definitely going to want to introduce yourself to JavaScript & jQuery. I highly recommend this book http://amzn.com/1118531647.

After getting a basic intro with JavaScript & jQuery, start reading books about User Experience, and also Responsive Design.

u/spays_marine · 1 pointr/webdev

Looks much better already!

Some small things I'd tweak a bit:

- The vote icons could use some more contrast, chrome dev tools has a function that allows you to check this

- These vote icons have the same shape as the number of votes, it should be more obvious that these have a different function. Don't think about form first, think about function, as your visitors will not look at this and go "oh those 3 things fit well together!", instead, they'll go "hm, those seem like vote buttons, but the number also looks like a button, I wonder what that does..". Don't make me think.

- Similar story for the button that leads to the comments, it's only obvious that it is a button to the comments when there are no comments. Nuff said!

- Adding u/ and c/ was a good step, but I wonder whether the background colors aren't a bit much. They still draw your attention away from the title. I would just drop the colors all-together maybe.

- Above these two colored labels, you have a guiding text about the time of the post, but, it's only relevant to one of the labels.

For visual simplicity and readability, you could try to turn it into a sentence:

u/Dunky post in c/Wetenschap om 14u

Suggestion for the comment icon ambiguity:

u/Dunky post in c/Wetenschap om 14u | 28 comments

And then you can move that hamburger icon to the location of the comment icon perhaps.

u/remy_porter · 2 pointsr/webdev

There are a lot of answers to your question. From the very question you're asking, I already know you aren't doing much unit testing. Unit tests are one of the most powerful forms of documentation you can have, because they document the expected behavior of a module. Code without unit tests is legacy code, and unit tests will help you tame that.

Help. They are not a panacea. And don't let "you should start unit testing" turn into "we should start tracking code coverage metrics". But unit tests can add a lot of value.

For unit tests to add value, you also need to have some sort of automated build process. Most build systems will have an easy-to-enable continuous integration mode. Turn it on. At first, your builds will fail. A lot. Especially as you start adding tests. But over time, those red lights are going to get less and less frequent.

Now, what are you doing about managing changes to the application? What's the workflow for putting things onto the backlog? How do they get prioritized? How do people get assigned work? There's no right answer to any of those questions, but I have one big piece of advice: don't let anyone own a module. If Sallybob was the last person to touch the OrderProcessor, the next time it needs a change, give it to Joebob. Yes, you're going to take a small hit on your cycle time. It's worth it.

u/phragg · 1 pointr/webdev

I highly encourage you to read Clean Code - Robert C. Martin. It goes over various naming conventions that many developers should adhere to.

Some of the most important topics covered is:

  • If you need comments, your code is not clear
  • When you're working with a team, come together to an understanding of how classes, functions, methods, objects, etc are all named and be CONSISTENT

    Here is a great coding standard that many developers use:
    Coding Style Guidelines
u/SKozan · 1 pointr/webdev

Like mentioned a framework like bootstrap or material design and this book is a great place to start.

The Non-Designer's Design Book (4th Edition) https://www.amazon.com/dp/0133966151/ref=cm_sw_r_cp_apa_6rs0AbSRA52V0

u/erratic_calm · 1 pointr/webdev

RSS for the win. On the sad, sad day that Google Reader disappeared I made the switch to Digg Reader.

My main sources are:

  • Google Webmaster Central Blog
  • CSS Tricks
  • Tuts+ Code
  • Webdesigner News

    Over time I've found that many of the other ones like ALA are impractical for day to day work. They're more theoretical.

    I'm also not shy about grabbing books as they're released. Javascript & JQuery: Interactive Front-End Web Development is good.

    I work as an in-house Drupal developer and administrator so I don't need to know the absolute hottest shit out right now but I do stay on top of things that apply to major CMS platform development and the rare HTML and CSS spec changes.

    Most of my freelance work ends up being on WordPress so I follow their Twitter feed for major releases and other news.

    Friends in the industry are also another major source of news.
u/mwassler · 3 pointsr/webdev

You should read this book if you just want a super low level look at computers. It's a good read for that stuff.

It has chapters about how transistors work, how processor commands get mapped to machine code, how high level languages get compiled to machine code and how binary number systems work. It's like an electrical engineer's view of a computer.

u/drgath · 2 pointsr/webdev

If you want to stand out, learn how to program JavaScript without the use of jQuery. Learn about cross-browser DOM scripting, browser performance, security, and JS fundamentals (prototypes, closures, etc...). Some good books to get started are Pro JavaScript Techniques and JavaScript: The Good Parts

u/blixxurd · 3 pointsr/webdev

As an ex-data guy myself (Started to do primarily UI Dev a few years back) Steve Krug's book "Don't Make Me Think" was a godsend. It can be learned, and while creativity plays a role, there are formulas to it. With some time, it will be second nature.

Book: http://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515

u/akie · 2 pointsr/webdev

"Too many clicks, gotcha"?? That's not really what he was saying...

In any case, a good read on the subject of (web) usability (or, generally, any piece of software), is Steve Krug's "Don't make me think". Do yourself and your employer a favor, and order 5 copies for you, your colleagues, your manager, ....

The reason I'm saying that, is that reading this book introduces you to a new mindset on how to look at issues like this. If you introduce your colleagues to that same mindset at the same time, you might be able to start building better software that is easier to use. It's really not that difficult once you start thinking about it, but you first have to start thinking about it, which is why you should get this book ;-)

u/[deleted] · 3 pointsr/webdev

I would find programming so much harder if I hadn't studied Computer Science way back when and learned why computers work the way they do. I still experience the imposter feeling you're describing when I try manipulating code samples for a language I don't truly understand yet. For some reason I don't feel comfortable until I finish a book-length introduction to a language.

To that end, if you feel like you've jumped into the deep end of the pool without a proper introduction to basic coding concepts I recommend Charles Petzold's book Code: The Hidden Language of Computer Hardware and Software. I read it for fun and found it easy to digest the material.

u/popcultur · 1 pointr/webdev

That looks good. There's a good chance I'll read it (this link worked for me).

u/FluffleUffle · 6 pointsr/webdev

I'm currently studying from this book. Super easy to understand, and you'll get some decent projects out of it.

u/kloudsora · 1 pointr/webdev

I love to recommend this book

HTML and CSS: Design and Build Websites https://www.amazon.com/dp/1118008189/ref=cm_sw_r_cp_apa_i_g0UyCbF9DXJ3W

u/jkwuc89 · 17 pointsr/webdev

IMHO, knowing the basics is vital. For JavaScript, I recommend buying and reading, "JavaScript: The Good Parts".

https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1

u/snaftyroot · 0 pointsr/webdev

if you put such an emphasis on commenting your code, you would benefit from reading Clean Code: https://www.amazon.de/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

code should have little-to-no comments (differentiating between comments and API documentation). the more comments you have, the more difficult your code is to maintain. instead, choose descriptive variable and function/method names and separate non-obvious logic into methods and functions. by inverting control, your top-level logic should read like a book

that being said, you're right about working with others. that's much more important than anything else

u/synthsongs · 2 pointsr/webdev

Buy and read this book as soon as you can. It's the gold jewel of software development, I guarantee that if you read and understand it, you'll be better than 80% of programmers out there. ^[citation ^needed]

u/ChrisFingaz · 2 pointsr/webdev

True, well in case anyone would like to learn more about design patterns, this book is awesomely corny and easy to read. Doesn't matter if you don't know java at all.

http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124


And read this before you start the book as it's probably the most important point they kind of just ignore.
http://www.codinghorror.com/blog/2005/09/head-first-design-patterns.html

u/ew73 · 3 pointsr/webdev

Even if you're a seasoned JS pro, I'd suggest reading Javascript: The Good Parts, it helped me tremendously, to the point I was comfortable moving Javascript to the primary skills section of my resume.

u/aj240 · 1 pointr/webdev

The usual recommendation: code academy. But don't rely on it too much.

These books are pretty good too, if you can afford them.

u/Yeomanninja · 3 pointsr/webdev

I picked up this book and have been going through it along with CodeAcademy and Treehouse. The book has lots of examples and simplifies a lot of things that aren't neccessary taught on the tutorial sites so I find learning through mutiple resources pretty good.

u/piglet24 · 1 pointr/webdev

JavaScript: The Good Parts is one of if not the best JavaScript book money can buy. If you have a C background you should pick it up quickly - in the first couple pages it will help you set up a simple HTML page to help test some simple js on, and then get's into more serious stuff.

After that it really depends on what your objective is with web development. If you want to get into business, finance, etc. you should start looking into C#, Java, or maybe Ruby.

I know lots of people swear by SciPy which might appeal to the physics student in you.

u/AWildWebDev · 3 pointsr/webdev

These books are a fantastic resource: Web Design with HTML, CSS, JavaScript and jQuery Set to really get to grips with the front end fundamentals.

And if she wants to dig deeper into the more advanced front end world, buy a course about react. But not before she gets the fundamentals absolutely right.

u/cynicaloctopus · 18 pointsr/webdev

I strongly recommend reading Gayle Laakmann Mcdowell's Cracking the Code Interview, or watching one of her lectures on the topic. Although her book goes into detail on the types of questions that can come up in these interviews, the general advice she gives in this lecture is solid gold.

u/binary_is_better · 3 pointsr/webdev

I agree about design patterns. They keep you from re-inventing the wheel. I find Head First Design Patterns easier to approach than the gang of four book.

u/pietremalvo1 · 3 pointsr/webdev

Best book: Introduction to Algorithms https://www.amazon.it/dp/0262033844/ref=cm_sw_r_cp_apa_i_PB1YCbFSV6BFK

It goes through data structures, algorithms and their cost (time, space etc..)

u/abd1tus · 5 pointsr/webdev

Some resources to look into:

  • Good UI
  • Material Design
  • Material UI
  • Bootstrap
  • Don't Make Me Think Revisited

    To get started quickly and especially in the absence of a style guide, don't try to come up with with novel designs on your own at first. Look at existing resources available and use them as a starting point. A good exercise would be to go to the the material ui or bootstrap site and put together some
    pages using thier existing components (especially paper, cards, and nav bars) and blend together their examples.

u/blurrah · 0 pointsr/webdev

I can remember a small quote (let me know if i'm wrong here) from "Don't make me think" that goes kinda like this:
Clicking through links to get to content is okay as long as the user doesn't have to think about the links.

That book is a great read. http://www.amazon.com/gp/aw/d/0321965515/ref=dp_ob_neva_mobile

u/-Jehos- · 2 pointsr/webdev

Probably these: https://www.amazon.com/Web-Design-HTML-JavaScript-jQuery/dp/1118907442/ref=sr_1_3

If you want a brief overview, check out this site: https://internetingishard.com/

It only covers HTML and CSS, but it'll get you started.

The basic idea is that you have HTML which provides the structure of a web page, CSS which defines how that structure should look, and JavaScript to make it useful, i.e. by making things happen when you interact with UI elements, go and fetch data from servers and render it into new HTML, etc.

u/Prozachian · 6 pointsr/webdev

I've read this book a couple times, technically it is about UI but it helps with how you should layout your page and the reasons why to lay it out that way.

Steve Krug's Don't Make me Think.
https://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758

​

You can also torrent it legally.

u/teslas_love_pigeon · 1 pointr/webdev

I would suggest buying a book, or looking into similar titles, called "Javascript and jQuery: Interactive Frontend Web Development" by Jon Duckett.

http://javascriptbook.com/

http://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647/


The book is lovely designed and presented in a manner to help beginners.

Aside from "what to-dos" I would suggest making some concept sites for fake products or businesses. These can be single pages and you can start to make them more elaborate by adding more features as you learn (including forms, shopping cart, mini-blog, etc).

u/Rounddacorner · 1 pointr/webdev

Have you tried any books? Or are you more of a visual learner. I read this book and really helped me understand js patterns better. I first learned programmer in php, and now doing some javascript ( node.js ) with the express framework.

u/dick_harper · 1 pointr/webdev

>https://www.amazon.com/dp/1118008189/ref=cm\_sw\_r\_cp\_apa\_i\_g0UyCbF9DXJ3W

will be purchasing this tomorrow, due to your and others recommendation. thanks!

u/HeartyBeast · 3 pointsr/webdev

I’ve got an old copy of Don’t Make Me Think that features lists of screenshots of websites from the turn of the millennium. It’s remarkably interesting

u/picklymcpickleface · 3 pointsr/webdev

It's less than $20, a PDF is also easy to find.
If you're going to read any books to learn something about UX, start with this.

https://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758/

u/hammerjacked · 2 pointsr/webdev

Check out the book "Design for Hackers" by David Kadavy. The author teaches the principles of design in a way that is easy for anyone to understand.

http://www.amazon.com/gp/aw/d/1119998956

u/reflectiveSingleton · 4 pointsr/webdev

I would add design patterns to that list...they are extremely helpful and it essentially what modern frameworks try to put in place.

It's why MVC/etc exists, and if you are fluent in many design patterns then you can mix/match/modify the appropriate one to your current problem set. Also, things like that transfer to non-backend development if you ever decide to go that route.

See books such as Design Patterns: Elements of Reusable Object-Oriented Software - written by the 'gang of four'...and other related and more modern derivatives of this.

u/ill_mango · 1 pointr/webdev

Have you read "Algorithms and Data Structures"? It's a text often referred to as 'the CLRS' text, because of the last names of the authors. It's required reading for both Amazon and Google technical positions, and likely for FB and twitter as well.

I believe it's this one, actually called intro to algorithms: http://www.amazon.ca/gp/aw/d/0262033844

u/UnicornPony · -1 pointsr/webdev

I am also artistically challenged.

I recently read this book: http://www.amazon.com/Design-Hackers-Reverse-Engineering-Beauty/dp/1119998956/ref=sr_1_1 - while it did not cure me, it was good food for thought. It talks about web design - not CSS and JS.

For some reason a google search for "web design" gives me a ton of sites teaching me to do something in JS. That has very little to do with design I think.

u/sotopheavy · 1 pointr/webdev

I have the first of these and plan to get the second two soon as they have come highly recommended by /r/programming at one time or another.

u/rajvosa07 · 1 pointr/webdev

You need to check out this book. It is well written and particularly so for people who are coming in from a developer point of view: Design for Hackers: Reverse Engineering Beauty
https://www.amazon.com/Design-Hackers-Reverse-Engineering-Beauty/dp/1119998956

u/vidarc · 1 pointr/webdev

Cracking the Code Interview is an excellent book if you haven't already checked it out. It's more then just coding problems too. She tries to cover everything that you might need.

u/hamptonio · 2 pointsr/webdev

You might consider one of the "Head First" books. Some of them are a little out of date; they have a very distinctive style that you may really like or really hate. I think the style could be useful if you are dipping in and out of reading at work. Two examples:

https://www.amazon.com/Head-First-HTML-CSS-Standards-Based/dp/0596159900

https://www.amazon.com/Head-First-JavaScript-Programming-Brain-Friendly/dp/144934013X

u/ibsulon · 6 pointsr/webdev

Don't rewrite from Scratch: Joel Spolsky goes into detail as to why. Instead, rescue the existing code

I cannot recommend Working Effectively with Legacy Code enough in cases like yours. If done right, you can reach architecture without an end state.

The new way to do this is microservices. If you can properly consolidate your javascript in one place, you can start to break apart the monolith. It's absolutely possible to do in place, and you always have a product.

u/irssildur · 3 pointsr/webdev

If the components are decoupled enough than the business logic should be in service classes/packages which can be moved to another project which could be referenced by the webapp. Than you just need to set-up your webapp with backend and frontend because the logic should not know about the implementation details.

More information on this:
http://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

u/nikrolls · 1 pointr/webdev

I really suggest you read Clean Code. It will change your life as an engineer.

u/KevinJD · 8 pointsr/webdev

Took me too long to figure out the search box wasn't a button.

Don't make me think

Edit: Its not even a cursor on mouseover in chrome.

u/whimsea · 3 pointsr/webdev

I swear by Jon Duckett's books: HTML & CSS, and Javascript & Jquery. You can get the set here.

u/DigitalSuture · 6 pointsr/webdev

These gentlemen above my comment will be the exact answer you are looking for. Especially the save/make money comment. That is job security/advancement/streamlined processes all rolled into a concise statement. Pull information about what you need from UX/UI design, Steve Krug "Don't make me think" with small real world cheaply produced benefits, and also add in the fact of how many hours wasted to the company that the developers are spending trying to update something.

"Don't Make Me Think" by Steven Krug

How E-bay make 300 million dollars by moving a button. Design matters