Figure A.2 Developer role from SFIA
Figure A.3 Types of development summary
Figure A.4 Developer participation in Waterfall SDLC; typically in the build and support stages
Figure A.5 Developer participation in Agile/Scrum; typically as part of the development team
Figure A.6 Developers’ key knowledge and skills
Table 3.1 An example of entity relationship descriptions
Table 3.2 Casual text description for a use case
Table 3.4 Description of key testing types that can be run on software
ABOUT THE AUTHOR
Jill Clarke is an experienced freelance developer and enthusiastic trainer of the existing and next generation of software developers. Her initial roles as a Cobol programmer laid the foundations for a working life programming many different systems in a variety of industries using many different programming languages.
She runs her own company (Bear Computer Services Ltd) where currently much of the work she does is in training developers (via JBI Training) at many well-known companies both large and small in new languages, methodologies (she is a professional Scrum Master), techniques and tools in traditional software development as well as the ever expanding web development sector. She still loves working as a developer and does development work for both enjoyment and profit as well as to keep her skills fresh and up to date.
She is a member of BCS and in her spare time she volunteers on the BCS Women committee and can also occasionally be found volunteering at The National Museum of Computing (based at Bletchley Park) where she developed the Software Gallery along with Bob Jones. She was runner up in the BCS IT Trainer of the year award in 2007 and is a Fellow of the Learning and Performance Institute.
ACKNOWLEDGEMENTS
Starting at the beginning, I would like to express my love and gratitude to my brother and parents (Vern and Beryl) who always encouraged me in this career (and in life) even though programming was a less popular career choice in the 1970s when I first sat an aptitude exam.
From my early days as a junior programmer I’d like to thank my first mentor (John Wright) who helped me when I was working in Birmingham and all the many people since who have helped, inspired and supported me in my career. The developer community is rich with these types of people; find a company and role where you can benefit from and contribute to this supportive atmosphere.
For the book I’d like to thank Ian Borthwick and Rebecca Youé who approached me about writing it. The people who contributed to the case study chapter all gave freely of their time and experiences, they were enthusiastic and honest and bring the subject matter to life, thank you:
Jeremy Clarke
Emma Bostian
Chris Ashton
Eva Dovc
Simon Kemp
Zara Ahmed
I’d also like to thank Jon Bambaji and the team (Mervyn, Pavlos, Nigel and Bill) at JBI Training who cleared time in my schedule so I could write the book.
ABBREVIATIONS
AI artificial intelligence
API application programming interface
ATM automated teller machine
BCS BCS, The Chartered Institute for IT
BDD behaviour driven development
BIOS basic input/output system
CASE computer aided software engineering
CAST computer aided software testing
CI continuous integration
CPD continuing professional development
CPU central processor unit
CSS cascading style sheets
DBMS database management system
DRY don’t repeat yourself
EDI electronic data interchange
ERD entity relationship diagram
ERM entity relationship modelling
FTP file transfer protocol
GDPR General Data Protection Regulation
GPS global positioning system
HP Hewlett Packard
HTML Hyper Text Markup Language
IDE integrated development environment
IoT internet of things
JSON JavaScript Object Notation
MoSCoW must have, should have, could have, won’t have this time
MVC model view controller
NFR non-functional requirements
OOP object oriented programming
OWASP Open Web Application Security Project
PC personal computer
PHP (originally) personal home page
PRINCE2 Projects IN Controlled Environments
ROI return on investment
SDLC software (or systems) development life cycle
SFIA Skills Framework for the Information Age
SQL Structured Query Language
SSADM structured systems analysis design method
STEM science, technology, engineering, mathematics
TDD test driven development
TL;DR too long; didn’t read
UML Unified Modelling Language
URL uniform resource locator
UX user experience
XML eXtensible Markup Language
GLOSSARY
Agile: an umbrella term for a particular set of frameworks and practices