Your Programming New Year’s Resolution

Your programming new year's resolution

So it's that time of the year when you make your new year's resolution. As developers, that might revolve around filling some gaps in our understanding of systems we use or perhaps learning a new programming language.

Whatever your goals might be, one thing is certain about new year's resolutions - you can hardly achieve it without laying out some plan. Without a plan or a schedule, it is perfectly normal to stray away from your goals and go back to your normal routine of spending time with some addictive, but needless pastimes such as checking your facebook news feed.

And I'm not sharing anything new. Most people understand this. However, planning and organising one's life is not an easy undertaking. That's why I've prepared this article - to help you establish an effective and sustainable routine to steadily achieve your goals.

Continue Reading

todocheck v0.2.0 is live!

todocheck logo

The next release of todocheck - the tool that helps you track & keep TODOs actionable is live!

First time you hear about it? - check this out first.

In version 0.2.0, the main focus was extending support to new programming languages & issue trackers.

Hence, there are now five new languages supported - R, PHP, Rust, Swift & Groovy.

Support has been also provided for two new issue trackers - Pivotal Tracker & Redmine.

Additionally, one useful new feature is that todocheck now supports passing in your issue tracker authentication token via an environment variable - this will make it a lot easier to integrate the tool in your CI environment!

Finally, you can now specify todocheck's output to be in JSON format. This provides the opportunity to create IDE plugins or include support for todocheck into linter aggregators.

See the full changelog here & don't forget to update your binary to the latest release!

Automate Your Initial OS Setup

Automate your OS Install Process

There was a time in my life when a huge part of my time was spent reinstalling my Linux OS. Wonder why?

Well, the first time you install Linux, they warn you to never run rm- rf / as this would delete your entire system. Fair enough, that's simple to follow.

What they don't tell you is that you have another million ways to effectively do the same thing with commands which seem harmless at first glance.

However, there were some benefit form my misfortunes.

What irritated me the most was installing all the software I use from scratch every single time. I often forgot to install one or two programs I use and had to do it on the fly once I actually needed them which was very disturbing.

Hence, I came up with the idea to create a script which would automate this process via a single command. Every time I reinstall my OS, I simply run the script, go get myself a coffee and once I'm back, I have my OS all setup with what I need.

If you're in a situation where you often have to do this yourself, read on.

Also, be aware that this guide is specific to installing Linux and Mac OS. You could probably apply the same concept in Windows, but I only speak bash, not bat.

Continue Reading

Creating Your Programming Study Plan

study plan

If you've read my last article and taken action, you should now have plenty of time allocated for you to study throughout the week. Now it's time to create your study plan.

Simply having the study time, does not necessarily mean we can use it effectively. Often times, we meaninglessly drift through online courses, textbooks and side projects without really finishing anything.

Sooner or later, you will end up in a situation where you've bought numerous Udemy courses and you've merely completed 10% of each of them.

That, indeed, is one of the greatest challenges of self-study - organising your curriculum & study plan.

But fear not. In this article, I will show you how to bring order to your course catalog mess. One step at a time.

Continue Reading

How to study effectively as a full-time developer

So you've graduated from university/bootcamp and you've landed your first job as a professional programmer. Congratulations, this is a huge milestone as it cost you years of perseverance to thoroughly study the courses in your curriculum.

However, studying like this is easy to do when you can dedicate your entire day for it. Once you start your 40 hours/week job, suddenly, you are deprived from all the free time you had to spend studying.

You have to be much more mindful about how you spend your free time, as it is no longer unlimited.

So what options have you got?

Continue Reading

You can’t succeed by slacking off

Being Lazy
Designed by Freepik
Many times in our lives, we are presented with a choice of what route to take. One is the easy route, and the other is the hard one. For example, I constantly get messages from people in Facebook, trying to convince me to join them in their quest for easy money through multi-level marketing. They go on saying that they don't want to be like those poor people destined to work hard all their lives and get nothing in the end. It's better to work smart and get to the final destination of being wealthy with a shortcut. That will take you several months, they say. And then you have the option to grow in your career, advance your skills and become a master in your craft. And that will take great amount of effort, years of consistency and discipline and great endurance. The first one sounds more preferable, right? But I recently watched a movie, called "Big Fish", which had a scene where the main character could choose to get to his destination via two routes - the easy one, which most people prefer, and the hard one, which no one dares to take. What the character said was "The more difficult something became, the more rewarding it is in the end". But isn't that just some empty talk which is not applicable to life? In this article, I am going to share with you the lessons I have learnt concerning this issue and my experience with it.
Continue Reading

The Productive Developer @ WordCamp Sofia 2017

After spending one great weekend at WordCamp Sofia 2017, I feel energized from all the great people I met there and all the awesome talks I saw. It was a great event. WordPress people sure know how to make a conference. What also caught my attention was the professionalism of the speakers there. Despite being a community event, most of the speakers had very professional slides and presented pretty well. On most of the events I go, I see those "Death by PowerPoint" presentations and I feel like that's just how things are. But at this event, I saw the tendency of many speakers getting literate in terms of their presentation design. They really put a lot of effort in their slides and presentations.  I even saw some things which were helpful for me as well and helped me improve my presentations! It was a great conference. If you want to check out all the awesome talks from WordCamp Sofia 2017, visit this playlist. My talk was less WordPress driven, but even so I believe it can be of great use to anyone who cares about being as great of a developer as he can get. My talk is about Productivity. About the mindset behind being disciplined and performing in your work and using the right tools to help you achieve more. It's titled The Productive Developer. The idea for this talk evolved through my blog and my original post with the same name. So, if you care about advancing yourself and your career, give it a look: [embed]https://www.youtube.com/watch?v=l_sEj2Q_DcY[/embed]

The process of achieving a meaningful goal

The route to success starts with the right mindset
Some time ago, I told you my story of becoming a better player in League of Legends. There was some kind of flaw in my skills and I decided to change that. So I started watching some YouTube videos about becoming a better LoL player. But the key to mastering that game was not in studying all sorts of fancy game mechanics or memorizing the items to buy for each hero. It was in adopting a mindset of always blaming yourself instead of your team for the mistakes you all make. That helped me skyrocket my overall gameplay and after a while, I was able to climb the ranked ladder of the game and I moved from the weakest division to being among the top 5% of the players in my server. This achievement was quite improbable at first. So since then I had been wondering - how could adopting such a philosophy make me a better player in the game? Why didn't all the mechanics I had watched help me, but instead it was this simple thought of always blaming yourself that released the handle of my potential?
Continue Reading

Keeping yourself organized in today’s world

organizing tasks
Somewhere around the start of the school year, we had to prepare our student books. We had to get some signatures, some photos and getting all the needed data on it. I was always the last one to do that. One particular year, my class teacher gave me my students book, after the head teacher had signed it, and said: "Don't lose it this time". "Of course I won't" I said confidently and went back to my desk. One week later, a man came to school and said he had found a lost students book. The teacher wasn't surprised when he found out it was mine. The funny thing is that only when I received it did I realize I had lost it in the first place. As time passed, I finished school, learned new things and advanced myself greatly. But one thing did not change - my carelessness. But now, I ought to be more responsible if I am to be taken seriously as a professional. That is why,  I have discovered a framework which has helped me transition from a careless boy to a responsible person.
Continue Reading

The productive developer

When I started my first job, I was really excited as I realized that this is the point at which I start programming professionally. But once I got to actual work, there was some kind of flaw in my performance. I was trying to do my tasks from the moment I came until I finished. But while doing so, I constantly distracted myself with social media. And when I got assigned a huge task, I felt overwhelmed and it was extremely hard to even start doing it, just because I realize how much work I have to do in order to finish it. I just couldn't keep myself productive. But at one point, I realized that my approach was totally wrong.  Today, I will show you a system, which has become an extremely useful tool for me, that aids me at feeling satisfied with my work and delivering maximum output.
Continue Reading

Site Footer

BulgariaEnglish