Programming Language Migration Path

While I was preparing some personal background information for a potential client, I was reviewing all the programming languages that I have had experience with. I list languages that I’m most experienced with on my resume. However, it occurred to me that if I was to list all the languages that I’ve worked with, then the client would become overwhelmed with the resume and just write me off as either a total bit head or looney toons. But as I reflected on all these different environments I realized how much fun I’ve had being involved with the software development industry, and that a lot of that fun has to do with the learning process. I think this is what makes a good programmer. Not just the ability to write code, or come up with a very creative application, but the ability to learn. Lets admit it! If a programmer doesn’t have good learning skills, then the programmer is going to have a very short career.

As an exercise, I’m going to list out my Programming Language Migration Path. I would be interested to hear from other programmers what their PLMP is as well. Here goes:

* Commodore Vic-20 Basic

* Commodore Vic-20 6502 Assembler

* Commodore 64 6510 Assembler (Lots of all nighters with this one!)

* IBM BASIC

* IBM Assembler (My hate relationship with segment addressing.)

* dBASE II (Wow! Structured programming.)

* GWBasic

* Turbo Pascal (Thank you Mr. Kahn! Best $49 I ever spent!)

* Turbo C

* dBASE III+ (Cool, my dBASE II report generator now only takes 2 hours to run instead of 7.)

* Clipper/Foxbase

* dBASE IV

* dBASE SQL

* Microsoft C (First under DOS, then under Windows 3.1)

* SuperBase (First under Amiga DOS, then for MS Windows)

* SQL Windows (Whatever happened to this? Gupta?)

* Visual Basic 2.0

* Delphi

* Visual Basic 3.0

* Access Basic / Word Basic (Microsoft)

* Newton Script (My first “elegant” language)

* Visual Basic 4.0 & 5.0

* HTML

* FormLogic (for Apple Newton)

* Codewarrior C for Palm OS

* Visual Basic 6.0

* NS BASIC for Palm OS & Windows CE

* FileMaker 5

* Satellite Forms

* Visual C++

* REAL Basic for Mac 9.x & OSX

* Java

* Codewarrior C++ for Palm OS

* Appforge for Palm OS & Pocket PC

* C#

* FileMaker Pro 7.0

Whew! Not only is this a good exercise to reflect on all the languages that I’ve worked with, but it is a good example of how the languages and the technology has progressed during the past 25 years. I’m sure that I’ll be adding much more to this PLMP in the near future as well. And as with most programmers I know, there is so much more that I would like to learn but just don’t have the time.

Another good exercise is to bring this up as a topic of discussion with a group of programmers after a nice long day at any technical trade show. For example, quite some time ago, after a long day at the OS/2 Developers Conference in Seattle (Yea, dating myself here.), I brought up the topic of 6502 Assembly Language programming. This was during dinner at around 7pm. The resulting conversation migrated to the hotel lobby where it continued until around 2am in the morning. (Ah, the good ol’ days.) 😉

(If you’re a developer, I’d be interested in seeing your own personal Programming Language Migration Path. Shoot me an email to timdottrimbleatgmaildotcom.)

Timothy Trimble, The ART of Software Development

Computer Programming – Skills and Traits Programmers Possess

Those who work in computer programming appear to have a certain set of traits that benefit them in their careers. When paired with the skills learned through higher education these traits can help programmers become successful. Computer programmers are able to complete a number of specific duties due to the traits they carry that are beneficial to this type of work. Computer programmers are very detailed thinkers and are able to excel in their positions due to the various traits and skills they possess.

Professionals with ISTJ (Introverted, Sensing, Thinking, Judging) personality types have natural skills that are beneficial to this line of work, according to the Myers-Briggs Type Indicators (MBTI) assessment personality test. They are focused, observant, and good communicators which are all traits that are beneficial to computer programming. Careers in computer programming require individuals that are interested in and capable of working alone and in teams as well as in structured and orderly environments. Professionals in this field can find work in various businesses such as:

  • Internet Marketing Companies
  • Computer Consultant Businesses

They may also find employment in the:

  • Engineering Industry
  • Manufacturing Industry

Computer programmers are able to enjoy working on a variety of projects due to the traits and skills they possess. Professionals in this line of work have been found to value tradition and are very family oriented. Computer programming is considered a good career field for those who are observant and practical, and enjoy working long hard hours. As a part of computer education, computer programming is a great field for those who like to solve problems and create new things. Those who have the right personality and wish to enter a career in computer programming can do so by completing research and learning about the training requirements.

The traits that are common in computer programmers and the skills and knowledge that are obtained through higher education can be beneficial to pursuing a successful career. Other common traits can include high intelligence, confidence, dependability, and detail oriented. Skills for employment as a programmer can be obtained by completing online courses in computer networks, database design, computer program writing, and web design and multimedia. All of the personality traits and skills that are obtained through accredited training can help to make a computer programmer that is beneficial to a variety of businesses and corporations.

Those with ISTJ personalities are beneficial to this line of work because they are dependable, detail oriented, and able to complete a number of tasks at once. Multiple opportunities exist for those that have the traits to pursue successful careers in computer programming. Accredited online computer programming schools allow students to pursue an education from the comfort of home. Training possibilities will vary by school or college but will allow students to choose the career, level of training, and specific area of study that will help them match their skills and traits for an exciting career. By receiving a higher education, those with the right personality traits are able to enter into successful positions.

Knack Of Contract Programmers In Freelance Web Programming

As we know web development segment raising day by day and as a result of that an absolute swing observed in web programming world. Recently web designs are getting rich by their components and so new techniques and methods are required in web programming arena.

Effective web programmers can not be judged by their experiences rather they can be easily assumable through their own skills, problem solving abilities and authentic coding capacity. Skills in database handling, interface design, visual presentation, navigation maintaining, error handling and web programming simplicity makes a contract programmer famous.

Nowadays there are some required facets of freelance programmer which increases the simplicity and compactness of web programming.

Graphical Presentation Skill

Graphical part of any website designed and maintained by web designers. But the connectivity from database, running several required applications done by qualified access programs. Some time they have to put visual effects too.

HTML Development Skill

HTML development of any template does not require huge technical knowledge as coding in web programming, but some times it is not as easy as it sounds. It is really crucial part for contract programmers because HTML development is basically known as the backbone of website programming.

Database Handling Skill

Handling a Database is a natural characteristic of a reputed programmer. Actually they should play with database design, database maintenance and database connectivity with web servers. Several kinds of error less data collecting, storing and recalling from the database at the same time is known as a perfect database. And those people did this job effortlessly and accurately are reputed as database programmers.

o Database Design: Design a database is really a imperative work done for a website. It encompasses the group by data storage and easy accessibility of that information from database through queries. A superb database programmer should design a database smoothly with tables, primary keys, foreign keys, fields, views and all other required parts for administrator who is going to handle this database. If it is made faulty or wrongly then it can hamper the entire project development process afterwards.

o Database Development: Each database is different by their nature for the business scenario of the web site. Thus before doing database development the database programmer should realize the business needs of that particular site or market and accordingly do the development. This realization helps to choose database server like Oracle, My SQL, and MS SQL etc.

o Database Administration: After completing database design and development the programmer should concentrate on database administration. It includes database scrutiny and increasing database performances via allocating table size, memory initialization, database views, and stored procedures etc. which are really critical facet of application life cycle.

Form processing Skill

Nowadays all reputed websites dealing with several kinds of forms to receive numerous enquiries of their client for their products or services. Collecting those records into the database without any error is more important for the business of that site. Thus access programmers should have a quality form processing ability for increasing web performance of that website for their business.

Navigation maintaining Skill

Navigation is not a top important task of web programmers. But it is observed that a faulty navigation system of a website can harm the business of that site. If the entire traffic of your targeted market is not able to view all your important products or services pages with a single click then it can be easily assumable that you are not utilizing your total traffic to grow your online business. Thus navigation of a site is done very care fully by your contract programming.

Error Handling Skill

Technically there are two types of errors arises in web programming, like logical errors and physical errors. This is a particular area where you can judge the efficiency of the contract programmer. An effective web programmer has a natural knack to handle all kinds programming errors very easily. Also they are advising their clients the absolute ways to avoid these errors.

E-commerce Problem Handling Skill

E-commerce based problems rather than you errors should be resolved in the preliminary stage of development. An effective programmer should take care at the early stage of processing otherwise it will be fatal of that website. The pattern of implementing forms or authorization should be independent that will be the best way to resolved E-commerce errors.

SCJP/OCPJCP Certification and Java Programmer

Most people refer to core Java certification as SCJP, but now the name has been changed to OCPJCP after the acquisition of Sun by Oracle. If you are a Java programmer working for various employers as a full-time or part-time employee then you should consider the option of getting certified. The certification will add value to your resume and will attract the potential employers. By getting certified, you will add more knowledge about the Java language and will come to know the internal tactics which we ignore while working on a project. The preparation for the certification should take about 1 month.

Once you have decided to go for the Java certification, there are many resources which one can use to prepare for the exam. It is important to refer the latest resources because the pattern and the kind of questions are constantly reviewed and changed by Oracle. In addition to the various books that are available on the certification preparation, one can also go for the online resources like forums, portals and websites which provide a very good collection of mock exam questions.

After reading the book and going through all the topics, it is very important to appear for some mock exams. The mock exams are designed to give you a feeling of the real exam with similar kind of questions. It is estimated that your score in the real exam should be 10 % more or less than what you get in the mock exams. There are many exam resources available in the internet. In addition to the mock exams, one can also try the chapter wise questions given at the end of almost every book targeted for the Java certification exam.

After you have appeared and passed the exam, you can write the same in your resume with the logo of a OCPJCP that you receive from Oracle after passing the exam. The certification helps you in the fact that if there are more candidates with the same programming experience and knowledge about Java, you will be given more preference.

How to Become a Highly Paid Freelance Programmer

The best way to earn money as a programmer would be to locate a customer (buyer) locally with in your area. The benefit of locating a customer within your area is that the competition is a lot lower compared to advertising and promoting your expertise on the internet as a freelancer. However, if you have the extra time to spend on the internet as a freelance provider, in the long run really boost your income.

The following lists are superb places to start earning an some extra income.

  • Elance.com
  • guru.com
  • oDesk.com
  • RentACoder.com

Each of these websites has their own pros and cons. You should become aware of these issues before proceeding with one of them. A good example would be Elance and Guru have membership fees included in their service while RentACoder and oDesk is totally free.

How does it work?

The buyer will post a bid on his/her project. The coder will have the chance to ask questions and place their bid. The buyer then responds to any questions, asks his/her own questions, and then selects the individual they want to work with on the project.

The winner of the auction is not always the one that has given the lowest bid, rather the buyer considers all of the facts such as; Ratings, Examples, Correspondence through questions and answers, the knowledge to perform what the buyer feels he/she needs to complete the project, and last but not least the bids. Once the buyer has selected a winner, the coder then has twenty-four hours to turn down this job offer, without any repercussions. The coder might decide to do this due to any other bids that may have been accepted. The buyer then may select another coder.

Do not assume that your bid will be the lowest and you will get the project. Place several bids according to what the buyer needs are and your ability to perform the task at hand.

How to win the bid?

My best advice on how to bid would be to list all your programming background experience in great details. Build your resume according to all of your accomplishments and with great honesty. Remember, I cannot stress to you how much your honesty is important to your business online. Buyers soon are able to determine those individual coders that are not completely honest. The Buyers are the future of your online business.

When starting out you might wish to place a lower bid. This will be your starting point. You can ask in your bid that if you win this project with the lowest bid, the buyer would be willing to let you use them as a reference and leave a positive rating. This will benefit both the buyer and yourself. As long as you do a good job, most buyers are very willing to do this for you.

The reward

After you have established yourself and earn credibility, then this is the time to make take it to the next level. You may start placing higher priced bids. The buyers will have the tendency to be more willing to pay the higher price for your work if you have the reputation for doing great work on your previous projects.

Not only will you be able to earn money on the internet but as well as you are improving your programming skills. The reward for all the hard work and sharing your expertise cannot always be measured by the accomplishments that you have made.

Happy Coding!

Brain Entrainment Review – Neuro Programmer 3

This brain entrainment review is based on 'Neuro Programmer 3', a much anticipated release by The Transparent Corporation. After finding the previous version an incredibly useful tool for self development and therapy, I decided to check out the demo for NP3's 'Ultimate Edition'.

The first thing I noticed was the number of available presets, which now cover more areas than the previous version. There are thirteen different categories, with many sessions to choose from under each one. For example, the 'Self-Programming' category includes, among many others, an Alpha session to encourage a greater efficiency for mental visualization, plus a Theta session designed to make you more receptive to affirmations.

The amount of control you have over these affirmations is quite extensive. The 'auto-dual' induction is particularly helpful. This technique is very popular in hypnosis, and involves playing two different messages simultaneously – one in each ear. This creates the necessary confusion required to create a gap in your conscious mind, so that the messages can take root in your subconscious.

There is a panning feature also, so that affirmations which appeal to your creativity can be played in the left ear, which is processed by your right-brain (the creative, more abstract hemisphere), while the more logical statements can be played in your right ear, which is governed by your left-brain (the logical side). As each side is being spoken to in accordance with its own language, there is a lesser chance of resistance. Reverb and echo can also be added to enhance the hypnotic effect.

The one thing which I feel is missing is a 'back masking' feature. Considering the object of hypnosis is to bypass the critical faculty, the option of back masking the affirmations would come in handy. This is only a minor gripe though. You can instead record and reverse your own affirmations within an audio program such as audacity, and selectively import it into your NP session.

You can of course edit your sessions, over which you have ultimate control. You can create many layers (tracks) of audio, which can include either isochronic, monaural or binaural beats. As well as adding affirmations, you can choose from the many available sound file tracks such as night-sounds, rain, wind-chimes, streams, etc. These background sounds serve to increase your mind's absorption to the programming, and can be synced to the brainwave-frequency of the main track.

These custom sessions can be exported either as program files or WAVs / MP3s. In the case of program files, you can share these with other users on the Transparent Corp. forum by including a session description, instructions, audio recommendation (headphones or speakers), and an 'eye recommendation' (eyes open or closed).

The setup wizard on NP2 is still present – this includes a series of questions designed to help adjust program settings, so that a session can be tailored to your needs. This is quite a neat touch, as you can quickly find a suitable session according to your current state of mind.

Another feature I like is the 'Session Options'. With this you can program your computer to either standby or shutdown when your session ends. This is particularly useful when using the sleep-aid.

In conclusion, The Transparent Corporation has improved on the previous installment by creating a program which is pristine in sound-production quality, and is more receptive to user-input. They have done so by still retaining a level of user friendship. The software is very stable, does not eat up your CPU, and generally runs quite smoothly. It is highly recommended for those who wish to master their own minds.

Finding Top Programmers – A Guide to Hiring the Best Developers

Finding the best programmers can be a daunting task. For non-technical people like entrepreneurs and small business owners, the job can be downright nerve racking. People search for the one elusive "Super Developer" or "Uber Programmer" to solve all their software problems, in half the time, with no bugs. These super programmers do exist. I've met them. I've lived with them. They live on a different plane than us mere mortals. And they all work at Google.

But you can find excellent developers who will complete projects in a timely fashion, with the required specifications. One key to finding awesome developers is knowing how to evaluate them. This article will help you through the process of selecting programmers with the right qualities.

Because everyone's into acronyms let's coin one to describe the exercises of an excellent developer – JUICED (despite the word's negative connotation with steroid use and OJ Simpson.) Although you do not want your programmers to kill to get code out on time, you are looking for somebody aiming for the goal post.

Judgment

Let's start with J (being the first letter in the word "Juiced") which represents Judgment. Not judgment as in you're waiting till judgment day for your web developer to finish the project. Judgment as in your programmers have good judgment and they exercise it. To emphasize why judgment is so important I'll let you in one big secret of software development:

Most software projects fail because people work on the wrong things.

You can forget anything else in this article and still be more informed about software development than 97% of businessmen (without having to spend thousands of dollars on expensive degrees). What does it mean to "work on the wrong things?" I'll give you an example. Say you have a project to build a website tracking gas prices by geography. The user enters an address and sees a list of gas stations and the most recent prices submitted by a user.

Now your developer might want to code up a Google map, because it's cool an interesting. But, he may spend too much time, when a simple list may have sufficed. Before spending a lot of time coding one particular feature, a good programmer will use judgment and check with the customer or project manager to make sure time spent is consistent with budget, timeline, and priorities.

Understanding
Of course a programmer needs to understand the application in order to make it work as the customer desires. At a basic level, it helps for the programmer to have a solid grasp of written and spoken English. I've managed many programmers with English as a second language with excellent results. These days you're likely to run into programmers with English as a second language, so it's not really a problem.

While the spoken language is important, the programmer needs to learn the language of the client's business. Each industry and project has its own set of terms, a unique nomenclature. A good programmer will understand the language and how it relates to the final application.

In addition to understanding the problem space, an excellent programmer will accurately read and interpret the project specifications. Because no spec is perfectly written, a great developer will ask relevant questions after reviewing the functional specifications. These questions will demonstrate an understanding of the application and could reveal missing details or an inconsistent design.

Intelligence
While a good developer does not need to be a Star Trek big brain alien genius, they do need a certain type of intelligence. Programming requires exercises beyond simple problem solving and pattern recognition. Writing code involves a good deal of abstract thought. A person needs to hold in mind multiple interconnecting concepts, select the software design patterns and tools appropriate to the problem at hand, recall the correct syntax, and write the code. Aptitudes in math, science, and Rubik's cube solving would put you on the right track to finding a qualified candidate.

Mental focus plays no small part in programming. Finding a bug in several thousand lines of code can be a most frustrating game of "Where's Waldo?" A decent developer will be able to troubleshoot bugs, regain the state of mind when the code was originally written, and make the appropriate corrections. Beyond having good bug fixing skills, an intelligent programmer designs software that inherently reduces bugs through modular design.

Competence
A competently written program looks good inside and out. From the outside (the all important customer's point of view) the application has a good user interface and fulfills the functional requirement. The system behaves as expected, solves the desired problem, and provides peace of mind. For a well written application, the whole is greater than the sum of its parts. It possesses smoothness. To achieve this quality, the developer takes the end user's perspective when creating the application. How many times have we used troublesome websites or applications and thought "Did the programmer even try to use this?" Thinking about the end user shows courtesy as well as competency.

While users know well written applications when they see them, it takes a fellow programmer to spot competently written code. What does this mean? Competently written code is extensible – written with future changes in mind. Extensible code has ample comments, functional organization, meaningful variable names, and manageably sized modules. A decent programmer can write code that works and meets requirements, but be difficult to add features to. A super developer writes code knowing it will need to be maintained – either by him or somebody else else. Programmers of this caliber not only write extensible code, they recognize and appreciate other developers who do the same.

Experience
This is one of the most controversial areas when judging potential programmers, so let's spend some time exploring it. Experience can be categorized in two ways – the buzzword approach and the expert approach. The buzzword approach, also known as the HR (Human Resources) method, involves scanning a candidate's resume looking for a minimum number of years using certain languages, technologies, databases, software packages, etc. Without the HR person checks the right boxes on her or his list, the developer never gets past the first round. Programmers themselves refer to this as the "grep" method, named after the Linux command line tool that scans files for a particular string.

A strict buzzword approach fails on several counts. Using the right words does not make a classic novel, or even a good read. I've personally worked with programmers with a decade of 9-5 experience in a particular language, who still did not grant fundamental concepts of software design. Their code was difficult to maintain, and the overall system suffered. I've also trained people who had never written a line of code who intuitively understood software design. Within six months of programming, their code quality surpassed the person with ten years of experience. Ultimately, the buzzword method fails because HR people lack the mindset to spot excellent programmers.

The second way to judge a programmer is the expert method. You look for depth of knowledge in a particular technology and the difficulty of the problems solved. Programming is about problem solving more than about knowing the commands in any one language. Here's another secret – look for programmers who have worked on or taken a course in compilers. Once a developer understands how to make his own programming language, mastering a new one becomes routine.

Again let's use the natural language analogy. Say you needed to write a novel in Spanish. You have two candidates: one who took three years of Spanish in high school and one who translated a 500 page novel from French to English in one year. The HR method would pick the first candidate and not even consider the second. Which would you choose?

Ultima when we think about experience, we're talking about the difference between theory and practice. In theory, someone with three years of Spanish should write a better Spanish novel than someone with a year experience in French. And at first, the Spanish student will produce more words for you novel. But in the long run, the translator will emerge and create a better work.

So how do you find great programmers based on experience? Use a hybrid approach. Search for someone with depth of experience in a particular area, then evaluate for adaptability. We use a custom selection process that screens for problem solving abilities in addition to knowledge of a particular language.

Dependable
While dependent developers may be an oxymoron, as the personality type who enjoys and excels at programming ironically dislikes structure (at least social structure). The "Tao of Programming" tells a parable about programmers who rebelled when told they had to work 9 to 5. But given the freedom to make their own schedule, "they came in at noon and worked to the wee hours of the morning". This story illustrates why people say managing programmers is like "herding cats."

The last trait of a solid developer could just as well be "Trustworthy", but "Juicet" is not a word. As programmers often have access to critical business and personal information, the importance of trust can not be underestimated. Your best developers will hold to a personal standard of trust and integrity, deliver code dependably, and possess a skeptical eye to societal norms. It's all about balance.

So you're looking for a programmer who you can trust and who has self discipline enough to stay on schedule. Give this developer scheduling flexibility and interesting projects and he'll achieve maximum productivity.

Final Words on Juiced
There's an overall quality to a "Juiced" programmer – being juiced about what you do. Good programmers have passion for their craft. They're excited to solved problems and work on new and interesting things. Quality developers see programming as art; albeit art sometimes only another practicer can appreciate. When searching for developers, look for people who program because they love it.

Hire a WordPress Programmer to Develop WordPress Plugins From the Perspective of Product Development

The WordPress community of developers have identified 15 best WordPress plugins that would gain great popularity in coming days and they are:

· W3 Total Cache- This plugin performs the twin function of loading the pages faster and storing the static versions of a website.

· HeadSpace: WordPress SEO Made Simple- This plugin takes care of all the aspects of search engine optimization required for a particular blog or a website driven by this CMS.

· Gravity Forms- This plugin helps in creating posts and uploading post and media contents.

· MaxBlog Press Affiliate Ninja- This plugin helps in speeding up the affiliate marketing process for a particular website by identifying track clicks.

· WP-DBManager- This plugin takes amazing back up for the website and emails the complete database every day to the concerned person. This plugin is extremely important when it comes to taking content critical back-ups. Therefore, an enterprise should hire a WordPress developer who understands the potential of plugins for a cms like WordPress and has the vision for creating plugins that can transform the functionalities of the cms.

· Thank Me Later- This plugin establishes an immediate connect with the first time visitors of a particular website or a blog automatically based on the data received from the CMS.

· WP-PageNavi- This plugin helps a desirable navigation mechanism wherein the visitors can directly go the desired page.

· SEO Smart Links- This plugin helps in building page ranks by inter-linking the articles based on the seo principles.

· Feedburner Circulation- This plugin enables one to display the subscriber counts in the top right corner of the page.

· Digg Digg Social Sharing – This plugin powers all possible social icons on a particular blog or a website thereby, helping people to immediately share the content

· Revision Control – This plugin enables administrator to limit the number of post revisions that remain in the storage.

· Tweet Old Post- This plugins enables a site manager to add social media posts into tweets with the option to add hash tags.

· Widget Context- This plugin enables a site administrator to choose the pages where widget needs to be integrated thereby, creating a different look for the individual pages.

· WordPress Editorial Calendar- This plugin offers an editorial calendar that helps a content person to maintain a schedule of posts and write-ups.

· Pop Up Domination- This plugin offers the site managers with the ample themes to choose from.

The above mentioned plugins have the potential of changing the entire functionality and user experience of a website hosted on WordPress cms. Therefore, if an enterprise wants to develop award-winning plugins, then it should hire a WordPress programmer who has previously developed plugins.

There are few things that an experienced WordPress developer will seriously consider while developing plugins and these are:

· Code quality

· Testing

· Documentation

From the aspect of programming also, an enterprise has to hire WordPress developer who can manage the programming aspect efficiently by merging the best practices in programming and his own creativity.

How to Get a Job As a Computer Programmer – Surviving Your Probation Period As a Trainee

If you have recently succeeded in landing a corporate job as a trainee computer programmer then I congratulate you. If not then you have the right attitude in reading this article. This is because strategy is king in this endless chess game of corporate manoeuvring which we must all learn how to play if we are to get ahead.

In any case I will write this from the perspective of you having already secured a corporate computer programming job as a trainee. So you’ve accepted your offer and now it’s time to turn up at your new place of work. What can you do to ensure that you get past probation?

In order to simplify and hopefully make for a clearer analysis of the approach you should take, I will divide your probation period into the beginning, the middle and the end.

Starting your probation period

Even if the dress code is casual I would advise dressing to at least a smart business casual standard on your first day. The exception here is if you have been told in no uncertain terms that nobody bothers. This does obtain in some places but in my experience most corporations do prefer at least a business casual dress code. Why is this so important for you on your first day? The underlying reason here is that you are sending a clear signal to your employers that you are taking nothing for granted.

Also at least in the initial phase it could pay you to take the trouble to go for lunch with your team mates if they do go for lunch together. You will learn a lot of unspoken rules by eavesdropping on their conversations over the lunch break.

Finally please be proactive about ensuring that you are properly set up with regards to your computer. If there are any delays then get the phone numbers or email addresses (if you have already been set up with an email account) and do your own chasing. Find out what needs to be installed in order for you to fully engage with the team and then get it installed.

Remember the clock started ticking the minute you walked through that door. Your goal here is to be up and running as soon as possible in order to create the maximum possible impact before the end of your probation period.

The middle of your probation period

If you are a trainee computer programmer, then the middle of your probation will generally begin after a couple of weeks. There are extreme cases where you could get hired and then be left to twiddle your thumbs (despite your best efforts to avoid this) for up to a month before you are suitably set up, but these occasions are rare. However be aware that this could indeed happen, so if it does don’t be too disconcerted.

Now as you ease yourself deeper into your trial period please remember that the degree of stupidity of the questions tolerated by your employer will be inversely proportional to your time on the job. In other words, the longer you’ve been there the more careful you have to be about asking dumb questions. This may well be a pretty obvious statement but let’s think about it for a moment.

In my experience, asking dumb questions is a fast and easy way to learn a lot very quickly from those who already know. Some bright children know this hence they wear out their parents with question after question. The trick is to ask as many dumb questions as possible before your time runs out.

Many of us don’t do enough of this. I certainly didn’t in my first few jobs. But if you can remember to do this earlier on rather than later, then by the time your probation period is over you will be well ahead of the game.

Also try to remain fully focused on any tasks you have been given to do. There could be distractions but remember you are there to get the job done. All else is of secondary importance. This attitude is the hallmark of a true professional.

If you are left to your own devices you can try gently pestering your immediate superior for a clearly defined simple task which can demonstrate your capabilities. Remember that your superiors also have to deal with their own problems. Because of this they might not be able to give you enough attention to get you started. Watch out for this and assert yourself when necessary.

Finally don’t be a clock watcher. Sometimes you will need to put in some extra hours in order to acquire the additional skills required to get the job done. See this as an investment in your future.

The end of your probation period

As your probation period draws to a close you should take stock of where you are up to. Have you been able to successfully complete the tasks you have been given? Do you feel that you fit in well with the team? Are you happy working there? Do a good bit of soul-searching in order that you will know where you stand in your mind before the probation period draws to a close.

More important than you being happy with them is the question of whether or not they are happy with you. This is more important because how they feel about you will determine whether or not you will be kept on.

If you have a strong intuition that you might be let go (for example there may be a personality issue) then maybe you should try looking around for something else before you get pushed. However if you have taken on board all the tips I have shared with you it will be extremely unlikely that this will happen.

However there is still the possibility that your term might end prematurely due to unforeseen circumstances like budget problems or departmental issues which lie well beyond your control.

For whatever reason if you do anticipate a premature end to your first job it will be easier to secure something else before being pushed rather than afterwards. So stay tuned and try to read between the lines. If you deem it necessary, call a meeting with your manager with a view to sourcing out what is going to happen to you.

Motivate Your Software Developers

Programmers are motivated by more than just money. By paying attention to their desires and interests, you can motivate your software developers to be happy and productive. Consider these six motivations and watch your team’s productivity and software quality soar.

Programmers need to be challenged or they become bored. While tedious tasks are often necessary, programmers need occasional obstacles. If a programmer has already built a few forums, another forum won’t be a challenge. Hire people who are eager to be challenged by your project. A programmer who has never written a game, yet knows mathematics and graphics, can be very motivated to create a quality game. Productivity will be high for developers who are obligated to learn in order to complete a task. Many programmers like to learn new programming languages and platforms. So consider overall programming skill, not just skill in one language.

The overall project needs to match with your programmers’ interests. If your team is building a game, hire programmers who are truly interested in games and computer graphics. This should seem obvious, but many people hire based purely on technical skill. That’s not enough to have high productivity. Programmers who have a long-time personal interest in your project’s niche will put more effort into quality and speed of development.

Each programmer manages their time differently. Some developers prefer to work alone for hours. Others like to talk with one or two teammates throughout the day. Some work best in the morning and others in the evening. Programmers are rarely very productive when working for eight consecutive hours. Occasional breaks help with focus. Consider each programmer’s style as their work environment is extremely important to their happiness and productivity.

Consider team organization. Many junior programmers like to have a very knowledgeable senior developer available at all times. A mix of senior and junior developers on one team will bring junior programmers up to speed faster and help the senior programmers gain responsibility and learn valuable management skills. Junior developers can also take on tedious or simple tasks which would waste a senior developer’s time. Therefore, mixing skill levels and seniority within one team can often help everyone.

Close supervision motivates some programmers while alienating others. Typically the senior developers will want more independence from management. This also relates to time with clients. Most developers do not want to spend too much time speaking directly with clients. Give your developers a clear list of tasks and let them go on their own to accomplish them.

Consult your programmers for ideas, rather than only tasks. A programmer creating financial software may have ideas for new analysis algorithms or reports. Often fresh, valuable ideas come from those on the team who don’t think about the topic every day. Not only will you get useful ideas, but your software developers will feel more involved in the overall project. They’ll be more motivated to program their suggestions into the project.

A good manager or team leader will recognize all of these motivations and use them for the benefit of everyone. Also consider these motivations when interviewing for software developer positions. You’ll show applicants that you recognize and care about their interests. Keep all of these things in mind and you’ll have a happy, productive team of programmers.

Freelance Web Designer | WordPress Developer | Hong Kong