digital-blog https://janisjanovskis.com/ en Embracing Agile Methodology: Transforming Customer Portals with Efficiency and Flexibility https://janisjanovskis.com/digital/blog/embracing-agile-methodology-transforming-customer-portals-with-efficiency-and-flexibility <span class="field field--name-title field--type-string field--label-hidden">Embracing Agile Methodology: Transforming Customer Portals with Efficiency and Flexibility</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2024-04/pexels-pixabay-416780.jpg" width="2888" height="1918" alt="Embracing Agile Methodology: Transforming Customer Portals with Efficiency and Flexibility | Janis Janovskis" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2024-04-09T11:49:00+01:00" title="Tuesday, April 9, 2024 - 11:49" class="datetime">Tue, 04/09/2024 - 11:49</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Businesses in a modern, dynamic digital environment always look for a better way to deliver good customer experiences. The development of customer portals is essential to this, as they act as entry points for customers to access products, services, and support. On this path of customer satisfaction improvement, the Agile approach becomes a light of efficacy and agility. Let us investigate the advantages of Agile practices in customer portal development.</p><h3><br />1. Enhanced Collaboration and Communication:</h3><p>Agile methodologies nurture a team-based culture that integrates all stakeholders, including developers, designers, and customers. By fostering continuous communication and teamwork, Agile ensures that everyone works towards a unified purpose—a user-centric customer portal.</p><h3><br />2. Adaptability to Changing Requirements:</h3><p>Customers' wants and business needs can change at lightning speed. An agile approach enables teams to respond quickly to these changes. In iterative development cycles, the teams can implement feedback rapidly and continue adjusting the customer portal to remain useful to the users.</p><h3><br />3. Faster Time-to-Market:</h3><p>Today, speed is everything. Agile methodology facilitates the quick release of customer portals by dividing the development into smaller iterations or sprints. Such an iteration of the process provides enough room for small improvements to make the features available to customers much quicker.</p><h3><br />4. Continuous Improvement:</h3><p>Agile recognises the idea of continuous improvement, encouraging teams to reflect on their practices and results often. Through retrospective meetings at the end of each sprint, the teams can find areas where the process can be improved and make changes, resulting in a more efficient development process in the long run.</p><h3><br />5. Greater Transparency and Visibility:</h3><p>Transparency is critical to the development project, particularly when more than one stakeholder is involved. Agile methodologies encourage transparency through the use of tools such as Kanban boards and burndown charts, which allow stakeholders to see how the project is progressing. This virtue inspires trust among the team members and the stakeholders in general, thus promoting effective teamwork and decision-making.</p><h3><br />6. Increased Quality and Customer Satisfaction:</h3><p>Thus, Agile methodology ensures that the final product meets user expectations and quality standards by integrating feedback early and frequently. The concentration on providing value to the customer ultimately creates a higher level of satisfaction and loyalty, improving the overall reputation of the enterprise.</p><h3><br />7. Risk Mitigation:</h3><p>Traditional waterfall development approaches are often associated with higher project failure risk because they are inflexible and sequential. On the other hand, agile methodology makes possible early identification and risk mitigation through continuous testing and validation of the assumptions. In this way, Agile helps reduce project risks and leads to a more streamlined development process.</p><h3><br />8. Empowered Teams:</h3><p>Agile methodologies allow teams to be self-managed and take responsibility for their work. Agile fosters a culture of ownership and responsibility by creating an environment where people are allowed to experiment and innovate, hence leading to high levels of engagement and productivity.</p><h3><br />9. Cost-Efficiency:</h3><p>Even though Agile may demand an initial investment in terms of training and adoption, it does reduce costs in the long run. Agile ensures that rework is avoided, so businesses optimise their resources and get the most out of the development returns.</p><h3><br />10. Alignment with Business Goals:</h3><p>The main essence of Agile methodology lies in the value for the customer. When the customer portal is developed in unison with the business goals and customer requirements, Agile ensures that the portal fulfils its intended purpose, thus leading to the success of the whole business.</p><p><br />All in all, the advantages of using Agile methodology implementation in the process of creating customer portals are apparent. Ranging from improved cooperation and adjustability to a quicker time-to-market, Agile-based software development might be considered a revolutionary method, which is especially appropriate for the dynamic character of the digital world that we live in now. By adopting Agile practices, businesses can open up new avenues of innovation and growth while delivering outstanding client experiences.</p><p>Image Credits: @pexels</p></div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/12" hreflang="en">digital-leadership</a></li> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> <li><a href="/taxonomy/term/53" hreflang="en">agile</a></li> <li><a href="/taxonomy/term/16" hreflang="en">project-management</a></li> <li><a href="/taxonomy/term/54" hreflang="en">customer-portals</a></li> <li><a href="/taxonomy/term/55" hreflang="en">digital-transformation</a></li> <li><a href="/taxonomy/term/56" hreflang="en">process-automation</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Tue, 09 Apr 2024 10:49:00 +0000 Janis Janovskis 112 at https://janisjanovskis.com https://janisjanovskis.com/digital/blog/embracing-agile-methodology-transforming-customer-portals-with-efficiency-and-flexibility#comments Four tips for recruiters to win over a candidate prospect. https://janisjanovskis.com/digital/blog/four-tips-for-recruiters-to-win-over-a-candidate <span class="field field--name-title field--type-string field--label-hidden">Four tips for recruiters to win over a candidate prospect.</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2022-03/razvan-chisu-Ua-agENjmI4-unsplash.jpg" width="2400" height="1600" alt="Recruitment | Image By Unsplash" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2022-03-05T01:17:41+00:00" title="Saturday, March 5, 2022 - 01:17" class="datetime">Sat, 03/05/2022 - 01:17</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Finding and locking a great candidate for IT jobs can sometimes be frustrating, time-consuming and even depressive. In this post, I'll try to give you some great tips on how to win over the candidate quickly.<br /> Remember, on cold calls, the first impression - initial 8 to 30 seconds are vital to secure a deal.</p> <p>Tips to prepare for your first candidate cold call</p> <h3>Tip number one.</h3> <p>Do due diligence. Take candidates' resumes and thoroughly study them. Then, if you have a role, try to match the candidate's skills and note down any questions you would like to ask.</p> <h3>Tip number two.</h3> <p>Avoid saying - I have multiple roles, which one you want. The same applies to email conversations. Candidates concentrate on getting their next assignment as soon as possible, and they are focused on what they want. Imagine someone approaching you with ten roles and asking you to choose the one that suits you the best. I can guarantee these emails will be ignored, and your call will likely be abrupt suddenly. There are numerous tutorials and learning materials teaching candidates to stay focused on their job search: so a generic email with ten potential options will likely drive them away.</p> <h3>Tip number three.</h3> <p>Avoid integration. Many candidates work as contractors/freelancers and will likely have many roles on their resumes running parallel. That's quite normal in the world of self-employed. Yet, they hate deep questioning; it gets suspicious. Questions you'd need to avoid would be: "Could you explain to me which of the jobs on your CV are main and which are 'on the side work'". For freelancers, there is no sidewalk - anything that lands on their table they take it they we can. They don't get any benefits or holiday pays, so they highly appreciate every opportunity.</p> <h3>Tip number four.</h3> <p>Keep your promises. If you've scheduled a follow-up call, then make it on time, promised to chase the hiring manager - do that and follow up with the candidate. Even if this is terrible news - the candidate is not accepted, you will earn a reputation by delivering on your promise and demonstrating compassion and emotional intelligence.<br />  </p></div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> <li><a href="/taxonomy/term/12" hreflang="en">digital-leadership</a></li> <li><a href="/taxonomy/term/27" hreflang="en">recruitment</a></li> <li><a href="/taxonomy/term/54" hreflang="en">customer-portals</a></li> <li><a href="/taxonomy/term/55" hreflang="en">digital-transformation</a></li> <li><a href="/taxonomy/term/56" hreflang="en">process-automation</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Sat, 05 Mar 2022 01:17:41 +0000 Janis Janovskis 76 at https://janisjanovskis.com https://janisjanovskis.com/digital/blog/four-tips-for-recruiters-to-win-over-a-candidate#comments Five Drupal 7 to Drupal 9 upgrade tips https://janisjanovskis.com/digital/blog/five-Drupal-7-to-drupal-9-upgrade-tips <span class="field field--name-title field--type-string field--label-hidden">Five Drupal 7 to Drupal 9 upgrade tips</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2022-01/daniel-kuruvilla-tSJc5U6f1M4-unsplash.jpg" width="1900" height="1424" alt="Drupal 7 to Drupal 9 upgradet | Janis Janovskis | Credits Unsplash." /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2022-01-29T20:41:12+00:00" title="Saturday, January 29, 2022 - 20:41" class="datetime">Sat, 01/29/2022 - 20:41</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Drupal 7 has reached its end of life, and if you're still in doubt, I bet this EOL is the main reason to proceed to upgrade to a more modern version.</p> <p>I will share five Drupal 7 to Drupal 9 upgrade tips in this post. Ones you can't afford to miss or neglect; otherwise, you may run into significant issues and challenges.</p> <h3>The Audience.</h3> <p>I believe it is crucial to set the expectations right and on time. So, this article will significantly serve project managers, planners, heads of technology, CTOs, Architects, and developers up to a certain level. In other words, I will be sharing more high-level tips without getting too much into coding details.</p> <h3>The tips</h3> <p>All will come from my personal experience; I am confident you won't find these suggestions on any official channels or any certification questioners. </p> <h3>Tip One - Plan your budget.</h3> <p>I am sure you want to do this properly and diligently, yet everything has limits. Management can get easily anxious and perhaps even upset with money. The budget should be the first item in your discovery meeting agenda; upgrades can be complex, and running out of financial resources can cause several communication issues.  </p> <p>Tip two - Code and infrastructure due diligence.</p> <p>This will be the only technical bit, cause I can't miss this one. The system requirements for Drupal 7 and Drupal 9 are different from many perspectives:</p> <p>- The PHP version will indeed require an upgrade</p> <p>- MySQL or MariaDB also</p> <p>- You may need to upgrade the webserver version as well, or perhaps even switch vendors</p> <p>Take a deeper look at the programming paradigm changes and the magic use of various hooks.</p> <p> </p> <p> </p> <p> </p> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/3" hreflang="en">drupal</a></li> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> <li><a href="/taxonomy/term/25" hreflang="en">Drupal-upgrade</a></li> <li><a href="/taxonomy/term/12" hreflang="en">digital-leadership</a></li> <li><a href="/taxonomy/term/26" hreflang="en">Infrastructure</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Sat, 29 Jan 2022 20:41:12 +0000 Janis Janovskis 75 at https://janisjanovskis.com Four curious ways to operate with string in bash or zsh - upper and lower case https://janisjanovskis.com/digital/blog/four-curious-ways-to-operate-with-string-in-bash-or-zsh--upper-and-lower-case <span class="field field--name-title field--type-string field--label-hidden">Four curious ways to operate with string in bash or zsh - upper and lower case</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2021-07/mche-lee-HtaJXdzUoj8-unsplash.jpg" width="2500" height="1667" alt="Four curious ways to operate with string in bash or zsh - upper and lower case | Janis Janovskis" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2021-07-12T21:21:55+01:00" title="Monday, July 12, 2021 - 21:21" class="datetime">Mon, 07/12/2021 - 21:21</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>I have been a great admirer and a fan of Unix (not only Linux) shell terminals ever since I dived into the Linux world more than a decade ago.</p> <p>In this post, I will be sharing with you a number of curious ways on how to operate with strings within Linux terminals - uppercase and lowercase transformations in particular. </p> <p>Let's start with the best terminal program available - works on most terminals:</p> <h3>Option 1 - awk</h3> <p>According to Wikipedia "<a href="https://en.wikipedia.org/wiki/AWK">awk</a>": "AWK is a domain-specific language designed for text processing and typically used as data extraction and reporting tool. Like sed and grep, it is a filter and is a standard feature of most Unix-like operating systems"</p> <p> </p> <pre> echo "FOUR CURIOUS WAYS TO OPERATE WITH STRING IN BASH OR ZSH - UPPER AND LOWER CASE" | awk '{print tolower($0)}'</pre> <p> </p> <p>As I mentioned - straight forward. Try to change "tolower" to "toupper" and see what it does.</p> <p>This works on every shell you have the awk program installed</p> <h3>Option 2 - string transformation (works on Linux bash)</h3> <p>Linux bash is perhaps the most powerful scripting engine in the world; to determine if you are within bash shell type:</p> <pre> echo "${SHELL}"</pre> <p>If you're on bash, then, the terminal output should return:</p> <pre> /bin/bash</pre> <p>Let's see how we can code it this time:</p> <pre> y="FOUR CURIOUS WAYS TO OPERATE WITH STRING IN BASH OR ZSH - UPPER AND LOWER CASE" echo "${y,,}"</pre> <p>If you are curious then change variable "y" to a lower-case string and do this on the terminal:</p> <pre> echo "${y^^}"</pre> <p>Pay attention to the output on the screen</p> <h3>Option 3  - tr command</h3> <p>According to Wikipedia, the "<a href="https://en.wikipedia.org/wiki/Tr_(Unix)">tr</a>" command comes as: "It is an abbreviation of <i><b>translate</b></i> or <i><b>transliterate</b></i>, indicating its operation of replacing or removing specific characters in its input data set."</p> <p>Basically, it means - replace one set of specifics with a different kind of specifics </p> <pre> echo "FOUR CURIOUS WAYS TO OPERATE WITH STRING IN BASH OR ZSH - UPPER AND LOWER CASE" | tr '[:upper:]' '[:lower:]'</pre> <p>Again; not complex and easy to learn and works on both bash and zsh shells (Linux and Mac).</p> <h3>Option 4 - Inherently declaring a variable lowercase or uppercase</h3> <p>Sounds rather complex but in the essence it's simple.</p> <pre> typeset -l name</pre> <p>Just tells the terminal that the preceding variable will be an uppercase string.</p> <pre> name="FOUR CURIOUS WAYS TO OPERATE WITH STRING IN BASH OR ZSH - UPPER AND LOWER CASE"</pre> <p>Sets the value for the variable. Then, we just need to print it on the screen.</p> <pre> echo $name</pre> <p>Easy - isn't it? Happy hacking.</p> <h3>Sources.</h3> <p>I compiled this tutorial on four curious ways to operate with string in bash or zsh - upper and lower case from these sources:</p> <ul><li><a href="https://scriptingosx.com/2019/12/upper-or-lower-casing-strings-in-bash-and-zsh/">https://scriptingosx.com/2019/12/upper-or-lower-casing-strings-in-bash-and-zsh/</a></li> <li><a href="https://stackoverflow.com/questions/2264428/how-to-convert-a-string-to-lower-case-in-bash">https://stackoverflow.com/questions/2264428/how-to-convert-a-string-to-lower-case-in-bash</a></li> <li><a href="https://linuxhint.com/bash_lowercase_uppercase_strings/">https://linuxhint.com/bash_lowercase_uppercase_strings/</a></li> <li><a href="https://stackoverflow.com/questions/2505771/uppercase-to-lowercase-in-bash-on-a-mac">https://stackoverflow.com/questions/2505771/uppercase-to-lowercase-in-bash-on-a-mac</a></li> </ul><p>Not because I wanted to nit our earn without giving credit to its creators, because I dreamed on making these things be easier for you to comprehend.</p> <p> </p> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Mon, 12 Jul 2021 20:21:55 +0000 Janis Janovskis 73 at https://janisjanovskis.com Five things to consider before you migrate your content https://janisjanovskis.com/digital/blog/five-things-to-consider-before-you-migrate-your-content <span class="field field--name-title field--type-string field--label-hidden">Five things to consider before you migrate your content</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2020-05/kaleidico-7lryofJ0H9s-unsplash.jpg" width="2400" height="1600" alt="Content Migration - Photo by Kaleidico on Unsplash" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2020-05-07T21:00:47+01:00" title="Thursday, May 7, 2020 - 21:00" class="datetime">Thu, 05/07/2020 - 21:00</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>There is a time in our online entrepreneurial or freelance journey when we are bored with our current site or cms and would like to move on.</p> <blockquote> <p>Life moves on and so should we</p> </blockquote> <p>         <em>Spencer Johnson</em></p> <p><br /> Indeed, migration and upgrade of the current content management system is not a bad thing considering ever-changing technology space; however, is it necessary and beneficial?<br /> Let me share with you <strong>five crucial things to consider before migrating your content</strong>, website, e-commerce platform or any other online technology tool.</p> <ol><li><strong>Why</strong>. Yes, correctly, why you are doing that. Suggested by a friend or a new professional connection, advised over the free webinar or perhaps you heard it online, it may sound inspirational. Still, it does not provide a real answer to why? Take some time and consider all options; costs, pros and cons. Don't rush with swift decisions; your old system could still add value to your business with a small facelift. </li> <li><strong>How</strong>. What I am talking about is a set plan. How are you going to proceed with your migration, and what are your expectations? Managing expectations is as important as knowing "Your why", otherwise how are you will measure the outcome of the migration project. Think like an entrepreneur in the form of ROI (Return on investment). If needed, obtain a professional help - hire a freelance business analyst to help you with proper planning.</li> <li><strong>Tools</strong>. Have you done your homework and research in finding out the best migration destination? These days you have plenty of modern content management systems, like <a href="https://wordpress.com/">Wordpress</a>, <a href="https://www.drupal.org">Drupal</a>, <a href="https://www.joomla.org/">Joomla</a>. Hosting platforms and providers do offer one-click installations and setups for some of these, expecting the minimal technical experience. Then you have tools like <a href="https://kajabi.com/">Kajabi</a> and <a href="https://www.clickfunnels.com/">Click Funnels</a> predominantly designed to sell yourself; courses, membership programs and masterminds created or designed by you. Let's not forget about a <a href="https://www.shopify.com/">Shopify</a> - e-commerce platform, <a href="https://www.wix.com/">Wix</a> - website creation platform and other similar tools. The offer in the market is huge, have you spent some time and surveyed for the best suitable options? Don't be shy or timid, ask around for recommendations and listen to what people are saying, sign up for trial versions and try out, obtain professional help, basically whatever you need to make yourself confident in your selection. </li> <li><strong>Budget</strong>. How much can you invest? To manage your expectations and eventually calculate the ROI (we talked over the "How" question), you need to know how much can you spend. Well, can it be "Null" or "Zero"? Sure it can; it just means that you are consciously ready to invest only your own time. It will be a challenge, but you are ready. If you don't know how much you can afford, then how can you ever achieve a successful outcome. When working on your budget numbers contemplate on two figures; one you are keen to invest, second - the absolute maximum you can spend. As the work progresses, there may be hurdles along the way; it is worth putting a little reserve on the side at least.</li> <li><strong>Retention</strong>. How you will maintain the relevance to your current and future customers. Typically any updates and upgrades add a layer of uncertainty and frustration on top of the relationships. Do you have a plan in place to test and verify the connection of all changes and upgrades to clients? Can you check and measure the success of certain aspects of user journeys on the new system? I have deliberately put "Budget" before the "Retention", as former will define the latter. If resources are plenty, create a test environment and invite some users to try out a new experience. If limited; a video tutorial may help out to keep users updated with latest changes, a pre-launch email campaign may lessen the release tension and prepare users accordingly. The bottom line is; users, have to have the same level of belief as you have that new system will serve them better.</li> </ol><p>Hope this list of five things have helped you to prepare better for content and platform migration.</p> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> <li><a href="/taxonomy/term/12" hreflang="en">digital-leadership</a></li> <li><a href="/taxonomy/term/3" hreflang="en">drupal</a></li> <li><a href="/taxonomy/term/13" hreflang="en">wordpress</a></li> <li><a href="/taxonomy/term/14" hreflang="en">shopify</a></li> <li><a href="/taxonomy/term/15" hreflang="en">joomla</a></li> <li><a href="/taxonomy/term/16" hreflang="en">project-management</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Thu, 07 May 2020 20:00:47 +0000 Janis Janovskis 54 at https://janisjanovskis.com Five crazy software developer interview failures https://janisjanovskis.com/digital/blog/5-crazy-software-developer-interview-failures <span class="field field--name-title field--type-string field--label-hidden">Five crazy software developer interview failures</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2019-10/van-tay-media-TFFn3BYLc5s-unsplash.jpg" width="3400" height="2267" alt="Five crazy software developer interview failures" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2019-10-30T06:54:07+00:00" title="Wednesday, October 30, 2019 - 06:54" class="datetime">Wed, 10/30/2019 - 06:54</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Interviewing for a software developer can be both; fun and frustrating at the same time. Regardless of years of experience, I have to admit; there will always be a stumbling block, a question that will bring you down from the mountains of expertise to the ground level, basically a situation that will make you humble and set on a new learning path. </p> <p>To make more sense; I am talking about tricky questions. Ones, created to see if a candidate fits a combination of tech stack and organisational culture. </p> <p>Let’s smash all five interview failures;</p> <ol><li><strong>Funny acronyms</strong>. Can you tell me what SPA stands for? Well, according to Wikipedias disambiguation page <a href="https://en.m.wikipedia.org/wiki/SPA">https://en.m.wikipedia.org/wiki/SPA</a>, the software part offers four different versions. Even, if you are interviewing for an Angular/React developer role, all options may be correct. Is it secure password authentication or a single page application, what on earth do you expect? </li> <li><strong>Headline conflicts</strong>. Can you tell me what JWT stands for? Well, back in 2009/10/11 when java web tool kit was on top of the programming language trends, to be honest, if being interviewed, I would have said exactly like that.  Java Web Tool is a web GUI library in pure Java <a href="https://www.webtoolkit.eu/jwt/features">https://www.webtoolkit.eu/jwt/features</a> developed by a Belgian software company <a href="https://www.emweb.be/">https://www.emweb.be/</a>. Image a situation; the person you are interviewing has just worked inside the organisation adopting Java Web toolkit as their technology stack. Guess what would be the answer? However, this can also mean JSON web tokens - cryptographic security solution for single-page apps. The cold truth is; both can be correct on a single larger-scale project. What do you expect?</li> <li><strong>Seldom used definitions</strong>. Can you tell me what ACID means? One with a good sense of humour may follow up asking: “Do you intend to harm somebody?”. I presume the answer expected is: Atomicity, Consistency, Isolation, Durability; a set of properties of database transactions intended to guarantee validity in the event of errors, power failures, etc. I am curious about what you are trying to evaluate; dev ops skills (more relevant task to take care of), seniority level or something else. I am not 100% sure if that term will ever come up once the person commences work.</li> <li><strong>Ambiguous expectations</strong>. Can you explain to us how do you go about testing, do you use a set of specific methods or something else? According to this post <a href="https://blog.bitsrc.io/top-javascript-testing-frameworks-in-demand-for-2019-90c76e7777e9">https://blog.bitsrc.io/top-javascript-testing-frameworks-in-demand-for-2019-90c76e7777e9</a> potentially there are ten equally correct answers. I am curious about what do you expect; jest, Jasmin or mocha? Jest is a built-in testing framework for ReacJS and frankly speaking over the busy startup environment one will likely ignore that. Rather than spending time on researching various testing frameworks, the developer will carry on with the allocated tasks.</li> <li><strong>Incomprehensible seniority evaluation</strong>. When was the last time you used javascript, do you like HTML?  Let’s get back to our sense of humour: “When, hmm, just this morning, had to help a colleague.”. Yes, usually people laugh on the other end of the line table.  What do you want to find out; experience, language or markup skills, something else? </li> </ol><p>Are these the only software developer interview failures, good question. I am convinced list can go and go on.</p> <p>All five failures are the most recent patterns I have spotted, ambiguous technical questions that tell us nothing about the interviewee; we receive zero impression on the type of personality we are about to onboard.  </p> <p>Often these accompany job specifications asking for high problem-solving skills and creativity but do they provide us with relevant answers?</p></div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> <li><a href="/taxonomy/term/8" hreflang="en">job-interviews</a></li> <li><a href="/taxonomy/term/9" hreflang="en">reactJS</a></li> <li><a href="/taxonomy/term/10" hreflang="en">reactJS-developers</a></li> <li><a href="/taxonomy/term/11" hreflang="en">hiring-process</a></li> <li><a href="/taxonomy/term/12" hreflang="en">digital-leadership</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Wed, 30 Oct 2019 06:54:07 +0000 Janis Janovskis 48 at https://janisjanovskis.com 5 Incredibly Useful Leadership Lessons Learned Working On Open Source Projects https://janisjanovskis.com/digital/blog/5-leadership-lessons-learned-open-source <span class="field field--name-title field--type-string field--label-hidden">5 Incredibly Useful Leadership Lessons Learned Working On Open Source Projects</span> <div class="images-container clearfix"> <div class="image-preview clearfix"> <div class="image-wrapper clearfix"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/digital-2019-09/mathias-jensen-5x4U6InVXpc-unsplash_0.jpg" width="3400" height="1413" alt="Leadership Lessons Learned Working On Open Source Projects | Janis Janovskis" /> </div> </div> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Janis Janovskis</span></span> <span class="field field--name-created field--type-created field--label-hidden"><time datetime="2019-09-29T21:02:41+01:00" title="Sunday, September 29, 2019 - 21:02" class="datetime">Sun, 09/29/2019 - 21:02</time> </span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Open-source software projects are fun, and they provide you with freedom of choices and creativity. However, it may come at a price.</p> <p>The year 2019 marks my tenth anniversary for open-source software projects. I must admit it has been a great journey. Not only I have immersed my head into the arrays of software tools, but I have also learned a lot about the people. I had to work very hard on setting my mindset correctly from being just into the business of bits and bytes to being into the people business. Almost as Linus Tovalds - founder of Linux assesses:</p> <blockquote> <p>In open-source, we feel strongly that to really do something well, you have to get a lot of people involved.</p> </blockquote> <p>He's wright saying to get dome something well for the open-source we'll need a lot of people. That respectively means excellent leadership.</p> <p>What are these leadership lessons?</p> <ol><li><strong>Open-source is not a science</strong>. We are not establishing or creating a brand new theory, and we're trying to accomplish something; a piece of software that should do something great. There are no right or wrong answers; it just works or not. Your colleague gets it done in a nonconventional way, great, be thankful for that and move on. You can address coding and consistent quality further down the line.</li> <li><strong>Be teachable</strong>. You're not 100% correct even if you are correct. Indeed it has been the hardest lesson and the most challenging.  Imagine getting dome something amazingly great investing long hours and a ton of work, returning to work the next day, and it does not get through. For various reasons; does not comply with coding standards, does not pass automated testing, or even worse - lead developer wants to change it. You have to keep being teachable, remember, your attitude is that what matters.</li> <li><strong>Coding is not enough</strong>. You must also explain it. I think Albert Einstein said this: <blockquote>You do not really understand something unless you can explain it to your grandmother.</blockquote> That's the point; you should also convey your work to your peers. Take a simple situation - passing it to a tester or someone else further down the workflow line; like another developer, front-end person perhaps. A clear set of instructions are vital; in several cases, a supplementary collection visual aids (principal schemas, user workflows, etc.) becomes a must.</li> <li><strong>Your jokes are not always appropriate</strong>. Sometimes it feels the whole world admires British humour, yet it is not suitable for every working context. Don't get me wrong here, the majority of devs do love fun, sometimes a light teasing is highly welcomed. However, a script that makes someone laugh on one side of the world could abuse someone else on the other side. Just make sure that they make sense.</li> <li><strong>Maintain a curiosity mindset</strong>. As we have already defined: Open-source is not some scientific theory. It is a collaborative effort; there is no right or wrong. It is not easy to admit someone else is correct. Curiosity helps you to keep a healthy level of mental attitude. Implementation is rather simple, sometimes by just asking: "Let me understand your perspective on ..." or "I just trying to comprehend your thoughts ..." would push the air out of your frustrating nostrils.</li> </ol><p>Always remember; <strong>In the open-source,</strong> it's not about the linguistics of programming it about the linguist. <strong>Leadership is vital</strong>; knowing why it becomes more important than how.</p></div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--entity-reference-target-type-taxonomy-term clearfix"> <h3 class="field__label">Tags</h3> <ul class='links field__items'> <li><a href="/taxonomy/term/2" hreflang="en">digital-blog</a></li> <li><a href="/taxonomy/term/3" hreflang="en">drupal</a></li> <li><a href="/taxonomy/term/4" hreflang="en">open-source</a></li> <li><a href="/taxonomy/term/12" hreflang="en">digital-leadership</a></li> </ul> </div><section class="field field--name-comment field--type-comment field--label-above comment-wrapper"> </section> Sun, 29 Sep 2019 20:02:41 +0000 Janis Janovskis 42 at https://janisjanovskis.com