Skip to main content

Dispelling Laziness, Getting Things Done, Helping non-programming programmers

I'll do it later. - Mr. Procastination

After reading Getting Things Done by David Allen about 3 months ago, I've become a productivity machine. I've evolved from working 9-5, sleeping early, being able to do programming sprints every month to doing sprints every week, starting my own YouTube channel, writing for several blogs on productivity/gaming, and engaging myself in a healthy lifestyle by going to the gym and sustaining an unforgiving 2000 caloric intake. What does it take? The answer is simple: discipline and passion.

I have to admit that when I first started this blog I wrote in a very robotic tone (much like the Architect from the Matrix). I've dispelled that and decided to take the direction of this blog to a more casual tone. I was listening to the Internet Business Mastery podcast and they talk about how the tone of your blog should always be as if you were talking to a person at a nearby coffee shop. This intrigues me so much and it purges the thoughts of "Is my writing good enough", "Do I need to sound more intelligent?". That said, I believe that the first steps to achieving creativity and productivity is to purge your ego, your dwelling thoughts of failure, and your tendencies to get discouraged.

Never give up.

I've recently launched my own personal project called Nice Macros Bro, which is a simple repository of macros for World of Warcraft players. Although I have quit the World of Warcraft almost a month ago, I still decided to go along with making the site as my goals were to exercise my SEO skills and dive deeper into Google Analytics' metrics.

Adding to that, I've launched my personal portfolio that encompasses a plethora of projects I've done including Mojorion and XWNED Dashboard. So, it's been a very productive past few months--all thanks to reading Getting Things Done by David Allen. Additionally, a major kudos to Loyal Chow for recommending it to me.

Helping Non-Programming Programmers

You probably noticed that my past few articles have been giving advice and tips to aspiring front-end developers that don't really have the technical Javascript skills but are able to do HTML/CSS easily. Here's a few of the articles I posted so far:
Coding Horror's article on Non-Programming Programmers evokes his hatred towards non-programming programmers.
At least bad programmers can be educated; non-programming programmers are not only hopeless but also cheapen the careers of everyone around them. They must be eradicated, starting with simple technical programming tests that should be a part of every programmer interview. - Jeff Atwood
Technology would have never evolved so much without the industry being so bloated with a wide spectrum of experts and amateurs. Adding to that, it is very easy to create web sites nowadays--making it really easy to solidify a non-programming programmer's portfolio. I've worked with all people of the spectrum and based on my experience, NPP's don't have that much of an effect on timelines. At the end of the day, they are still able to ship the HTML/CSS/Javascript. Sure it'll be spaghetti--but that's up to his/her architect to code review. What I also do find is that sometimes NPP's may not be strong in terms of technical skills but they will have a strong set of soft skills (negotiation, which is a valuable skill to have when making technical recommendations to the client). That said, front-end development is good where it is by having a wide variety of people with diverse backgrounds. Some front-end developers come from a Bachelors of Arts and not Computer Science or Computer Engineering. I believe that having a diverse group of developers brings in more potential creativity in solving problems; however, if the developer isn't passionate about what he's doing--it's a totally different ballgame.

What I do find very disheartening in front-end development is sometimes you will have team mates that just don't care about what they are doing. Since the level of entry for front-end development is very low (easy to get in) and the rewards are very high (pays well)--you'll often run into these types of people that only care about the money.

In the end, I see having NPPs (non-programming programmers) on the team as an advantage. Subsequently, it gives your team diversity and opens up the potential of attacking problems from different angles. Most of them are able to still finish their deliverables; However, NPPs that don't show the slightest bit of passion and dedication in front-end development can cause a disturbance in your team synergy.

I believe that the interviewing techniques of todays programmers need to change. Human Resources should not be conducting a technical interview--a senior developer or architect should be. Also, technical interviews should encompass both highly technical questions and story-based questions to really pin-point whether the candidate has a certain level of passion and dedication for development. Even if they don't manage to fully answer the technical questions, they can still show how 'trainable' they are based on if they can convey to the interviewer that they're passionate, dedicated to learning more.

Good luck and have fun,
Jaime Bueza

Jaime Bueza is a software developer in Vancouver, British Columbia, Canada. He has developed web applications for Nintendo, Electronic Arts, Ritchie Brothers, Kiwi Collections, and Cox Communications. When he's not developing useful software that constantly evolves with business requirements, he's creating tutorial videos for aspiring front-end developers.
Post a Comment

Popular posts from this blog

TextMate Tutorial: How to add a Strikethrough keybind to your Markdown bundle

Markdown is awesome for quickly generating Readme's on Github. After looking at other projects using the strike tag, I've decided to create a custom keybind for it in my TextMate Markdown bundle. Here's how:

1) Click the + sign on the bottom left and click New Command.
2) Paste this into the editbox and make sure you name your command "Strikethrough".

For the input field, select WORD in the drop down.
For the output field, select "insert as snippet".
As for the keybind, you can totally map it to whatever you're comfortable with but I chose Command-D as it is the same thing in Microsoft Word.


Using Git Hooks: Prepare Commit Message to automatically prepend branch names on commit messages

When you're practicing branch by feature with distributed version control, typically you'll get assigned a ticket or issue and that ends up being your feature branch. Instead of always typing in the branch name in every commit, you can edit your Git hooks (specifically prepare-commit-msg).

Assuming that this is a brand new git repository:

mv .git/hooks/prepare-commit-msg.sample .git/hooks/prepare-commit-msg
vi .git/hooks/prepare-commit-msg

Edit the file by commenting out what was originally in the file and then add this:

Now, whenever you make a commit, it should show up like this in the log:

Since GitHub and Bitbucket both support Emojis inside commit messages, you can do something cute like this

Want more emojis? check out the Emoji Mardown Cheatsheet!

NodeJS Hack Session: MMO Pokemon with NodeJS/WebSockets

The primary focus of this proof of concept is to determine how easy it is to build real-time web applications for all iPad, iPhone, droids, Safari, Chrome users on top of NodeJS (non-blocking event driven server side Javascript platform). The proof of concept was built within 6-8 hours including the following:

Uses Express framework for server side Javascript development (inspired by Rails / Sinatra / Django)Uses EJS for templating language (much like Django templates and symfony) -- allows partials and passing parameters into partials like symfony PHPReal-time chat using WebSocketsArena Queueing System for real-time competitive matchplay using WebSocketsHTML5 AudioCSS3 transitions for all hand cards, tappable cards, transparent panels, rounded corners, drop shadowsFallbacks for Firefox, IEFirefox/IE will fall back to Flash socketIE will fall back to XHR long poll if the user doesn't have Flash installedNoSQL CouchDB for fetching users and soon cards, achievements, friend associat…