Last week I started to learn Git. For my career is a crucial tool that as a newbie it needs to be on my portfolio for future projects.
So, in this week’s article, I’ll write about the importance of learning Git, as usual, I broke the article into points so that to me as a writer and to you as a reader will be easier to relate and understand.
What is Git
How does it work
Why should we learn Git
What is Git
Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
What is not: it is not GitHub! I think of Github as an extension of Git as it cuts good parts of the Git functions. We could look at GitHub as a website for hosting your projects that use Git. Now that we have this clear let’s move forward.
Git is a type of version control system that creates and helps to track any changes to files. We may say that that Git responds to the following questions regarding editing files:
Why the change
When the change
Git helps go back to the previous version if we want to.
How does it work
I wrote above that Git is a Distributed Version Control System which means that distributed version control is a form of version control in which the complete codebase including its full history and is mirrored on every developer’s computer. This enables automatic management branching and merging speeds up most operations except for pushing and pulling, improves the ability to work offline, and does not rely on a single location for backups.
I am a visual learner and I like to create in my own words the technical stuff so that I can get a better understanding.
Since my son has a passion for reading books I’ll give an example of how Git works. In time he created his library and has books. One day a friend comes and asks some of his books to add some great content in them. My son agrees and allows him to take them from his library. After a while, this friend brings back the modified copies and my son checks them to see they are what he need and place the books on their belonging shelves replacing the previous, without throw the first version at the rubbish bin, but save them on a lower shelve. One day both of them decide to take a look at the first version, this way, having the possibility to go back in time. In the photo at the beginning of the article, I’ve added, you can check the differences between Distributed Version Control System and Centralised Version Control System.
Why should we learn Git
Most of the companies work with teams and it is needed to have it if you want to increase your chances to be hired as a developer.
It is a useful tool for coordinating projects in teams and also for tracking progress in time by saving checkpoints, similar to a time-travel machine. Among other VCS some alternatives are GitLab, GitFlow, Mercurial, Perforce, and Bitbucket.
Is it also useful for your projects when it comes to save them and have a backup of your work or website(s).
Hopefully you find this article useful and helps you “git” it better. Until next time, happy coding and enjoy the upcoming week.
I know that this is an ordinary title that normally Google scrapers won’t show to so many people as it is often used.
I was planning to write this week’s newsletter about Git and why it’s needed to be learned, as I start to learn it, but, since I saw the need to tell part of my story which refers to the path I took and how I applied to jobs to get a job, I decided to postpone the one about Git. So here we go!
Hi, I am Luc, a front-end developer in his early 40’s coming from a communist country who is living his dream job after changing his career in 2019.
I was born in Romania, and as I was telling in one of my previous articles, I struggled to stay up on the waves of life and not get drawn, still, The Man in The Sky was good to me, and brought circumstances in my life that were good.
From zero coding to start!
I remember when Jailbreak was a thing and I was applying it to my iPhones just to experiment with “new things” I once manipulated the code to an iPhone 3GS that didn’t have Gyroscope and I needed Gyroscope to be able to play a game, but when Youtube tutorials are at hand it’s easy to implement things, so, in a way that was my only experience with code.
I started programming back in February 2019, I haven’t coded before anything that could be considered web development, and I fell in love with the fact that I could build something from nothing. (well, in a way).
I began with HTML as I wanted to lay a foundation, but, I found that I didn’t know what the Internet is and how it’s working so I dropped HTML for some days and turn to good ol’ HTTP and protocols. After I understood how the internet works and what’s the difference between the Internet and Intranet, how the protocols work and what HTTP and HTTPS stand for, and what is a server and a client, I restarted my journey towards HTML.
Of course that after my first “Hello World” that I’ve seen on my local I felt that I am the one who will become the next Mr. Robot, but on a serious side, I was struggling. Tones of tags, new things to learn, and didn’t know how to learn. So after two months, I was already passing the freecodecamp HTML session towards CSS, and I stopped for a few days. I wanted to learn how to “learn”.
Discipline is the key
Let me tell you that at 42 age isn’t easy to teach your brain new things, especially when you are hindered by the lack of memory and take Magnesium daily. Also having four kids there is the need to organize yourself very well and create time to code where you need to focus. So here I am documenting myself and read articles about how to learn and I forced myself into the learning process of …learning. So, I learn how to learn and the technique I use is written notes. Since I am a visual learner, I “translate” what I learn into written notes and drawings. I wrote an article about this as I am documenting my journey, and if you are interested in this technique you can take a look here. I am also saying that this is the technique that works for me. You may find yours by trying them. For instance, just watching a tutorial, for me isn’t working, but maybe for you, it will. The most important thing while I was learning was to keep discipline and create a habit, which, fortunately, I did. The main source I used for HTML and CSS is freecodeCamp, as it’s very wholesome and has a great community around it.
Courses on Udemy.
Go get the job
One of my friends who is a construction company owner wanted a website and told me to build one. That was my first gig and I put all the effort into it. I bought a theme on WordPress, I customized the CSS according to my taste, created the content, and in 3 weeks approximately the job was done. That was my first important job as a freelancer. Meanwhile, I was applying for jobs. I was aiming at big companies like Amazon, Apple, and I was applying without knowing that I was competing with senior developers that are more skilled than me, and I have no chance as a junior.
But, I kept pushing and one company, not that big, but big enough in my area, accepted me. After two rounds of interviews that went like this:
first was to know me and I talked to recruitment stuff asking me about the experience I have and what drove me to make the career switch;
the second was a technical one where the person asked me some fundamentals questions about PHP and to tell him about my worst moment of struggle in solving a problem and how I solved it.
Unfortunately, things weren’t so good as I thought, and not having a front-end Senior Developer (and only a backend) that overview your work is hard to advance, and to feel productive, imposter syndrome was my daily companion, until I got burned and quit after almost three weeks.
Apply, apply, apply
While I was freelancing, I kept applying for jobs. If not thousands, then hundreds of them. I subscribed to mail job providers in my area and set the LinkedIn search for job positions I wanted. Then, Danny Thompson came with a full free course on YouTube made of four sessions on how to improve the LinkedIn profile. THAT brought me traffic on my profile and started to be contacted by hiring managers from different companies. I currently am jobless and I am looking for a job to improve my skills and advance in web development knowledge.
WhileI am writing this article I keep my habit of waking up early in the morning to code as I can focus better in the morning. I am still in search of a job, because I want to bring what I learned up to this point to a company that will value my passion and appreciates my hours of struggles, and allow me to develop myself by bringing that value and give that new technology learned back to them. I know what I want and I know with what company I wouldn’t work. I learned to value my worth and I am not selling myself cheap, even if I am a junior developer. I don’t want this to sound self-pride or arrogance, but, we tend to lower our worth by just wanting to work in the tech industry. We often forget that when we look for a job the company as well is looking for a candidate for a position which will turn to be for the mutual benefit(s).
So, just like me, you started, let’s say two years ago your developer career, but you feel you have a dead end.
We all pass through this, so, in a way it’s normal.
Below, I give you some points that helped me in times of need and still do.
Hey, I am Luc, a front-end developer in his 40+ that started in 2019 February his journey.
Stay focus at one thing at the time.
I tend to be distracted by new things that appear in the tech world. New languages, new frameworks, new, new… and, if you are like me, that you like the new shine things than I bet you identify.
What I do is to (re)focus on the goals, asking myself: what is my goal? What do I want to learn this week? How do I apply after I understand it?
Having this in mind helps me to remain focus and, step by step to get to the accomplishment of the goal.
Motivation is key.
Sometimes is hard to get motivated by what you do and the very passion for coding turns into a drag-and-draft “To-Do List”.
Motivation is what keeps human morale uplifted so that it will continue. Find things you like to create. Build something that helps others. I find creating things very helpful, especially when I know that what I build it’s going to impact someone’s life. Think about it: you bring value to other’s people lives with your imagination and work.
Don’t get stuck!
During my almost two years of programming, I often got stuck on concepts I didn’t understand and it felt like bumping to the end of the line. I learned that moving forward and coming back after a while, it’s helpful and beneficial to my understanding. The concept that didn’t make any sense to my brain last week, since I am not stressed out and focused to understand the concepts itself, but to understand what the concept is about, helps me to understand on a deeper level this week.
Trust yourself and take your career towards the direction you desire. You have control over this. Make the advance something fun and enjoyable. Don’t stress out as your journey is your own and you dictate the speed.
stay focused: one thing at the time;
find motivation: this is hard sometimes, but with self-discipline, lack of motivation we’ll keep you going;
don’t get stuck: move forward and give yourself credit that the syntax you haven’t understood today you’ll have it the next day in 5 minutes.
Remember it’s all about growing, having fun, and enjoy your journey.
Until next time, have a pleasant, productive, and enjoyable week.
You can follow my journey by subscribing to my weekly newsletter.
Back in February 2019, I started my journey in programming. It was an incredible adventure up to this point, having all the tools and tutorials at hand and it was a trip with ups and downs.
I thought this week I’ll write about the most important things I’ll consider to advise people like me, juniors, that they recently started their coding adventure. As usual, I broke the information into parts, this time in three:
Apply the concepts;
Document your journey.
Whether are handwritten notes or you are writing them on your device, take notes! Repeat the information by writing what you’ve just read or watched. It will remain engraved into your brain and you’ll have access to it at a later time.
There are many ways of taking notes, not just writing, find the one that works for you, and use it.
I am writing my notes in my Notebook and it’s beneficial, especially when I need to revisit concepts that I tend to not use it for long. I am also using apps like Trello for cross devices.
Apply the concepts.
One of the best ways to test what you are learning is to apply.
By applying, I mean building. Build projects, implement what you have learned. Even that it’s sometimes accompanied by struggle. Let me be blank: the struggle it’s part of the journey and it’s the part where you improve.
Also, applying the concepts gives stability to fundamentals and builds a strong foundation on what you are learning. You can check my latest project here.
Document your journey.i
I know I recently said this, but again I am insisting on this topic. It’s important to document your adventure into coding. Go ahead, write a book if necessary! Sell it for 5$ or make a giveaway, but please document your path taken. You’ll thank yourself later.
One of the main benefits of documenting your journey is that you learn a lot while you are writing about the topic(s) you are studying and you don’t allow yourself to provide wrong information about it. You can record voice messages or paint on your Notebook, but this is a very important strategy to apply for growth.
take notes, benefits: the information remains engraved into your mind and you can revisit points you didn’t understand;
apply the concepts, benefits: you learn and you build a strong good foundation by practice;
document your journey benefits: you study the topic before documenting it, you can’t afford to release wrong information.
That’s it for this week’s article.
I am Luc and I like to think of myself that I am a 40+ of age teenager 🙂.
How many times you’ve looked at your code and had the feeling of the worst programmer in the world?
And finally, how many times you had the feeling if you are a junior like me, that you maybe, just maybe, took a wrong path to programming and you are just “not for it”?
The other day I received a message in my Twitter inbox that literally said this:
“Please help me I want to get into web development, I know basic Html and CSS, but I’m so bad…
I feel like falling into an empty void I’m such a failure”.
This is a desperate cry for many of us but I know I am not alone. Some developers are programming for more than a decade and still feels that they need to improve.
Hi, I am Luc, a front-end developer and this is the weekly article about my journey into web development.
Without further due, let’s get into it:
Start to code.
Learn the fundamentals.
Learn the fundamentals is the best of choices as libraries changes, languages updates and frameworks remain in oblivion.
Don’t just code more, code better!
I saw this reply on one of my recent tweets and I loved it. I wondered how can I improve and asked myself:” how can I code better?”
So, I started to dig. Internet is like a gold mine, the more you dig the more treasure you find, so I put together some of the most important strategies, but without expanding them:
read other programmer’s code;
comment your code as less as possible and when you do, write meaningful comments;
fall in love with code refactoring;
write documentation for large comments;
avoid global code (like variables, or loops);
I was surprised to find that some of the practices above I were following without knowing they have been put into the “Best Practice” list code. Again, this is not a technical article so I added the ones I found most important at the time. You may find other great practices that help you on your journey.
And as you grow in knowledge and advancing into the industry, document your journey. It doesn’t have to be by writing articles at the beginning, you could write notes that will eventually in the future convert into articles.
I hope you find this helpful and if you do you can share it with your connections.
Until next week, I wish you a productive time and happy coding.