New Advice Column: The Reluctant JavaScripter
June 5, 2012 in Business, Community, Tech
[Editor’s note: In a continuing community service effort, transitioning.to has licensed the following advice column “The Reluctant JavaScripter” . Long time self-appointed Flash expert Phillip Kerman is honored to serve the rejected Flash developers with straight answers to their stupid questions.]
Dear Reluctant.js: I have a friend—not me—who’s struggling with a self-identity problem. For the last few years my friend’s handle in various online environments was a phrase that contained the “f-word” (Flash). That USED to be a good thing. Now it appears there’s a full-fledged exodus–even denial of history—regarding Flash and its contribution to the downfall of desktop computers. Most of my friends and I have already changed their usernames to remove all references to Flash. I just wonder if it’s no longer politically correct or acceptable to associate with those describing themselves with the f-word.
Also, can you help me identify terms that I can suggest my friend use to attract maximum popularity? Some of the usernames I have in mind are “mobile-phil” or “touch-era-phil” but maybe something more specific is good—say, “html5-phil” or “javaScript-phil”. What do you think?
Signed
A Once Proud Flasher
Dear Proud,
There’s nothing to be ashamed of except perhaps how all the “good Flash developers” have failed to rein in and stop the “bad Flash” folks (who built the true garbage) from defining Flash’s contributions. A balanced and sensible look at history will judge Flash as what it was—the most widely deployed and arguably the most successful piece of software in history. To think otherwise is tantamount to a revisionist’s wishful thinking.
The question remains as to what you name yourself (or your “friend”). You could simply replace “flash” with “html5” or “code” or “javascript” although, some have tried and there just isn’t an easy way to transition a username like “flashfreaker” or “the flash bum”. Even conferences face this challenge. For example FITC, originally “Flash in the Can”, simply chose 4 words they thought were cool—so FITC is now “Future, Innovation, Technology, Creativity”. You saw a similar thing when Adobe tried to separate Flash from the “Shockwave” brand—“SWF” no longer stands for “Shockwave Flash” but instead means “Small Web Format”. Ultimately, it’s impossible to hide from your own history.
Despite the challenges in renaming yourself, I’d agree it’s always best to describe yourself in present tense terms and to use words associated with what you want to do tomorrow—not what you did yesterday. To that end, yes, I recommend avoiding the word Flash when selecting a username. But picking something that you’ll stick with is as important as picking the right term.
A deeper, more concerning problem, has to do with how you explain what you’ve been doing in the recent past (which can actually exceed a decade for some old-timers). When you say you did Flash, say it loud and say it proudly. There is a chance people will impulsively say “HTML5” and then give you a look of pity. Something more interesting may happen. Instead of discovering an underground society of Flash sympathizers you’ll find that anyone who was in the tech business for the last several years surely knows the score. In fact, if they’ve been doing cool cutting-edge client-side projects they were almost certainly using Flash. Sure, it’s possible you reveal yourself to someone who has hated and avoided Flash since its beginning. With those folks don’t fall into the trap debating (ultimately moot) differences between HTML5 and Flash but rather it’s best to smile and let them feel victorious allowing you to move on to getting some work done. But please don’t grovel and apologize. Let the next letter serve as a model of how to react.
–RJ
Dear Reluctant.js: All u wineing flash “progmmers”…LOL. if u had listened to me about webstandrds you wouldn’t be so sucking bad when adobe sux. ppl called me a masocist 4 doing ajax by hand… whos laughing now beotch? –code grocker
Dear “grocker”,
Yes, you win! I’m sure that’s what you’d like me to say. Okay: “Flash is dead and now you’re the only one who can help clients. No one will ever want to hire a Flash developer again.”
Actually, Mr. Grocker, what you fail to realize is that now all those flash “fan boies” are showing up in their jeans and t-shirts and—except for an occasional improved odor—are indistinguishable from you. In fact, if you see rates increasing because now there’s even more talent in the pool, feel free to thank your local Flasher.
“ur” welcome.
–RJ
Dear Reluctant.js: I’m a Flex RIA programmer (and sometimes I even dabble a little in ActionScript). The corporation where I work let me take an 18 month sabbatical. I’m back now but no one even works in my department anymore! I think they forgot to take me off the payroll, but I don’t even know who to contact. What happened? I started asking around and most people’s reaction to the word “Flex” is—“do they still make that?”
Was taking time off a bad idea? And, more importantly, what should I do now?
Signed
Dude Where’s my Department?
Dear Dude,
I understand the world’s economists are now studying whether your vacation had anything to do with the shit we’re in now. For many Flex programmers another date which will live in infamy occurred last November (11/11/11) when Adobe abandoned Flex. In the future, however, I’m sure you’ll look back and agree this was the beginning of something better.
The brick wall you’re facing with people’s willingness to discuss Flex is not exhibitive of the expected decline in the demand for Flex. To the contrary, while I do expect a decline, the demand for Flex will be slow and gradual now that the initial shock has worn off and most folks have moved on. But make no mistake: there’s a large base of existing code that is providing varying degrees of value—this code may need to be maintained or ported to other platforms. If played right, you can provide clients with huge value and you with huge dollars.
Deep down I think your question is less “what happened?” and more “where do I go from here?” Flex developers seeking insight where their future lies should consider taking the good part of a day to read Jesse Warden’s epic post discussing the viability of ExtJS being the next logical step for Flexers. Sencha’s ExtJS does include very sophisticated components that will allow Flex hacks to hobble together Flexy looking monstrosities but it also lets “good Flexers” crank out powerful web applications.
In some ways the best framework is what everyone else is using. One of the greatest assets Flexers have is their community. (The same goes for Flash/ActionScripters.) I think the opportunities to leverage the community are huge. It’s not as though the JavaScript community will notice if one or all Flexers show up to crash their party. At best, Flex and ActionScript folks can help solidify more best practices.
–RJ
Dear Reluctant.js: I guess I’m a bit of a purist. My mom tells me I kept inventory on my legos and even had a schedule for the potty. I think that’s relevant to my career in ActionScript because it let me keep everything nice-and-neat. However JavaScript makes me feel dirty.
Before you assume I’m a Luddite, I should state some of my best friends are JQuery “programmers”. I don’t have anything against JavaScript… but, no typed variables??!! I won’t even mention global variables—but who was responsible for that? And now every project uses libraries—many of which depend on OTHER libraries! It’s come to this: we need additional libraries to manage the libraries we have. Isn’t there some point where someone will say “this isn’t right—we need a real language?” Can’t people see that? I’m not saying I have a problem with JavaScript—I just think it’s an outrage that it has such extreme flaws. Some people are fighting back (like Colin Moock’s diatribe “the trouble with JavaScript” ). What else can we do?
Signed
Resigned to JavaScript (but not happy about it)
Dear Resigned,
On the contrary, I’d say you DO have a problem with it! In the words of Tom Green’s boss “deal with it”. Are we not programmers? Isn’t the whole idea of programming to figure out a solution? And really, have you dug so deeply into JavaScript that you can truly say there’s no viable way to produce anything worthwhile? Before you answer, realize people have built some pretty kick-ass stuff. Plus the activity going on in JavaScript is moving so fast it’s unlikely you’re on top of it all.
Before you say that producing masterpiece software requires heroic efforts by teams of expert developers, realize that most projects have only moderate demands–they need not exemplify the state-of-the-art. Your clients might need something simple or something complex—it depends what you’re trying to build. Programming is just solving problems. I’m sure you can put on your big girl pants and make something within the confines of JavaScript.
Having said this, I think it’s natural that when you study a language as you have, it’s important to highlight and understand its limitations. However letting it turn into personal aggression is a mistake. Here’s a story—I used to be an Authorware expert and I once contracted with a team that had been working full time on a large Authorware project. They had produced and posted on the wall a list of all the “problems” with Authorware. I think you’re exhibiting a similar kind of acting out. Not only do such lists have the risk of embarrassing you later when you see you were wrong… they don’t necessarily help you avoid problems. For example, saying JavaScript’s globals are a serious problem is silly unless you also point out that programmers can simply avoid the issue entirely by employing one of the many namespace patterns. Notice if you pick a fight, you’ll get a fight. The master programmer, however, should look to avoid such battles. It’s best not to fight it. I’ll admit I had a real problem with the fact that JavaScript is loosely typed. But I was smart and didn’t try to fight something that was just a fact-of-life. If you are that hung up on typing I’m sure you can think of a workaround or use a tool/library that addresses this. Plus, check out this list of more than 100 tools that output JavaScript–often via another language entirely.
Finally, as to your point about relying on so many different libraries: go ahead and write everything from scratch! In fact, it makes more sense for smaller projects (especially when you’re learning). However, I think you’ll find using a few libraries can certainly help enough to justify the investment learning. I will say that you’d face an impossible task if you tried to employ everybody’s personal favorite “best practice”. In that regard, JavaScript is a mess right now… though you are seeing a few libraries surface as accepted standards.
–RJ
Dear Reluctant.js: I don’t know why it has taken people so long to move on. The writing on the wall was not exactly difficult to read. I completely abandoned Flash 18 months ago and haven’t looked back. I’m not sure if this advice column is helping or hurting the “Flash Holdouts”.
Anyway, I do have some JavaScript questions for you—why do I have to put a semi-colon after a function expression but not after a function declaration?
Signed,
Formerly Flash
Dear Formerly,
I’ll be the last one to suggest folks hold out for a Flash comeback. Whether you evolve beyond Flash today or wait until the last gasps of life are squeezed out of Flash and THEN move on, you won’t be any farther ahead in the great cosmic race of software evolution. It’s not a competitive sport after all. I suggest folks just do what they can to make money. There happens to be some real opportunities in Flash (albeit not “websites”). But… Flash folks should be taking every opportunity to suggest alternatives to Flash. This helps you identify the places where Flash really does have a value proposition. It may sound backwards but you’ll win either way and you’ll end up with the best solution (the one that withstood challenges from alternative technologies).
As to your JavaScript question, I was going to answer by saying this isn’t a JavaScript hotline but for that try (and, yes, this is real) toll-free JavaScript help hotline at 877-300-2187 http://javascript.pockethotline.com/
However, I don’t know if anyone can answer “why?” “Why does it work the way it does?” –it just does. Let me suggest that it’s often best not to ask why—but just to go along with code formatting rules from JSLint unless you know what you’re doing (that is, it works the way you want) and it offers something you can’t easily build another way.
–RJ
Dear Readers,
I will gladly provide insightful answers to any questions–sincere or silly–that you post in the comments section below.
–RJ

So, JavaScript is now a standard that does the same as Flash has done for years, only slowly and in a way that forces developers to use inferior tools but I’m still confused why these posts always seem to omit the point that it’s been discontinued due to the split in target platforms and application support in Adobe Air. It seems that this column is actually mocking itself by saying the Flash developers (who can now work just fine on Air) are rejected and have stupid questions when within the column itself you state that you don’t condone such comments. Please advise me if I’m stupid or not. Adobe Air developer.
Dear Air Developer:
First–the column is mostly a joke. Poking fun at myself and others. It’s merely a vehicle to discuss topics dear to us all. Plus, there’s no such thing as a “stupid question”–I was just trying to make it sound funny.
Second, it sounds like you have some pent-up aggression directed towards the fact that JavaScript can’t do everything Flash can. Realize that as trends evolve, client expectations change–often wanting whats good about one technology even when another technology is “better”. MP3s are lower quality than Audio CDs but they’re terribly convenient. Flash supplanted Director because it was (visually) scalable and downloaded quickly (not to mention dependent on a more successful plugin). The point is that while JavaScript may not be able to do what Flash can–clients may not want that unique thing Flash can do. If they do–then use Flash. But for web stuff, right now, the fact is JS works on modern browsers and Flash certainly doesn’t (when you consider mobile).
I’m not sure what has been discontinued. Adobe AIR is a great product. Seriously, my only concern is that it’s not enough of a priority for Adobe for them to give it the support it needs. And, realize that it only serves to solve one target: apps. Personally, I am trying to figure out what’s after apps.
But definitely AIR has a place. In fact I have a current project converting some old CDROMs (created in Director) to tablet devices (which really means iPad and Kindle Fire as far as I’m concerned). Anyway, the client originally spec’d that it would be created in HTML5. I bid it but after we discussed what was really needed I figured out AIR would be a better solution–and probably about 25% less money too.
Anyway, I’m bullish on AIR. But here’s a place where Adobe can do much better… answer this: how many times have you said you use “Flash” or the “Flash Platform” to deliver to iOS and people have a double-take and ask (repeatedly) for clarification. I’ve had this conversation with veteran Flash devs! It’s one thing to let Apple paint the picture for Flash Player–but it’s absurd that Adobe can’t even get the message out that AIR is on iOS. I guess my point here is that I am bullish on AIR while it continues to provide value.
–RJ
Dear Reluctant JavaScripter,
If all my years of Flash work taught me ONE thing, it was to NOT bury little bits of code in remote movieclip timelines. So, why-oh-why is jQuery teaching me to bury little bits of code in zillions of anonymous functions attached to DOM element event handlers everywhere?
Should I unlearn everything I thought I learned?
Sincerely,
A Perpetual Newbie
Dear P. Newbie:
No, you do not have to unlearn everything. Your instincts as a programmer are correct—you should always question code that becomes messy. I actually think your question is much deeper and wider than just jQuery but let’s address that first.
You might consider lightening up on jQuery. One must trust completely any library they use—so if jQuery itself is managing zillions of anonymous functions then I think you’re going to have to get over it and either trust it’s handled well or don’t use jQuery. You can pass anonymous functions as parameters to jQuery functions… so I guess you do need to be careful if they’re referencing DOM elements. (I don’t know: does jQuery properly let go of any references to objects? I’d hope so, or you could encounter memory leaks say if you created and destroyed many elements.) I’d appreciate the Reluctant JQueryer to set me straight here.
I hope you’re not just saying you don’t like anonymous functions—they’re just a value. As long as you don’t do any crazy circular references then you’ll be fine. Here’s a test to see if your assimilation to JavaScript is complete: Return to ActionScript, if you find yourself passing anonymous functions as values or if you’ve learned to love setInterval then you “might be a JavaScripter”. Seriously, there’s nothing wrong anonymous functions if you handle it correctly.
I suppose if someone uses jQuery for “everything” then it’s possible/likely they’ll produce a mess. Realize that jQuery’s main value proposition is easy access to the DOM. For that, it’s great. A valid concern is your desire to keep your code decoupled from the DOM. I suppose, yes, that connection can be messy—but, geez, it’d be way uglier if you didn’t use jQuery! If necessary, you could design code to provide a gateway between the DOM and your code making it portable. But, yeah, if you want a million buttons to do a million things, then you’re going to have some coupling somewhere.
Deep inside I can see however, your problem isn’t so much with how jQuery works but rather the idea that your code may not be maintainable. Dependencies on third-party libraries, by definition, make you dependent on them working and not changing. Consider too that build processes can be very involved—doing more than just minified the code but combining all the code files into one download that’s impossible for a human to read. If anyone said JavaScript is better than Flash because it’s “open” then they’re ignoring the fact production code is barely more readable than a compiled .swf. In fact, I’m not the only one to predict the “end game” for JavaScript is to use a compiler. That is, you code in any language you want and then use additional code to output JavaScript.
If I step way inside your subconscious I think maybe you’re saying there’s a problem because it’s impossible to revisit someone else’s jQuery code (even your own code) because it’s inherently messy or because there are all these dependencies and code “attached” all over the place. In any system you need to maintain and clearly document all steps in order to revisit the code later. I think you can definitely say that most JavaScript code is impossible to maintain. And, there are a lot of hacks doing jQuery. But that’ true with anything. There’s no one stopping you from producing clean code using jQuery. If you’re griping about the DOM to Javascript coupling then please seek help from the Helpless HTML 5er’s column.
–RJ
Dear Reluctant JavaScripter,
I’m still upset about the fact that I didn’t have the same control of video in Flash that I had in Director in 1996. If you could set the movieRate of our lives to 5 and look ahead, what kind of future do you see for me?
Dear Director Darrel:
Sometimes it’s possible to see repressed anger underneath such a seemingly innocuous question such as yours. Those not experienced providing valuable and insightful answers might see your question at face-value: “what does my future hold?” But I can see there are scary skeletons hiding inside you.
Lucky for you, your future will be prosperous and well valued. You may think that’s because the Video tag has a playbackRate property (see this handy page) where Director’s Lingo used movieRate. If only everything was ready for primetime. If you believe all the APIs work on all the devices out there I’ve got a Macromedia Central app I’d like to sell you. But enough with the technical discussion—everyone wants to hear what’s behind such a sick question.
Yes Darrel, we see you to be the wise and shrewd developer that you are. This question is intended to marginalize Director by making you look like someone who hasn’t gotten over the death of Director. Pointing out an esoteric detail that may in fact be “better” in Director does nothing but establish you as the “go to” guy for Director. Let me ask—were you the only known person in 2011 to have a real live Director project?
Many have accused me of this same effort—but applied to Flash. In fact, the “death of Flash” has been the best thing for Flash developers since Flash itself! Challenging Flash can help push Flash forward. That is, if I push for “HTML5” and it turns out Flash has a real advantage then we just do Flash. If HTML5 is a better solution for a specific project then we just do that! The point is SOMETIMES Flash is a solution to the problem and I’m happy to be the last Flash developer able to update your old Flash project or convert it to whatever new platform happens to arrive.
So, yes, I predict you’ll have a profitable and highly valued future Darrel… even if that may mean maintaining Director work.
–RJ
Just a quick note that no current public release of Firefox supports the playbackRate property! At least, I can’t get it to work in my tests. Try it with that link that RJ included in his reply.
Darrel, I’m sure you know that this is not really a _Director_ feature–it’s a feature of the QuickTime Xtra as exposed by Director. It does seem that we’re starting to see some playback rate control with FMS 3.5; the NetStream class seems to now have some playback control to it. I haven’t tried this yet; Wowza has a rate control feature for video playback as well.
Like I care _how_ it gets controlled so long as there’s a way to control it. Fifteen years now and Flash hasn’t been able to leverage Quicktime technology that’s been around for two decades?
I could teach people how to rig up video playback with custom buttons in Director in the first class in basic programming. It’s been one of the most common things people do with multimedia for, like, ever.
How’s _that_ for “repressed anger”, Phillip?
Well, the stats on QuickTime deployment aren’t’ “all that” on Windows, the most widely deployed desktop OS. There are various reasons why Flash Player adoption was quicker than Shockwave Director on the web, not the least of which was that it didn’t have a burdensome Xtras layer. There’s pro’s and con’s with that, like a video API. Flash definitely has an “overcomplicated” API (actually, more than one API, from NetStream to Video to NetConnection) to control video, but I’d argue you have more control of many aspects of video manipulation in Flash than you get with Director and the QuickTime Xtra. Sure, playback rate should have been in there from day 1, but to date, I’ve had only one client in the last 12 years request a playback rate feature.
While it’s not the best video component, Adobe’s FLVPlayback component enables quick wiring of custom buttons/controls to a video playback container. I know you’re familiar with it!
Hey, that’s a good answer, please don’t get me wrong, if you’re joking, no worries but still, your blog post seems to convey that this isn’t really a considered option that one might still chose to develop on the Flash/Flex runtimes. I am actively writing HTML5 & JS right now as I paused to write on this thread. I believe it’s absolutely a must for web-development today but my prediction is that using a more structured language like AS3 to develop JS is approaching more quickly than the tools for JS are evolving. Hacking JS is like removing your own eyes with a spoon, but projects like spaceport.io and some others are making compilation to JS simple yet keep, what is in my opinion, a layer of code abstraction that allows developers to build larger, more professional, more re-usable code and if those guys don’t develop the tools to achieve this we will take a look at it
I really do see compiling JS as the only viable way to do complex work. What I don’t know what to think about is how best to teach JavaScript… or whether it’s even wise to use JavaScript as the first language a student learns. This post and discussion is interesting because it comes from John Resig (creator of jQuery) http://ejohn.org/blog/javascript-as-a-first-language/
–RJ
“I really do see compiling JS as the only viable way to do complex work.”
Really think about that statement – mostly in the context of the type of people who say this.
I generally don’t hear this from:
1) Engineers experienced in low level languages.
2) Engineers who have extensive experience using Javascript -both on small and large scales.
I generally DO hear this from:
1) Workflow / language ‘snobs’.
2) Those unfamiliar with using JS and/or on a large scale.
3) ‘Coders’ who have Java / Flash / .NET as their first (and usually only) language.
Programming in Javascript is a lot like programming in C – you have to pay attention to what you’re doing! The reality is that most programmers are lazy and like the idea of having a compiler / VM that catches what they do or assume that the compiler is smart enough to do things like dead code elimination.
A lot of people miss being able to just smash on their keyboard in Java / AS3 and just hope things work. They miss that and they are scared about being forced to actually pay attention and design their code properly.
@Philipp,
If you’re curious about how to teach JS code, look at how large programs in C are created (hint C++ is not the answer). A lot of the techniques translate very well.
http://stackoverflow.com/questions/3644979/how-to-organize-my-c-code
I think I should have said that compiling to JS is the only way it makes sense to me for complex work. But, think about what “compiling” is. I’d argue that minifying your JS is a form of compiling. In that sense I think most would agree it’s not a good idea to organize your code for production in the same form that you distribute it. So, there’s often going to be a process where you convert your code to a “compiled” form. In the case of something like coffeescript, you start in a different language and then you process it to pure .js. Even something like require.js will “compile” .js. So, in that light I think few would argue with me.
I don’t mean to say that there’s no way you can program something complex in JS–though, I think you’d be completely nuts to try it. Why wouldn’t you develop systems to help you?
Dear Reluctant:
Word on the street is, only wusses compile and only 98-pound-weaklings strong-type.
In the immortal words of Tom Green, “get over it”.
Readers: I’m sorry for using the term “compile”. Being The Reluctant JavaScripter I happen to have a direct line to Keith Peters who helped me come to terms with the terms I”m using. First, I still happen to believe the future will see one or two “pre-languages” evolve (say coffeescript and clojure) to become standards. People say those “compile .js” but I think that’s not even correct. They generate .js code. They separate your production “source” code from the distributed version that’s been minified, concatenated, other otherwise processed. I believe any serious project will involve some kind of system like this.
Dear “R”:
If using a tool to “cheat” is being a wuss then I’m a bigtime wuss. Above I said programming is solving problems but it’s really all about slacking! My #1 job is to as little work as possible. In a typical project I’ll spend 50% of my time just getting setup with a system I like. I’m only spending like 25% doing raw programming. (Finally, I spend the last 50% on changes and bug fixes and last minute touches.)
Anyway this thread has served something much more valuable than the names which can now be applied to me. Namely, perhaps we can agree on some rules:
The term compiling is to no longer be used when describing what coffeescript or clojure or haxe is doing–that’s called “code generation”.
When processing your production code to distributable js you are “deploying”.
Do people think these are better terms we might all use?
–RJ
Dear Reluctant JavaScripter,
Yesterday, on the bus, I sat next to a kid — a teenager! — who cracked open a brand new volume of Essential Actionscrpt 3. In public! On the bus!
Should I have grabbed that book and whacked him over the head with it?
I mean, what hope is there for kids these days!
Sincerely,
Conscientious Objector
Dear Objector,
No–I’m glad you didn’t hurt this young person. Like any advice columnist, I think I can diagnose the condition from which this young person suffers. One clue may be an unnatural fascination with old technology. A printed book? On a bus? What shocked me the most however is that someone would READ that book. Yes, it truly is an essential book for anyone doing AS3 but I believe this person suffers from an advanced form of insomnia.
In all sincerity, if you do have trouble falling asleep I have a technique that works for me. What you DON’T do is think about what you’re going to do tomorrow. Rather, go through and review what you accomplished during the previous day. Once I discovered this approach I found myself sleeping much more soundly.
–RJ
Dear Reluctant JavaScripter,
After months of deep thought and exploration of new directions in programming since the death of Flash, I have wound up with a job doing Flex development. How can I maintain the sense of excitement I was having about where my next rent check was coming from?
Dear Refusenik,
I hear you. I know I would be learning JS much faster if Flash would just go ahead and die already!
As to your need for thrill–this is a natural and typical desire that all programmers have. If we wanted stability and predictability we’d develop a street performance for a near guaranteed income. Programmers who find themselves complacent should definitely be wary. Actually, anyone who begins to coast along in their career should take that as an early warning of forthcoming doom. Nothing lasts forever and what goes up must come down. I just LOVE it when I hear (usually from someone younger) how this or that technology is a “sure thing” or has no signs of ever waning. Personally, I’m happy that Flash got the jolt it did… just like the internet bubble of 2000–it helps move things along.
Anyway–you want a thrill that you just don’t get inside Flex… okay. Did you try changing the default background color? That seems to do it for a lot of Flexers I know. Actually, you may need to look for fun outside of your job.
One last thing: don’t think for a minute that by working in Flex you’re necessarily missing out on all the excitement going on in JS. First think about the cash you’re getting. Then be confident you can learn anything when you need to. And… realize that it’s possible best practices will solidify and things will generally settle down by the time you come into JS (not likely, but it’s possible). And finally, also realize that when you’re done Flexing there may be some new technology that will attract you and JS will just be that big joke from the 2010s. Who knows?
–RJ
Dear Reluctant JavaScripter,
I used to love my job since it was so much fun, but these days everything else is much more exciting than what I do for a living.
I think it has to do with me not working in a language or with tools that I enjoy. Please advice as to how to make me enjoy Javascript and webdev as much as I enjoyed working with Flash.
J
Dear J:
This indeed could be a serious problem. Losing interest in work can make it difficult to get up in the morning. However, be happy if you have other parts of your life that are exciting. Not loving work can affect your finances–I understand that.
As far as not having fun in JavaScript I think you really just need an attitude adjustment. The state of tools is DEFINITELY not ideal. You’ll have to suspend your concern of that for a little while–though consider the tools carrying the trademark: “aren’t so bad”. I look at JavaScript as sort of fun. It’s a challenge to either ignore or just work around the limitations or “bad parts”. For me, I’m still learning and that’s enough to keep me happy. I see huge opportunity to drive the direction of JavaScript (though the community is pretty huge and moving fast). But, if there’s something you really see as a problem in JS it seems like an invitation to find a fix or solution of some kind.
Perhaps it’s best to release the things that fail to excite you. Let it out: what don’t you like? You just feel dirty not typing your values? You’re among friends here.
–RJ
Dear Reluctant JavaScripter,
First of all–thanks! Thanks for the encouragement. Having gone through several transitions yourself–you are among the “Grand Master Sense” of programmers.
Seriously, there are many “tools”, ignorant clients, and hidden corporate agenda’s, but after all, the “program must go on”…choose your tool(s)…even if you have to learn how they work–nothing new under the sun.
Ultimately, it’s not ‘how’ we say it, it’s ‘what’ we say that matters.
LPS
//SIGNED//
Lazy Problem Solver