My journey to achieve The Linux Foundation SkillCreds. Part 2: vim certification (SC100)
As I mentioned in my first article about the Git SkillCred exam, SkillCreds are not as well-known and recognized as other certifications, but from my perspective, that’s not correct. In this article, I’m sharing my experience with my second SkillCred — text editing with Vim — in an effort to fill this gap.
My general VIM experience and exam results
Personally, I’m a seasoned engineer and I know a few things here and there about Vim. Of course, I can exit Vim (we all know, it’s an advanced-level question), manipulate some text, copy, paste, and navigate. However, I’m not among those gurus who code in Vim, watch movies, and play games in Vim, or even engage in DIY projects to enhance Vim with physical devices for more efficiency (e.g., https://github.com/alevchuk/vim-clutch if you’re not familiar). I primarily use VSC as an IDE-like editor of choice on all three operating systems (Windows, macOS, Linux), and I use tens of web-based tools for various typing tasks. I would say my workload doesn’t require me to type a lot (except for in MS Teams, where I type A LOT). On an efficient day, I might have several commits to different repositories, each containing a couple of tens of lines. So, microsecond efficiency is not something that would be extremely beneficial for me. Most of the time, I’m reading code written by somebody else and leaning my head on my hand. Therefore, having a “correct and ergonomic hand position” is also not applicable to me.
However, Vim is extremely useful when I need to access a server, make minor configuration changes, or compare two configurations to identify differences, or make quick fixes by copying a line or two. I do this regularly, and based on my experience with the Git SkillCreds exam, which was kind of easy for me, I believed that I knew Vim well enough to pass the exam without any preparation. Surprise-surprise, I failed my first attempt.
Good to know, even for easy exams, preparation is essential. I was completely lost on questions where Vim itself should be somehow configured or customized. I have zero directives in my vimrc, and it’s clear, as my vim usually somewhere on remote server, so I missed those questions. Some other features of Vim, which I used once several years ago, were also asked about.
Additionally, I don’t know how the questions are rated. Some questions ask you to manipulate the text to achieve a certain result, and with Vim, there are a lot of options to do so. It’s a text editor, so in the worst case, you can even retype the whole text to make it look as requested. It’s inefficient, of course, but even among more efficient options, you always have a variety of choices: normal mode, visual mode, command line, global commands, macros, and combinations of all of them. Probably everything is accepted, and the exam is just checking the final result, but I don’t know for sure. After failing my first attempt, I took advantage of the nearest sale, booked one more attempt, did some preparations, and tried again, being more prepared, and finally passed.
Scheduling, exam guide and AI proctoring
Everything is the same as for my other SkillCred — Git. No advance scheduling; you can run the exam when you are ready. I’m somewhat happy with AI proctoring, which provides this experience, but somewhat unhappy with exam guides. I had an issue with Proctorio during my first attempt when the exam was hanging and hadn’t started. However, while I was trying to contact support, it was “Suspended,” and I just tried to run it again, which helped. It’s pretty annoying, of course, if you are stressed and don’t even know if it’s allowed to update the page, restart the browser, or open another window to contact support, and if the exam will fail your attempt if you do one of these. Nothing is perfect, and I hope these issues will not appear often. My Git exam experience was smooth; this one, unfortunately, was not. The exam guide has some generic statements about what will be asked. The information there is quite accurate but really generic, and I would be happy to see more information about the platform itself, recommended preparation materials, and probably something about scoring and the number of questions. Exam guides from other vendors usually have a retake policy, but SkillCreds guides do not. Don’t worry, I tested it for you by failing my attempt. You have no free retake for SkillCreds, as you have for CKA or CKS. You can try to buy a new attempt immediately after you get your results. As the exam needs about 24 hours for scoring, so you can actually try once per day, and there is no artificial cooldown period here, as many other exams have. I don’t know how many attempts you have, but I haven’t found any information about limitations.
Preparation
The exam isn’t hard, it’s true, but still, preparation is needed.
Paid resources.
The course on Udemy by Jason Cannon. https://www.udemy.com/course/vim-commands-cheat-sheet/
Highly rated course, with 4.8 stars, by the great instructor, who teaches not only vim. I found it really useful that Jason shows his keyboard on the screen when presenting some long Vim “spells”, and you can really see which keys he is pressing. From my perspective, it’s not 100% coverage of exam topics in this course; however, some topics are described much more extensively than the exam needs. Still, it’s a great example of well-done study material, which is useful for the exam and really practical for everyday vim tasks.
Free resources
There are many repositories available if you search for “Vim exercises github”. You’ll find repos with exercises only, as well as those with book-like chapters and descriptions. Since the exam is practical and time-based, practicing is crucial. Exercises help your hands remember what to do, so they should be your primary focus. If you’re like me and don’t have a super powerful memory, and can’t easily remember something like 0gUW<shift>A, practicing is essential.
Personally, I used this repository: Vim-Katas. I found the exercises a bit more complicated and advanced than the actual exam, but still useful.
Another excellent resource is this repository: Learn-Vim. It’s like a book, and the author deserves a well-earned star on GitHub from me. You can clone it, read the text, and practice immediately on the chapter page. From my perspective, it better suits exam preparation needs than vim-katas because it covers not only text editing but also vim configuration options needed for the exam.
Additionally, I tried another technique for this exam that I found helpful. I asked ChatGPT to generate vim tasks for me. I requested tasks like, “Hey, Chat, please generate advanced-level text editing tasks with vim for me. Please include vim config options and multi-file operations.” Then, I practiced solving them several times. During my second attempt, I felt that this experience was beneficial.
The exam itself
The exam itself consisted of 11 practical questions, all requiring actions to be performed on files opened in a web-based terminal or configuring vim with specific options.
The wording in the questions was generally clear, explaining precisely what needed to be achieved. However, it wasn’t always clear whether to save the work and exit vim or just save. I opted to save the work and left vim open where applicable.
You have 45 minutes to solve all tasks, which is more than enough if you know what to do and use vim efficiently. It took me 20 minutes on my second attempt to complete everything, despite not being the quickest typer or vim efficiency geek. A vim master could probably do it twice as fast. However, if you’re not familiar with the proper “spells” and manipulate text in a more traditional way (or less traditional to be correct, as vim appeared earlier then any modern windows based editor), you may run out of time to complete everything.
The web-based platform was a bit glitchy this time, especially when executing long keyboard combinations. And don’t make my mistake; bring the mouse with you.
At some questions, you’ll be asked to copy text from the task description and paste it somewhere in the file or files. The trackpad copy/pasting experience was really disappointing and glitchy. However, on my second attempt, when I brought the mouse, it functioned better. My results arrived about 25h from the end of exam this time. Not exact 24h like Git.
Conclusion
Similar to the git exam, SkillCreds provides a cost-effective way to enhance your tooling expertise. If you’re an experienced professional, like me, you’ll likely need to break old habits and familiar patterns and challenge yourself to try something new with something old and well-known.
For true vim masters, the exam offers a well-designed badge and validation of mastery from a respected organization, all at a reasonable price, especially if you catch a good sale.
And for those who have recently joined the IT tribe, this is a great opportunity to get hands-on experience with a text editor that is present on almost every Linux host worldwide and offers incomparable capabilities.