Becoming a Tech Talent in 3 Months !

It’s not a secret if many young people dream to work as tech talent especially in start-up company. Bean bags, work culture, great salary are the reasons why we want to do so, fortunately the opportunity is widely opened.

source : wilsonhcg.com

For me, as a freelancer with non IT background, there were some options for learning programming: online tutorials, e-book, in-person classes (study groups), intensive coding bootcamps, and college. Each option had different benefits and drawbacks, each one felt like a disconnected piece of a path leading to a software engineering job. The challenge was finding the right pieces and connecting them in the right way and it was so hard. I was end up being lost in the ocean of technology stacks. I could not choose what stack I needed to learn first and became unfocused, but God eventually helped me with this one:

Alpha Tech Academy, what is it?

Alpha Tech Academy a.k.a ATA is a tech talent incubator that gives everyone (even non IT background) a chance to be a professional Tech Talent within 3 months. Yes, you read it right, 3 months! Is that even possible? From my 2 weeks experience learning in ATA, I can optimistically answer : yes, it is!. Lets take a look what my partners and I had been through so far.


Week 1 — Basic of Front End Development

Learning HTML, CSS, and Bootstrap with Professionals.

“Lecture” Session

Fundamentals.

The amazing thing about this session is we were actually lectured by experienced professional front end developers. They could even show us how to build a web page as beautiful as this one right in front of us in such limited time. I always believe that fundamental is the most important thing to be learned first, and based on what they taught us, the fundamental of front end development consisting of three main languages:

  1. HTML a.k.a the main structure / skeleton
  2. CSS a.k.a the styling
  3. Javascript a.k.a the interaction

As bonus, they taught us how to use the famous Bootstrap Framework. Building responsive websites with Bootstrap was much more simpler and fun than I thought to be. The only tricky things in using bootstrap are how to determine grid and visualizing layouts. Personally, I found it quite hard to decide what kind of layout I wanted to build. But, mentors told us to use NinjaMock so we could “draw” the layout and read bootstrap documentation and examples in order to understand how to “write” those we had drawn.

The Challenges

Challenge is one of the best parts of ATA. Mentors always give us challenges to test and develop our skill everyday. Every lecture session is followed by some challenges. We were trained to implement what we had learned in previous lecture session, learning by doing and solving problems by ourselves. Difficulty level of challenges are varied. As final challenge for Front End Development topics, we were given a task to make our own personal website. I was so proud that I eventually could build a simple responsive website with my own hands in relatively short amount of time.


Version Control With Git and Gitlab

Learning GIT with The System Architect

This topic was my favorite one. Before joining ATA, Github was my best friend. I could spend hours to search “projects for dummy” and read the documentations. As freelancer, sometimes I got clients who hired multiple freelancers in the same time to collaborate in order to finish the project. Git workflow is also really important to work remotely. Git contributed so much in technology development, hence knowledge about Git is too important to be ignored. In this session we learned about Git basic command, Git workflow, usage of Git in enterprises and collaborating projects.

Gitlab and Challenges

Gitlab is very powerful tool with Git as it’s core. Submitting challenges using Gitlab is one of creative examples to use this tool, and we did it everyday in ATA. We trained multiple things through challenges and in the same time (as we kept submitting challenges using Gitlab) we became accustomed to use git basic command such as Clone, Commit, Checkout, Push and Merge Request. Amazing, right?

Informal Session with CEO and Headmaster

After 5 days of hard work, we eventually deserved this session. We met two most responsible people who dragged us to all of these. Just look at the picture, I am 100% sure you can guess who the CEO (Ananto Wibisono) is! FYI, the innocent one in front line is our Headmaster, Umam.


Week 2 — Algorithm and Python

New week = new things to learn.

Algorithm

First session in this week is learning algorithm with David Boy. Algorithm is a step-by-step procedure, which defines a set of instructions to be executed in a certain order to get the desired output. This is an example of algorithm in daily life:

Basic algorithm is divided into three forms:

  1. Sequential : tasks are performed in order. A sequence can contain any number of tasks, but there is no chance to branch off and skip any of the tasks. Once we start a series of actions in a sequence, we must continue step-by-step until the sequence ends.
  2. Branching : we ask a question and depending on the answer, we take one of two courses of action. Then, no matter which path we follow, we continue with the next task.
  3. Looping: continue to repeat actions based on the answer to a question. We first ask a question; if the answer requires an action, we perform the action and ask the original question again. If the answer requires that the action be taken again, we take the action and then ask the original question again. This continues until the answer to the question is such that the action is no longer required, then we exit the loop.

Algorithm in Python

Next things to learn were basic of Python and how to use algorithm in Python. Here it started the real challenges.

Two lessons by mentor (David Boy) that i will probably never forget :

  1. Computer is stupid, but it counts ridiculously fast
  2. It’s hard for us (human) to breakdown sequences of solving problems or calculations because we are so smart and accustomed solving problems almost instantly.

For example, if someone ask us what are the first 5 prime numbers, we will easily answer “2, 3, 5, 7 and 11”. But how can we get those numbers? In this session we learned to remember and write down how we get prime numbers and tell the computer what they need to do to get those prime numbers. We learned to teach ourselves to breakdown problems so that we can use it to teach computer to solve our problems. Challenges are more “challenging” in each day. We even learned about recursion. Recursion in computer science is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem. In nut shell, we teach computer to teach themselves to solve their own smaller problems!


LIVE CODING SESSION

At the end of week 2, we had live coding session. Live coding session was a test where we needed to solve 4 problems in python at given time. The purpose of this test is to examine what we learned so far. I personally failed this test and i thought my journey here would probably ended. But I was wrong! Let me tell you that the best part of learning here is not only about passing the test.


Best Things of Alpha Tech Academy : Values

Programming the control of ourselves

Two weeks of intensive learning and training was enough for us to ask why we were here in the first place. Some of us losing motivation, too tired to move on and losing focus. We were like a child who thought that we had studied enough to earn prizes and suddenly disappointed because actually we need to study more to even deserve those prizes. But the problem is, we were not child anymore. Almost every kid have their own hero, and not every hero wears a cape. The hero named Merza. Human Resources team and Merza are always ready to hear our critics, opinions and cry. They are positively open to feedback. They even do one of the best session in this academy : soft skills. Do we need soft skill as a software engineer? Unless you never face problem either with other people or yourself, you need it so bad.

Mentor heals when Python bites too hard

Learning programming in 2 week is not an easy task to do. Nobody told me it was going to be easy, anyway. For me, the python bit me too hard. The problem was not about the mentor nor the test. The real problem was my inability to determine the problems and breakdown the sequences to solve it, and I didn’t even know how to fix it. Fortunately, Headmaster told me to do private mentoring session in order to see what was wrong with me and my programming skill. It definitely worked! This is the best of the best parts of Alpha Tech Academy. They don’t betray their value “strive to make others grow”. Purpose of learning is not passing the test right? The real purpose of learning is to guide learner so that they can learn something and grow. And this is my motivation to push myself even harder, not only because I want to pass the next test but also because I want to learn as much as I can and enjoy it. Wish me the very best of luck!

No stars are seen without darkness, so don’t be put down by obstacles.

You can never understand everything. But, you should push yourself to understand the system — Ryan Dahl — Nodejs