Why you should not work at home if you are young developer
In this post I want to share a few things with developers starting their career. Today, a lot of people are working from home, because it is cool, you don’t loose time in public transport, working time is flexible, and you enjoy it somehow. This idyll can become nightmare if you are not disciplined and if you don’t organize your time properly (post author worked from home in two scenarios: offshore developer for a company and as freelancer). But, if you are developer just starting your career, and you want to work from home, here are some reasons why you should not do it.
You are not making interviews
Interview is one of the best things which can happen to any developer. Every time you have an interview, you are making yourself better, because you have to prepare yourself. Preparations include repeating some topics you forgot, learning new topics and technologies, resolving some programming problems using new algorithms and approaches and what is the most important, psychological training. I don’t want to repeat here known stories about interviews, but the fact is, if you are not psychologically prepared and if you don’t leave impression to an interviewer, you are most likely to receive “No” letter.
Can you remember your first interview ? You were totally out of a control, you could’t control your thoughts, you were sweating, let’s say it in one line “it was not so good”. Your second interview was, let me guess, much better. This means you are progressing as you make more interviews.
Now let’s go back to the story. If you are starting your developer career and you are sitting in your home and working, making no interviews, then what can you expect your interviews are going to be after 5 years? Everyone of us will have interview in future but it is better to make big mistakes at the begging of the career then in 30’s when you don’t have so much space to miss a shot. Also, by making interviews you will build self-confidence, renew your knowledge and you will meet other developers. At the other hand programming interviews are sometimes very similar, that means that programming problems you had during one interview will maybe repeat in the future.
You are not meeting other people
Imagine really talented football player with the best skills in the world playing football at home. No scouts can see him, no trainers, no football teams he is playing for, and how he can expect to be the world number one if nobody knows about him?
You got message? In order to boost your career you have to, read carefully, you have to go out and spend some time with other developers, managers, CEO’s, people not only from IT industry etc. because you do want to share your ideas with others, you want that someone knows you exist, you are educated and you are ready to work and learn.
Learning curve is low
At the start of your developer’s career you should have a mentor. Mentor is person who should learn you how to approach to the problem, and how to find good (optimal) solution to it. If you think you don’t need mentor and you can learn things alone then ask yourself why big companies are having mentors? It is true that you can learn alone, but then learning curve is much lower and you will need more time to learn. Also, with good mentor willing to teach, you can learn in a half a year something that people are learning one year or more.
Here is one example. You have some issues with you application, and you have already spent 5 hours searching for a good solution, and you still didn’t find one. Imagine that you have a mentor who can explain you how to resolve this problem in 15 minutes, and he will explain you what are other problems you might expect.
There is also one big problem when you are working form your home, especially if you are freelancer. Your code is not reviewed. That means you can’t learn because there is no one to check your work, to say to you, hey there is better way to do this, or this solution is not good.
Online jobs could define your career
Back in students days I chased some online services where I could earn some money. At that moment, I would just pick up a job and send an offer. At first, this was pretty cool and I realized that my offers are accepted when I apply to jobs requiring old technologies (because nobody didn’t want to work with them). After some time I started to earn decent amount of money for one student, but I worked with a bunch of old technologies nobody is working with. Now I say I was “job chaser” instead “knowledge and technology chaser“. What is problem with this approach? Nothing if you are not willing to commit yourself to do this in next 5 years, because when you quit this process and start to search for a new job, you will be programmer who is working with old technologies and you are not competent anymore.
When you are working online, then you really need to chase a job. This means you will apply to any project available there in order to get a job (PHP, C#, Node.js, AngularJS etc…). By doing this you will not specialize yourself in any technology, and that is bad. If you think that knowing everything is better than knowing only one thing, then think about the following proverb saying “If you want to be everywhere, then you are nowhere“.
Lack of people skills
People skills are something you have to work on every day in order to have a successful career. Your job as software developer is to make a product/functionality/service FOR PEOPLE, not for anyone else, right? Everyday you have to communicate with clients, with other team members, with team leaders etc. You have to learn how to deal with people, and you can’t learn that if you are sitting in your room. If you, as young programmer, don’t learn this, than what you can expect later in your career? You will have problems joining teams, and working with other people in general, which can frustrate you. There are few things you should learn when we are talking about this topic:
- Never criticize other people, and your team members
- STOP arguing
- Make conversation with people productive (try to understand them, and give them advice accordingly)
- Silence is sometimes your friend (it is better to say nothing instead something)
- Be supportive
- Be inspiring
24/7 you are at work
One big problem with young developers working from home is that they work 24/7. I was at that stage, when I would give my life for my job, but that approach is not good.
First, you are human being and you should rest yourself. You have to define your working hours, and everything after that is your free time, otherwise, you will lose your friends and your social status with other people because you are always busy. You are young and your career is anyhow better if you are not resting, and taking free time.
That is not your only problem. Your home will become nightmare because you are working, living, eating, sleeping at the same place, and you don’t want to do that. Programmers working from home are very organized and disciplined, and yes they invest some time to achieve these abilities.
Other problem is when you have client in different time-zone, and client is available from 00:00. I know what you will do, you will be there every time at 00:00, right? Listen to me, stop that immediately because you are loosing too much in order to satisfy the client. If this happens and if you really want to keep the client, then you have to change the price of your service.
Also, it is most likely that you will stop your other activities (sport, music, photography) in order to satisfy client expectations, but again, you should not do that.
Working from home is something really cool and good, but that requires proper self-discipline and time planing. If you are developer who want to start a programming career, then do not start it from your home, and instead go to your first interview and try to get a job. After that you will meet other people and programming standards which you can use later in your career.http://code-epicenter.com/why-you-should-not-work-at-home-if-you-are-young-developer/Why you should not work at home if you are young developerhttp://code-epicenter.com/wp-content/uploads/2015/09/working-from-home.jpghttp://code-epicenter.com/wp-content/uploads/2015/09/working-from-home-150x150.jpgDeveloper's careerworking from home