It is easy to keep to yourself as a software developer. Work comes in, you concentrate, solve the problem, and then more work comes in. Years can go by, and your co-workers may not know one thing about you. This is what happened to me. I spent my first two years at a company working on a project. I had minimal interaction with people outside of my immediate team. Due to this, I would always be mistaken as a new employee. This wasn’t good because this was around the time that I was considering asking for a promotion. I’ve learned that people in the company need to know who you are before they will approve a promotion no matter how good your resume is. So, I decided to get involved.

How to get Involved

The easiest way is simply to share with co-workers. Share a little about yourself and listen to the stories of your co-workers. People are attracted to your humanity, so let people know a little about your life outside of the job. Also, if your company participates in charity work, get involved with the charity drive. Doing this gave me an opportunity to meet new people in my department and in other departments. Not only did I meet people I generated relationships that I can lean on in the future.

Photo by unsplash-logorawpixel

What do you do when you feel overwhelmed and stressed? Sometimes life, work, responsibility and timelines can make you feel overwhelmed. Software development as a career can be VERY STRESSFUL. Constant problem solving, evolving programming tools and methodologies, and burdensome expectations of constant perfection can really take a toll on your mind and body. On top of that there are also the stresses of life to deal with (family, bills, etc). We really need to take care of ourselves in this line of business.

I know what stress feels like

You don’t last a decade in this business without going through some stressful situations. Here are some stressful moments off the top of my head that I’ve dealt with.

         Everything seems to work in the development environment, but when moved to production nothing works…

         Key pieces of software stop working for no “apparent” reason.

         Having to debug an issue for a user that needs software to be fixed instantly.

         Dealing with disrespectful people

         Dealing with micro managers

         Working through the night and getting no sleep

         Not being compensated for the overtime that you have to put in

How I deal with stress as a Developer

Times like these make you question why you chose this career to begin with, and what you can do to cope with the stress. It will never be completely removed, but you can deal with it. Here are some things I do when feel overwhelmed and stressed:

         The first thing I do is Pray. You may not believe in prayer or a higher power but praying actually works for me. It calms my mind and helps me feel like I’m not alone.

         I go for walks even if it is just to the washroom. This is vital for me. Walking helps me to clear my mind and relax. I’m fortunate to have a park near my place of work and I find that walking through nature helps to calm me down.

         I try to get proper rest at night! I do my best development work in the wee hours of the night/early morning, but I find that staying up to late at night is not good if you are dealing with stress. Check out this post for more information about the results of sleep deprivation

         I vent to a loved one.  My wife is not a developer, but having her there to listen and to be my biggest supporter helps .

         I try not to think about work in my off hours. That is my time.


Stress Prevention as a Developer

There are times when we will not be able to control the circumstances that come your way. However, there are also times when there could have been some preventative measures to your stressful situation.

         Time Management is very important, and if truth be told, at times this could be the cause of the late nights and lack of sleep. Try not to procrastinate.

         Ask questions to those who know more than you! Don’t be a hero. If a problem has already been solved get the solution and give credit where credit is due.

         Show respect to the users of your applications. Developing  rapport with your users can go a long way if an issue arises with the software.

Photo by unsplash-logowhoislimos

Your first impression with any potential employer is your resume. My resume has been updated throughout the years but the structure of it has remained the same. The key to a software development resumes is to highlight your tools, languages, experience, and technical certifications. This is the second post in my resume writing blog series. For tips on writing your cover letter click here

Part 1 – Summary of Qualifications

Start with a paragraph briefly describing your best attributes. Use positive adjectives to help with this description.

Detail oriented Web Development professional with knowledge of multiple programming languages. Experienced in requirements gathering, and effectively translates business requirements into functional software.

My Core Strengths are:

– Java

– Oracle


Part 2 – Technical Skills

List of your technical skills divided into Programming Languages (C#, Java..), Database Management (MySql, Sql Server, Oracle…), Operating Systems (Windows Server 2016, Red Hat…), and Software tools (Visual Studio, Microsoft Office…)

Part 3 – Career Summary

List of previous relevant work experience separated by Company. With each company list highlights of your work, and tools you used. These tools should have been previously listed in the Technical Skills section.


XYZ Company, Toronto

August 2016 – present

  • Coding, compiling, testing, documenting and implementation
  • Liaising with external vendors regarding software engagements and troubleshooting issues
  • Providing on-going support to end users and other technical areas as well as performing related duties as assigned
  • Main Tools:
    • Visual Studio .Net 2010/2012/2013/2015, C#

Part 4 – Education Summary

List of educational institutions from which you graduated. If you were a part of any clubs or societies here would be a good place to include that information.

Part 5 – Rewards and Recognition

List of certifications and other awards that you received

And there you have it. The basic structure of a software developers resume. I hope that this helps in your job quest!

I have had the opportunity to get a lot of help with writing my resume over the years. It started when I was in the co-op program in college. Before we could go out into the field we had to complete an in-class portion of the program, and one of the modules of the course was technical resume writing. Since that time, I’ve worked with head hunters and I’ve looked at other developers resumes and learned what makes a software development resume stand out. This is the first post in my Resume writing blog series. We will begin with the Cover letter.

The Cover Letter should not be too long but should highlight the key portions of your resume. Below is a break down of the paragraphs with introductory sentences.

Paragraph 1 – Speak about how you came across the job opportunity, say something that is flattering about the company, and confirm that your education and experience make you a key candidate for the role. Here is an example

“While browsing the Job listing board for Software Development opportunities I came across your posting for a Junior .Net Software Developer. I recognize that Company A is a leader in the industry and that your company was voted one of the best places to work in Canada. Not only would it be a privilege to work for your company, I believe, that based on my education and experience, the requirements for this role align with my skillset.”

Paragraph 2 – Highlight you. What makes you special. Use words that are flattering to you. SELL YOURSELF.

“Prompt, detail-oriented software engineer that implements requirements within specified time frames. My core strengths are Java and Oracle, as seen in my current roll at ‘your present company’ where I have been a dedicated employee since…”.

Paragraph 3 – Highlight your current duties at your current job. If the job description lists certain necessary tools or skills and you are currently using them in your work environment, list them here. If you are in school you can skip this paragraph.

“I currently work as a software developer at XYZ Company where I develop and maintain applications. I am responsible for …. The tools that I use in my current role are .Net 4.5, SQL Server, Html, Javascript…(List most of them)”

Paragraph 4 – Talk about your education and any clubs or special things that you were a part of in school. Also stress the soft skills. Talk about being able to communicate, being articulate, and being able to write clearly. These are highly important skills.

“Prior to my professional work, I achieved a Master of Science Degree in Computer Science from the University of Toronto. While there I focused my study on Machine Learning and was selected to be a part of an internship with google. I have been recognized for my ability to understand business needs and to effectively communicate with both Technical and non-technical work associates…”

Paragraph 5 – Talk about any additional points that are relevant to the job and that paint you in a positive light.

“In addition to my degree I also volunteer as a HTML teacher for a coding bootcamp where I encourage teenagers to learn to code…”

Paragraph 6 – Conclude. Emphasize that you are excited to meet with the person hiring face to face.

“Again, this opportunity looks like a great fit for me. Based on my experience and education I believe that I would be a good candidate for this role and I look forward to hearing from you to discuss the Software Development opportunity further.”

This is just a link for anyone having an issue with setting up the Android emulator in Xamarin.

I did it!

After years of thinking about it, after months of actually taking the courses, and after a month of re-taking the courses and days of study, I can now proudly say that I passed my certification exam. I am now a Xamarin Certified Mobile Developer.

For anyone interested in the process

The self guided classes are great, but the real value of Xamarin university is with the live instructors. All of them were amazing and really wanted to ensure that the students in their classes understood the material. There is a lot of material to understand, and some of the topics were quite complex for me (especially renders, and effects). Be sure to ask questions if you have any. The instructors are very knowledgeable and they were able to answer any question that was posed to them. They were also able to provide great resources for additional information.

Re-taking Archived Classes

Although the instructors were great, I did end up re-taking all of the classes. Aside from the self guided courses, there are also archived video lectures (normally longer, with much more explanation). I went through all of them. It was a few months since I took some of the courses, so there was a bunch of things that I completely forgot. Having the ability to refresh my knowledge by taking the archived courses was critical for me to pass the exam.

The Exam

After I finished re-taking the last two classes (Effects, Renderers) I decided to take the plunge into the exam. I spent all of the day infront of my computer neglecting my wife, daughter, and mother to focus on the task at hand. Getting this exam done has been a looming cloud. I didn’t feel quite ready but I said “What the heck, lets give it a shot”. It’s open book, so I had the exam on one of my computer screens and everything else (code, slides, google) on my other screen. It was grueling. It took me practically the full 3 hours. There were 150 questions and they covered absolutely everything, and an 80% (120/150) is needed to pass. I was sure that I failed, but when I hit the submit button I found (to my utter shock) that I did pass!!


How to prepare

  1. Take all of the classes
  2. Re-Take all of the classes
    1. Including re-doing all of the assignments
  3. Read through the slides
  4. And practice, if you can

All the best and happy Xamarining

A couple of weeks ago I enrolled in Xamarin University and my confidence is building as I learn more and more about mobile development. For those of you who don’t now what Xamarin is it is a product that was acquired by Microsoft that allows developers to write cross platform (iOS, Android, Windows) apps using C# (or F#).

The Xamarin methodology allows us to share most of our back end code, and if using Xamarin.Forms we can share most of our UI code also. Using Xamarin also ensures that native controls on the devices are being used. It’s not just a webview with fancy html5 and css3 code.

I began working with Xamarin a number of years ago when the company that I was working for decided to research mobile app development techniques and I fell in love with it. Fast forward a couple years and I’ve finally taken the Xamarin University plunge. I’m hoping to become certified, but most of all I’m hoping to be as confidant in Xamarin as I am with

Anyways we’ll see how it goes!