I am coming to you with a couple of questions regarding requirements for the solution architect role.
My organization prefers to promote solution architects from within the center of excellence as opposed to hiring someone new for the position.
- In your opinion - what are the essential and recommended requirements for a developer to be promoted to a solution architect role?
- Do you have any experience on the issue of hiring someone new vs promoting from within that you can share?
- How can an organization prepare developers to meet solution architect requirements and fill that position?
- Do you know any good resources essential to a solution architects skillset?
A lot of it depends on the size and experience of your team. It’s ideal if you can hire someone from within the team, since they will be more familiar with the current projects and your business processes. However, that person must have demonstrated an advanced knowledge of UiPath and especially Orchestrator, since the architect deals with Orchestrator more than developers.
To prepare developers interested in the position, have the developers do cross-training with the current solutions architect. Give them a chance to understand what is needed for the current role and possibly fill-in for some of the simpler tasks and work their way up to more advanced work.
Your best resource for improving the solution archtect skillset is the academy.uipath.com role-based training for solutions architects. If your developers have already taken the rpa developer training, they’re halfway there. The main course differences are infrastructure, solutions architect, and licensing training.
You have some good questions…
So, usually its ideal to promote a senior guy in your team as a solution architect as they know in and out of the business cases, projects and requirements. However, if the current CoE does not have the required skills, there would be no choice other than getting the resources externally. I would also recommend that the team should groom their senior people for the next available position of their career. Why I say that is, it will also benefit the employee as well as the employer to retain the employees.
You an prepare the senior developers to the Solution architect level by allowing them to work directly with the architect and taking over certain activities so that they get the hands on practice and will be monitored by the architect. Another point is, training in multiple tools. Being a Solution architect, they should know multiple tool to provide the best solution. So allowing developers to attend to workshops, trainings on different tools will also help. From the UiPath front, the academy is the best place to learn about it…
Did I answer your questions?
Let me know if I need to explain more
Hey @Anthony_Humphries & @Lahiru.Fernando,
thanks for your responses! I understand that you see it as ideal to promote from within, as developers are more familiar with projects, processes, requirements and the organization in general. Also you both recommend training developers by letting them work directly with SAs for hands on practice.
I also agree with the academy being a great place for resources and developer and SA learning plans will be requirements for sure.
UiPath themselves stress the “Ability to develop solution architecture designs” as the most important requirement for SAs, but there are also some other points:
- Minimum 5 years programming experience in .NET (C#, C++or VB), Java
- Minimum 2 - 5 years experience in the service industry or business setup
- Infrastructure knowledge, including servers, storage, firewalls, load balancers, routers, etc.
I guess the first two are negotiable and also go towards the point of seniority Lahiru mentioned, but I’d like to go into more detail with you about the Ability to develop solution architecture designs and the infrastructure knowledge, etc.
What is essential to the role - Anthony mentioned Orchestrator for example, I am also thinking of the ReFramework, but I don’t know what infrastructure knowledge is really necessary - and what would be recommended?
Only an overview of infrastructure knowledge is needed. Just understanding how UiPath products are set up in general will help solutions architects to understand the capabilities of Orchestrator, Kibana, Elastisearch, Studio, etc.
About the experience a SA should have, yes… there are some requirements on that as you specified… It is mandatory to have programming background along with experience in the services industry because that experience is one of the core knowledge base of a solution architect. I would say a Solution architect should have experience in multiple domains and multiple technologies… So apart from programming knowledge with .net, I would also suggest that SA should have some sound knowledge in data related areas, little bit of Business Analysis knowledge & Project Management experience as it will come in handy during the projects.
However, Security & Infrastructure is a totally different area. We cannot expect a person to be experts in programming and Infrastructure and Networking… SA should be an expert in the technical area, but they do not need to be experts in Infra and those areas. However, they should have a general understanding on how things are done in those areas as it will help them greatly.
I think my answer is very much aligned with the answer @Anthony_Humphries gave, but in little bit of detail
To me the word “Solution Architect” is tricky. In one way I feel uiPath kind of hi-jacked the term, but on the other hand I can’t find any really good alternative. Listening to some of arguments above it sound very much like how I look at “SQL DBA” role. Being the “DBA” of uiPath, yes you will need some infrastructure skills to design the setup, backups, HA, redundancy, etc, etc. but maybe not necessarily think too far outside from that box.
But, If you take the more holistic view on the title, i.e what your customer’s IT will read into role of a “Solution Architect”, they will expect more. The Solution Architect should be able to elevate all of the skills above into a more general level and design the best, most cost efficient and secure solution. How does uiPath fit into the current enterprise design? Is a Robot really the best solution in this case? This means means you need to be technically fluent across many different target applications and OS platforms. e.g speaks freely about Cloud infrastructure, Security, HA, Redundancy, Networking, GDPR, etc. etc.
Just be aware of that there is a bigger scope (and expectations) of “Solution Architect” outside the world of uiPath - and you’re fine
thank you for your perspective and for reviving this conversation.
Also thanks again Anthony and Lahiru. Anybody feel free to keep discussing.
I like the idea of the more holistic view on the Solution Architect role elevating all the skills into a more general level to benefit the overall solution. In my limited experience the SA usually is the one who really brings it all together in a project. Not only the technical aspects such as infrastructure or RPA workflow design, but most of the time also the business context, some project management and even UX design.
I understand that outside the world of UiPath the title Solution Architect is linked with even deeper knowledge of infrastructure, systems and technology. Is that why you feel UiPath kind of hi-jacked the term?
Sometimes I think there should be a distinction between the Solution Architect role for individual projects and the Solution Architect role for the whole RPA program level.
The project role doesn’t need that much infra knowledge (as stated above) and maybe the more fitting description would be Solution or Automation Designer.
The program role needs much more technical fluency just as you said and in the context of more and more complex automations (or even hyperautomations) the requirements list goes on and on (AI + ML Skills, DevOps Engineering, Mobile Devices, IoT, DLT, …).
Or would that just be an Infrastructure Engineer?
Great discussion on the skills required to be a solution architect. Great inputs from @Lahiru.Fernando and the others who contributed to this post.
My question is, is there a list of deliverables and a structure for those deliverables?
As I see it, the role of a solution architect is that of pre-sales, assisting the business development team with the technical solution so they can write a winning proposal to the customer.
For this, what are the deliverables that are expected from a solution architect? For a moment, I was wondering if the SDD (Solution Design Document from UiPath) is the one, but on looking at the document structure it looks more like a TO-BE in a PDD plus some TDD (Technical Design document that is prepared by the Developer before or sometimes after the development is completed. Not something that you would present to a customer about in proposal winning phase.
So what are the deliverables from a solution design in the pre-sales stage?
Hi, thanks for the input.
From my perspective there are a lot of different deliverables that can be expected from solution architects in various stages of an RPA project. I don’t think “the role of a solution architect is that of pre-sales” exclusively, but you are correct, that the role can be essential to write a winning proposal.
Expected deliverables probably vary from one organization to the next. But the most important ones for the pre-sales stage in my opinion are the analysis of technical feasibility and the effort estimation.
Without an effort estimation there can not be a (truthful and responsible) proposal. And without checking the feasibility first an effort estimation can crumble before your eyes really quickly.
Totally agree with the Pre-Sales part!
You need to put someone in front of the customer IT, long before you even start the project, to decide on hosting, security and possible solutions.
I did put together a graphical view of how I look at it. But again, all depends on your view and your context. In my opinion uiPath have merged two roles (Solutions Architect & Technical Architect), into one “Solution Architect”