How to Show You’re Ready to Advance Your Career as a Developer

As a developer, demonstrating your readiness to advance your career involves a combination of technical mastery, leadership, and continuous learning. Here are some key strategies:

  1. Master Technical Skills: Improve your coding skills, learn new programming languages, and stay updated with the latest technologies.
  2. Take on Leadership Roles: Lead projects, mentor junior developers, and contribute to team success.
  3. Earn Certifications: Obtain relevant certifications to validate your skills and knowledge.
  4. Expand Your Professional Network: Attend industry conferences, join professional groups, and network with other professionals.
  5. Showcase Problem-Solving Abilities: Demonstrate your ability to solve complex problems and make sound decisions under pressure.
Continue reading How to Show You’re Ready to Advance Your Career as a Developer

The Essence of Leadership: Serving to Lead

Leadership is an art, a commitment, and a journey best navigated with a servant’s heart. The concept of servant leadership flips the traditional leadership script, suggesting that the most influential leaders prioritize the needs of their team above their own. This blog post delves into the philosophy of servant leadership, highlights three historical figures who embodied this approach and offers insights into how leaders can serve their teams effectively.

Servant Leadership: A Timeless Approach

The term ‘servant leadership’ was coined by Robert K. Greenleaf in his 1970 essay, “The Servant as Leader.” However, the practice dates back much further, with examples found throughout history. Servant leaders lead primarily to empower and uplift those around them.

Continue reading The Essence of Leadership: Serving to Lead

The Role of Critical Thinking in Software Development

Introduction

Software development and innovation is moving faster than ever before, but there is a skill that developers, architects, and coders need adopt to stay competitive. This skill is Critical Thinking. In this article, we will confidently explore its importance and practical applications. The Critical Thinking skill will help you be a better developer, coder, problem solver, and valuable team member. Innovation should become more naturally when Critical Thinking is practiced and less gaps should be filled in the final product.

Let’s dig into it…

Continue reading The Role of Critical Thinking in Software Development

Taking Time to Grow

Happy New Year! I hope 2022 is all that much better than 2021.

Taking Time to Grow is not something that comes easily or naturally. So many of us will fill our days with meetings, phone calls and other essential tasks. If you are like me, you will block off time and give it up for others looking to book time. The latter is not suitable for personal growth.

Continue reading Taking Time to Grow

Podcasts I Follow

These are the Podcasts I follow and listen to most often. They range from business, design and general interests. They are not ranked in an particular order, but my favourite is James Altucher and Jordan Harbinger. I would challenge everyone to listen to one or both of these regularly. Continue reading Podcasts I Follow

Personal Branding

Andrew Pallant - LdnDeveloper
Andrew Pallant – LdnDeveloper
I am not a marketing person, but I do believe in personal branding. How I display myself professionally in my networks is who I am. My personal branding is consistent throughout everything I do so that people have something to tie myself to. It is remember able and I know this because people have told me the know me through my personal branding. Continue reading Personal Branding

The Two Sides to Job Hunting

I have had students ask me about how to get hired or who is hiring. I have also had employers ask me how to find developers when they have had a tough time hiring quality employees. These are tough questions to answer, but I have been on both sides of the table.

Continue reading The Two Sides to Job Hunting

Be Kind to Those You Meet

You never know when you meet someone what they will be to you in your life. You may meet them in a service club, be a customer of yours, be a friend or an in-law. You just never know when that argument with the sales associate be something that bites you down the road. Continue reading Be Kind to Those You Meet

Importance of Code Refactoring

By continuously improving the design of code, we make it easier and easier to work with. This is in sharp contrast to what typically happens: little refactoring and a great deal of attention paid to expediently adding new features. If you get into the hygienic habit of refactoring continuously, you’ll find that it is easier to extend and maintain code.
—- Joshua Kerievsky, Refactoring to Patterns

I had recently seen the above quote while sifting through some periodicals that I read and it reminded of the importance of Code Refactoring. Refacotring is a mindset that you must put yourself into. You have to decide that you do not write perfect code the first time and that there may be some room for improvement. An hour or two a day may be all you need to review your own code.

I recently spent two hours reviewing code from one of my modules that I had written. It had the same or similar code written in 5 sections in the code and had the same purpose to these sections. Each section had 11 or more lines of code in it. I took one of those sections of code and converted it to a function and then replaced the 5 sections with this new function. Ultimately I had eliminated 51 lines of code out of one module.

Reasons for Refactoring Code
1. Consolidating and eliminating “Like” or “Similar” Code
2. Breaking out a extraordinary long function into more manageable bites
3. Make error trapping easier to handle
4. Make code more readable and maintainable
5. Removing nested IF or logic Loops
6. Make it easier to document
7. Create Reusable code
8. Better class and function cohesion.

The benefits now are the following:
1. Similar code is now the same which is the way it was meant to be ( coded over three days, the code morphed a bit ).
2. Since the code had the same purpose, it looks the same now and behaves the same.
3. Code is in one spot instead of 5 – makes it easier for a base change
4. Error trapping is much more controlled.

If you cannot review your own code ( some people cannot and should not be ashamed for it ), you should get yourself someone you can trust to review the code for you. The do not have to modify the code, they can either insert comments to you, print out and scribble on the pages or meet with you. Never take it as bad thing if someone wants to change your code; take it as a learning experience. If you are using someone else, challenge them back. Make sure they know what they are talking about. A face to face meeting is always a good idea. A mentor, or team lead should be taking on the role of code reviewer. Code reviewer should be recommending ways to refactor your code. This should be done prior to release, deployment and ending a project. The review should always be done with the developer(s) responsible for writing the code. Should never be done without as that undermines the developer(s) and no one learns anything from it.

How a Senior can Help a Junior Developer

Senior developers have a responsibility to help those who are new to the profession.   We are the one group of people that the junior developer can turn to after college.  Essentially the college gave the new developer 2 years of education, a piece of paper and tossed them out to sink or swim.

I personally do not like to see anyone sink.  I believe no matter what the skill set is, a person could be a little better if a helping hand is given.  I am not suggesting a babysitter, as no one really wants that.  I am suggesting an open door, an open mind and a little patience.   Juniors will make mistakes and they will often be a little cocky thinking they know it all coming out of school, but we need to remember their minds are still in the stage of learning.

Juniors can learn much more at their stage in life.   Their minds are like sponges and soak in the good and bad habits and knowledge that we share with them.  The best thing we can do for them is to teach them everything we know, encourage them to do extra learning on their own and to listen to them.   When I last managed a small team, I asked for a weekly report, which consisted of:

1. What are they working on?
2. Where are they on the schedule of tasks?
3. What obstacle have then encountered?  Are they still stuck, if not how did they over come it?
4. What is one thing they learned new this week?

During our weekly meeting, I would get one or two of the developers to talk about either the obstacle or their new found knowledge with the rest of the team.  This way all new and old developers had a chance to share and learn from each other.

In summary, help them learn in every aspect.  Listen to their ideas and new found knowledge.  Have an open door for questions.  Lastly; be cautious of your bad habits.

Related Reading: Can Senior Developer Learn From Junior Developers