Iman Tumorang
Iman Tumorang
Software Engineer - Writer - Open Source Enthusiast - Startup Enthusiast
May 2, 2018 6 min read

An Opinion-based : Advices to Junior Programmer

My honest opinion how to survive being a Junior Programmer

thumbnail for this post

Being junior is a bit scary. It’s like too many things that we must know and learn. The system, the teams, the new technology, and everything. Currently, I can said, I’m a junior in my office. But time by the time, my task increased and more deep. At the beginning I just instructed to code something, then report to my team lead. Now, I’m beginning to solve a problem then report to the whole team. It means, I’ve survived in Junior life.

Junior to Middle Programmer

Well, for sometimes, if I still confused then I will asking for some of idea or instruction from my team lead. But now, I’m on my full access to do what I do about solving the problem.

Well here some of a few tips from me, maybe it could help you in your journey as a junior programmer.

Relax and Control your Impostor Syndrome

Impostor Syndrome means, when you feel fear being exposed as “failure” or “fraud”. You will feel unsafe , unlucky and like, how to do this, how to do that, what if I fail to solve this, what happen if this goes wrong, crash etc.

Impostor Sydrome takens from Google Images Search

Relax……

Your lead or senior won’t eat you. Just start with asking.

I admit that, I also have this syndrome when joining my first company Bornevia and also my current company Kurio. I was too fear, that what happen if in one month I didn’t know anything. What happen, if my first deployed application goes wrong. What happen if in my probation review, I was rejected , because I was too dumb, lazy, unskilled etc.

In Bornevia, one of my senior, always taught me to calm down. And incrementally, he was also give me some of resource to learn, to improve my knowledge about the system flow and other tech stack we used.

Same when I was join Kurio, my current company. They always said , “It’s oke, no problem being confused”. Or “For now, it’s ok you only accept and listen what are we speaking of”. It’s ok , it’s ok, and it’s ok.

WTF!!!!

I’m feeling not ok. I’m started to fear being a failure. I need to learn more. I need to search this more in google, what is this meaning.What is this gonna be, what is used for? What if my lead disappointed on me ? What if , what if and what if ? Well it’s like spinning around in my mind.

But, the problem is, I never ask. I never ask how to solve this, that, and those. I search all the term and everything from google. Well if I found nothing, I will sit in silent, until my lead asking me about the progress. Then I will ask what I didn’t understand in my problem.

Start with asking, then learn from trying

Improve your skillset constantly, We are not in Sprint but Marathon!!!

In my first company, Bornevia, when I was trying to prove about my existence, that I was not a failure. I must do this, that, and those. I’m making a problem to my brain.

I force my self to do the sprint learning. I’d tried very hard to understand about AngularJs in one week. I slept overnight and get up earlier. I lack of sleep. I lost my concentration when work. Please don’t do this!!!!!!

Lack of sleep taken from google images search

Coding is a marathon, you learn by practice and doing. It’s a marathon for along long journey. Because when you love coding, dive deeper to coding, you will found an endless creativity, an endless track to be running.

Don’t push your self to understand it in one night. If you are a genius, well maybe you can tried. But not everyone can became genius. Everyone has their own capability.

Improve your skillset by learning Online

Improve your skillset by learn from a famous Online course like : Udemy, Coursera, CodeSchool, CodeAcademy etc.

When working in Bornevia, I also buy some of online course in Udemy to increase my knowledge about software engineering. Some of them free and others paid.

At the time, I’ve realized that what I learn in college just a little of them, tech stack, Software Designing, Concept , etc. Because at that time, I’m building my own syllabus to be a good software engineers. It’s like me take a second degree after my graduation. I work at daylight, and learn at night. I make it constantly until I know what I miss and what I need to learn next.

College only gave you a piece of gold and a shovel, if you stop you only get a piece of gold and a rusty shovel. But if you dig more and more, you will get a ton of gold

Contribute to your first, second, third and the next your Open Source project

My first open source project was Saint, a simple library. Just to doing a basic arithmetic with integer. Then it’s come with a new open source project a clean architecture, a project that I made when learning the clean architecture in golang, then with faker, and then contributing to others project etc.

My github

Well, even it’s a simple library or a simple open source project, it will teach you how to code in clean, and efficient. Building library is different to building a big project. When building library, you also have to make sure your code is fast, and clean. So when people use it, it will not reduce their time, both in execution or in learning to use. When you build your open source project, you will get an extra value to your lead. Your code will more look cleaner and tidy.

Stay Curious, Start Reading, and Solving Problem

When you are still a junior programmer. The first thing you must have is : “Curiousity”. Be curious, what the tech stack. How the system running, then learn it.

Be curious, what this piece of code does in Golang

ids:=idInterface.(string)

Read the documentation, learn the example. Trying to implement it in a simple function.

Be curious, what happen if you never close the callback in Node Js. Be curious, what happen if trying to create millions go routine in golang or thread in Java.

Just be curious, and learn what you get. Never make assumption when you never test it by yourself.

No Assumption without assertion

Make some of your mini Kanban board and some of you self achievement

Productivity and self improvement doesn’t need too much budget. You only need self motivation.

My mini and low budget Kanban Board.

If you have an enough money, you could bought a white board or something. But if don’t, you can use your used goods in around you. I know some of online tools like trello, or waffle already exist and help you. But trust me, to use them personally it’s a bad option. You need more extra motivation to open them, extra network connection, and in the end, you won’t use them.

What if you make your own in your room. So when you’re going to sleep, you see all of them, all of your work, you will review what you do, you will see directly what your target that already you define. And when you wake up in the morning, you will reminded what is your target. Well it’s give you an extra motivation every morning.

Also make some self target to achieve, what you want to learn and achieve this year, next year, and the next year.

My checklist last year + this year

Last but not least

When you’re currently a junior programmer, just do not fear to much. As long as you are doing well, then you will running well. Learn now, earn tomorrow.

Previously Posted in : https://blog.pairworking.com/advices-to-junior-programmer-e8e582273303

comments powered by Disqus