Complete IT Professional Helping Software Developers Get Ahead In Their Careers! Mon, 17 Nov 2014 11:30:49 +0000 en-US hourly 1 4 Ways To Improve Your PHP Developer Salary Mon, 17 Nov 2014 11:30:49 +0000 Continue reading …]]> 4 Ways To Improve Your PHP Developer SalaryIf you’re a PHP developer, then this article will be useful to you. I’ve researched the average PHP developer salary and included a few tips for you to earn more than the average.

What is the Average PHP Developer Salary?

This article is a part of my salary improvement series, which has covered a few roles already. I’ve gotten some of the data from Payscale and performed my own analysis on it, giving you some actionable advice on how you can improve it.

So, let’s start with the figures.

The average PHP developer salary in the US as of November 2014 is $57,042.

Let’s have a look at how this compares to related roles:

Junior Software Engineer52,000
Lead Software Engineer103,000
Python Developer92,000
C# Developer91,000
Junior Net Developer59,000
Lead Net Developer102,000
Senior Net Developer97,000


As you can see in the table above, there are several related roles and there is quite a range in salary too:

  • Junior Software Engineer/Lead Software Engineer: These roles are more advanced and generally have more responsibility than a PHP developer, as they include the design of the software and some architecture components. Software engineers can make some good money.
  • Python Developer: Python seems to be quite popular at the moment, and has a much higher salary than a PHP developer as well. There may be other factors that cause this, however.
  • C# Developer: This role has a similar salary to the Python developer, which is also much higher than the PHP developer
  • Junior .NET Developer/Senior .NET Developer/Lead .NET Developer: This range of roles covers .NET development and the advancement that comes with experience. The Junior level is similar to the PHP Developer salary, but moves up from there.

Alright, so we’ve seen some comparable roles and how they relate salary-wise to PHP developers. It seems that compared to other developers, PHP developers are paid quite a bit less.


Why Are PHP Developers Paid Less Than Other Roles?

There are a few reasons why the average PHP developer is paid less than developers in other roles. Some of these reasons are:

  • More developers. There seems to be a lot more PHP developers in the industry than other technologies, such as Java and .NET
  • Low barrier to entry. To get started as a PHP developer is pretty easy and does not cost anything. You need to pay to develop in .NET and both .NET and Java are a little harder to learn.
  • Self-taught. Many PHP developers are self taught, younger, and may not realise the value of themselves and feel the need to reduce their salary to compete with other developers in other languages.

Now that we’ve covered some of these reasons, let’s have a look into the positives. How can we earn more as a PHP developer?


1 – Learn All of the Related Skills

PHP is a web development language, as it is used to create pages and scripts for web sites. As a result, there are many related languages and technologies that can be learnt and used along with it. If you can learn these, you can demand a higher PHP developer salary.

Some of these skills are:

  • Linux – Learning the Linux operating system and associated technologies can help your salary by approximately 25%, according to
  • SQL (Structured Query Language) – The database querying language can be helpful, and is almost essential, for PHP developers. It has a 14% impact on salaries according to Payscale.
  • jQuery - This JavaScript library is popular with PHP developers and can also impact your salary in a good way.
  • CSS (Cascading Style Sheets) – Learning CSS is almost essential for web developers.
  • JavaScript – Like CSS, learning JavaScript is a good idea for web developers.
  • WordPress - A popular (link) content management system that runs a lot of news websites, blogs, and similar sites.

The concern with WordPress that I’ll mention is that it is a popular skill that is outsourced. It runs on many sites and blogs, and is often outsourced by these business owners to other countries. That being said, it’s probably the case for many web development skills. Learning WordPress can help your PHP developer salary, but according to Payscale, not by much.


2 – Showcase Your Experience

Due to the low barrier of entry for PHP developers, there are lot of developers out there with minimal training and experience. It’s easy to read a tutorial, as there are so many low quality PHP tutorials on the Internet (there are some good ones too, though). This means there are many PHP developers out there who know the language, can write web pages in PHP, but don’t have the experience doing so for other companies.

This is where you come in. If you have the experience writing PHP for other companies and getting paid for it, you should highlight it. Mention it to your HR manager when going for a raise to your current PHP developer salary, or when finding a new job. Mention that you have actual, commercial experience, rather than just writing it at home for your own studies.

I actually learnt PHP myself many years ago as well. I learnt it before I went into university, and I think I learnt it using an online tutorial. I wrote up a few web pages for myself over the years and linked the pages to a database. However, I have no actual client experience. I’ve never done any web pages for a client and gotten paid for it. If I went for a job as a PHP developer, I doubt I would get one, and if I did, it would not pay very well. This is because I have no commercial experience, and I actually haven’t done PHP development for some time.

My point is, if you, as someone with experience, was competing with me for the same job, you would get the job every time. Even if we both know PHP to the same level, experience really helps.


3 – Get A Full Time Position

If you’re a freelancer or contractor, you may be able to earn a high salary by moving into a full time position. Due to the popularity of PHP as a language, and the number of PHP developers, there are a lot of freelance PHP developers. These freelancers would charge and hourly rate and be on shorter term contracts. If you’re one of these, moving to full time can help.

Have a look on your favourite job website (Dice, Monster, Indeed, for example) to find some PHP developer jobs. Look at those that have a salary listed and see if it is better than what you’re getting now. Even if the salary isn’t better at an hourly rate than what you’re getting as a freelancer, you may be able to earn more in the long run due to promotions and the fact that it would include full-time benefits.


4 – Improve Your Non-Development Skills

As there are a lot of PHP developers, you need to stand out from the crowd somehow. Another way to do this is to improve your non-development skills. These could include skills such as:

  • Communication (both written and verbal)
  • Negotiation
  • Software testing
  • Requirements analysis
  • Project management

Getting some knowledge in these areas can help your job and help you be more efficient. It will show your employer that you’re better than the average PHP developer, and therefore should be paid more than the average!


Well, there are a few ways to improve your PHP developer salary. What do you think improves a salary as a PHP developer? Share your thoughts in the section below!

Career Action Tip: Choose one skill from the list of related skills above that you don’t know, and start learning that skill.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of Stuart Miles /

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
6 Steps For How to Become a Software Architect Mon, 10 Nov 2014 11:30:07 +0000 Continue reading …]]> 6 Steps For How to Become a Software ArchitectAre you interested in becoming a software architect? It might seem like it’s a long way off, but I’ve listed out the steps in this article.

What Is A Software Architect?

First of all, let’s start with the definition of a software architect. In other posts that I’ve written which are similar to this, I’ve found it useful to start off with the definition.

According to Wikipedia:

A software architect is a computer programmer or expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms.

So, as part of this role, you need to make design choices. You also need to be pretty knowledgeable about computer programming. Let’s have a look at some of the steps you need to take to become a software architect.


Start With A Computer Science Degree

The first step on how to become a software architect is to get a degree in Computer Science. Yeah, it’s a big step. It might be enough to put some people off this career choice. However, as it’s a programming-related role, and a high level, it usually requires a degree.

Many programming roles require or prefer a degree in computer science (or a related field) before you can start work. A software architect is no different.

If you have a computer science degree already, that’s a good start. You can follow the rest of the steps in this article to learn how to become a software architect.

If you don’t have a computer science degree, then I suggest you look into getting one. If you’re interested in a programming career, including software architecture, it’s recommended. Have a look at some nearby colleges or universities to see what is available. I won’t go into the details of getting a computer science degree in this article, other than to say it’s good to have one.


Get Some Experience with Programming

Software architects need to know how to program. They need to be able to understand syntax in different languages, and be able to write code. This doesn’t necessarily mean that they code while they are at work every day. They just need to understand how code works. The best way to learn this is to have some experience as a programmer.

The good thing is that once you have a computer science degree, the next step in most cases is to get a job as a programmer or software developer. If you’ve just gotten a computer science degree, then this would be your next step. Have a look around for some jobs as a developer. Look on your favourite job websites (such as Dice, Monster, Seek), have a look on LinkedIn and speak to some people you may know in the industry.

It doesn’t really matter what language you have experience in when you get to a software architect role. It could be Java, .Net, C, or many other languages. The main point of the experience is to get to know how programming is done in the real world and how it integrates with other systems. Working on a university project and working on code for a company are two different things.


Learn to Work in a Development Team

The next step on how to become a software architect is to get some experience working in a team. This can be done as part of the previous point of “getting experience with programming”, but I’ve decided to list it separately as it teaches you different things.

A software architect needs to consider many things when doing their job, more than just the programming part of it. To be a good software architect, it helps to have the kind of experience you get working in a development team.

Working on a development team, or a team of developers, will teach you many things:

  • How to work on projects with multiple developers
  • How to work towards deadlines for projects or releases
  • How to interact with people in different roles of the SDLC, such as testers and business analysts
  • How your decisions and work on one project will impact your work on future projects

This kind of experience will help you do your job better as a software architect. It will help you consider the design of the system and how it impacts future development, as you have experience actually doing the development. It also helps to get agreement from the developers and teams working on it, as you have the experience to back up your decisions.


Expand Your Knowledge of Other Roles

Becoming a software architect means you need to consider the long term vision of the system and the company. You also need to know how it impacts other roles and other teams doing the work. I mentioned this in an earlier paragraph, but I’d like to expand on it here.

The other roles in the SDLC need to be considered when doing your role. Testing, implementation, requirements gathering, design, and maintenance are all areas that you need to know about to become a software architect.

The best way to learn more about these areas is to get some experience. However, this can be challenge. Assuming you’re a software developer now, working in a software team, it can be hard to move around into all these different roles to get some experience. This would depend on the way that your teams and company are set up. It could take years to get a good level of experience in each of these roles, if they have dedicated teams.

Another way of improving your knowledge is to work with these particular roles. For example, let’s say you want to get some more experience in testing. Rather than move into the testing team permanently, you could work with them to find out more about what they do. Learn how they write test cases, how they run tests, how they report defects, how they prepare and analyse the test data and work out what is needed. This might be easier and take less time than moving into a dedicated role.

Getting similar experience for the other related roles can help you become a software architect.


Learn About Software Design Patterns and Architecture

The main component of a software architect’s role is to apply architectural styles, or patterns, to software. A pattern is a way of designing software or an interface in a certain way to ensure it is efficient, future-proof and correct. To become a software architect, you need to learn about these architectural styles and how you can apply them to your job.

There are many ways to learn these:

  • Books. You can read some books on the topic. There are many books out there which teach you the basics of software architecture.
  • Online courses. A great way to learn about software architecture is to take an online course. There are many of them available on a range of topics. I personally really like online courses!
  • Other software architects. Arguably the best way to learn about software architecture is from others who have done it before, or who are doing it now. They can teach you all kinds of information, including patterns, as well as other tips on moving into this kind of role.

Once you have learnt about software architecture and what it involves, think about how you can apply it to your own job. Read some documents and designs that other architects have prepared, and see why they have made certain decisions and what their alternatives are. Learn how it all fits in to the long-term view of the application.


Apply for a Software Architect Job

Alright, now most of the work is done. You have your degree, your experience as a software developer, knowledge about architecture and other roles in the industry. The next step? Finding a software architecture job!

You can do this in two ways. You can either look inside your own company for a job, or apply for a job outside your company. Personally, I think looking inside your own company is easier.

Looking for an architecture job inside your own company can be easier, because the company already knows you. They know how you work, they know the quality of what you do, and you already know the systems and people in the company.

If you’d like to do it this way, then find some current software architects and speak to them. Find out how you can get into this role, and what the process is for moving into the team from within the company. The downside of taking this approach is there may not be a need for an architect. As in, they may have enough already.

If you’d like to look outside your company, this may be harder as you need to go through the interview process with a company that doesn’t know you. The advantage is that they are in need of this role, as they are advertising for it, so they will be hiring someone. Why can’t that someone be you?

Have a look on some job sites for software architect positions, speak to some other architects or other people you know in the industry, and see what is available. Refresh and improve your resume – this is an important step as it needs to be the best it can be. If you’d like to know how to turn your resume into an effective, high quality document that gets you more interviews, check out my IT Resume Results course.


How To Become a Software Architect – Summary

So, to summarise becoming a software architect:

  1. Start with a Computer Science degree
  2. Get some experience with programming
  3. Learn to work in a development team
  4. Expand your knowledge of other roles
  5. Learn about software design patterns and architecture
  6. Apply for a software architect job


I hope this has helped you understand what is involved in how to become a software architect. There is a lot involved, and it can take some time, but it’s a high paying job and can be very rewarding. What other questions do you have about software architecture? Share them in the comments section below.

Career Action Tip: Determine what steps above you have completed. Look at the next step in the process above and work out the next single action you need to take to make progress on it.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!


Image courtesy of hywards /

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
The Complete Guide to the Oracle Database SQL Expert Certification Mon, 03 Nov 2014 11:30:34 +0000 Continue reading …]]> The Complete Guide to the Oracle Database SQL Expert CertificationThis article explains all you need to know about the Oracle Database SQL Expert certification, which is also referred to as 1Z0-147.

What Is The Oracle Database SQL Expert Certification?

This certification is a popular SQL certification offered by Oracle and widely recognised by the IT industry. Learning SQL and being highly skilled with it is a great advantage for a software developer, as it adds another valuable skill to the list of things that you’re capable of doing. Knowledge of SQL allows you to run queries and understand the queries that others have written.

The Oracle Database SQL Expert certification is an advanced level certification, as the name suggests. However, there isn’t any prerequisites for this one. There is no “Oracle Database SQL Beginner” or an Advanced level that you need to do first before this one.


What Other Names Is This Certification Known As?

Certifications can often have more than one name, often abbreviated versions or just referred to by the exam number. This certification can also be known as:

  • Oracle Database SQL Certified Expert
  • Oracle SQL Expert
  • Oracle Certified Expert
  • OCE
  • 1Z0-047 (the exam code)


What Exams and Exam Codes are Used For This Certification?

This certification only features one exam, and the exam code for this is 1Z0-047: Oracle Database SQL Expert. Note that this exam code starts with the number one, and it has zeroes, not the letter O (one Z zero, zero four seven).

The exam goes for 120 minutes (2 hours). It contains 75 multiple-choice questions, and the pass mark is 66%. This means you need to get 50 questions or more correct (66% of 75 is 49.5, rounded up to 50).

Exam Code1Z0-047
Exam Time120 minutes (2 hours)
Question FormatMultiple choice
Pass Mark66% (50/75)
Cost$245 USD

How Much Does The Oracle Database SQL Expert Certification Cost?

At the time of writing, this certification can be attempted for $245 USD. Many certifications require you to pay for each exam, but as there is only one exam for this, you only need to pay once.


What Topics Are Included In This Certification?

The topics for the 1Z0-047 exam are shown below.

Retrieving Data Using the SQL SELECT Statement

  • List the capabilities of SQL SELECT statements
  • Execute a basic SELECT statement
  • Describe how schema objects work

Restricting and Sorting Data

  • Limit the rows that are retrieved by a query
  • Sort the rows that are retrieved by a query
  • Use the SQL row limiting clause*
  • Create queries using the PIVOT and UNPIVOT clause*
  • Use pattern matching to recognize patterns across multiple rows in a table*

Using Single-Row Functions to Customize Output

  • Describe various types of functions that are available in SQL
  • Use character, number, and date and analytical (PERCENTILE_CONT, STDDEV, LAG, LEAD) functions in SELECT statements*
  • Describe the use of conversion functions

Reporting Aggregated Data Using the Group Functions

  • Identify the available group functions
  • Describe the use of group functions
  • Group data by using the GROUP BY clause
  • Include or exclude grouped rows by using the HAVING clause

Displaying Data from Multiple Tables

  • Write SELECT statements to access data from more than one table using equijoins and nonequijoins
  • Join a table to itself by using a self-join
  • View data that generally does not meet a join condition by using outer joins
  • Generate a Cartesian product of all rows from two or more tables
  • Use the cross_outer_apply_clause*

Using Subqueries to Solve Queries

  • Define subqueries*
  • Describe the types of problems that subqueries can solve
  • Use subqueries*
  • List the types of subqueries
  • Write single-row and multiple-row subqueries
  • Create a lateral inline view in a query*

Using the Set Operators

  • Describe set operators
  • Use a set operator to combine multiple queries into a single query
  • Control the order of rows returned

Manipulating Data

  • Describe each data manipulation language (DML) statement
  • Insert rows into a table
  • Update rows in a table
  • Delete rows from a table
  • Control transactions

Using DDL Statements to Create and Manage Tables

  • Categorize the main database objects
  • Review the table structure
  • List the data types that are available for columns
  • Create a simple table
  • Explain how constraints are created at the time of table creation
  • Truncate tables, and recursively truncate child tables*
  • Use 12c enhancements to the DEFAULT clause, invisible columns, virtual columns and identity columns in table creation/alteration*

Creating Other Schema Objects

  • Create simple and complex views with visible/invisible columns*
  • Retrieve data from views
  • Create, maintain, and use sequences
  • Create and maintain indexes
  • Create private and public synonyms

Managing Objects with Data Dictionary Views

  • Use the data dictionary views to research data on your objects
  • Query various data dictionary views

Controlling User Access

  • Differentiate system privileges from object privileges
  • Grant privileges on tables and on a user*
  • View privileges in the data dictionary
  • Grant roles
  • Distinguish between privileges and roles

Managing Schema Objects

  • Add constraints
  • Create and maintain indexes including invisible indexes and multiple indexes on the same columns*
  • Create indexes using the CREATE TABLE statement
  • Creating function-based indexes
  • Drop columns and set column UNUSED
  • Perform FLASHBACK operations
  • Create and use external tables

Manipulating Large Data Sets

  • Manipulate data using subqueries
  • Describe the features of multitable INSERTs
  • Use the following types of multitable INSERTs (Unconditional, Conditional and Pivot)
  • Merge rows in a table
  • Track the changes to data over a period of time
  • Use explicit default values in INSERT and UPDATE statements*

Generating Reports by Grouping Related Data

  • Use the ROLLUP operation to produce subtotal values
  • Use the CUBE operation to produce crosstabulation values
  • Use the GROUPING function to identify the row values created by ROLLUP or CUBE
  • Use GROUPING SETS to produce a single result set

Managing Data in Different Time Zones

  • Use Various datetime functions

Retrieving Data Using Subqueries

  • Write a multiple-column subquery
  • Use scalar subqueries in SQL
  • Solve problems with correlated subqueries
  • Update and delete rows using correlated subqueries
  • Use the EXISTS and NOT EXISTS operators
  • Use the WITH clause

Hierarchical Retrieval

  • Interpret the concept of a hierarchical query
  • Create a tree-structured report
  • Format hierarchical data
  • Exclude branches from the tree structure

Regular Expression Support

  • Use Meta Characters
  • Regular Expression Functions
  • Use Replacing Patterns
  • Use Regular Expressions and Check Constraints


These topics were refreshed on 15 Sep 2014, which meant that some topics were removed, added, or updated on this date. The items marked as * above were added or updated on this date, and the ones with a strikethrough were removed on this date.


What Are The Prerequisites For The Oracle Database SQL Expert Certification?

There are no prerequisites for this certification or the 1Z0-047 exam. It is recommended that you have some experience with SQL, though, as this is not an entry-level certification.


What Is This Exam’s Retake Policy? What If I Fail The 1Z0-047 Exam?

Oracle has stated that if you fail this exam, you need to wait 14 days before retaking this exam. You can’t retake this exam if you have passed it.


How Long Is The Certification Valid For? When Does This Certification Expire?

Oracle certifications don’t have an expiration date, unlike other certifications. You are certified for life, unless Oracle changes its policy at some point in the future.


What Job Roles Is This Certification Targeted To?

This certification is ideal for the following roles in the IT industry:

  • PL/SQL Developers
  • Database Administrators
  • Application Developers
  • BI/Business Intelligence Developers
  • ETL Developers


What Level of Experience Is The Oracle Database SQL Expert Certification Aimed At?

I believe this exam is aimed at those with an advanced level of Oracle knowledge. You need to know more than just the basics of writing an SQL query to be able to pass this exam. It can be quite hard if you haven’t had this experience.


Where Can I Take The 1Z0-047 Exam?

You can take this exam at any PearsonVUE centre. You can find your nearest one on the PearsonVUE website here.


How Popular Is The  Oracle Database SQL Expert Certification?

At the time of writing, I could not find any actual data on how many people have this certification, although Oracle states there are over 1.5 million certified Oracle professionals (which is for all certifications).

However, reports are that it is a popular certification among SQL practitioners who work on Oracle. It’s also the first certification that I earned, as my employer noticed that this certification was useful and assisted us in gaining it.


Where Has This Certification Appeared In Top Lists?

This certification has appeared in several lists of certifications:


What Does The Community Say About This Certification?

Many websites, blogs, and forums mention this exam, and the feedback on it is:

  • It can be quite a hard and challenging exam. Knowing your topics is important
  • It’s not for SQL beginners or those with minimal Oracle SQL experience
  • The time allocated is enough, but you shouldn’t waste a lot of time on each question
  • Some of the more difficult areas included regular expressions, operator precedence, nested Group BY functions, NOT IN with NULL rows, NEXTVAL and CURRVAL behaviour


What Impact Will Getting This Certification Have on My Salary?

It’s hard to tell what the impact this will have on your salary. According to a white paper prepared by Oracle in 2013, 77% of certified IT professionals believe that certifications have impacted their salary. As I’ve mentioned in a recent article on improving your salary as a database administrator, certifications are a great way to do this.

It may also have an indirect improvement, as you’ll be more knowledgeable about Oracle SQL, and likely be more experienced, both of which have a good impact on your salary.


What Resources Are Available For This Certification?

I’ve created a course that covers introductory topics for Oracle SQL, which you can find here. Note that while this course is excellent, it doesn’t cover all of the topics in this exam, as it’s focused on beginners and intermediate users of Oracle SQL. It is a great starting point, though.

Oracle offers several exam preparations for this exam:

There are also some Amazon books on this exam which have proven useful.


What Other Certifications or Exams Are Related to This One?

Oracle offers another certification, the Oracle Database SQL Fundamentals. The exam code for the 11g version is 1Z0-051. This exam uses a lot of the same material and topics, and is a more beginner-level exam. So, if you’re looking for a starting point, you may want to begin with that certification.


What Do You Get When You Pass The Exam or Complete the Certification?

When you complete the exam and pass the certification, you get the following things:

  • A membership card
  • A printed certificate on hard paper
  • A welcome letter to the Oracle Certified Professional community and instructions on how to download the logo and open an account for certified members


I hope you get a lot of value from this article. Do you have any other questions on the Oracle Database SQL Expert certification, or the 1Z0-047 exam? Ask them in the section below.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
5 Ways To Improve Your Software Developer Salary Mon, 27 Oct 2014 19:33:56 +0000 Continue reading …]]> 5 Ways To Improve Your Software Developer SalarySoftware development is a popular career choice for those in the IT industry. If you’re a software developer, learn a few ways on how you can improve your salary in this article.

This article is a part of my salary improvement series, which has covered a few roles already. I’ve gotten some of the data from Payscale and performed my own analysis on it, giving you some actionable advice on how you can improve it.


What Is The Average Software Developer Salary?

So, let’s start with the figures.

The average software developer salary in the US as of October 2014 is $65,669.

Let’s have a look at how this compares to related roles:


.NET Software Developer64,000
IT Consultant73,000
Junior Software Engineer52,000
Senior Software Engineer102,000
Java Software Developer67,000


As you can see, there is quite a large range of salaries for these roles.

  • .Net Software Developer/Java Software Developer. These developers focus on a specific technology (Java or .Net) and have similar salaries to each other, as well as the generic software developer salary.
  • Junior Software Engineer. A software engineer with minimal experience earns about $52k. This is a little less than the software developer salary, but as you’ll see in the salary article I wrote on software engineers, it can increase quickly.
  • Senior Software Engineer. This role has more experience and is a software engineer rather than a developer, and has an increased salary to go with it
  • IT Consultant. Alternatively, some choose to go with an IT Consulting role rather than a software developer, which has a slightly higher average salary.

So there’s the salary data. How can we use this to improve our own software developer salary?


Learn More Skills

If you earn more skills related to software development, there’s a good chance it will improve your salary. This is for several reasons:

  • You can do more tasks you weren’t able to do before
  • You can save the employer time and money as they may not need to hire or train someone else to do some work
  • You can add more value to the employer

According to Payscale, software developers who have Oracle database skills earn a 8% higher salary. Knowing UNIX will increase your salary by 6%, Linux by 4% and PL/SQL by 3%.

The best part is, with the increase in online education, you don’t even need to go to college to learn these. You can take an online course and learn in your own time.


Start Consulting

As shown in the table above, an IT Consultant has an average salary which is about $8k more than a Software Developer. In another article, I’ve explained what a software consultant is. Basically they are hired by one company to provide services to another company, rather than work for the company directly.

So, for example, you work for a consulting company as an IT consultant. Let’s use Accenture as an example. Accenture would have an agreement to provide software development services to other companies. Accenture would send you out to work at one of these companies. You’d be doing work for the other company but get paid by Accenture. Accenture gets paid by the other company. Everybody wins!

To get started as an IT consultant, you can look for a job in a consulting company. It’s pretty similar to finding a regular job, but the jobs would mention that it’s a consulting role, so if you’re looking for one of these, you can filter on those.


Get Certified

I’ve mentioned in most of my salary improvement posts that certificaiton is a great way to improve your salary, and I’ll mention it here again as well.

Getting a certification is a great way to improve your software developer salary. Certifications are offered by many vendors for a lot of technologies. If you’re interested in getting certified, have a look at what certifications are available to you.

If you’re a Java developer, Oracle offers a few certifications for Java. Microsoft has several certifications for .Net developers. There are many others to choose from, depending on the language you’re proficient in.


Move Companies

Another common way to improve your software developer salary is to move companies. This is a riskier choice, as you may not end up with a better role and could be out of a job for a while. It also involves a bit of work and some planning.

You could start looking for roles while you’re currently employed, and try to find one that pays better. However, getting paid more isn’t the only thing you should consider when moving companies. You should look at the kind of role that it is, what you’ll be doing, where the role is based, and any other benefits you may get.

If you’re not happy in your current role, then I suggest speaking to your manager or someone in HR to resolve it first. If you don’t get anywhere with that, then moving companies is a way to both improve your happiness and your salary.


Get More Experience

Experience is often mentioned in salary surveys as it is a good indicator of someone’s knowledge in the industry. Getting more experience as a software developer is a great way to improve your career. However, just letting time pass and hoping your salary goes up is not a very actionable tip, is it? And I’d like to give you something actionable, something you can do, rather than just wait a few years.

Getting more experience also involves working on different projects or in different teams. You can learn different ways of doing things, get involved in different systems, and work with people you’ve never worked with before. This kind of experience will make you more valuable to the company, and in turn, hopefully improve your salary.

You can get more of this kind of experience by asking for a transfer, or asking to be put on to different kinds of projects. Depending on what your company and team does, this could give you a wide range of different projects to work on.

Once you have more experience, you can use it as a positive point when it comes to your annual review, and ask for an increase in salary.


Well, there’s five ways you can improve your software developer salary. If you have any questions on being a software developer, share them in the section below.

Career Action Tip: Choose one of the methods above for improving your salary, and decide on the next step. For example, choose a certification that you can take to improve your career.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
4 Ways To Improve Your Database Administrator Salary Thu, 23 Oct 2014 11:30:25 +0000 Continue reading …]]> 4 Ways To Improve Your Database Administrator SalaryAre you a database administrator? Do you want to know how to improve your salary? Read this article for some information and advice on how to improve your database administrator salary.

What Is The Average Database Administrator Salary?

I’ve done some research on salary information in the US, and based on the information provided by Payscale and have found:

The average salary for a Database Administrator (DBA) in the US as of October 2014 is $68,000.

This includes all levels of experience of database administrators, as well as technologies. Let’s have a look at some related roles to find out more:

Database Administrator68,000
Database Administration Manager104,000
Oracle Database Administrator85,000
Senior Database Administrator97,000
SQL Developer66,000


What Does This Information Tell Us?

We can have a look at this information about salaries to find out:

  • Database Administration Manager: This is the team leader or manager role for DBAs. The salary here is higher than other roles, which is to be expected.
  • Oracle Database Administrator: This role is focused on Oracle databases. Interestingly, there was no data for the other major database, Microsoft SQL Server, but I imagine it to be quite similar. Other sources quote Oracle as about 8% higher (
  • Senior Database Administrator: These are the more experienced roles, where companies hire based on the expectation that the DBA has much more experience.
  • SQL Developer: This is not a database administrator role, but it’s a role that DBA’s often start in, so the lower salary reflects that.

Alright, so we’ve seen some of the salaries and roles related to a database administrator. Now, let’s take a look at what you can do to improve your database administrator salary.


Learn or Improve Your Unix Skills

The best way to improve your salary as a DBA is to learn Unix, or improve your existing Unix skills.

As many databases in large companies are run on Unix servers, this should not be a surprise. The database administrator does need to spend some time outside of the environment of the database, and this means they would spend some time accessing the Unix operating system.

Learning skills such as writing scripts, running commands, and reading log files is a great way to improve your salary as a DBA. This is because it will make you more effective, and improve your efficiency on the job, which is something that all employers like.


Learn the Procedural Language of the Database

Both of the major database vendors, Oracle and Microsoft, both offer a procedural language that works with their versions of SQL. For Oracle, this is PL/SQL (Procedural Language SQL), and for Microsoft this is T-SQL (Transact-SQL).

Learning either of these skills will likely increase your salary as a database administrator, as you’re able to write code in these languages, find issues in scripts, and perform advanced tasks.

As most database administrators are usually focused on Oracle or Microsoft, it’s not often that you see a DBA who is knowledgeable in both. The best way to earn a high salary in the IT industry is to specialise, so I would suggest choosing one or the other. Don’t just base this decision on the pay (Oracle DBAs tend to pay a little more), as there are other factors involved and this may change. However, if you’re already a database administrator, you would have already learnt your specific database technology, so this procedural language step would be an obvious one.


Get Certified

A common way to improve your database administrator salary is to get certified. I’ve mentioned this in many of my salary posts, as it’s a good suggestion and is relevant to many roles.

There are two main companies to get certifications from, which are based on the two main database systems – Oracle and Microsoft.

Oracle offers certifications in many database versions. Their latest version is 12c, while 11g is one of the more popular ones I’ve seen.

  • Oracle Database 12c Administrator Certified Associate
  • Oracle Database 12c Administrator Certified Professional
  • Oracle Database 11g Administrator Certified Associate
  • Oracle Database 11g Administrator Certified Professional
  • Oracle Database 11g Administrator Certified Master

The certification path for Oracle DBA certifications goes from Associate to Professional to Master. At the moment, the 12c database doesn’t have a Master certification.

Microsoft offers two main certifications for their SQL Server database. They also list an SQL Server 2008 version, but I haven’t included it here.

  • Microsoft Certified Solutions Associate (MCSA): SQL Server 2012
  • Microsoft Certified Solutions Expert (MCSE): Data Platform

I wrote a post some time ago on getting an SQL certification, which you can read here

Also, as with many roles in the IT industry, the more experience you have, the better your salary will be. I haven’t included a tip here specific for this, as there isn’t really any actionable steps you can take to “get more experience”. It’s just something that comes with time.


Look For Ways to Help the Company Save Money

This kind of skill isn’t something that is mentioned on skills lists on websites, but it’s a useful tip anyway.

While the main role of a database administrator is to monitor a company’s database, companies are always looking to save money. If you can think of a way to save money, or save time, as a database administrator, then this could be a good way to improve your salary.

Some ways to reduce costs and time could be:

  • Identify bottlenecks and issues with any systems that use the databases
  • Discover ways to improve the efficiency of existing queries and jobs
  • Improve the way that you or your team does something, which saves time
  • Investigate any solutions or software that may solve a problem that saves time and cost, even though it requires some money to purchase

If you’re able to achieve a cost saving or time saving for the company, it looks good on your end of year review, and can certainly help in getting a pay rise and improving your database administrator salary.


Well, there are a few ways to improve your salary as a database administrator. I hope you can take one of these ideas and use it in your job to get paid even more.

Career Action Tip: Choose one method from this list and either learn the skill or look up the requirements for the certification.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
5 Simple Steps For How to Become a Programmer Mon, 20 Oct 2014 11:30:41 +0000 Continue reading …]]> 5 Simple Steps For How to Become a ProgrammerAre you interested in becoming a programmer? I’ve explained the process to become a programmer in five simple steps in this article.

The Steps on How to Become a Programmer

A programmer is someone who writes code for software. It’s an enjoyable job, and also very popular. It’s the kind of role that many people associate with working in IT. Whenever I tell people I work in IT, many of them ask if I’m a programmer.

So, I’ve decided to summarise the steps that are involved in becoming a programmer in this article. Note that while the title of the article mentions “simple steps”, it’s the steps overall that are simple, not the work required. It’s not easy, you’ll still need to study and put in some work, but this is the general process you can follow if you’re looking up how to become a programmer.


1 – Choose a Language

The first step that I think should be taken to become a programmer is to decide what language you want to develop in. This is because it will determine what kind of role can get and what technology you work with.

For example, if you’re interested in learning Objective C, you might find this leads to a lot of iOS development jobs. If you’re looking to learn Java, you may find a lot of jobs building applications and middleware. Learning a database language could mean you become a database developer working on various systems, rather than working on developing web pages.

Is there a particular language that you’re interested in? If you’re not sure, that’s still OK. You can work this out based on the type of programmer you want to become. There are all kinds of programmers who work with many different languages, so you can start with the role type and then work out the languages, which is what we will look at in the next step.


2 – Look Up The Requirements for Entry Level Jobs

The next step in the process on how to become a programmer is to look up some entry-level programmer jobs and determine the requirements. Rather than me saying “go get this degree and apply for this kind of job”, I think it’s better to look up some jobs themselves and see what they require. This means you’re getting current information right from the companies.

There is almost always a section in the job description that says what is required of the applicant. This is what you should be looking for. They may contain things like:

  • Bachelor’s degree or equivalent – this is the main one. Education is an important part of getting a job, which is even more important for entry-level jobs. Many programmer jobs may require a degree, but some won’t.
  • x years experience working with these technologies – this explains that you need to have a certain amount of experience working with the technology or language.
  • excellent written and verbal communication skills – these skills are required for the job, and can actually be found on many job applications. It’s not something you can show with education, but may need to demonstrate it in an interview.
  • experience in x industry – some kinds of programmer jobs are in certain industries, and having experience in that industry can help you do better at the job.

Once you’ve had a look at the requirements for these jobs, it’s time to get educated in your chosen language.


3 – Get Educated In Your Chosen Language

The next step to become a programmer is to actually learn the language you’ll be using on the job. This can be done in many ways, thanks to the increased knowledge of the overall IT industry and the Internet.

There are many ways to get educated, and perhaps the most common one is to get a degree. A degree, in Computer Science or something related, is a common way that people can get started in the IT industry and get a job as a programmer. It’s how I got started too.

However, I understand that not everyone can get a degree, due to time, cost, and other factors. There are other ways that you can become a programmer without getting a degree.

You can take a short course on a particular language. These can be offered at colleges and other facilities in your area, so have a look at what’s available. They are shorter than a degree as they teach less subjects, and may only focus on programming and learning a language.

Learning online is another great way to learn a programming language. I’ve learnt a few things online and have even developed a few courses myself, so I can see them from both sides of the fence. You can learn at your own pace, you get to choose what you want to learn, and sometimes even get to put the theory into practice.

In any case, you can learn how to program in a specific language using many methods, which is a must-do if you want to become a programmer.


4 – Start a Side Project

A side project is a good idea to add some extra experience to your career and resume. A side project is something you can do in your own time, once you have learnt the language and technology needed. This is so you can demonstrate that you have the required knowledge about a language, and can also practice programming in that language.

Some common side projects are:

  • Github – this is an online open source code repository, which you can contribute to by creating a new project or updating an existing one. Your profile on Github is a popular addition to a programmer’s resume.
  • Personal website – a great way to get your name out there or to practice your skills is to develop your own website. This can be anything from a personal website for information about yourself, or something more interactive and complicated. The aim is to demonstrate and practice your programming skills.
  • Custom application – similar to a Github project, you can write your own application to practice your skills. I wrote an application in Java to read files from all of my CDs and create a central database so I knew where to find things (this was before the time of large hard drives). Something you can use or something you have an interest in is a good place to start.

This side project is more important if you choose not to get a degree. Sure, a side project is always a good idea, but it is more important to show that you actually know the language and can prove it.


5 – Apply For a Job

The final step in this list is to actually go out and apply for a job.

You can use the same method in the earlier step to look for jobs. You’ll probably want to look for entry-level jobs, which are jobs that don’t have any experience requirement.

You can use websites such as Dice, Monster, Indeed, Career Builder, or any other job searching website to find these kinds of jobs. I’ve used Seek before, as I’m based in Australia. These sites should let you submit an application for the job on the website itself.

As part of this job submission process, you’ll need a resume and a cover letter. Your resume should include the education and experience that you’ve learnt for this language and how they are relevant for this role. The aim of a resume is to get you a job interview, so try to focus on the points in the job description when creating your resume. When writing a cover letter, customise it for this job and show your strengths. If you’d like to know more about how to create an effective and high-quality resume, you can take my IT Resume Results course.


Well, there are the steps on how to become a programmer. It can take a bit of work, but if you have the passion and dedication to it, there’s a good chance you’ll succeed. Programming is a great career and has many benefits, and seems to be in demand. Good luck for whatever path you take to become a programmer!

Career Action Tip: Decide which language you want to learn or specialise in, based on Step 1 above.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of njaj /

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
8 Simple Steps For How to Become a Database Administrator Thu, 16 Oct 2014 11:30:12 +0000 Continue reading …]]> 8 Simple Steps For How to Become a Database AdministratorAre you interested in becoming a database administrator? Does this career path excite you? Learn how to become a database administrator with the simple steps in this article.

What Is A Database Administrator?

First of all, before we get into the steps for becoming a database administrator, let’s learn what a DBA (database administrator) actually is.

A database administrator is responsible for the databases for a particular company. They may be responsible for a single database, or a number of databases, depending on the size of the company and the number of other DBAs involved.

A DBA is usually involved in many areas of a database or set of databases. They monitor the databases as they are running to ensure that they are not overused and are running efficiently. They implement preventative tasks such as clean-ups and patching. They also assist project teams if necessary with designing databases and improving queries. They also help set up users, privileges and other security settings on a database.

This means that a database administrator needs to have a wide variety of skills – writing queries, designing databases, security, performance and monitoring.

So, how do you become a database administrator? I’ve listed out the steps involved in this article. While the title of this article mentions they are “simple steps”, the process has been broken down into simple steps. The work involved is not that simple and may take some time.


Step 1: Decide Which Technology – Oracle or Microsoft

There are two main types of database administrators, one for each of the major database management systems. Oracle and Microsoft both offer database management systems which are widely used, and most database administrators usually specialise in one or the other.

While they both run the SQL language with some minor differences, the administration side of them is widely different. An Oracle DBA would know the same administration concepts as a Microsoft SQL Server DBA, but the actual implementation and setup and details are quite different.

Sure, there are other database systems out there, but they are not as widely used in companies these days. If you’re looking to become a database administrator, I would suggest choosing one of these two technologies.

Not sure which one to pick? Well, which languages are you more familiar with – Java, or .NET? This may impact your decision, as Java is related to Oracle and .Net is related to Microsoft (but not restricted).

You can also do some research into the companies that you’d like to work for, or even into the company you currently work for, to see what is being used and what the demand is.

I’ve also written a post on choosing an SQL version or distribution to learn.


Step 2: Learn SQL For That Type of Database

The next step, after you’ve decided between Oracle and Microsoft, is to learn the SQL language related to that type of database.

This is because that DBAs need to know how to write SQL. Even though they might not write as many SELECT statements as someone who works in business intelligence or a developer, starting with the basics is a great way to get into any role.

I’ve had experience in Oracle development, and have even created several courses on Udemy. If you’re interested in learning Oracle SQL, you can learn with my online course here at Udemy.

If you still haven’t decided between these two technologies, you can learn both of them at this stage. It’s quite easy to learn one type of SQL and then move into the other type, as most of it is the same. Learn both Oracle and Microsoft SQL, which can then help you decide which kind of database you prefer working with.


Step 3: Learn More Advanced SQL and Database Topics

Once you’ve learnt the basics of the SQL language, you’ll need to move on to more advanced topics. Database administrators are experts in their field, and need to be quite knowledgeable about different areas of a database to be effective. While they might not use this kind of information on the job every day, knowing it will actually help them do their job.

The kind of topics you’ll need to know are:

  • Query optimisation – how to write queries to perform well, using indexes, and how to improve existing queries to make sure they run efficiently
  • Database objects – learn about triggers, views, sequences, and all other types of objects in the database
  • Advanced SQL – learning more complicated features of the SQL language such as recursive queries, subqueries, cursors, temporary tables and data warehousing or ETL processes
  • Database design – how to design a database to ensure that it runs effectively and does the job well (which I also have a Udemy course for, available here)

These are just some of the topics, and their implementation varies between Oracle and Microsoft. Learning about these topics will make you become a more effective DBA. If you’re interested in learning SQL online, you can read my article on it here.


Step 4: Learn About Database Administration

Database administration is a separate topic to learn. It’s taught in some courses, but the knowledge you need for administration is more than just writing SQL. Being a database administrator means you need to know how to monitor, set up, and perform maintenance on these kinds of databases.

The kinds of skills you’ll need to learn are:

  • Users and roles – how to create users, privileges and roles, and how to ensure that the database is secure from unauthorised users
  • Installation – how to install, upgrade, and configure the database based on the requirements or needs of the database
  • Monitoring – how to make sure the database is running smoothly, identifying any issues before they happen, and what to do when they happen

Once again, these are just some of the skills needed for a database administrator.


Step 5 (Optional): Look for Junior Database Developer Roles

An optional step for how to become a database administrator is to start with a role as a database developer. This is optional as it’s not needed. You don’t need to be a developer before you become an administrator, but I think the experience you get as a developer can really help see things from the other side.

Once you have the knowledge that I mentioned above, or even just the intro and advanced SQL topics, you can start looking for junior database developer roles in your chosen database management system (Oracle or Microsoft). Both kinds of roles should be pretty popular, so have a look on your favourite job searching website.

These kinds of roles are targeted towards those who have minimal experience in databases, and if you’re just learning, this would be just your kind of role.

So, if you’re interested in databases, you can start here. I think it’s an optional step, but is recommended.


Step 6 (Optional): Get Experience as a Database Developer

This is also an optional step, as it’s related to the previous step of getting a role as a database developer first.

If you’ve decided to become a database developer, the next step is to get some experience. Get at least a couple of years’ experience as a database developer to truly understand what this role involves and how it’s done. This kind of experience will help you in the long term and in your role as a database administrator in the future.

This is where you put into practice all of the skills you’ve learnt. You’ll get to work on projects where you write SQL, design databases, and run queries for different reasons. The experience you get here will be useful in the future.


Step 7: Look for Junior Database Administrator Roles

Now is the time where you can move into the actual database administration side. Have a look for some Junior Database Administrator roles, either within your own company or externally.

Once again, they are junior roles as they appeal to those who have no experience in the actual role. While you may have some experience as a database developer (which I think is optional but recommended), the experience as a DBA is quite different.

You might have more success looking inside your own company for this kind of role. If you’ve spent some time as a database developer, you might know who the database administrators are, which you can speak to about moving into that kind of role. It’s usually easier to get hired within your company than to look outside the company.

A junior DBA role might also be working within a team of more senior database administrators and may not have full control or responsibility of a database. That’s OK though, you’ll get to learn what’s involved and get some invaluable experience about database administration.

Which brings me to the last step.


Step 8: Move Into a Database Administrator Role

The final step is to actually move into the role you’ve been aiming for – the role of a database administrator.

Similar to a junior DBA, a normal DBA is someone who has experience as a DBA but can manage a database or set of databases on their own. They don’t need supervision as they have had the experience in the role already.

This may take some time to get into. You might need six months or a couple of years’ experience before you get to this point, depending on the company you work for. In any case, getting to this role involves more responsibility and knowledge, so make sure you keep up to date on the latest issues in your chosen database and what’s happening with the databases in your company.


Well, there you have it. I’ve listed out what the steps are on how to become a database administrator. Do you have any questions on this particular career path? Share them in the section below.

Career Action Tip: Determine which of the steps above you have completed, and then decide which step is next on this list for you. Determine the next action to proceed with that step in the process.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of watcharakun /

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
Evernote – A Better Way To Take Notes At Work Tue, 14 Oct 2014 11:30:53 +0000 Continue reading …]]> Evernote - A Better Way To Take Notes At WorkI’ve been using Evernote for a while to take notes at work, and I’d like to share how it has improved my working life and how you can benefit from it.

Before Evernote – Using Pen and Paper

When I first started working in the IT industry, I took a lot of notes. I went to meetings and took notes, and also just took notes about things at my desk.

These notes were about things I needed to do, brainstorming, discussion points from meetings, websites, and all kinds of things. Pen and paper worked for me… for a while. Until the books started filling up. Until I was in a hurry and my handwriting got messy.

The biggest problem with pen and paper notes, however, was that I could not find certain notes in them easily. I sometimes wanted to find some information that I wrote down a few months ago. I would sometimes mark it or put a date on it, but it was still pretty hard to find things.

Surely there was a better way?

Working in IT, I usually favoured electronic formats over pen and paper. So, I tried to start taking notes electronically, first in a text editor, then in Microsoft Word. This worked… for a while.

Notes would get lost, I couldn’t remember where I saved some of them, and they were also harder to search and categorise.

There’s got to be a better way to take notes at work.


The Better Way to Take Notes

Sure enough, I discovered a better way to take notes. It was a piece of software called Evernote, which you might have heard of. It’s free, available on many operating systems and devices, and seemed to be perfectly suited to my task of taking notes.

I started using this, and boy, did it help! I really enjoyed how I could take notes and they would automatically save to my notebook. They were easily searchable, easy to create, and also had a tagging feature which made them easy to categorise. It was everything I needed. These notes also automatically synchronised between all instances of Evernote, so I could see them at work and at home, as well as anywhere I could log in to their website.

Since then, the app is now available on mobile devices, so I can now see them on my phone if I need to.


How Can You Benefit From This?

You might be thinking, “That’s a great story, Ben, but how does it help me?”

Well, you’re right. I had a look around for some guides on Evernote, and there are some good ones out there. Many of them detail what Evernote is, and how you can set it up, and all kinds of things you can use Evernote for, such as food recipes and memories of your kids.

However, I noticed that there was no guide that was specific to IT professionals. We have different needs for our note taking software, such as being heavy users of a computer and often multiple devices.

So, I decided to create one. Create my own guide, that was specific for Evernote for IT professionals. It’s aimed at the IT professional who wants to improve their career and be more efficient by improving how they take notes. The guide is called “10 Simple Steps to Use Evernote to Improve Your IT Career”.

It’s changed my life, so I wanted to have the opportunity to change yours.

You can read more about the Evernote guide here:

10 Simple Steps to Use Evernote to Improve Your IT Career

Hope you find it useful, and once again, if you have any feedback on it, just let me know!

Image courtesy of imagerymajestic /

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
My Interview with Samanage Mon, 13 Oct 2014 11:30:16 +0000 Continue reading …]]>

I recently had an interview with the people at Samanage, which you can read about here.

I was contacted by the people at Samanage for an interview on running an IT help desk. I’ve spent some time in a support role, so was happy to help out. In case you haven’t heard of them, Samanage is a cloud-based IT service desk and asset management platform that reduces your workload and helps you deliver fast, quality service.


Samanage: What are some challenges of running an IT help desk end users don’t think about?

Me: I think one of the main areas is prioritization. You might log a request to say your email client isn’t working correctly, and in your eyes, this is quite important. In the eyes of the help desk, it may not be as important. Help desks tend to rate importance based on the impact of the outage or issue and the number of users it affects. This isn’t something a lot of end users realize, and that there may be other priorities that help desk workers need to focus on.


Read the full interview with Samanage here:

You also can find out more about their IT service desk solutions on their website.

Hope you enjoy the interview!



Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0
5 Ways To Improve Your Software Engineer Salary Thu, 09 Oct 2014 11:30:43 +0000 Continue reading …]]> 5 Ways To Improve Your Software Engineer SalaryAre you a software engineer? Do you want to know what the average software engineer salary is, and how you can improve your own salary? Learn how to do exactly this in this article.

What Is The Average Software Engineer Salary?

In my recent posts about salary information for software professionals, I’ve used the data on Indeed.

The average salary of a Software Engineer in the US as of October 2014 is $94,000.

It’s higher than many other roles in the IT industry. Then again, software engineers really need to know their stuff.

Let’s have a look at some related roles and their salaries:

Java Software Engineer Architect123,000
Java J2EE Software Engineer97,000
Senior Net Software Engineer91,000
Principal Software Engineer102,000
Software QA Engineer81,000
Senior Java Software Engineer102,000
Senior Software Engineer99,000
Embedded Software Engineer92,000
Lead Software Engineer102,000
Software Test Engineer76,000
Java Software Engineer89,000
Devops Engineer102,000

This table is a list of job roles related to a software engineer, and what their salary is.


What Does This Data Show Us?

Let’s break down the table here and work out what each of these jobs are.

  • Java Software Engineer Architect – this seems to be a mix between engineer and architect, which may explain why it’s the highest paying salary on this list.
  • Java Software Engineer, Senior Java Software Engineer, Java J2EE Software Engineer – each of these are Java-related Software Engineers and increase in salary, from 89k up to 102k
  • Principal Software Engineer, Senior Software Engineer, Lead Software Engineer – these roles are more senior and not specific to a technology, which have a salary of between 99k and 102k.
  • Senior Net Software Engineer – this is another senior role, but focused on .Net. Comparable to Java but has a lower salary of 91k
  • Devops Engineer – an engineer’s role in the development/operations business unit, which has quite a high salary as well.
  • Embedded Software Engineer – this role is for those developing software for use in devices and other embedded environments.
  • Software QA Engineer, Software Test Engineer – both of these roles (testing and quality assurance) involve making sure the software is of high quality, and have similar salaries (76k and 81k)

So, it seems that software engineers can start anywhere around the 89k range and move into something around 102k.

How can you improve your software engineer salary so it’s more than these averages? Let’s take a look at five different ways you can do this.


Get Certified

Getting a certification is one of the best ways to improve your salary, so it should be no surprise that I’ve included it in this list.

I’ve written a recent article on software engineer career goals, where one of teh goals that I mention was to get certified. There are two organisations that provide certifications for these roles that are quite common – Software Engineering Institute (SEI) and IEEE Computer Society.

The Software Engineering Institute offers several certifications for software engineers:

  • Computer Security
  • Measurement & Analysis
  • Resilience Management
  • Software Development
  • Service-Oriented Architecture
  • Smart Grid
  • Software Architecture

If you’re more interested in something from IEEE Computer Society, they offer two certifications for software engineers:

  • Certified Software Development Associate (CSDA)
  • Certified Software Development Professional (CSDP)

If you’re note interested in any of those certifications, you can look at getting certified from the vendor of your primary language, such as Microsoft, Oracle or somewhere else.


Learn Another Language

Adding another language to your toolbox of existing languages that you know is a great way to improve your salary. According to Robert Half Technology, some of the languages that can increase your salary as a software engineer, along with the approximate salary increase, include:

  • C# (9%)
  • C++ (5%)
  • Java (9%)
  • .NET (9%)
  • PHP (9%)
  • Web services (8%)

If there is a language here that you don’t know, but are interested in learning it, I would suggest looking into it as it would likely have a positive impact on your salary.

There are many ways that you can learn a new language, as I’ve highlighted in this post, so have a read and decide which style of learning you’re most comfortable with.


Move Companies

Another way to improve your salary is to get a role at a different company. This approach is one that isn’t widely taken, but many people say that the best way to get a pay rise is to move to another company. Using your negotiation skills and explaining the benefits to a company of hiring you can mean you get an increase in salary jsut by moving to another comnpaniy.

There are some people that like to move companies often, in an effort to improve their salary. Others like to stay at one company and work on improving it from within (like myself, currently employed at the same company for just over 7 years). While there are pros and cons of both approaches, it’s common to get a better salary by moving.

Make sure you do your research, though. Work out if you’re actually going to get a better salary before you leave your current job, because there’s no point leaving for a better salary if it’s not going to be better for you.


Get More Experience in a Different Area

If you want to stay with your current company, another way to improve your software engineer salary is to get more experience.

This doesn’t mean just spend a few more years on the job. I’m referring to getting involved in different projects or different teams. If you get a chance to work on different projects, you can get a better understanding of how different systems work and different areas of a company. This can improve your knowledge about your own role, and will make sure you’re better informed when designing and developing solutions for the company.

The more you know about the company and how the systems work together, the better it is for both you and the company. I believe that salaries are a reflection of your value to the company, so by doing this, you increase your value and therefore increase your salary!


Become a Team Leader

You could take a different approach to your career and actually become a team leader. Moving into a team leader role of software developers or software engineers will take some experience, some learning, and different skills. Some people make great engineers or developers, but not team leaders. It’s an entirely different skill set. But, it’s not impossible to learn.

To move into a team leader role, you’ll need to learn how to work with people, how to make decisions that affect a team, how to monitor a team’s workload, and all other kinds of people-related skills. This can all come with time and some training, so don’t get too worried. However, it is an option if you want to improve your salary. I’ve written a post about getting into a software team leader role that I think is worth reading.


Well, there’s the five tips on how to improve your software engineer salary. Do you have any other tips to offer? Share them in the area below.

Career Action Tip: Select one method of improving your salary from this list (such as learning a new language), and decide on the next step you can take to achieve it (such as selecting which language you want to learn).

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of jscreationzs /

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]> 0