so a while back I was interviewing
someone who Rose to the level of
software architect he had a proven
ability to build large systems at scale
and became sought-after for his ability
to implement and teach agile methods so
it was not without some surprise when
during our interview he said this and by
the way just to be really clear I think
that most software developers are not
professionals they are not living up to
a professional standard
[Music]
this episode of XDA developer TV is
brought to you by Sony mobile and the
new Sony Xperia Tablet Z now on sale at
store.
sony.com be sure to check out Sony
Mobile's YouTube channel at
youtube.com/ Sony Xperia Dev
[Music]
welcome back XDA crowd my name is Jace
and today we speak with Michigan bertig
the president of bertig Consulting prti
Consulting helps all businesses manage
their projects using agile methods now I
get the question a
lot why aren't software developers or
software Engineers respected like
doctors lawyers Engineers like
traditional engineers and that kind of
thing good question now you may be
thinking Jace that's crazy of course
we're respected but would you look at
all other professions that have such a
high demand for technical competency
medicine law traditional engineering
that kind of thing when you enter those
professions and you complete you know
all your education and and certification
they regulate and police themselves so
here in Ontario for example we have the
College of Physicians and if you breach
their regulations that they've written
themselves they can sanction you they
can even revoke your license to practice
medicine it's similar in law and
traditional engineering like electrical
mechanical and civil engineering and I
know it's also true in other
countries so why don't we have the same
thing for software engineering well
there's a number of reasons but one of
them is that software engineering has a
much lower barrier to entry anyone with
a decent computer and an internet
connection can if they really want to
learn how to become a software engineer
it's the most difficult method but it is
possible whereas with medicine and uh
traditional engineering you have to go
to The Gatekeepers to be considered a
civil engineer you have to go through
medical school to be called a medical
doctor and there's Gatekeepers who have
the power to determine whether or not
you are competent or not not so true in
software engineering thus as a result
you have wildly varying difference of
Competency skill and professionalism now
Michigan bertig of bertig Consulting has
some ideas about how we can remedy that
and if you look at his LinkedIn profile
there's a number of other people who
respect his opinions on that subject
here we go it's almost like a code of
ethics that I would encourage for uh
people who are trying to be agile
developers and by the way just to be
really clear I think that most software
developers are not professionals they
are not living up to a professional
standard and that with agile techniques
there is the possibility that software
development could become a very
respected professional profession it's
popular but I know from working in lots
of businesses that software developers
are not respected as professionals by
for example the business side of
organizations so I think this really has
a big potential to help software
developers become professionals so
there's a few things one is um that a
good software development professional
always always always maintains the best
possible internal quality of a system so
what that means is that you know a
system can be built taking lots of
shortcuts or it can be built properly it
can be built using good design
techniques good coding techniques and so
to be a software professional you you
never sacrifice the internal quality of
your system of the system either by
overbuilding you know making things too
complex or by underbuilding which is you
know taking shortcuts maybe because of
business pressure and one of the ways I
like to explain this concept is that you
know if you go into surgery and you know
you know that seconds count you're
conscious and you're rolled in to the
operating room you don't yell out to the
surgeon to don't wash your hands just
dig into me you know you know that the
surgeon has to wash their hands even if
it takes a few extra seconds because you
know if they don't wash their hands
you're going to get an infection and you
could die so the same kind of thing
applies to software and internal quality
of systems you know if a business person
asks you to just jump and and take a
shortcut and make something that's low
quality just to get something out the
door that's kind of like asking a
surgeon to just cut into you without
washing their hands it's not
professional and so that internal
quality and living up to that standard
is one of those qualities another one is
the idea of
collaboration um and and really being
willing to collaborate with your team
members using the most rich
communication methods possible which
hopefully is face to face but it
includes collaboration in all aspects of
the system development so it's not just
coding it's also really working with
people to understand the problem really
working with people to investigate
alternative Solutions and making sure
that you're building the right thing so
guys to follow up on what I talked about
yesterday at the conclusion of
yesterday's video I wanted to know about
what kind of uh videos you wanted me to
do for the future what do you want to
know who do you want me to interview Etc
and what I got from reading the comments
is that most of you want more resources
and information for complete beginners
people who are learning to develop from
scratch they don't know anything and if
that's true please tell me in the
comments or if you have any different
ideas tell me in the comments and I will
get on that like subscribe help us out
comment and share these videos on your
Facebook and and Twitter profiles very
grateful talk to you soon
[Music]