Skip to main content

5 Things That Every New Developer Needs to Know

Even though I have only been developing
software "professionally" for around two years,
there is a ton of information that I can pass on to
fledgling developers and hackers. Learning how
to program is just the beginning of learning
software development and actually becoming awesome at it.

If you are taking computer science or MIS/CIS
courses at a university, I can imagine that you
are learning technical aspects, system design,
programming languages, computer logic, and
maybe even a little user interaction design.

The problem is that with any technical field, there
is almost too much to learn. So, here are the top 5
things that every new developer needs to know
to prepare themselves for the "real world" of
software development.

You can't please everyone all the time. So don't.
When it comes to designing and implementing
new software and systems, you will inevitably
have some system users. Also, you tend to have
more than one type of user for a system, like an
administrator, data-entry user, and reports users.
With all of that user interaction you are going to hear a lot of "I need this…" and "yeah, but…"
when it comes to different features and
implementations.

The problem is that you can never please all of
these users. Ever. So, learn how not to people
please and learn to say no more than you say yes to new features and ideas.

Don't be a butthole, but don't be mister nice buy
either. Try to implement only a handful of
features at a time that will give your users the
most bang for their buck. Then iterate.

Make learning a top priority
The reason I got into software development was
because I loved learning new things and solving
problems. In fact, that's all I do all day, every day.
So, when it comes to learning new languages,
operating system technologies, platforms, etc.
you have to always be on top of your game. You can get a really great series of tutorials for learning about some awesome technologies like Ruby programming, iOS game development, designing responsive web sites, and even
Photoshop over at Lifehack Deals right now.

These types of "packages" are an easy and
effective way to learn new things quickly. I
remember when I was just getting into Ruby on
Rails development and I purchased the infamous
Ruby on Rails Tutorial package. I created a sample
application in about a week and had a great base knowledge of the Rails framework to build off of.

You will never learn it all, so take advantage of
learning as much as you can as fast as possible.

Know your limits
Another thing that you have to learn early on is
what you can and cannot do when it comes to
development and different technologies. Just
because you could solve problems in college
classes does not mean that you can do anything
when it comes to the "real world".

When I was first working at an insurance
company as an intern I was amazed at just how
many moving parts there were to an old,
complicated system. I remember lead developers
explaining things to me that completely went
over my head. I felt like I had no clue what I was doing. That's because I really didn't.

It was a wakeup call to say the least. I learned
very quickly that I can solve every problem,
every time all by myself. You have to understand
that your knowledge has limits. When you reach
the edge of your limits, it's time to reach out to
others that know more than you do.

Get users involved
Remember me talking about how users can be a
pain? Well, they can be your best ally if you put
them in their place! Seriously though, users are
the ones that are going to be using the thing that
you are creating so it's important to know what
their job is, what annoys them, and how to delight them.

If you understand your user's basic needs, then
you have made a great step forward in creating
a usable and wanted system for them.

Try to ask users for their input about features
and how something should work. Remember not
to promise anything though; just get an
understanding of what makes the person that
uses your system tick.

Don't just lock yourself in a room and code.
Learn business stuff.
There was a guy in school that I knew that was
a crazy hacker type. You could give him any
problem and he would have it solved in C using
vim in no time. That was cool and everything, but
he was a total nerd, couldn't really hold a
conversation, hated everything that was "mainstream", and didn't care about "business"
at all.

But, he was good at programming.

Although coding is a super important skill to a
new developer, you have to understand business
processes, business politics (I hate them), why a
system needs to be the way it is, and also be able
to communicate technical ideas to users and
sponsors of your project easily.

So, yes, learning to program is important (and
you can do that easily with great tutorials like the Learn To Code Bootcamp Bundle at Lifehack Deals ), but there is way more to being an awesome
software developer.

Source: www.lifehack.org/articles/technology/5-things-that-every-new-developer-needs-to-know.html

Comments

Popular posts from this blog

iPhone 5 Excitement

Following Apple's official annoucement of the iPhone 5, the internet and smartphone market has been dominated by talks of the iPhone 5. Most people are of the opinion that the iPhone 5 isn't much of a game changer as it still has the same old iPhone look that's getting boring despite the change in screen size and also the fact that the iPhone has no news worthy feature. Verdict: Not buzz worthy iPhone 5 is slated to be released September 21st.

Ways to prevent motherboard failure

Having been a victim of motherboard failure, I decided to share tips on how to prevent my readers from going through the same ordeal I went through. Below are things I should have done to prevent my motherboard from failing. 1. Keep system ventilated to prevent high temperature and ensure the system cooling fan is working each time you turn on your computer system. 2. Blow dust away from your system atleast once every week. 3. Try not to over-task your system processor and motherboard ie using applications requiring higher configurations than what can be obtained on your computer system. 4. Check power rating for power pack before using it with your system, as incorrect rating could lead to the circuit board being fried. 5. Ensure the system is kept away from powerful magnetic field. 6. Keep water and other liquids away from your system.

Premature Blackberry Aristo Review

A close look at Blackberry Aristo and iPhone 5 spec, one would conclude that RIM is trying to imitate iPhone 5 while also wanting to improve on some of its features. Firstly, the adoption of a non-removable battery which is the standard in Apple smart devices seems unnecessary and disappointing to say the least as most Blackberry devices hangs and/or lock-up quite often and removing the battery is a quick wayout which is a norm among its users. Also packing this smartphone with features upon features isn't so much of a good move. DLNA Support, microHDMI out, Gyroscope, Accelerometer, Magnetometer, Altimeter, Wi-Fi direct, NFC, hot swappable microSD slot, 4 microphones, face detection, etc...powered by a 2800mAh battery. I mean what are they trying to makeup for or distract users from? Aristo's hardware maybe mindblowing but it's dead on arrival(DOA) if the OS aint ...