Complete IT Professional http://www.completeitprofessional.com Helping Software Developers Get Ahead In Their Careers! Wed, 26 Nov 2014 11:30:46 +0000 en-US hourly 1 http://wordpress.org/?v=4.0.1 11 Ways to Save Time as a Programmerhttp://www.completeitprofessional.com/save-time-as-a-programmer/ http://www.completeitprofessional.com/save-time-as-a-programmer/#comments Wed, 26 Nov 2014 11:30:46 +0000 http://www.completeitprofessional.com/?p=3008 Continue reading …]]> 11 Ways to Save Time as a ProgrammerIs your day as a programmer always busy? Do you find that you never have enough time for things at work? There are a few things that you can do to save time as a programmer.

Use the Windows Startup Folder

One of the most helpful things that I’ve done to get more time in my day is to use the start up folder in Windows.

If you’ve never heard of it, let me explain. It’s a folder on the start menu called Startup. You can add shortcuts into this folder, and every time your computer starts up, they automatically run.

I’ve found this to be a big time saver, especially in the morning. There are programs that I run every day, and now I use this folder, I don’t need to wait for my computer to start and click the icons or browse for them every day.

Some things you can add are:

  • Email client (e.g. Outlook) – this is open for me all day, and used heavily where I work.
  • Evernote – my note taking app of choice (learn how to use Evernote to transform your programming career).
  • Web browser  (e.g. Chrome) – I have Chrome start up every day so I can read a few websites while I drink my coffee.
  • IDE – whatever IDE you use, you can add it to this folder.

It doesn’t need to be restricted to programs. You can add any shortcut to this folder.

  • Links to websites
  • Links to specific documents
  • Links to scripts to run

Because these are being run on startup, you don’t need to wait and run them manually. You can go and do something else while you’re waiting – get a coffee, read email on your phone, get some water, talk to your team members.

Once you start using it, you will probably come up with even more ideas for shortcuts.

 

Write Scripts for Common Tasks to Save Time as a Programmer

Another way to save time as a programmer is to use your programming skills.

There are probably some tasks in your day that you need to do quite often. It could be a once a day backup, an email clean out a few times a day or a weekly summary report.

You can save a lot of time on these tasks by writing some kind of script to automate them. Depending on the task, you can use a variety of scripts.

Do you need to copy certain files? Write a batch script to do this. Set it up as a shortcut that you can access easily. Or, to go one step further,  add it to the task scheduler to run automatically at a certain time.

Do you have to sort through emails every week? Write a saved query or a macro to do this for you.

Do you send a similar looking email to people? Write a template or a script in your client to automatically create the email for you. You might not be able to automatically send it, but you can get the script to do a lot for you.

Basically, if there is any task that is going to be done more than once, ask yourself “how can I automate this?”. You’ll be surprised at what you can come up with. It’s better to put in the time up front to create something and save time later.

 

Use Excel For Common Calculations

Microsoft Excel is a great program, and has a variety of uses. One of the ways you can use it to save time as a software developer is for any common calculations that you do.

Once again, creating a template is a good way to do this. Have a template that has all of your common functions and calculations it it, create a shortcut, and your life is easier.

So what kind of calculations and I talking about?

  • Time estimates – Converting between hours and days is a common one, especially if you have to provide estimates. If you need to provide an estimate in days, you can convert it to hours or weeks using some simple formulas in excel. This can really save time as a programmer, as we do this often.
  • Salary planning – you can use excel to work out what any increase in salary will have on your take home pay. I do this every year when my annual review comes around. I put down my gross salary, and then remove the deductions to get to the net. Of course, it might not be exact, and will vary for countries, but it can help to see how it might impact you.
  • Percentages – often we need to work out or perform percentage calculations. Use an excel formula for this.
  • Conversions – sometimes when converting units or resizing things, Excel can help. Converting between time zones, units of measurement, and even keeping the same ratio when increasing or decreasing sizes of images can be easily calculated.

 

Create a Timesheet Template

One of the most annoying things about working in IT is preparing a timesheet. Most companies that I’ve worked for need developers to log the time that they have spent against the projects they are working on. In concept, I think this is a good idea, as it helps to get accurate reporting of the costs of a project, to see where time is being spent, and to help with checking estimations when everything is completed. However, it means that developers need to spend time every week thinking about where they spend their time.

As I’ve been a software consultant for almost eight years, I’ve had to fill out not one but TWO timesheets. One for my consulting company, which is used to bill the client, and one for the client, which is used for project tracking. This can be quite time consuming as it needs to be done every week. What I’ve done, and what I recommend, is creating a template.

A template can be created for your timesheets in a spreadsheet program, like Excel. Put in your projects (or the areas you need to charge your time to) on the left down the column, and dates across the top. At the end of each day, put the number of hours you worked on each against each item. The granularity will depend on how much detail is needed for the project, but I recommend doing it in half hour blocks.

Now that you have a template, that you fill out daily, you can use it at the end of the timesheet period to enter into whatever system is being used. This can help save a lot of time. (Related: how to get the best projects to work on)

Also, you’ll probably get requests from project managers about your hours. Questions like “how many hours did you spend on Project X in June?” You’ll be able to tell them in seconds, by looking up the template, rather than giving some kind of estimate or looking back through your system.

Big time saver.

 

Get a List of Shortcuts For Your IDE

A big way to save time is using shortcuts. Keyboard shortcuts are helpful as they take a fraction of a second to perform an action that would normally be done using the mouse. Adding these up can save a lot of time.

If you’re a developer, you would spend a lot of time in an IDE writing code. There are probably a lot of shortcuts available in this IDE. Do a Google search to find a list of shortcuts for the application that you can use to make your life easier. Save it to an easily accessible format and location. Perhaps you PDF it and save it to your computer, or bookmark the website. It’s up to you.

Refer to this list whenever you need to do something – compiling code, starting the debugger, opening the options menu, searching for text, and so on. Rather than opening up the menu for this, look up the keyboard shortcut. Over time, you’ll start remembering the ones you use often, and you’ll save a lot of time.

You can also discover shortcuts for things you didn’t even know. I have used Microsoft OneNote in the past to take notes, and I liked to add a heading style and the date and time at several points in the note. I used to select the heading, format it, then type the date and time manually. This would take about 10 seconds. I discovered the shortcuts to do this, and then all I had to do was press CTRL + ALT +2 for Heading 2, then ALT+SHIFT+F for the date and time, which took about 1 second. Another big time way to save time as a programmer here.

 

Create Your Own Shortcuts

Another way to save time is to create your own shortcuts. This also applies to your IDE, or really any application that allows you to add your own shortcuts.

Many IDEs allow you to add shortcuts for common commands or scripts. Doing this will allow you to save time in a similar way to the previous point. You can add a shortcut for a commonly used feature, and use the shortcut every time.

Years ago I was using a tool for writing SQL code, and there was no shortcut for formatting the SQL code to make it consistent with the rest of the application. I added the shortcut (which was something like CTRL+ALT+F) into the programs shortcut settings, and whenever I pressed that, it would format the code. This would save me several mouse clicks every time I formatted it.

Shortcuts also impress other co-workers, as they see you press a few keys and something happens, often resulting in “Wow, how did you do that?”

 

Use the Favourites Section in Windows Explorer

When I upgraded from Windows XP to Windows 7 (yes, I skipped Vista), one of the only things I missed was having the Favourites toolbar in Windows Explorer. I had a few folders on there, where I could click them to take me right to the folder location on the computer. This was how I navigated around to common folders.

I then discovered that Windows 7 had a similar favourites feature, but it was in the tree structure on the left. You can add folders and other things to that Favourites section, which operates in the same way. This is a great time saver.

For any directories that you visit frequently, put them here. You can access them in one click, rather than browsing through the full structure each time.

You can update them as you like, so as you change projects for example. It’s easier to click on the link to go to the “source” folder for one of your projects than to go through the full path of “D:\Projects\Project X\Development\version 0.18\source”, for example.

 

Get Lunch Outside The Busy Period

If you like to go out to get lunch, you might notice that some places (or all places) get quite busy during the lunch hour. This is obvious – everyone goes out to lunch at roughly the same time. This can result in you waiting a while to be served, then waiting to get your food, then finding a table or going back to your office. All of these are a big use of time.

Something that I’ve found is that if you go for lunch outside of this busy period, it can save you time. The shops near most places I work have a busy period from about 12:30 to 2:00. If I’m going out go get lunch, I try to go just after 12. This way I can avoid the crowds and get in and out faster. I can spend my time doing valuable tasks like work or speaking to other colleagues over lunch, rather than waiting in line for your order to be ready.

While this is not specifically a way to save time as a programmer, it applies to working in an office in general, and it can still save time.

 

Create an Easier Directory Structure

The way we store our files on our computer has a big impact on how much time we spend looking for them. If we’re looking for a specific file, we need to think about where it’s stored, then browse to that location, maybe work out which file is the right one, and open in. This can be quite painful if our directories are not structured very well.

I suggest creating a directory structure that makes sense for the work you’re doing. This could be a directory for each project, and subdirectories each for code, documentation, images, diagrams, and so on. This way, if you’re looking for the design diagram for a particular project, you know where it most likely is.

If it’s not something you do already, it might take some time to set it up. But, it’s well worth it. Moving from a messy directory structure, or one that’s “kind of alright”, to something that’s fully organised, might take some up-front time, but the rewards are well worth it. You’ll be saving heaps of time in the future.

 

Create Shortcuts to Common Files

This tip is an obvious one, and you might have heard it before. A good way to save time as a programmer is to create shortcuts to the files you use most often.

Rather then browsing through your hard drive to find a file, create a shortcut. The shortcut can be placed wherever you like that you can access easily. I recommend placing it on the task bar of Windows 7 (I believe these are called “pinned lists”). This way, you can access it from wherever you are and whatever you’re doing on your computer. The time saved from looking for the file will add up.

I wouldn’t suggest putting the shortcut on your desktop. This can be good if you only have a couple of shortcuts, but if there are a lot, it can make things worse as your desktop gets messy. The only thing I have on my desktop is the recycle bin – everything else is in pinned lists.

What kind of things do I create shortcuts for? Currently I have shortcuts set up for:

  • My timesheet and project template file (as mentioned above)
  • A couple of diagrams for projects I’m working on
  • Documentation for a couple of projects
  • PDF file with some keyboard shortcuts

 

Use Bookmarks for Common Sites

The last tip that I have may also be one that you’ve heard before, but I’m adding it as it’s a good way for developers to save time.

Use the bookmarks section of your favourite Web browser, and use it heavily. Save sites to this section that you use a lot. They can then be accessed with a couple of clicks, rather than searching for them or looking in your history.

The bookmarks can be set up in two ways. You can have your bookmarks toolbar on the browser which has a list of links there, accessible with one click. These can be for the sites you access every day or on a regular basis.

The other way you can store bookmarks is within subfolders. You can have the subfolders on the bookmarks toolbar, which act as menus, and inside those are the sites to visit. These are best suited for those that aren’t visited every day, or if you have a lot of them.

I’ve got a few folders of bookmarks set up on my browser for links to internal resources, some definition sites for programming, and documentation. My bookmarks toolbar has links directly to sites I use frequently such as Gmail, Google Calendar, and my work webmail. This is a big time saver.

Are there web sites that you access frequently? Add them to your bookmarks section. This could be a development environment, a server, or a list of functions for the language you’re working with. It can be a big time saver.

 

Well, there’s my list of 11 ways you can save time as a programmer. Do you have any other ways to save time during your day? Share them in the section below.

Career Action Tip: Choose one tip from this list that you’re not using (such as the startup folder) and decide how you can use it for your work right now.

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 imagerymajestic / FreeDigitalPhotos.net

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]>
http://www.completeitprofessional.com/save-time-as-a-programmer/feed/ 0
4 Ways To Improve Your PHP Developer Salaryhttp://www.completeitprofessional.com/php-developer-salary/ http://www.completeitprofessional.com/php-developer-salary/#comments Mon, 17 Nov 2014 11:30:49 +0000 http://www.completeitprofessional.com/?p=3000 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 Payscale.com.
  • 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 / FreeDigitalPhotos.net

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]>
http://www.completeitprofessional.com/php-developer-salary/feed/ 0
6 Steps For How to Become a Software Architecthttp://www.completeitprofessional.com/how-to-become-a-software-architect/ http://www.completeitprofessional.com/how-to-become-a-software-architect/#comments Mon, 10 Nov 2014 11:30:07 +0000 http://www.completeitprofessional.com/?p=2993 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 / FreeDigitalPhotos.net

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]>
http://www.completeitprofessional.com/how-to-become-a-software-architect/feed/ 0
The Complete Guide to the Oracle Database SQL Expert Certificationhttp://www.completeitprofessional.com/oracle-database-sql-expert-certification/ http://www.completeitprofessional.com/oracle-database-sql-expert-certification/#comments Mon, 03 Nov 2014 11:30:34 +0000 http://www.completeitprofessional.com/?p=2983 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)
Questions75
Question FormatMultiple choice
Pass Mark66% (50/75)
PrerequisitesNone
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
  • TZ_OFFSET
  • FROM_TZ
  • TO_TIMESTAMP
  • TO_TIMESTAMP_TZ
  • TO_YMINTERVAL
  • TO_DSINTERVAL
  • CURRENT_DATE
  • CURRENT_TIMESTAMP
  • LOCALTIMESTAMP
  • DBTIMEZONE
  • SESSIONTIMEZONE
  • EXTRACT

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]]>
http://www.completeitprofessional.com/oracle-database-sql-expert-certification/feed/ 0
5 Ways To Improve Your Software Developer Salaryhttp://www.completeitprofessional.com/software-developer-salary/ http://www.completeitprofessional.com/software-developer-salary/#comments Mon, 27 Oct 2014 19:33:56 +0000 http://www.completeitprofessional.com/?p=2975 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]]>
http://www.completeitprofessional.com/software-developer-salary/feed/ 0
4 Ways To Improve Your Database Administrator Salaryhttp://www.completeitprofessional.com/database-administrator-salary/ http://www.completeitprofessional.com/database-administrator-salary/#comments Thu, 23 Oct 2014 11:30:25 +0000 http://www.completeitprofessional.com/?p=2956 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 (Indeed.com)
  • 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]]>
http://www.completeitprofessional.com/database-administrator-salary/feed/ 0
5 Simple Steps For How to Become a Programmerhttp://www.completeitprofessional.com/how-to-become-a-programmer/ http://www.completeitprofessional.com/how-to-become-a-programmer/#comments Mon, 20 Oct 2014 11:30:41 +0000 http://www.completeitprofessional.com/?p=2950 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 / FreeDigitalPhotos.net

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]>
http://www.completeitprofessional.com/how-to-become-a-programmer/feed/ 0
8 Simple Steps For How to Become a Database Administratorhttp://www.completeitprofessional.com/how-to-become-a-database-administrator/ http://www.completeitprofessional.com/how-to-become-a-database-administrator/#comments Thu, 16 Oct 2014 11:30:12 +0000 http://www.completeitprofessional.com/?p=2934 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 / FreeDigitalPhotos.net

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]>
http://www.completeitprofessional.com/how-to-become-a-database-administrator/feed/ 0
Evernote – A Better Way To Take Notes At Workhttp://www.completeitprofessional.com/evernote-take-notes-at-work/ http://www.completeitprofessional.com/evernote-take-notes-at-work/#comments Tue, 14 Oct 2014 11:30:53 +0000 http://www.completeitprofessional.com/?p=2930 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 / FreeDigitalPhotos.net

Share and Enjoy

FacebookTwitterDeliciousLinkedInStumbleUponAdd to favoritesEmailRSS]]>
http://www.completeitprofessional.com/evernote-take-notes-at-work/feed/ 0
My Interview with Samanagehttp://www.completeitprofessional.com/interview-with-samanage/ http://www.completeitprofessional.com/interview-with-samanage/#comments Mon, 13 Oct 2014 11:30:16 +0000 http://www.completeitprofessional.com/?p=2925 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:

http://blog.samanage.com/2014/10/guest-interview-ben-brumm-on-running-an-it-help-desk/

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]]>
http://www.completeitprofessional.com/interview-with-samanage/feed/ 0