Skip to main content

Fear Continued


Previously I described what fear can do to a developer and how a company can build an environment that will allow their developers to not have fear. Today I thought I would look at what a developer can do for themselves to remove fear.

Fear of not being good enough

It seems to me that we as developers have a tendency to look at other developers and think that we do not match up to them. We don't correctly evaluate our own value so and assume that we don't have a lot of value or that no one would want to hire us because we aren't good enough yet.

This fear can lead us to not realizing that we are more valuable to our current employer and that we should be treated as such, wether that is salary or benefits or vacation time or the ability to work from home, we don't think we are good enough to ask for the things that we want and the things that would allow us to be more happy at work. It can also lead us to not look at other job opportunities that may be better for us because we are worried they will reject us, not based on our actual ability, but because we project our fear onto what an interviewer will see and assume they would not want us.

How do you overcome this fear? What can you do to improve your own outlook and ask for or seek out the change you want?

First, you need to realize that you are better and likely much better and valuable than you give yourself credit for. Look at yourself in the mirror and really evaluate how much you know, how much you have accomplished, and what sort of projects you have completed. If you have been developing for any amount of time, you have likely improved significantly from when you started. You probably have some projects under your belt and should be able to take pride in those successes. Even if you look at back at one of your early projects and think that it wasn't very good and that you could do a much better job now, that just shows you how far you have come and should encourage you.

Now that you hopefully realize how much value you have, what can you do to prove it? If you want a new job you will need to have a resume, what can you put on that resume that will prove to the prospective employer that you are worthy of the position? If you want to stay at your current employer, but want a raise or a new position, what can you show that will get management to agree that you deserve that change?

Do you go to User Groups, Hackathons, Code Camps, or any other conference/meetup where developers get together and learn? These are great opportunities to learn, but also a great way to network. Once you go to a couple of meetings you will begin to see familiar faces and will likely make friends with some of them, remember they are all developers too and will likely have a lot in common. Most of these events will also have door prizes of some sort so you may end up getting some new toys. Worst case you will likely get a free meal and some free training, which is a pretty good deal.

What sort of side projects do you have? Especially when you are looking for a new job, having some real code that you can point people to will help you greatly. Maybe you could write a small mobile app. Maybe you could write a plugin for your IDE of choice. You could write a JavaScript library, or extend some functionality of an existing library. If you like video games and play a game that allows users to create content, create something new for that game. Are there organizations in your local area that need development help that you could volunteer your time to?

You can also showcase your knowledge by helping others out online. Sign up for Stack Overflow and answer some questions. Have a favorite development tool, does it have online forums that you can help other users with? Are you a fan of an open-source project, grab that latest code and see if you can fix some bugs or find other ways to contribute.

Knowledge is Power

Learn

Seek out all development knowledge that you can. Online training sites like Plural Sight or Code School offer great opportunities for a ton a varied learning. You can watch videos on just about every subject at Plural Sight and get a good understanding of new concepts or languages really quickly. You can jump around and hit a lot of topics or you can dive in deep and really get to know one topic inside and out.

Books. Yes even in the digital age, books are still a great resource for knowledge. Pick a topic that you want to learn about and then do some searching online and you are likely going to find many options for books that will teach you that topic, and as you learn more about it, you will probably also find more resources to continue learning and growing.


Do it

Go out and start making changes. Don't wait until you hit some milestone or you finish your side project or you read that one book. The biggest and hardest part of getting past the fear of feeling inadequate is to actually doing something about it. If you apply for a job and they don't hire you, it will be disappointing, but it will also be giving you experience and point out areas that you can focus on improving. If you ask for a raise and they turn you down, ask what you can do to get that raise and you will have a path to follow and specific things that you can work on. It will give you more motivation to get better and push you to become a better programmer. It will also get you past the fear of making the change, you will have made a leap and that will propel you forward.

Comments

Popular posts from this blog

Converting a Large AngularJS Application to TypeScript Part 2

In part 1 I was able to take an Angular controller written in JavaScript and convert it to a TypeScript file while doing very little to change the code. In this post I am going to explore transitioning that same controller to actually use the features provided in TypeScript. This is how I left off my controller:
declare var angular: any; (function () { 'use strict'; var controller: any = function($scope){ ... } angular .module('app') .controller('controller', controller); controller.$inject = ["$scope"]; })();
While performing the translation from JavaScript to TypeScript, I would make sure at every step that the functionality I expected still worked, so if anything I did broke the system I would change it back and try again with another approach. Also if something seemed like it worked too easily, I would break it on purpose to make sure I wasn't getting a false result through browser caching a previously working fil…

Converting a Large AngularJS Application to TypeScript Part 1

I work on a project that uses AngularJS heavily. Recently we wondered if using a preprocesser like CoffeeScript or TypeScript for our JavaScript would be beneficial. If our team is going to switch languages, we would need to be able to convert existing code over without much pain and we would have to find enough value in switching that it would be worth the conversion.

I had read an article that stated that because TypeScript is a SuperSet of JavaScript, you could convert a plain JavaScript file to TypeScript by changing the extension to .ts and not much else would need to change. I wanted to test out this claim, so I took a file that I was familiar with, an Angular Controller, and tried to convert it to TypeScript to see how much effort it would take and then try to figure out where we would benefit from using TypeScript.

This is what the controller JavaScript file looked like to start out with:
(function () { 'use strict'; angular .module('app') …

Gamify TDD

I like it when things that would not normally be associated with games add concepts from games as a way to incentives you to accomplish things. Why simply go for a run if you can have an app that will track you and give you a gold star if you do better than you did the last time? Why go to the coffee shop that only gives you coffee if the other one will give you points that you can redeem for free drinks eventually?

I was recently introduced to CodeSchool, an online training system similar to PluralSight, it has video courses and challenges you can take to prove that you retained what the video taught. CodeSchool also adds badges and tracks to your learning, so as you complete a video and its challenges you get a badge. Complete a collection of courses within a specific discipline and you become a master of that discipline.

Some of these incentives are not tangible and really don't mean much in the real world, but they tend to work for me. If I start working towards a large goal a…