Email the Author

You can use this page to email Laurence Gellert about Fundamental Software Skills.

Please include an email address so the author can respond to your query

This message will be sent to Laurence Gellert

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

For me the first few years of being a software developer had many moments of confusion, frustration, and self doubt. It takes a few years to really figure out how things work in software (although the learning never stops). Many software training programs focus too much on the specifics of a given language or framework. They toss you into the weeds and expect you to figure out the big picture on your own.

My goal with this book is to give everyone the same sense of being a well rounded software developer that I enjoy, without having to learn it the hard way like I did.

Outline:

The book starts off with an overview of computer hardware and a discussion of Mac vs Linux vs Windows. It includes an exercise on how to build your own machine from off the shelf components. The best developers understand the basics of what is going on inside their machine and know how to fix it when something breaks.

The book then moves to the fundamentals of using a text editor / IDE, being comfortable on the command line, and using source control. Again, the best developers deftly navigate these areas while struggling developers a) don’t know how to use their tools efficiently, and b) end up being totally dependent on some GUI tool or abstraction that gets them in trouble later.

The next chapter is an overview of how the internet is built. Seems odd for a programming book, but most software runs directly on the internet or at least touches it in some way. Good developers know the basics of networking, DNS, servers, and what is going on under the hood when accessing external resources. The ability to troubleshoot network related problems has proved invaluable for me when it comes time to prove to sysadmins something is wrong on their end.

At last the book goes heavy into coding. First there is a chapter on the basics, and various themes you’ll see. Then there is a chapter on quality coding - the centerpiece of the book. The concepts I discuss on quality coding will make or break your career as a software developer.  

After coding comes data storage and data in flight (APIs), which encompasses about half of what I do as a software developer - moving and storing data.

Then I discuss user interface and front end concepts. I’m not a design expert but again I provide the context you’ll need. From there the book goes into popular frameworks and the ideas behind them. Frameworks drive much of web development, both frontend and backend, but they all do the same sort of thing.  

Next is a chapter that will give you some guidance on one of the most aggravating aspects of building software: string encoding, internationalization, and date handling. This one trips up many developers so I have to cover it.

The last section goes into common workflows in software development, software licenses / intellectual property, and career considerations. Commercial software is business driven. Most jobs in software involve working for a business. Therefore if you are working on software you are likely dealing with business issues. Again the best developers are the ones who know how to navigate this area. 

Why me and why this book?

The idea for this book has been on my mind for years. Throughout my career I’ve been told by blog readers, managers, and peers that I’m a good communicator, especially when it comes to breaking down complex technical subjects. I've mentored over a dozen developers in my career. I’ve done it while working for others and in my own company with my own money on the line. At this point in life I know what junior developers get hung up on, where many “experienced” developers are weak, and the major themes to get under wraps.

Book Format:

Each chapter contains screenshots, key terminology, code samples (where applicable) and my honest appraisal of what you need to know.

The digital version is a "living book" (“book as a service”) in the sense that I regularly release updates. This seems fitting since software evolves so rapidly. A purchase grants lifetime access to the updates in digital form. 

A dead tree (paper) version will be made available if there is demand for it.  

Table of Contents:

  1. Introduction - Why Software Is Awesome
  2. Understanding Your Hardware
  3. Getting Good With Your Editor / IDE = RESPECT
  4. The Command Line is Yours
  5. Use Source Control or Perish
  6. How The Internet Works and Networking / Infrastructure
  7. Coding Fundamentals
  8. Quality Coding - Bullet Proof Your Code in the Real World
  9. Data Storage - Data At Rest
  10. APIs - Data In Flight
  11. UI / Data Presentation - Front End Development
  12. Common Framework Concepts
  13. Strings, Dates And Bytes
  14. Common Day To Day Workflows
  15. Software Licenses, Intellectual Property and Such
  16. Career Considerations
  17. Recommended Books And Tools - What I Really Use, No Affiliates Allowed!
  18. Glossary of Terms

About the Author

Laurence Gellert’s avatar Laurence Gellert

@laurencegellert

Laurence Gellert is a software developer with 20+ years of experience. My goal with this book is to give everyone that sense of being a well rounded software developer that I enjoy, without having to learn it the hard way like I did.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Fundamental-software-skills › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss