a look inside a digital agency's tech team

The Digital View – A Look Inside Dignitas Digital’s Technology Team

Investing in technology is essential for the performance and growth of any type of company or business. Studies carried out by TNS Global prove that companies that invest financially in the development and use of technological resources receive about 60% more annual revenue when compared to companies that discard this type of investment. The benefits are numerous – from process automation, task agility, and cost reduction to metric facilities. So, in a nutshell, if you want to boost the growth of your company then you must take advantage of technological evolution. But then, the ever-lingering question is, whom to put our trust into?

There are several professionals available in the market that may solve your organizational issues, yet you may be concerned about their credibility. Talking about professionalism and technological credibility, we at Dignitas Digital are proud to present our own team of specialists who are committed to delivering the best output for your organization.

In this post, we did an exclusive interview with our team of experts, so that you can get more acquainted with the reason for our expertise in the field. So, let us introduce our team to you.

 

The Team

Navneeta Nautyial is the agency’s project manager. She is the one who manages all activities related to the project, from the beginning to its final delivery.

Aman Shukla is our Senior Quality Control Engineer. He is responsible for testing all applications, ensuring the quality and functioning of all of them. Moreover, it is also Aman’s responsibility that the applications are delivered to the customer with no bug to bug in the future.

In addition to them, the following experts are part of the technical team:

  • Jai Srivastava – Sr. Software Developer
  • Somnath Chaturvedi – Software Developer
  • Chandeep Bisht – Sr. Front-End Developer
  • Shafeeq Khan – Sr. Front-End Developer
  • Amit Saxena – Sr. UI/UX Designer

 

At our request, they dedicated some of their valuable minutes to answering our questions and getting our curiosities resolved about the routine of a team specialized in technology, their challenges and their greatest achievements. Check out the replies to our queries that will give you a much clearer picture of our team’s mindset and work ethic.

 

What does it take to succeed in an innovative technology project?

To this question, our project manager Navneeta answered by saying,

Navneeta – Primarily, robustness and an urge to excel in innovation, these two factors other than outstanding technical know-how become a necessity while handling an innovative technical project. One has to recognize the critical elements involved in the process and work diligently towards achieving the target. Well, many other factors and issues can influence the success and excellence of the innovation project. For example, alignment with business objectives and stakeholders, understanding the industry, detecting priority resources, detecting the right project management platform, prediction of execution risk, component familiarity, documentation, communication, and a plan in case of failure. Team engagement is also a vital point in delivering successful projects.

In addition to the light thrown by Navneeta, let us discuss the points in detail to gain a better understanding of the path taken by Dignitas Digital to succeed in individual technical projects.

  • Alignment with Business Objectives – The key to a successful IT team is enabling business results. Thus, strong alignment of the portfolio to program and project management is critical. This ensures that each project within a larger program or portfolio meets the company’s strategic imperatives while allowing a company prioritization matrix to address competing priorities.
  • Alignment with All Stakeholders – Before starting any project, we usually put the sales and operations teams in the same room as the client. This reduces the impact of unrealistic promises or misinformation heard during the sales process, plus it always helps teams deal with alignment issues early on, rather than creating that kind of uncomfortable situation where they just push problems for the operations team. Alignment with all stakeholders is the key to success!
  • Understanding the industry you are serving – You need to know about your project’s industry. Before starting any project, the lack of understanding of the fundamentals of the steps involved in the lower-level tasks creates unrealistic operating conditions and consequently missed goals.
  • A Priority List for Resources – An understanding of priorities, timelines, budget, and resources is key to a successful project. Resources should be prioritized based on customer needs and the value of your business, this needs to be grouped into “must-have”, “ok to have” and “nice to have”.
  • The right project management platform – The key to successful IT project management starts (and ends) with using the right tools. Without a technology stack that has full buy-in, every project will inevitably fail. It’s important to use a project management platform that works for all teams in an organization. By aligning all teams on one platform, technology leaders can establish processes that lead to faster, more repeatable project success.
  • An Actionable Task Breakdown – Predicting execution risk by accurately assessing task complexity early in the project lifecycle is key to minimizing project failure.
  • Familiarity with all components – For effective project management, the project manager must have a high level of knowledge of the components of the project. Having a robust knowledge base will allow the project to run more smoothly and have fewer interruptions.
  • Communication – Communication between stakeholders and also with the client is the most important factor for the success of the project.
  • A plan for failure – Planning for failure helps you improve process development and requirements gathering, as well as refine the end-to-end process, ensuring you deliver results aimed at preventing the failures identified early on.
  • Documented Requirements and Expectations – Technology project managers must balance experience, technology, and business subject leadership. This often creates a complex business and political environment. The only skill needed for success is communication. The project manager must document the requirements, deadlines, and expectations of his colleagues so that they can reconcile with the leadership team to lead the project.
  • Team Engagement and Transparency – The key to success is team engagement and transparency. If employees understand their roles and how they affect the overall result, project management becomes easier and more efficient.

 

What is the protocol to follow when the team receives a new project?

To this our Senior Quality Engineer, Aman Shukla pointed out that –

Aman Shukla – Well, the initial step is to analyze the project’s requirements and the most appropriate technology for the application, after this, we check which development model the project will be delivered to, and after that, we analyze the estimated time and divide this time into weekly deliveries.

Further, Navneeta explained it in more detail stating that the mandatory protocols are:

  • Project Initiation/Kick-Off – Once the technology team receives a new project from the business team. The technology team reviews the basic requirements and the business team establishes the introductory call with the customer to introduce the technology team to start the project.
  • Documentation and preparation – Documents like Scope of Work, SRS, FRS, BRD, etc need to be prepared to describe the requirements and characteristics of the project.
  • Identify risks/challenges – Before starting project development, the project manager must identify challenges/risks that could affect project deliverables, schedule, quality, and budget.
  • Communication Plan – The internal and external communication plan needs to be defined to provide clarity on the ongoing development. It must also provide updates to the customer on the progress of tasks performed. Project planning breaks the activity down into these steps: establishing measurable objectives, identification of deliverables, and planning tasks.
  • Creating a Work Breakdown Structure – The entire project scope needs to be broken down into smaller components for a better understanding of the tasks that need to be done. This document helps you track and control the project’s out-of-scope and also on-time deliverables.
  • Project Planning – The project manager creates a project plan to track the activities involved and also to define deliverables within a certain time frame.
  • Technology Stack – Finalize the technologies that need to be used in the development of the project according to the requirements.
  • Completion of Deliverables/Milestones – We divide the project scope into milestones or payment modules to deliver them for customer review and approval. Ongoing customer feedback in this process is always an important factor.
  • Integration capabilities – Once the documentation and planning are complete, we can integrate the stakeholders/resources that will be actively involved in the design, development, testing, management and deployment of the project. Team members begin working on the project according to the project plan and scheduled project milestones.

 

How long, on average, does the team take to deliver the finished project to the customer? What kind of factors can make you put it off?

Navneeta has a very precise estimation of this. She replied,

Navneeta – The project timeline depends on the scope, the number of features aligned, and the complexity of features that need to be developed for any given application. A small-scale project can be delivered in 4-6 weeks, a medium-sized project can take 4-6 months, and a large application can take up to a year or more. Project deliverables are always done in modules/milestones to provide ongoing updates to the customer. In general, the factors that can delay the delivery of a project are: Changes in the project scope; resources becoming unavailable; the project schedule not planned properly; project objectives and deliverables are not realistic within the project constraint; when external suppliers do not deliver on time; communication between project stakeholders is not effective and when there are unpredictable external changes.

To this, Aman Shukla added,

Aman Shukla – It is important to remember that sometimes the delay can also happen due to client-server configuration, access rights, and domain mapping.

 

What are the biggest challenges when working as a team member to achieve success on custom projects?

Navneeta had a very definite answer to this question. She said –

Navneeta- Working towards the completion of a project is a team effort and each stakeholder has their own contribution to the successful delivery of the project. In a typical IT project, we work with a team of designers, developers, QA, and DevOps engineers as per the requirement of the project. Therefore, what can become a kind of noise in projects are factors such as:

  • Trust issues among team members
  • Poor communication & understanding skills
  • Conflicts in working style
  • Responsibility and engagement
  • Lack of collaborative work tendency
  • Lack of transparency
  • Accountability issues

 

Aman Shukla presented us with a different perspective on the above statement by saying that –

Aman Shukla – In my opinion, the biggest issue in working as a team is when there is improper coordination and a lack of understanding. Proper channelized communication must be there for coordination among the teams. All the members of the team must be aware of the weekly deliverables and in proper sync with the current module in development.

On our website, there are 2 case studies from which the team faced different challenges. In the first one, the client wanted to create an application where neighbors and residents of a certain neighborhood could talk to each other and mark their own houses on a map.

What led the team to think of SignalR as a solution to this problem? Once again, we got our answer from our project manager –

Navneeta – The customer wanted to have a robust solution for a chat between neighbors so that users could also receive notifications. As the schedule was restricted, to provide the solution for this requirement the team brainstormed the possible solutions available. This application was developed on the ASP.NET platform and so we kept in mind a few factors to use SignalR in our application, such as,

  • ASP.NET support: SignalR Service provides a native programming experience with ASP.NET Core and ASP.NET.
  • Handle large-scale client connections: SignalR Service is designed for large-scale real-time applications. SignalR Service allows multiple instances to work together to scale to millions of client connections.
  • Remove the burden to self-host SignalR: Compared to self-hosted SignalR applications, switching to SignalR Service will remove the need to manage backplanes that handle the scales and client connections.

 

Further, she also added that SignalR includes automatic connection management, it provides the facility to broadcast messages to all connected clients or to a specific client. The connection between the client and server is persistent while in HTTP it isn’t persistent.

Where SignalR was used:

  • Notification: To broadcast/notify users regarding alerts, emails, and flyers.
  • Chat: One-to-one chat between neighbors.

 

What are the most used tools and technologies in the projects you work on?

Here, with the help of Navneeta, we got a detailed know-how on the various tools and technologies that Dignitas has mastery on. Let us talk about some primary ones among them.

 

For UI/UX design:

  • Adobe Photoshop;
  • XD;
  • Figma;

 

Front-end programming:

  • HTML/HTML5: HTML is used to create web pages that are displayed on the world wide web (www)
  • CSS: CSS works with HTML and provides a basic style and appearance for the site
  • JQuery: JavaScript function library that helps to develop web page functions such as manipulating the web page, responding to user events, and getting data from your servers
  • Java Script: Javascript is an interpreted scripting language used to make the web look alive. All the necessary movements and graphics can be done using JavaScript
  • React JS: Open-source front-end JavaScript library for building user interfaces based on UI components

 

Backend Programming:

  • .Net: It is a web application development framework designed to work with HTTP to create dynamic web pages and web services as it provides smooth integration of HTML, CSS, and JavaScript
  • .NET Core: .NET is a free and open-source managed computer software framework for Windows, Linux and macOS operating systems. It is a cross-platform successor to the .NET Framework. The project is primarily developed by Microsoft employees using .NET
  • Python: Python is a high-level interpreted, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Its language constructs and object-oriented approach aim to help programmers write clear and logical code for small and large-scale projects
  • Node JS: Node JS is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and runs JavaScript code outside of a web browser
  • PHP: PHP (Hypertext Preprocessor) is known as a general-purpose scripting language that can be used to develop dynamic and interactive websites. It was one of the first server-side languages ​​that could be embedded in HTML, making it easy to add functionality to web pages without having to call external files for data

 

Database:

  • MS SQL: Relational database management system that provides multi-user access and supports multiple storage mechanisms
  • MySQL: MySQL server provides a database management system with query and connectivity capabilities, as well as the ability to have an excellent data structure and cross-platform integration. It can handle large databases reliably and quickly in high-demand production environments
  • Mongo DB: As a document database, MongoDB makes it easy for developers to store structured or unstructured data. It uses a JSON-like format to store documents
  • Dynamo DB: Amazon DynamoDB is a fully managed proprietary NoSQL database service that supports document and key-value data structures[2] and is offered by Amazon.com as part of the Amazon Web Services portfolio

 

Mobile application development:

  • Native using Android and iOS platforms: The two main mobile OS platforms are Apple’s iOS and Google’s Android. Native applications are written in code used preliminarily for the device and its operating system. For example, developers write iOS apps in Objective-C or Swift, while building native Android apps in Java
  • Hybrid development using Xamarine, React Native, and Flutter: All these 3 platforms are used to develop hybrid mobile apps

 

Hosting Servers:

  • AWS, Google Cloud, GoDaddy, Hostgator, & Bluehost are some of the top names used to organize, run and host the cloud application.

 

Version Control:

  • GitHub: We use GitHub for source code management and to maintain and collaborate on different versions of code by the Dignitas team

 

DevOps:

  • GitAction: GitHub Actions makes it easy to automate all your software workflows, now with world-class CI/CD. Build, test and deploy your code directly from GitHub. Make code reviews, branch management, and issue triage work the way you want

 

Project Management Tools:

  • JIRA: Jira is used for task management, release management and issue tracking, and other project management activities for projects. Besides Jira, other platforms like ZOHO, Trello, Asana, Wrike, & Slack can be used to track project activities, communication, and project management

 

Testing and bug-tracking tools:

  • Postman – Before moving on to Postman, you should know what API is. When you use an app on your mobile, the app connects to the internet and sends data to a server. The server then retrieves this data, interprets it, runs it as an appearance, and sends it back to your phone. The application then interprets this data and presents the desired information in a readable manner. That’s what an API is – it all happens via the API. Here comes the Postman. Postman can process API calls, post, put, handle (get) much easier with a variety of environments. Users can execute a batch of requests with a single click. Data entry can be done with various formats ie JSON, Text, Javascript, XML, HTML, and others.
  • Template – Swagger allows you to describe the structure of your APIs so that machines can read them. The ability of APIs to describe their own structure is the root of all Swagger’s greatness. Swagger is primarily used to document an API; now the question arises: why document APIs? As build APIs that are internal applications within the enterprise or for public consumption, the theme is the same as the one which developers usually use in the ones they are building. For other developers to be able to use our API, an API must be properly documented; otherwise, the differentiation between the endpoints exposed by the API and operations that are supported on those endpoints, becomes difficult.
  • Browser Stack – BrowserStack is a cross-browser testing platform that allows developers to integrate tools to perform functional, visual, and live testing on mobile apps and websites. Users can test the app on a variety of browsers, tablets, mobile phones, and operating systems without any physical device.
  • Jmeter – It is a load-testing tool with the help of which users can test load capacity on a website generating dummy traffic. Also, the number of requests per second can be increased or decreased as per the desired test condition. In addition, reports can be averaged and plotted on a graph with a variety of listeners. Listeners are the test plan elements used to visualize and analyze the result of performance tests in table or graph form. For example – while trying to test the site on 15,000 users with 400 queries per second.

 

What are the daily challenges for those who work with technology? And how do you keep up with the latest technological trends and professional skills?

Navneeta pointed out some essential aspects of carrying on with a project until it meets its endpoint. According to her, the challenges faced by the team while working on tech projects are:

  1. Meeting deadlines: There are two major aspects of every project: budget and timeline. Working towards the bug-free scheduled delivery of the tasks is the most important factor for all the team members in every tech project. Sometimes getting stuck on technical issues longer than expected or any other unexpected factors delay the delivery of the project. Chasing down the deliverables along with keeping everyone motivated in the team is a crucial factor.
  2. Coordination and collaboration with different teams: As software development life cycle includes the involvement of multiple teams of designers, developers, QA, DevOps, etc. Sometimes it is very challenging to keep everyone on the same page and establish coordination with everyone especially while we work remotely.
  3. Keeping up with technology updates: Each day technology undergoes major advancements impacting various industrial sectors. At the same time, it creates a lot of pressure on IT professionals to leverage these upcoming technology trends in software development to gain a cutting edge over the competition.
  4. Dealing with changes in requirements: Sometimes clients may ask to make changes in workflow or request to add additional features in the middle of the development, coping with these changes or convincing clients to add them later in the next phases of delivery is tough to deal with. Changes in requirements in the middle of development causes an unexpected delay in the timelines as it requires changes in architectural and business logic of the project sometime.
  5. Providing secure infrastructure: Keeping client data safe and protecting the applications from any security breach is also an important factor before moving it to production. Delivering a robust, secure system should always be a major priority for the team.
  6. Quality assurance: Not reviewing code, or suppressing errors are just a means that software developers use to save time and meet deadlines. Adapting best practices for the QA process and implementing them in the initial phase of the development to avoid any risks later in the project can also be considered one aspect of challenges in technology projects.

 

She also added that, as technology trends change continuously, it is very important to update your skills in the IT industry as a professional. Professionals can keep themselves updated with the latest technology trends by following up below practices:

  1. Knowledge sharing: Collaborating with other team members and knowledge-sharing sessions are great ways to learn from each other.
  2. Certifications/ additional courses: One can also go for additional certifications and can join short-term courses to keep themselves updated or to add new skills to their profile.
  3. Following up on tech news, forums, and blogs: With new updates emerging almost every day, following up on these platforms is also helpful.
  4. Attend webinars, trainings, and virtual events:  There are various webinars, and online training sessions organized by industry experts on different platforms, joining these sessions and learning from them also helps us to keep updated.

 

To this Aman Shukla added –

Aman Shukla – In a hustle to improve efficiency and for better results, technology needs to be consistently upgraded, which in turn focuses on new tools, features, and learnings.

For example, previously, we were using normal functions to do a specific task but that was not efficient which led us to use the lambda function, it has the capability to do a specific task thoroughly, neatly, and efficiently (normal functions and lambda functions work almost same but for performing a specific task repeatedly and regressively lambda is more efficient, also it reduce the lines of code). The primary difference between a lambda and a regular function is that the lambda function evaluates only a single expression and yields a function object. In terms of testing, the lambda function needs to be tested locally at the unit level. To match up with the current technical advancements, one needs to be continuously digging the blogs of cutting-edge technologies and prevailing practices in the market. They need to be a part of their professional networks of people dealing with those technologies.

On a final note, our Sr. Software Developer Jai Srivastava came up with some amazing points.

Jai Srivastava – There are some challenges we face trying to improve skills while working with technology:

  • Understanding client requirements and providing better solutions with the latest technology.
  • Sometimes client requirements are not clear and they change on a regular basis. Then we have to do a lot of rework.
  • Sometimes there are exceptions such that they can’t be fulfilled with the technology used to create their app. In that case, we have to provide an alternate solution.
  • Sometimes we need to learn a new programming language or any third-party service to solve the client’s problem or requirements.
  • Sometimes we have to do a lot of R&D to implement new functionalities required by the client.
  • Maintaining the Repository of the code and solving merging issues of code when multiple developers are working on the web or mobile app.
  • YouTube, Stackoverflow, Udemy, etc. are the source of upgrading skills and solving problems.
  • Attending tech seminars like Google, Microsoft, or Apple annual developer meets.
  • Subscribing to TechGig etc. to be updated with tech news.

 

Conclusion

So, here was a team talking enthusiastically about their technical skills and the different aspects that influence their work around the technology. This gives us a valuable impression on the technical team of Dignitas Digital and shows that we are in safe hands.