what's up y'all this is Hussein Nasser from IGeometry where we discuss
software engineering by example and this is our software talk where we pick a
topic a software engineer topic and we casually talk about it alright so in
this topic in this video we will discuss the difference between a product
engineer or product architect and a solutions engineer or solutions
architect so what is the different difference between the two roles and the
but before we start if you're new to this channel consider subscribing we
have a lot of series that we put there we talk about software engineering we
talk about we have a lot of tutorials that we put out I specialize in GIS
technology but I talk about software engineering in general so check out the
other content of this channel to become a better software engineer with that
let's just jump into the video all right so product engineer versus solutions
engineer where are the difference between the two Before we jump into that
we actually need a thing to define what is a product and what is a solution and
that's I think where the confusion is is as where actually lies and a lot of
people confuse the two things right so a product and a solution are completely
different like they are related what are different so and based on that we can
actually define the role of a product engineer or solutions or engineer or
architect you can just replace those roles with different developer right
architecture so a product in general is a software essentially or from a
software perspective is a software that you design and you build that solve a
single problem right examples Oscar s sequel it's a product Kafka it's a
product Oscar sequel solve the problem storage and retrieval and consistency
and acid in general right at Thomas city assistance II isolation check updated
you here I'll put about acid Kafka streaming services right out how to
stream messages pops up all that stuff alright it's a product that solves a
problem okay but as a customer if you think about a customer of an industry
like the electric industry right electric utilities or water utilities or
government right they cannot just take Oscars and just plug it right they need
to actually solve a problem usually streamline and entire workflow consumed
and yeah stirring my entire workflow make sure it's smooth they need they
need first to identify a problem in their business right business it's
business related right and then start plugging in different products to make
up a solution right so as that's what the solution as a solution is that
essentially a set a product could be one right it could be one product out of the
box to be a customization of a product can be a configuration of a product
could be a set of different products together put into a solution and mashed
up with their custom code that is written on top to make things Ward to
that's what solve a specific business industry problem right for a given
customer so usually if you build a solution it works for certain users very
specific users right so because you built the based on requirements you fill
requirements from the use on you have to make those users happy alright so that's
the difference product so Odin make sense right
hope you're clear if you have any questions there but now comes to the
roles who or who is a product engineer and for is a solution engineer
to write a solution or a product engineer right or a product architect
let's go well little higher a product architect
is it is that person who sits down and actually designed right yeah the product
so if I am the one who designed all squares that guy saw tomorrow not closer
his intellect but is that guy who sit down in the North or oh right girl is a
sat down and then just decided to design that's this narrow thing like I want a
system or our product that does this stores so certain problem very small
problem usually right MongoDB is another product right so it solves certain
different problems right so easy and you sit down that that product architect
will sit down put all the architectural designs in that product and make sure it
actually works right and that he designs basically he or he designs that product
puts that okay I want this to happen I want this I want they these cars kind of
thing to to happen I want for example the vacuum period to be this time
because of concern before every single decision that the designer or the
architect of the product makes whoa influence the actual final product right
and this goes into iterative approach right
Kafka for example the decision to make it like but if you go to a message pop
right if you if you subscribe to and total topic you and you read a message
you want to make sure that is actually you read that message once right that
design or that even requirement is put by that god Baba by that person
essentially so that's that architect that product architect a solution
architect is the person who sits down and take the customers requirement right
or the person you're developing that solution to and then sit down and try to
build a fleet of or can integrate different products to solve a problem
that person should can decide it says you know what I'm not gonna use any
out-of-the-box product I'm gonna build everything from scratch
right for you I'm gonna customize this the data base I'm gonna build custom I'm
gonna build the the web services to be a custom the intermediate middleware to be
custom everything build a custom from scratch I could be a decision okay that
could be fine right it depends on that there are always trade-offs right so
that's the general differences between a product architect and a software
solution architect then you go down and said okay what's the difference between
a product engineer and a solutions engineer so we talked that we the
architects actually do the high level designs the engineers test the stuff
make sure the quality of the work is at at a maximum right so those engineers
actually test this is the solution in JUnit is the entire solution the product
engineer test that product tries these guys get paid to find bugs right our
main job is to find bugs in the software and make sure the quality is up right
those guys also tend to understand the system the most the engineers it's a
product engineer understand our product ins and out usually product injuries
also specifies into an area of that product
right so you can go into a niche of that product of the products big right so you
can specialize and do for example if it's ostrich it will be Foursquare
sequel it will be for example the product there would be a product
engineer responsible for tracing a logging for example tracing on logging
there will be another product engineer responsible for transaction management
and so on right guys so and the solutions are engineer those guys
actually there could be divided fair product if you divide your solutions
into multiple products each solution engineer takes can understand be a
solution to understand the whole thing it's really hard to do right usually you
can't be like a jack-of-all-trades right of my or master or none right so you
have to be focused on one thing and you pick one thing and you be really good at
it usually that's the good idea but you
could you could be like you could know multiple thing then that's that's okay
as well but the general idea is like it's good to to be a really really good
at one one one and one more one thing only that being said just because you
have a title of a software engine or product and your product architect
doesn't mean that's your only job usually I think I would say confidently
eighty percent of the companies out there will use that there are engineers
into multiple capacity you will do you'll wear many hats essentially and
almost any company and that's actually a good thing if you think about it right
so product engineer could actually write code as a developer right if the if a
product engineer wants to kind that change their career path to be a
developer more than a tester they can do that or the product energy can for
example hold back from testing and start designing products are like or so
and becomes a solutions engineer or solutions architect right depends on
what are you trying to do what are you trying to we're just trying to reach
right and you try to reach there by actually practicing right reading books
getting theoretical is good but the only way to advance in software engineering
is by trying is by just doing it right you see a problem you see something
needs automating you going automated right okay you can look for things that
are out there people who already automated stuff that's okay you can you
can pick up from other people's work but to learn to really learn you actually
have to do the work you have to do the work yourself that's that's just an
advice so summary a product is or a product engineer is the person who
designs a product or a software that does one and only one thing and it does
it really well and solutions or solutions engineer is is that engineer
who pulls up together different products right from down to the database the
storage mechanism to the middleware down to the application whether its iOS app
mobile app any mobile app really Android web and it tries to basically complete
the whole picture right to provide a service or a solution to our given
customer alright guys I hope you enjoyed this episode please subscribe if you if
you like this video give it a like and comment if you have any questions and I
gotta see you in the next one stay awesome