Quicksands Of Software Development

A book about some of the annoying and disruptive situations occurring in software development projects that make developers' jobs difficult and frustrating... with some possible solutions to fix things. A 'Heads up!' for the new generations of programmers to know what to expect when pursuing a career in software development (spoiler alert: it's not all about code, programming languages, frameworks, design patterns, technology, or computers).

Buy on leanpub.com
Buy on amazon.com
Amazon marketplaces: au > br > ca > de > es > fr > in > it > jp > mx > nl > uk

Table Of Contents

Intro
Heads up • Nothing new
Staff developers
Neglected process • A different approach • Prepare • The interview • Loopholes • Match check • Performance reviews • Frequent discussions • Bad apples • The working environment • Exit interview • It's really important
Continuous learning
English • Solid foundations • Mistakes • Mentors • Technologies • Specialist vs. Generalist • Too much information • Problem-solving skills • Business domain • Your investment • Unlearning • Programmer vs developer • Team Lead • Team Lead first • Delegate • Motivation • The working environment • Trade-offs • Health • Sustained effort
Software projects
Estimations • Requirements • Negotiations • Forgotten bits • Risks and assumptions • The plan • Change • Measure • Define success • The deadline • Sacrificing quality • Other sacrifices • Lessons learned • It takes longer
The Business-IT divide
Us versus them • Cost • Shadow IT • The real cost • Bridging the gap • Trust • Build trust
Meetings and reports
Interruptions • Bad meetings • Bad reports • Better reports • Better meetings • Necessary
Bad bosses
Technical (in)competency • Cogs in the machine • A losing battle • Not bad • Not as bad
Bad managers
In the middle • Communication • Failed communication • Tools of the trade • Project Manager first • Overdoing it • Just another boss • Management style • Lost cause
Bad developers
Lack of skills • Poor attitude • Over-Engineering • Not code? Not interested! • Failed communication • Lost cause
Outsourcing
Still your people • Hidden costs • Different cultures • Final responsibility
Scrum
You do it! • The Scrum Master • The Product Owner • Values and principles • Empowerment • Technical considerations • It takes time
Picking up the pieces
Professionalism • Just one layer
In ending

About The Book

As a programmer, what do you think of when you hear "software development"?

Do you think about code?

Programming languages?

Perhaps about frameworks and design patterns, or technologies and computers?

Do you think about all the technical stuff you like, or the things that make software development challenging and lots of fun for you?

These things are important. They are part of the software you create. But how about things that are not technical in nature?

When you hear "software development", do you also think about how the software gets built? What methodologies are used to do the work? How decisions are made to steer things in one direction or another? How goals and deadlines get set? Do you think about everyone involved in building the software, or how business people interact with developers? How everyone behaves? Do you also think about these things? Or do you pay attention only when they negatively affect the work you do as a programmer?

Programmers tend to focus their efforts and attention on technical aspects. Again, that's important. But it's insufficient.

"How" software gets built is just as important as "what" goes into it. You can't leave everything else besides tech stuff and writing code to just happen to you, or you will be in for some nasty surprises. I'm referring to annoying and disruptive situations that will make your job as a programmer difficult and frustrating. If you enjoy programming just like you appreciate a walk on the beach, these disruptive situations will be like the quicksand you can step into if you're not paying attention to where you're going.

This book is about such situations, and possible solutions to avoid them so that developing software doesn't feel frustrating. It puts up some signs to warn about the quicksands. It's a "Heads up!" for the new generations of programmers to know what else to expect from the job when pursuing a career in software development.

So don't step into quicksands. Get the book now and learn to recognize and avoid them.


About The Author

Bogdan has been programming computers since the age of 14 and has been involved in software development, professionally, for the past 15+ years, in various roles, starting from programmer, to senior developer, to Team Lead, to coach, and several other mixed positions, both technical and managerial. He has delivered web, mobile, and desktop solutions using technologies, frameworks, and libraries from the .NET, Java, and JavaScript space, working with companies in different domains ranging from the financial, education, customer service, or iGaming industries, to the public administration sector.

As any programmer tends to do, his initial focus was on technologies and how to use them best to write great software. Later, his interests started shifting towards other software development activities, like project management and Agile principles and methods of value creation and flow. In other words, he moved from being interested in just the technical components of software to the processes and methods being used to build it.

Bogdan is mostly self-educated, so many of the things learned throughout his career were, inevitably, lessons learned the hard way through trial and error. He gathered and summarized a lot of those lessons inside the "Quicksands Of Software Development" book. He never imagined himself writing a book about software development, but felt the need to share his experience, seeing how younger generations of programmers struggle with the same situations, hurdles, oversights, and people issues he also encountered.

He also contributes to online communities like medium.com, stackoverflow.com, pm.stackexchange.com, and softwareengineering.stackexchange.com.

This website uses cookies to provide you with a better browsing experience and analyze visitor traffic. You can refer to the Cookie Policy for more details on their usage.

Please select the cookies you want to keep.