Confident Coding, book review: A useful programming primer

Confident Coding: Master the Fundamentals of Code and Supercharge Your Career • By Rob Percival • Kogan Page • ISBN 9780749479633 • 272 pages • £14.99/$19.95

Programming is such a key skill for the modern world that it’s now taught in every UK school. However, plenty of adults have never even written an HTML tag, let alone a full program. Confident Coding is a beginner’s guide by the author of a popular online coding course that alternates sections explaining why you’d want to learn to code with the absolute basics of web development, Python and mobile app creation.

The encouragement will likely be useful for readers who aren’t confident that they can learn to program, as a reminder of why it’s such a useful skill, although the suggestions of what you can achieve as a beginner are somewhat uneven. You’re unlikely to create a breakout blog or a truly useful app for your company, and you’ll need another book to really master Apple Script or PowerShell automation if the short sections on using these tools to rename files or search text files for strings whet your appetite. Mentioning tools like If This Then That (IFTTT) is more helpful for the average reader.

Things get off to a slightly rocky start though. Sending a reader with no programming experience to the online IDE at to type in some very simple Python means they’ll get the thrill of seeing their code run, but with no screenshot or explanation of the site’s interface until the (much later) chapter on Python there’s a danger they may get confused. And there’s a typo in the very first coding challenge.

The explanation of why there are different programming languages handily groups them into app development, web development and code on web servers, but ends up listing different languages rather than really explaining why they take different approaches, or what their different strengths are. And the instructions for how to find the online PDF with the supplementary exercises could be highlighted more clearly, as this is a key part of the book.

Covering the basics

Four fairly brief chapters cover the basics of HTML, CSS, JavaScript and Python, step by step. The basics of formatting and layout for web pages are covered simply and clearly, but the suggestion that the reader clone the look of an existing website seems rather ambitious as a next step. The JavaScript chapter introduces the basics of programming like variables, loops and IF statements and ends up with a simple program. Unfortunately, the (black-and-white) screenshots are so small and not cropped to the relevant area, making it impossible to see clearly what’s going on — at first glance they all look the same.

The Python chapter also starts simply, building on the concepts of variables and loops, then going on to lists, regular expressions, string processing and modules, finishing up with scraping information from a table on a simple web page.

The rather basic chapter on getting your own website sits rather oddly here, and it skips past a lot of questions to jump into advanced page layout using the Bootstrap library, although you’re actually just copying a template from the author’s website. That certainly simplifies the process, but you’ll have to look elsewhere for details of what more you can do.

The sections on building apps for iOS and Android are also beginner’s guides that don’t take you all the way to real coding. If you don’t know how to download, install and get started in XCode or Android Studio, the handholding will be useful and the clear, simple instructions will get you into drag-and-drop layouts and adding the code for simple, interactive forms. They breeze through the more advanced concepts like floating point and integer numbers, libraries, classes and methods at speed, telling you just as much as you need to know to work through the exercises. The book doesn’t mention the alternatives to XCode that would let you code for iOS on Windows instead of a Mac, but they’re not appropriate at this level anyway. Again, this is about helping people with no experience to have the confidence to take these very first steps, rather than trying to give the reader a comprehensive grounding in coding.

The chapter on debugging is a useful addition for frustrated beginners. The techniques suggested are basic, but include how to think through code flow, how to comment out code and put in tests that the programming is even reaching the right section of the code, as well as how to search for help and sample code on sites like Stack Overflow.

Primer, not encyclopedia

The real problem with Confident Coding is that its reach exceeds its grasp. Percival’s online coding courses at Udemy have been very successful and he refers to a slew of other breakout successes, from John Gruber’s Daring Fireball to the fact that the ‘save it to read later’ Pocket app was written by someone who’d only recently learned to code. But even the examples of what readers could go on to do are often so far beyond the scope of the book that they’re clearly meant as inspiration rather than a feasible next step. There’s more space devoted to how you could be a freelance developer than any of the coding techniques you’d need to master to actually do that.

If your new year’s resolution is to learn how to program, or you just want to get digitally literate and understanding what coding is all about, this is a simple — but also rather simplistic — book that will let you dip your toes in the water without getting out of your depth. But you’ll need to look elsewhere for your next steps.


Why focusing on one coding language is death for a developer’s job prospects (TechRepublic)
None of the top 25 Fortune 500 companies use only one coding language in their products and services, according to Coding Dojo.

How to sunset your software offerings without alienating your customer base (Tech Pro Research)
Your customers have plenty of reasons to hang on to older versions of your products. Make sure you take their concerns and needs into account before you bring out a shiny new release.

Want to learn programming? This startup pays you cryptocurrency to study Python (ZDNet)
Blockchain-based skills platform BitDegree has unconventional plans for connecting tech talent and recruiters.

Read more book reviews

Maze Alpha X hands on: A well-built phablet with a fabulous screen

I switched from using the Maze Alpha in December to testing the Maze Alpha X and have had a month of bezel-less, well-performing devices.

The Android 7.0 Alpha X phablet has a CNC-machined slim metal frame, a bezel-less display, with an 89.6 percent screen-to-body ratio, larger than the Maze Alpha. It has a 6.0 inch capacitive display with a 2160 x 1080 pixel resolution LG screen, 18:9 aspect ratio, and 508 PPI.

There is some space for an LED notification light, squeezed into the edge of the phone. The LED is red when the device is charging, green when fully charged, and blue when there is an app notification.

The back of the phone is high gloss Corning Gorilla Glass 5 — but t has some sort of coating on that reduces fingerprint marks — believe me, I tried to get my fingerprints to mark it.

Maze could protect the phone by adding a soft cover in the package. I felt that dropping the phone would smash the corner and crack the rear glass.

There is a tempered glass screen protector. However, other phones, such as the Meizu Pro 7, Elephone S8, Ulefone T1, and the Doogee Mix already include protective cases.

Top ZDNET Reviews

It is slightly smaller than the Maze Alpha at 156.4 x 74.6 x 8.1 mm and a little lighter at 209g, probably due to a smaller 3,900mAh battery. However, I found, this is more than enough for a day of standard app usage.

Inside the phone the CPU is a MediaTek Helio P25 (MT6757) with eight cores. Four ARM Cortex-A53 run at 2.5GHz and four at 1.4GHz.

Graphics are powered by a ARM Mali-T880 MP2 900MHz processor. It has 6Gb RAM and 64Gb or 128Gb LPDDR4X ROM.

The rear cameras are 16/13 megapixel, with a Sony IMX258 sensor and there is an 8-megapixel front camera with Sony IMX 219 sensor. Like the Maze Alpha you need to turn the phone upside down to get the best selfie, as the camera is at the bottom of the screen.

The phone has two SIMs slots — one can be used for an expansion SD card up to 256GB. There is an audio jack and a USB C port.

I prefer large-screen phablets and found that, for under $300, the Alpha X adequately performed all the tasks I needed it to for a few days on the road. With the extra screen real-estate, I did not need to start up my PC at all.

The operating system is the same as the Maze Alpha — again, there are no OEM features to report. This standard Android Nougat build gives the phone a familiar feel. The fingerprint recognition works well and the soft navigation buttons give even more screen real-estate.

Like the Maze Alpha, the Alpha X upgrade is a nice looking workhorse of a phablet with a lovely display and nice camera. It performs well and looks slick. It is certainly worth its price tag.