Thursday, February 13, 2014

How to know if you are cut out to be a developer

On days like this when there is lots of snow on the ground I used to fire up my forge, heat the horseshoes red hot, warm my hands and make special handmade forged clips on the horseshoes.

After 5+ years of shoeing horses full time for a living, I began to wonder if this was all there was for me, could I be anything different. I wasn't like the other redneck tobacco chewing, drinking farriers, I'd never worn a cowboy hat, or ridden a bull, but I longed to know more, be more and do more.

After making the switch to development almost 7 months ago, I have been emailed hundreds of times by people asking my advice on how to become a junior developer and also how to know if they are cut out to be a developer.

Here are 7 traits that I have observed the best developers I work with and know personally all have in common:

1)  Attention to detail, especially the smallest of details.

The old saying that 'almost' and 'close' only count in horseshoes and hand grenades is true, in development getting something 95% correct is still not going to work, a method that 'almost' works or a Css rule that has an image centered 'close' will not work. It's that extra 5% of effort to get things right that really counts and makes the difference.

«««  If you hate details, then you might not want to be a developer.

2)  Learning ALL the time.

At first this sounds sexy, your like AWESOME! I love learning new things! Especially if you come from a boring job or something that never changes like horseshoeing =-)  After a while though, it becomes a steady stream of knowledge, and if you don't like water, it will feel like you are stuck in a never ending, never knowing enough waterfall of learning that just won't stop. I literally learn 10 - 20 little new things every single day and I love it! My brother wants things that don't change and are consistent, he has told me he wouldn't ever want to learn how to code.

«««  If you don't like constantly having to learn new things just to keep up in an ever changing field, then you might not want to be a developer.

3)  Handle pressure, stress, and deadlines.

Yes everyone loves USING apps, but how about meeting business time lines, deadlines, and goals? When will this be done? How long is this going to take? Can we do more of these in this amount of time? Now remember the attention to detail? What are you going to do, hurry? Rush through your work and hope it's close enough? In a perfect world coding is so much fun, let's write some code that does something cool, eat pizza and have a coke. In real life there can be stress, not all the time, but it is VERY different then simply doing an online 30 minute tutorial. I love being pushed to my limits and I want to grow and become a better developer so I don't mind.

««« How are you at time lines and working under pressure? If you tend to shutdown under stress, then you might not want to be a developer.

4)  Organized

Now I know a lot of messy developers, who could SEEM unorganized, but what I am talking about is the ability to have an organized work flow. Meaning can you find how to do something on your computer easily and quickly? The good developers I know are usually able to quickly locate what file they need or have a built in alias or script to do tedious tasks, it's all about efficiently.

««« If you learn something new, do you write it down, or figure out a way to be able to repeat the same procedure? Can you organize a lot of different tasks? If not, then you might not want to be a developer.

5) Extremely inquisitive

When I was a teenager, a lady at the church I attended would tell me probably once a month, that I needed to STOP asking SO many questions and that it could be annoying. Although offended at first, I've come to realize that the best developers are always asking 'why'? Whether it's how a new app works or the way a building is being built across the street. Conversations around developers can always be heard starting with: " I wonder why they did it that way...?" I used to feel like I was weird when I would ask lots of questions, but I see now, that at least in development, it is a good trait to have.

«««  Do things that you don't understand making you curious? Do new things excite you to figure them out? If you don't have at least some level of natural curiosity, then you might not want to be a developer.

6)  Self taught

Yes I know many developers come from colleges and great schools, but that's not what I mean. Great developers are always looking up code samples or documentation to learn how something works, they don't knock on the bosses office and say: "We need a corporate training class for this new software". Good developers are constantly learning and figuring out things on their own, whether they have no degree or 5 degrees.

«««  if you need someone to train you or are waiting to take the 'perfect' class to learn something, then you might not want to be a developer.

7) People skills

This is not a common trait among developers, the truly great ones do have good people skills, but the vast majority don't. If you can get along with people, your boss and the business side of the company will love you for your ability to communicate and not look down on the rest of the world because they can't code.

««« If you hate people and have a hard time getting along with others, then you might not want to be a developer.

Monday, February 3, 2014

Learning to code: Day 468

It's been a while since we last spoke, but I assure you that I have not been sitting on my butt. On the contrary I have been busy every day trying to conquer the enormous gap of coding ignorance that separates me from where I want to be which is the Tiger Woods of coding (minus the whole getting hit with a 9 iron by his wife part) =-)

My friend owns this site and as you can see it needs some love I have been building her new site, and a friend of a friend wanted me to do some Wordpress stuff for her and said she'd toss me $300 for the trouble, so that was fun and also hard to refuse :-)

I'm still working on the Udacity course and loving it, just going at a snail's pace at the moment do to other factors. I can't say really much about work just that I have more responsibility which I love but it is also a challenge and keeping me extremely busy with my head down all day at work.

I have a course in mind that I know I want to teach on Skillshare or Udemy later this year, probably in the fall. I need to make sure that my idea can actually be done successful so I am starting to work on testing it out... can't really say much more on it then that for now, but I am really excited with the idea!

My friends new site isn't done, but I thought I'd put up a pic of the home page, I don't have it up on Heroku yet or else I would give you a link. The main image is just a 'place holder' for now. Sorry it's so small, I'll put up a link soon. keep coding peeps!