Original post published here. More about Jennifer Bland.
My journey in the tech world is quite unique. I graduated from university before the IBM PC was introduced, and I earned my MBA before there was a world wide web. After an early retirement, I decided I wanted to attend a coding bootcamp. Now I’m a senior developer. Let me share 7 things I learned on my journey.
If you are a programmer, you will be using a version control system. Github is the leading VCS used by companies. Usage of a VCS is a daily activity you will experience as a programmer.
You will work as part of a programming team. Each member of the team will be responsible for completing their coding assignment. Then everybody’s code will be combined together to produce the final solution.
Every programmer needs to know how to submit their code and resolve conflicts when your code is merged. If you don’t know how to use Github ,you need to learn today.
Exactly 30 days after I graduated from my coding bootcamp, I started work at CNN on a contract-to-hire position. During my first three months, I had thoughts that I would be fired because I felt I did not know what I was doing.
After three months, I was converted from contract to a full-time employee. It was an odd coincidence that a friend whom I recommended for a position on my team, started as a direct hire that same day. We went through orientation together as full-time employees.
Three months later my friend confided in me that she felt that she would be fired because she felt she did not know what she was doing. I could not help but laugh because I had felt the same way.
Feeling like an imposter is something that everyone feels at some point in their career. The absolute worst thing you can do is to give in to the feeling. You must keep pushing forward in learning and applying what you learn in your job. Remember that in a year, your skills will be greatly improved.
Most people when they learn to program, will use a text editor like Sublime Text, Atom or VIM to write code. When you start working as a programmer, you should switch from a text editor to an IDE like WebStorm, IntelliJ or Visual Studio Code.
Programmers are expected to write code but also to test and debug code. An IDE will provide the functionality to test and debug. Those features are missing from text editors which is why you need to know how to effectively use an IDE.
An IDE will provide you with an environment in which you can write code, test it and then debug it during operation. IDEs will also have integration with a VCS like Github.
Mastering the functionality built into an IDE will greatly simplify your daily tasks as a programmer.
As a new programmer, company culture can either demoralize you or super-size your programming skills. My first job after graduating from coding bootcamp was at CNN. I attribute the company culture at CNN as well as my manager, Nick Zoss, for allowing me to greatly improve as a programmer.
I have worked at companies where the company culture was very toxic and discouraging. If you have leadership that is more concerned with how many hours you sit at your desk during the work week vs the quality of work that you are producing, you will find your ability to produce and achieve will be greatly reduced.
When selecting a company to work for as a programmer, you should evaluate the company culture. You can get an idea of the culture by asking targeted questions during the interview process.
I will always pick a company with the better culture over another company even it means earning a lesser salary.
The last lines of the poem Invictus are “I am the master of my fate, the captain of my soul.” You have to take responsibility for your career, and the direction it is heading as a programmer.
When I worked at CNN, my manager scheduled 1-on-1 meetings with every programmer on the team every two weeks. During the time I was at CNN, I made sure that I was present for every one of these scheduled meetings.
During these meetings, my manager would give feedback on how I am doing, provide input on areas that I need to improve and give me direction on future projects. I always took action based on the feedback that I was given.
The next company that I worked for did not do 1-on-1 meetings. Within my first month I talked to my manager about doing these meetings and scheduled them. Even then, my manager only bothered to show up for 1 of 4 scheduled meeting. If leadership is not interested in their employees, then you should not work in that type of environment.
Networking allows you to build relationships with fellow programmers. If you need help or answers to a question, you can always turn to your network for assistance.
Networking by attending meetups and training events will not only improve your skills, it will also introduce you to people who are already familiar with that tech stack.
Networking can further your career. Many companies do not advertise their open positions. If you want to know about potential job opportunities, you need to know somebody that works for that company. Networking can introduce you to a contact who can put forward your resume for that dream job.
When you graduate from a coding bootcamp you learn only one tech stack. The challenge is the tech industry changes so fast that you need to keep up with these changes.
When I graduated from bootcamp, most everyone was using Angular.js and Backbone.js. In the following two years both Angular 2 and Angular 4 has been released and React.js is making inroads as a popular front-end library. Backbone which I learned is in decline and very few companies are still using it.
You need to be constantly learning new technologies because the industry will be constantly changing and evolving. If you are not interested in learning new technologies, maybe this industry is not for you.
There is a great demand for software engineers. According to DataUSA, universities graduated 28,389 computer science majors last year. The problem is there are more than 223,000 unfilled coding jobs in the US, and 91% of those vacant jobs are outside of Silicon Valley.
Software engineering is a high paying career that anyone can enter with or without a college degree. If you are considering becoming a software engineer, there is a vast opportunity available to anyone with the skills to enter the tech industry — whether you obtained those skills from a college degree, a coding bootcamp, or are self-taught.