A day of programming with Slavcho Mitrov (Full Stack Web developer)
Like most programmers, my day starts with a good cup of coffee. After getting that much-needed caffeine fix, my mind gets into code-mode and I'm ready to face the tasks lying ahead.
The first thing I do after I turn on my computer is to open the project I'm working on in Visual Studio Code. VS Code is my editor of choice these days because it's fast, lightweight, has tons of extensions and customizations, great support and most importantly, there's the much-appreciated IntelliSense for code completion and highlighting.
The bulk of my work involves Laravel. Laravel is my go-to PHP framework for developing dynamic websites because it automizes and simplifies many daunting tasks such as website security, complex database querying and pagination building. It also has a neat little package called Mix which makes all your webpack headaches go away thanks to its fluent API.
Or simply put, Laravel makes for a successful day of programming. I get to bring complex ideas to reality without any wasted code and according to modern coding standards supported by an empowering range of tools.
For building the front end of a simple interactive website, there is nothing like good-old jQuery and its huge selection of plugins. With these guys, you have solutions for almost everything thrown at you, from form validation to design implementation.
Of course, I can't imagine the structure of any page without the help of the irreplaceable Bootstrap and its handy classes.
When it comes to building more complex web applications, there's nothing I would choose over Vue.js. The simple interfaces for component building and routing are great features for creating single-page applications. And its Vuex pattern makes the ever so menacing data manipulation and dynamic forms (somewhat) enjoyable. Plus, the Vue developer tools enable you to see that data manipulation in real-time and go back before it was changed.
While all of this may sound simple and straightforward, to be honest, not every task will go smoothly and sometimes you may hit a roadblock. This is why I consult with the rest of my team regularly. Finishing a project successfully is a team effort, and it's crucial to help each other out when there are difficulties and regularly update each other so that you know you're all on the same page.
Of course, since programming involves a lot of mental gymnastics, I make sure to hit the pause button from time to time so I don't get stuck in a rut. In that regard, I consider myself lucky to be working from home as I get to share those short breaks with my fun fiancé and our energetic dog while goofing around or playing in the garden. This recharges me and helps to get my mental flow back so I can focus on developing smart solutions to the problems.
Ultimately, after thorough testing and commiting each of every implementation and feature I write, pushing the updated project to its GitHub repository is the next step. And finally, after I pull the changes on the live server (but not at the end of the day and NEVER at the end of the week, that is if you don't want to be stuck with an unforeseen problem after hours), I gaze at the pages with satisfaction in my eyes. Everything works as it should!