201 karma · joined January 10, 2013
In fact, a common cause of disturbance within people is that they are too affected by implicit "I did this and that happened" learnings and not of the true intent/meaning behind actions and reactions.
Front-End Engineer (Sr. or Mid.) - Full-time - SF Bay Area, California
RELOCATION; VISA; NO REMOTE
----
We've been working on a complete rewrite of the front-end of our application and we have an opening for some front-end talent. We would like to meet someone who is creative and has a passion for daring front-end work rather than someone who's looking for a mindless 9-5. We love people who never stop learning and desire an environment accommodating their personal growth. We like to openly discuss project complexities and would value you voicing your opinion.
----
Responsibilities
- Writing clean & modular code
- Making UX decisions with every new screen & looking out for our end users above all
- Caring about your product and a willingness to take ownership over projects
- Staying up to date on the web's constantly advancing tricks and trends
----
Requirements
- Strong JavaScript and CSS skills
- Understanding of semantic HTML
- Experience optimizing webpage performance
- Sound knowledge of web best practices and why they are best practices
Bonus points: Experience with jQuery, requireJS, angularJS, d3 and/or Photoshop.
----
We offer competitive salary and benefits
- You pick your computer and your tools.
- Family friendly work hours
- Growing with a company that is a profitable force for environmental good in the world.
- Working with self-motivated, creative-thinking, laid-back people.
- Snack room filled with goodies from Costco, free Friday lunches, occasional fun outings, open source time, and a bunch of other perks you can simply ask for.
----
You can email me to find out more or apply at: shadi {@} enfos {.} com
Thank you for your consideration and I hope you find what you're looking for :)
Rather than everyone reimplementing their own utility libraries, here we have one central library already cached by most areas of the internet, being maintained by some of the brightest developers in JS, and provided free of charge.
If your site permits, you are probably using the Google CDN hosted version of jQuery. If not, you should. If you can't, then your users can handle some 80kb one time load for a tremendous reduction in development time and increased consistency between browsers (let's be honest, cross-browser testing is a pain and we avoid it as much as possible).
So many people think that by using jQuery your code must immediately be bad. Spaghetti code is code with bad structure, jQuery does not enforce any structure so any bad code that includes jQuery is not the library's fault. I also believe (I don't have evidence for this) that this thought tends to occur amongst people who have learned front-end development using jQuery because it was very accessible, and then moved on to something else, and then looking back at their old, cruddy code developed negative feelings towards jQuery itself. jQuery doesn't care how you structure your code; you can use jQuery (admittedly with some difficulty) with Angular, Backbone, or any other popular framework. But you can't use Angular with Backbone. Arguments against jQuery that attack poor code / structure / "prettyness" are completely misrepresenting jQuery as a library.
In that same vain, jQuery is not slow. How you use jQuery, just like how you write your vanilla JS, is what determines performance. Some jsperfs show jQuery being slower than vanilla JS or lodash/underscore, but that's because jQuery is checking for many more things. You don't have to use jQuery if you know how to improve critical code, and you really shouldn't. However, it allows for you to write code quickly, without much complex thought for validating against edge cases at a very negligible performance reduction.
The one unsurmountable problem with this design pattern is form filling after page load (lastPass for example). As discussed in this issue: https://github.com/ENFOS/FlowupLabels.js/issues/2 Despite that fact, I still think this is an elegant solution to mobile form design.
You use clearInterval with setInterval, and clearTimeout with setTimeout.