Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.
2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.
There are several paths to starting a career in software development, including the more non-traditional routes that are now more accessible than ever. Whether you're interested in front-end, back-end, or full-stack development, we offer more than 10,000 resources that can help you grow your current career or *develop* a new one.
The Rise of the Platform Engineer: How to Deal With the Increasing Complexity of Software
Top 5 In-Demand Tech Skills for 2024: A Guide for Career Advancement
Get ready for a special journey with "Code Wisdom 2024," a guide for developers who want to shine in the world of software development. Enlightenment in development is realising that every bug is a lesson, every error is an opportunity, and every line of code is a chance to create something meaningful. Imagine your year full of wise thoughts, where every month brings a new idea to light up your coding path. These twelve quotes are not just words; they're like a compass showing you the way to becoming an excellent coder, and a leader. Your journey and your code are about to shine with brilliance. Let's see how these ideas can help developers improve their skills, be more creative, and work better together. Take this challenge, set your goals, and be ready for a year of coding like never before! January: #CodeGoals2024 In the realm of coding, set achievable goals for the year. Each line of code is a step toward mastery. Setting achievable goals is like creating a roadmap for your coding journey. If you consider your project as an epic, then divide it into small stories which are achievable. Plan realistic deadlines, and never forget to celebrate success. The achievement you will get is a sense of accomplishment and this will keep your motivation high. Achievements You will improve your time management skills. Focus and productivity will be enhanced. Motivation will be high as the wins will be consistent February: #TeamCollaboration Like the code you write, relationships in a team need constant debugging and collaboration. "Be a team player." You might have got this advice many times. Just like debugging the code, always debug the team dynamics by active listening, regular communication, and prompt conflict resolution. There should be harmony and you should be one of the biggest contributors to that. Achievements Collaboration within the team will strengthen. Fewer conflicts; more celebration of success Job satisfaction March: #TechEvolution As the seasons change, so should your tech stack. Embrace new technologies for continuous growth. Change is the only constant in your world of variables. Embrace change and stay abreast of the tech trends. Some ways to do so can be attending communities, writing blogs, taking sessions, and sharing knowledge. There is always a better way to solve a problem, so go for it. Achievements Enhance skill set Efficient problem solver Stepping towards an industry leader April: #CodePoetry Code is like poetry – elegant and expressive. Strive for code that tells a story and captivates its readers. Be a storyteller through your code. Add clarity to your code and be a hero for future readers for same. Clean code is a great way to learn and implement the same. Believe me, maintenance is easier for code that is clean because of the readability. Achievements Improved collaboration with code readers Faster onboarding of new members of the team Fewer errors and hence, low maintenance May: #CodeRefactoring In the garden of development, refactor your code like pruning branches – for a healthier, more robust project. Keep reviewing your codebase and follow the Boy Scout rule to make the codebase better every time you visit the code. Remove unnecessary complexities and dead code. Make sure the code base is robust as it grows. Achievements Improved code maintainability Less technical debt Scalability also will be affected positively June: #SkillSetExpansion As the days lengthen, so should your skill set. Dive into new frameworks and languages. Be a lifelong learner, and explore new languages and frameworks to broaden your skill set. You might end up learning to solve a problem in many ways and this will make you versatile and help in adapting various project requirements. Achievements Broader range of project opportunities Improved perspective on problem-solving You can market yourself more July: #QualityCode Hot fixes are like ice cream – necessary, but too many can lead to a sticky situation. Aim for quality code. Testing what you have written will save you from small quick fixes. Targeting the root cause of issues, going through thorough testing, and implementing solutions will improve the robustness of the codebase. Achievements Less chance of new bugs Stability of the project A confident codebase August: #CodeExplorer In the vast landscape of development, be an explorer. Seek challenges, solve problems, and grow. You always look for a comfort zone but make sure it does not affect you in your growth. Go for that new blog you wanted to read, the new tech/tools you want to explore, and build that one POC. Each challenge is an opportunity for growth and learning. Achievements Personal and professional development Problem-solving skills Confident to take on diverse challenges September: #PatienceInCoding Debugging is like solving a puzzle. Approach it with patience, and the solution will reveal itself. Analyze a problem systematically, have patience, and be cool and calm. A good debugging tool is a must but at the same time never forget to talk to your colleague about the issue. You might end up with more effective solutions. Achievements Less stress Problem-solving skills Better at RCA (Root Cause Analysis) October: #CodeScalability Like a seasoned architect, design your codebase with scalability in mind. Lay the foundation for future success. When you wear the hat of an architect, you should always think about all the abilities and performance, and anticipate future requirements. A robust foundation gives you long-term success in anything you build Achievements Address NFRs (Non-Functional Requirements) Reduce the chaos Adaptability increases for changing requirements. November: #TeamGratitude In the spirit of gratitude, appreciate your team. A collaborative environment fosters innovation. When it comes to saying thank you, never leave any stones untouched. Be grateful. When you build a collaborative environment and ideas are shared freely, each member feels valued. Creativity and innovation are the result of a positive team culture. Achievements Improved team morale Job satisfaction Inner growth December: #YearReflections As the year concludes, reflect on your journey. Celebrate victories, learn from defeats, and enter the new year wiser. Never forget to acknowledge how far you have come and what progress you've made. Celebrate your successes - I mean every bit of them. Use this learning from the 12 steps that you have taken, be grateful, and start designing your next year. Set a vision for your career and take small steps again. Nothing succeeds like success. Achievements Self-awareness Personal growth Increase resilience Conclusion 2024 is a year filled with opportunities for your growth! set goals, work together, try new things in tech, write code with grace, always improve, learn more skills, care about quality, be an explorer, handle challenges patiently, think about scalability, value your team, and take a moment to look back on your journey. Your commitment to growing will not only make you a senior member but also inspire others in their coding journeys. I wish you joy in your coding endeavors and a great new year with new opportunities ahead. “One of my most productive days was throwing away 1000 lines of code.” - Ken Thompson Enjoy these other related articles: 16 Best Programming Quotes Quotes Every Software Engineer Should Know More Good Programming Quotes Happy coding! It's February already! :)
The Azure Solutions Architect Associate certification is a highly regarded credential for Microsoft Azure professionals. Microsoft Azure is a premier cloud platform that offers a diverse set of cloud services. The Azure applications Architect Associate certification validates your knowledge in designing Azure-based applications. We’ll walk you through the certification test in this post, including advice, resources, and a study plan to help you succeed. Understanding the Azure Solutions Architect Associate Exam Before we dive into the preparation process, it’s essential to understand the Azure Solutions Architect Associate exam format and content. The certification exam assesses your knowledge and practical skills in the following areas: Deploy and Configure Infrastructure: Design and implement solutions that deploy and configure infrastructure. Implement Workloads and Security: Implement and manage workloads and security in Azure. Create and Deploy Apps: Create and deploy applications in Azure. Implement Authentication and Secure Data: Implement authentication and secure data solutions. The Azure Solutions Architect Associate exam is designed to evaluate your ability to design solutions that meet specific business objectives in Azure. It consists of multiple-choice questions, case studies, and practical tasks. To pass the exam, you need to score at least 700 out of 1000 points. Preparing for the Azure Solutions Architect Associate Exam Effective preparation is key to passing the Azure Solutions Architect Associate exam. Here’s a step-by-step guide to help you get ready: 1. Understand the Exam Curriculum Review the Azure Solutions Architect Associate curriculum. Understand the topics and skills required for the certification. Take note of the specific domains and their weightage in the exam. 2. Set Up an Azure Environment You’ll need access to an Azure environment to practice. If you don’t have access to an Azure subscription, you can sign up for a free Azure account. Azure provides a set of free services each month, allowing you to practice and gain hands-on experience. 3. Learn Azure Fundamentals Before diving into exam-specific tasks, ensure you have a strong understanding of Azure fundamentals. Microsoft provides free learning resources through Azure Learn, which includes documentation, tutorials, and interactive modules. Start with the official Azure documentation. 4. Take Online Courses Consider enrolling in online courses that specifically prepare you for the Azure Solutions Architect Associate exam. Platforms like Udemy, Pluralsight, Coursera, and edX offer comprehensive courses that cover the required skills. 5. Practice, Practice, Practice The Azure Solutions Architect Associate exam assesses your practical skills. Practice by working on hands-on labs, case studies, and real-world scenarios. Create and deploy resources on Azure to reinforce your knowledge. 6. Use Azure Documentation The official Azure documentation is a valuable resource during the exam. Learn how to navigate and search the Azure documentation to quickly find the information you need. 7. Understand Azure Services Become familiar with Azure services, their use cases, and their capabilities. You should be comfortable with various Azure services, including Virtual Machines, Azure App Service, Azure Kubernetes Service (AKS), Azure Functions, and more. 8. Simulate Exam Conditions Set up a practice environment that mirrors the Azure Solutions Architect Associate exam conditions. Time yourself and practice under time constraints to get used to the real exam’s pressure. 9. Take Practice Exams Many online platforms offer practice exams for the Azure Solutions Architect Associate certification. These practice tests simulate the real exam and help you assess your readiness. Take multiple practice exams to gauge your progress. 10. Learn Test-Taking Strategies During the exam, you’ll need to manage your time effectively. Learn test-taking strategies such as reading questions carefully, eliminating incorrect options, and budgeting your time wisely. 11. Join Study Groups Online study groups, forums, and communities can be beneficial for sharing knowledge and tips. Join Azure Solutions Architect Associate study groups on platforms like Reddit, LinkedIn, or the Microsoft Learn Community to connect with others preparing for the exam. 12. Take Breaks and Rest Studying for the Azure Solutions Architect Associate exam can be intense. Take regular breaks to relax and avoid burnout. A well-rested mind performs better during the exam. Azure Solutions Architect Associate Exam Day Tips On the day of the Azure Solutions Architect Associate exam, here are some tips to keep in mind: Read the Instructions: Carefully read the instructions provided at the beginning of the exam. Understand the requirements and constraints. Start with Easier Questions: Begin with questions you are confident about to build momentum and boost your confidence. Manage Your Time: Keep an eye on the clock and allocate time for each question or task. Don’t get stuck on a single question for too long. Flag Questions: If you’re unsure about a question, flag it for later review and move on to the next. You can come back to it. Check Your Work: Before submitting your answers, review your work. Ensure that you’ve completed all questions and that they meet the requirements. Stay Calm: Don’t panic if you encounter challenging questions. Take a deep breath; if necessary, skip a challenging question and return later. Use Azure Portal: During the exam, you can access the Azure portal and Azure documentation. Learn how to use these resources effectively. Submit Answers Carefully: When you’re confident in your answers, submit them. Ensure that you don’t accidentally submit incomplete or incorrect solutions. Azure Solutions Architect Associate Resources To help you prepare effectively for the Azure Solutions Architect Associate exam, here are some recommended resources: Azure Solutions Architect Associate Curriculum: The official curriculum from Microsoft. Azure Documentation: The official Azure documentation is a valuable reference for exam preparation. Azure Learn: Microsoft’s free learning resources with documentation, tutorials, and interactive modules. Online Courses on Platforms like Udemy, Pluralsight, Coursera, and edX. Practice Exams from reputable sources to assess your readiness. Advanced Study Resources For those looking to delve deeper into Azure and excel in the Solutions Architect role, consider exploring these advanced resources: Microsoft Certified: Azure Solutions Architect Expert The Azure Solutions Architect Associate is a stepping stone to the Azure Solutions Architect Expert certification. This advanced certification focuses on more complex solutions and architectural designs. Earning this certification can open doors to higher-level roles and responsibilities in cloud architecture. Azure Architecture Center The Azure Architecture Center is a comprehensive resource for designing and implementing solutions on Azure. It provides architecture best practices, reference architectures, and design patterns to help you build robust and scalable solutions. Azure Training Paths Microsoft offers a range of Azure training paths to help professionals acquire deeper expertise. These training paths cover specific areas like AI and machine learning, IoT, and more. Azure Community Join the Azure community to connect with other professionals, architects, and experts in the field. Platforms like GitHub, Stack Overflow, and LinkedIn offer opportunities to share knowledge and collaborate on Azure projects. Conclusion Obtaining the Azure Solutions Architect Associate certification is a key step in your cloud architecture career. It displays your proficiency in designing and implementing solutions on Microsoft Azure, a major cloud platform. Passing the exam requires thorough preparation, which includes extensive study, practical experience, and good test-taking tactics. You may successfully prepare for the Azure Solutions Architect Associate test, demonstrate your abilities, and advance your career by following the methods and advice indicated in this book. Microsoft Azure is a prominent cloud provider, and qualified personnel are in high demand. You may position yourself for intriguing career prospects and contribute to the success of organizations that use Azure for their cloud solutions by getting the Azure Solutions Architect Associate certification.
Looking to transform the healthcare industry by building great software? Here’s a quick guide for you! Among all the industries that have benefitted immensely from the emerging new technologies, healthcare stands right at the top. And software developers, thanks to their tools and extensive skillset required to drive a meaningful change, are at the forefront of this transformation. Are you on the lookout to make a substantial impact in the healthcare industry through software development? You will certainly find this guide helpful! Understand Regulatory Compliance The heart of the matter is that healthcare software is subject to several regulations designed to protect private patient data and ensure the safety and efficacy of medical technologies. It might help to familiarize yourself with key legislations like HIPAA in the US, GDPR in the European Union, and other relevant local regulations depending upon the region or country you want to develop software for, as this will enable you to develop applications that are compliant and secure. You would want to incorporate compliance considerations into your development process from the very beginning to avoid costly revisions and ensure a smoother path to the market. Prioritize User Experience As a developer trying to break it into the healthcare industry, you need to be aware that your end-users will range from patients of diverse backgrounds to healthcare professionals with different levels of technical expertise. Therefore, it becomes even more important that you develop software interfaces that are not only intuitive and user-friendly but also cater to the specific needs of these user groups. For instance, while patient-facing applications should be accessible and easy to navigate, tools for healthcare providers should integrate seamlessly into their workflows to enhance efficiency without adding complexity. The right way to go about it is by employing an iterative design process and incorporating feedback from real users as early and as frequently as possible. In addition to helping you refine the usability of your application, this approach will help ensure that the software genuinely addresses the needs and pain points of its intended users. Embrace Interoperability If you’ve read about software development for the healthcare industry and all the comprising technologies before, you’d know how complex healthcare systems can get. Keep in mind that your software needs to be designed to integrate smoothly with these existing systems, facilitating the seamless exchange of data and enhancing the continuity of care. Other than the healthcare compliances, you should also familiarize yourself with healthcare data exchange standards such as HL7, FHIR, and DICOM to reduce integration challenges and improve the interoperability of your solutions. Stay Abreast of Emerging Technologies The latest technologies, such as AI, ML, and IoT, offer immense potential to transform healthcare. You should actively take time to explore opportunities and consider how these technologies can be applied within your software to enhance its capabilities. Focus on Security and Privacy Given the sensitive nature of health data, a software developer needs to keep in mind that security cannot be an afterthought. It becomes important to implement comprehensive security measures, including end-to-end encryption, secure data storage solutions, and regular security audits to ensure that your software is designed to afford users control over their data while also aligning with privacy-by-design principles. While you implement all these measures, you will still need to develop a clear, actionable plan for responding to security incidents, including timely notification procedures and measures to mitigate damage. Continuous Quality Improvement Another important task is to employ Agile development methodologies for continuous improvement and adaptability. This approach will allow you to respond swiftly to changes in technology, regulations, and/or user needs, ensuring that your software remains relevant and effective. You would also want to invest in rigorous quality assurance processes and testing and regularly update and maintain your software to address any vulnerabilities. The Bottom Line Developing healthcare software is a unique and rewarding challenge that offers software developers the opportunity to make a tangible difference in people's lives. The goal of this checklist is to help you navigate the complexities of the healthcare industry and to ensure that your software not only meets regulatory and user requirements but also sets new standards for innovation and care. All the best!
TL; DR: Getting Hired as a Scrum Master or Agile Coach Are you considering a new Scrum Master or Agile Coach job, but you are not sure that it is the right organization? Don’t worry: there are four steps of proactive research to identify suitable employers or clients for getting hired as a Scrum Master and avoid disappointment later. I have used those four steps for years to identify organizations I would like to work with, and they never failed me. Read on and learn how to employ search engines, LinkedIn’s people search, reach out to peers in the agile community, and analyze the event markets in the quest for your next Scrum Master job. The Scrum Master Job Market Is Challenging We have all heard the news that organizations question the usefulness of employing Scrum Masters and cutting back on offering job opportunities. In some cases, they even laid off all Scrum Masters and Agile Coaches. Times are challenging, and many peers must make ends meet, considering more “tolerance” regarding job opportunities. While I understand the approach, I like to advocate for preparing yourself properly in advance of getting hired as a Scrum Master to avoid future disappointment with new clients or employers. Therefore, if looking for a new Scrum Master job, consider two questions: Do I want to work for a developing agile organization (of the late majority) where my work will likely be met with resistance at multiple levels? Alternatively, how do I identify an organization that established agile practices compatible with my mindset? The two questions are relevant to applying to available positions and identifying suitable employers or clients for a proactive application. How To Get an Idea of an Organization’s Maturity Regarding Scrum or “Agile” While it is impossible to assess an organization’s “agile maturity” — if there is such a thing — solely from the outside, it is possible to acquire enough of an understanding of its agile practices this way. That understanding would allow for asking the right questions at a later stage; for example, during an initial job interview. Or, you may conclude after your research — thus early in the assessment process (see below) — that the organization is not compatible with your expectations of a future employer or client. (Consider the popular saying: "There is no job interesting enough that you just couldn’t walk away from it.") The good news is that all organizations that genuinely embrace agile practices are usually openly talking about their journeys (unless they need to honor compliance rules) and are transparent and actively supporting the agile community. The reason for this support is simple: being transparent and supportive is the best way to pitch the organization (and its agile culture) to prospective new team members. The war for talent is even more imminent for agile practitioners. The necessity of critical information is the basis for all research activity during the three distinct phases of your assessment process prior to getting hired as a Scrum Master: Proactive research Job advertisement Job interview Getting Hired as a Scrum Master, Phase 1: Proactive Research The proactive research comprises four elements: search engines (Google, Bing, YouTube, etc.), LinkedIn people search, reaching out to peers in the industry or communities, and analyzing the event markets. Source 1: An Opportunistic Search via Google, Bing, or YouTube As a first step, always search the organization’s name in combination with a variety of agile-related keywords, such as: Agile Lean Scrum Scrum Master ScrumMaster Product Owner Kanban SAFe LeSS Nexus DevOps Continuous integration Continuous delivery Design thinking Lean startup Tip Use additional search parameters to narrow down the search results. For example, the query "scrum master" site:age-of-product.com will return all articles on Age-of-Product.com that include the term “scrum master.” (Learn more about advanced search on Google.) The purpose of this exercise before getting hired as a Scrum Master is to discover an organization’s use of agile practices and the associated fluency level by shedding some light on questions such as: Scrum, Kanban, XP, Lean UX, Design Thinking — What are they practicing? Are the current Scrum Masters or Agile Coaches working at the organization? How many engineers or engineering teams are working for the organization? What is the size ratio between the product management and engineering teams? Is the organization practicing continuous product discovery? Is the organization practicing DevOps? The initial search results will provide a first impression, directing further searches of blog posts, videos of conferences or local meetups, slide decks, podcasts, or threads in communities. A truly agile organization will leave traces of a large variety of content. The mere quantity of results, though, does not signal that the organization in question has already passed the test, so to speak. There is no way to avoid checking the content. Here’s an example: InfoQ — a community news site facilitating the spread of knowledge and innovation in professional software development — has a rigorous editorial process and focuses on delivering quality content to its audience. Contrary to InfoQ’s standards, there are quite a few articles on Medium.com, for example, that could raise eyebrows for scrutiny. A good rule of thumb when scanning search results is noting the diversity of sources. If you find content only on the company blog, and it has barely been shared or commented upon, it might hint that the content is not relevant enough to be of interest within the Agile community. Advanced Tips Search for the title of a particular content piece on X or Twitter and have a look at the search results: Who from the Agile community is sharing this content? Use sites like BuzzSumo for content research. While BuzzSumo is a paid service, they offer a generous 30-day free trial period. Source 2: LinkedIn’s People Search Another good source for research on the target organization before getting hired as a Scrum Master is LinkedIn’s people search. You can list results by search term and then filter them, for example, by company name and location. (Here is an example of Scrum Masters working for Accenture in North America which lists currently about 2,800 results.) And while you’re at it, why not reach out to someone listed in the search results who is in your LinkedIn network? Or ask someone from your network who may introduce you to a person from the target organization you would like to interview about their Agile mindset? Please note, though, that internal job titles may differ from your vocabulary and impact the accuracy of the search results. Source 3: Ask Peers for Help via Reddit, Hacker News, the Hands-on Agile Slack Community, and LinkedIn Groups It is also beneficial to extend the initial Google search to online communities such as Reddit or Hacker News (HN), to name a couple. Both communities allow for posting articles as well as questions. The archive of HN is of particular interest. It is not just because of the sheer number of available articles or threads there but also the partly heated discussions going on in the comments. Be aware, though, that "Scrum" as a concept is challenged by a lot of outspoken community members (namely, independent developers) both on Reddit and HN. Beyond passively scanning the archives, posting a direct question to peers is an alternative. HN is likely a waste of time, and if using Reddit – choose the Subreddits r/agile and r/scrum for a possibly better outcome. Note: Don’t forget – haters will hate, and trolls just want to play. Do not take it personally if your search on Reddit or HN is not taking the direction you desire. You can probably expect more support by asking the 19,000 members of the "Hands-on Agile" Slack community for help on getting hired as a Scrum Master. This is a worldwide community of Scrum Masters, agile coaches, and Product Owners that has proven to be very supportive. There are also LinkedIn groups available that focus on Scrum and agile practices — some with more than 100,000 members. After having joined them, post your question(s), remembering to be compliant with the group rules. Expect your first posts to be moderated, though. Some recommended LinkedIn groups — in no particular order — getting hired as a Scrum Master are: Agile Clinic Scrum Practitioners Agile World Group Scrum.org Agile Agile Project Management Agile Coaching Scrum Practitioners, Scrum Masters If posting a question to a LinkedIn group, expect to monitor it carefully and interact with answering members in a timely manner: not interacting with responding group members may be considered rude and possibly lead to being banned from posting in the group again. (Read More: Etiquette in technology (Netiquette).) Also, try Quora, directing a question on getting hired as a Scrum Master to Quora members active in the agile realm as to whether the organization of interest has an agile mindset. (Note: In doing so, avoid asking anonymous questions — which tend to have a significantly lower answering rate.) Lastly, the two main Scrum certification bodies — Scrum.org and ScrumAlliance — provide access to directories of certificate holders. In both cases, you need the certificate holder’s email address access to a public profile via the search function. A faster way to access a known individual’s public profile is often the advanced Google search, see above. Source 4: Is the Organization Sponsoring or Organizing Meetups, Barcamps, or Conferences? In my eyes, supporting public or virtual events is the highest form of contribution to the agile community by an organization. There are four different levels of engagement — no matter whether the event is a virtual event or an in-person event: Organizing conferences (or Barcamps) Sponsoring conferences Providing speakers at conferences Sponsoring local Meetups and Barcamps by providing a venue Suppose an organization provides this level of support to the agile community. In that case, the talk about this will undoubtedly be on the company blog, an engineering or product-management-related blog, or in a press release in their public relations section. In the unlikely case that any reference cannot be found, just contact the Public Relations department who will provide the required information. A. Browsing Conference Sites for Sponsors Conference sites are a good ground for identifying prospective organizations when considering applying for a Scrum Master position. Check carefully for two things: sponsors and speakers. Search for sponsors that are practicing agile in their daily operations. Usually, a larger sponsor package will also include a speaking slot at the conference. Attending such a session — whether in person or virtually — will provide direct access to the speaker and thus a first contact in the inner circle of that organization’s agile practitioners. This tends to be valuable: People departments often rely on the private networks of the organization’s available agile practitioners to identify suitable candidates for job openings as a Scrum Master. (Accordingly, attending local Meetups can also be a worthwhile investment for job seekers.) B. Browsing Conference Sites for Speakers Personally, a more promising approach, by comparison, is to search for non-professional speakers who are aligned with an organization that is not sponsoring the conference. These speakers may indicate a suitable prospective employer or client after already having gone through the selection process for speaking proposals and vetting their contribution for originality. The same approach can apply to contributions at Barcamps, although a disadvantage is that the critical information is only available during an event. While the speaker list of a conference is available in advance to stimulate ticket sales, it is the nature of a Barcamp that the schedule, and hence the speaker list, is available only on the day of the Barcamp. If you are already planning to attend a Barcamp, it may just be an inconvenience and not a concern. Timing is crucial, though, so please keep in mind that tickets for Barcamps are often sold out within minutes. (For example, the 600-plus tickets for the UXCamp Europe were regularly gone in a few minutes until the organizers switched to a lottery.) There are numerous conferences regarding agile practices, so here are just some of the listings: Agile Alliance Agile Testing Days Agile on the Beach QCon New York For an additional listing of conferences, check the Top 10 Agile conferences to attend in 2024. Lastly, the big conferences are often considered must-attend events — useful, for example, to gain or improve professional visibility within the agile community. Alternatively, smaller conferences often prove to be more effective by providing information that helps identify a suitable, prospective agile organization. The larger the conference, the more possibility of noise camouflaging that information, complicating getting hired as a Scrum Master. C. Browsing Meetup.com Meetup.com is a great site to discover which events of the Agile community are happening locally and who is organizing them. There are thousands of meetups worldwide covering the topics of agile frameworks and practices, software engineering, and product development in general. Since the pandemic, many Meetup groups switched to virtual events, attracting more members from outside their original reach. For example, the Hands-on Agile Meetup community has grown from about 1,500 members in March 2020 to more than 6,500 members worldwide in February 2024. The new members from all over the globe — from Vietnam to Brazil to the United States — added tremendous expertise and diversity, making the events more inclusive and a much better experience for everyone. Therefore, Meetup.com is an excellent place to look for answers and peer support. Conclusion: Getting Hired as a Scrum Master Suppose you are looking for a Scrum Master job. In that case, it is possible to understand the agile mindset of an organization in advance by applying the research approaches sketched above. Investing a few hours in advance may save you from later disappointment when your Scrum Master job may turn out to be vastly different from what was pitched or promised to you before.
Remote Developers Are Part of the Liquid Workforce The concept of a liquid workforce (see Forbes, Banco Santander, etc.) is mostly about this: A part of the workforce is not permanent and can be adapted to dynamic market conditions. In short, in a liquid workforce, a proportion of the staff is made of freelancers, contractors, and other non-permanent employees. Today, it is reported that about 20% of an IT workforce, including software developers, is liquid in a significant part of the Fortune 500 companies. Figure: It is reported that about 20% of an IT workforce is liquid in a significant part of the Fortune 500 companies. Actually, working as a freelancer has been a common practice in the media and entertainment industry for a long time. Many other industries are catching up to this model today. From the gig economy to the increasing sentiment stemming from Gen-Y and Gen-Z’ers that employment should be flexible, multiple catalysts are contributing to the idea that the liquid approach is likely to continue eroding the classic workforce. For corporations, this is actually a “perfect storm” that can be put to good use to adapt to increasingly faster changing market conditions. Indeed, the acceleration of the pace of technology and the issue for corporations to maintain a skill set that enables them to be competitive can be tackled by embracing this concept. Remote Software Development in Startups and SMEs In practice today, more SMEs and startups actually outsource parts — or sometimes most — of their software development workforce. A key enabler to onboarding a liquid workforce is the democratization — in the world of application development and data science — of the use of only cloud-based infrastructure components (GitHub, GitLab, data buckets, etc.) to manage source code and data. Expectedly, this opens the possibility for members of (permanent and ephemeral) workforces to work from anywhere, because the corporate infrastructure is indeed available anywhere. The use of cloud development environments are part of this trend and provide a mechanism to onboard developers across the globe on pre-installed environments. Younger companies are adopting new types of tools and infrastructure faster than corporations and can then be more flexible with regard to enabling remote data access. Therefore, the rise of the liquid workforce is more likely to be a bottom-up initiative across the industry in terms of company size. Figure: Cloud development environments provide a mechanism to onboard developers across the globe on pre-installed environments, connecting to online services. In addition, there are hundreds of companies situated in countries where labor cost and skill sets are combined advantageously that provide access to a liquid workforce. Today, IT business process outsourcing and external application development are, altogether, a USD $92 billion market. If you are openly eager to hire external help on LinkedIn, you will get contacted several times by boutique outsourcing partners, mostly from the Balkans or Asia. Consumers of these services really span the entire set of corporation sizes, across all industries. I have talked to a dozen of these service companies, and sadly, very few have a clear plan of how to effectively protect the data of their customers. Most protective mechanisms hover around legal paperwork. Albeit this approach might be comforting for large corporations, this is mostly a sham for any smaller business settings that cannot really afford to take legal action, let alone in an international context. How to Secure Development When Using Remote Developers Unsurprisingly, digital trust has to catch up with the liquid IT phenomenon. In practice, there are three simple measures that companies of all sizes can put in place to infuse a good sense of security. Ease of adoption is directly dependent on how these measures can be delivered, i.e., cost-effectively and with a minimal impact on operations. The number one measure is to automate and streamline the onboarding process. In the domain of code development and data science, where the set of necessary software components to enable productivity is quite significant, this is a tricky issue. Hence a performant and economically efficient onboarding mechanism to bring on liquid contributors has to be put in place first. I mentioned the use of cloud development environments as an enabler for that. Once on board, the number two measure is to ensure continuous data protection. This is another thorny issue because of the lack of classic corporate IT perimeter. Yet, as I explained previously, the Cloud is an efficient medium to allow remote access. From a security perspective, public and private clouds — e.g., Google GCP, AWS, and Azure — have reached a level of security that keeps most small-time cybercriminals and script kiddies ashore. In effect, this has migrated the attack surface for hackers to the network’s edges. In other words, the danger around data leaks becomes mostly confined around data access points and the developer’s behavior at each endpoint of the network rather than a centralized cloud storage problem. Here, secure cloud development environments are the key enabler for protecting data on “the edge” of the development process. Figure: Secure cloud development environments are the key enabler to onboard a liquid workforce while securing data while in use by developers and when accessed globally. Putting it simply, it used to be that your internal servers might be targeted. Now, with a cloud-based IT infrastructure, it’s mostly your endpoints — i.e., the developers’ laptops — that are prey. Indeed, in practice, it is much easier to steal a laptop than hack Google. In addition, malicious employee activities, aka insider threats, around intellectual property theft such as source code and data are now becoming one of the growing concerns for corporations. This seems to be an outcome of embracing a liquid workforce (too naively), i.e., liquidity seems to erode some employees’ ethics as well! Finally the number three measure is setting up a continuous and adaptive audit system that enables the collection of security and compliance events across the entire cloud-based infrastructure, including in particular its edges. Compliance with information security standards such an ISO 27001 (in particular the appendices) and SOC-2 is a starting point to set up a minimally sufficient protection program. As I mentioned above, technologies such as zero-trust access control and data loss prevention, in particular cloud-delivered, are some of the mechanisms that are contributing to enabling the secure liquid workforce. Because secure cloud development environments are accessed online, creating an audit trail is quite simple. Logs can be centrally collected with little effort and plugged in a SIEM tool. Figure: Events can be collected from secure cloud development environments in real time since they are running online. How to Address Data Protection Challenges When Using Remote Developers The shift toward a more flexible development workforce necessitates an innovative approach to digital trust to onboard remote developers securely. Companies can bolster security and facilitate this transition by implementing three key measures: (1) streamlining the onboarding process, (2) ensuring continuous data protection, and (3) establishing a robust audit system. First, leveraging the trend of coding online using cloud development environments simplifies the complex onboarding process for developers and data scientists, making it economically viable and efficient. You can learn more about the way to onboard remote developers in this 2023 DevOpsPro Europe presentation. This approach is crucial for seamlessly integrating developers into the workflow. Second, the transition to cloud-based IT infrastructure has shifted the focus to securing data at access points and monitoring endpoint behaviors, as cloud platforms like GCP, AWS, and Azure already offer strong defenses against common cyber threats. Here, secure cloud development environments are instrumental in safeguarding remote data on the network's edge, addressing the nuanced challenges presented by a dispersed workforce. Finally, as organizations navigate the complexities of integrating securely remote developers, these measures offer a roadmap to securing digital assets while accommodating the needs and dynamics of modern IT practices. The shift toward cloud-based solutions and the strategic implementation of security measures underscore the evolution of digital trust in tandem with the liquid IT phenomenon, ensuring that productivity, security, and compliance can be balanced.
Have you ever found yourself in the position of a test engineer embedded in one of the Agile engineering teams? While you have daily interactions with peers, connecting with them on a profound level for the successful execution of job duties might be challenging. Although there is a shared goal to release features successfully, we often experience isolation, especially while others, like developers, find comfort within the team. In the realm of dispersed Agile teams with time zones adding an extra layer of complexity, the longing for a team to resonate with, connect with, and brainstorm on all test automation challenges is prevalent. In the expansive landscape of test automation, the creation of an automation guild is more than just collaboration; it stands as a testament to the resilience of SDETs working across diverse time zones and Agile teams. Through this guide, I aim to share the benefits and challenges overcome, the enrichment of test engineers or SDETs, and the establishment of a collective force dedicated to advancing excellence in testing. Breaking Silos In a world where time zones separate teams and Agile methodologies dictate the rhythm of development, test engineers face a unique challenge. Even though they are part of an Agile team with a shared goal, i.e., successful release, they must navigate independently without a clear direction or purpose. The guild, however, becomes a bridge across these temporal gaps, offering a platform for asynchronous collaboration. It not only allows them to demo their progress, accomplishments, and new utility that can be leveraged by others but also their challenges and blockers. It will surprise you to see how often those obstacles are common among other guild members. Now that they have each other, all heads come together to brainstorm and find common, effective solutions for any testing problem. Fostering Through Training and Contribution As important as regular guild meet-ups and collective commitment are, continuous learning and training initiatives are equally vital to empower test engineers to contribute effectively. From workshops on emerging testing methodologies to skill-building webinars, the guild evolves into a learning haven where members grow together, ensuring each test engineer is equipped to make a meaningful impact. It enhances members’ efficiency by reducing redundant efforts. Understanding what others are working on and what tools are available for use, such as common utilities and shared definitions, enables them to save time by avoiding duplication of efforts and contribute more effectively. This isn’t just about individual efficiency; it’s a strategic move toward collective empowerment. Grow Your Network and Your Profile Within the guild, networking is not confined to individual teams. It offers the creation of a network that spans across Agile teams, allowing Test Engineers to understand overall solutions from diverse perspectives. This isn’t just about sharing knowledge; it’s about broadening domain knowledge. Turning new members into seasoned members who can then mentor new juniors, ensuring that the guild is not just a community but a mentorship ecosystem that thrives on collective wisdom. If there’s one aspect that has been repeatedly demonstrated in the guild, it would be that challenges are not roadblocks but opportunities for innovation and collaboration. The guild stands as a testament to the fact that, even in the world of test automation, where distances and time zones pose challenges, excellence can be achieved through collective strength. Automation guild is not just about crafting code; it’s about crafting a community that advances excellence in testing, collectively and collaboratively. The future, as envisioned through the chronicles, is one where Test Engineers, regardless of time zones, work seamlessly in a guild that stands as a beacon of innovation, knowledge-sharing, and collective growth.
March 2020. We anxiously watched COVID spread, first through Asia and then Europe before it really impacted the United States. In the second week in March, retail businesses started closing and office workers were instructed to work virtually from home. "Just a couple of weeks, maybe a month," we were told. And now, four years hence, I continue to work full-time from home and don’t expect to change: my employer has stated that in-office or remote work is the employee’s, not the employer’s choice. Cool. “MDI Siemens Cube farm” by babak_bagheri is licensed under CC BY-SA 2.0 Truthfully, my employer is not in a position to force RTO, even scheduled hybrid, as many employees relocated away from headquarters, often leaving the state. Employees have been hired remotely, both before and since the pandemic started. Technically I am a Minnesota – Remote employee even though I am less than ten miles from headquarters. To force in-office work would be hypercritical, though they continue to try and encourage more attendance. [An end-of-summer ice cream party is not an incentive to come into the office!] Not Everyone Is As Lucky Many big-tech behemoths – e.g., Amazon, Apple, Google, IBM, Salesforce – have created various carrot-stick mandates to get their employees in multiple days per week, accepting the negative impact on morale and increasing employee attrition. Friends are increasingly acceding to RTO mandates, usually hybrid, with no obvious benefit to either the employee or the employer: An Amazon friend who manages two teams in three locations and is always remote for the majority of his direct reports A Dell friend who took the pandemic stipend to become full-time remote and is now required to go into the office twice weekly even though her entire team is two timezones away, plus no local storage means she brings in her own (working) keyboard/mouse each day (as well as tea, cup, snacks, etc.) A General Dynamics friend whose management silo requires her team to be full-time in the office while teams with whom she works are hybrid or remain work-from-home A Thompson Reuters friend who is required to badge in two days per week just because and still primarily works alone A friend who works for USBank supports teams across the country and now has the same virtual meetings she would have from home Many reasons are given which are often lame and apocryphal: we’re not living our culture, we’re not collaborating, we’re not ideating, we’re not as fast-to-market, we’re not serving our customers, people are not working hard, our finances are worse off. No doubt there is some truth, individual examples, but those are the exceptions and not the rule. [A previous company installed employee monitoring software that identified multiple employees who didn’t open their laptops or check their emails for months after being sent home. So yeah, I get it, it does occur.] Microsoft appears to understand that, "It can’t go back to the way it used to be," but seems to be an outlier across Fortune 100 companies. And organizations are not always prepared for employees to return - multiple discussions about returning to the office without a place to actually work. Unspoken Reasons For all the bullshit reasons spewed by leaders, I have three basic reasons that companies are trying to force some form of return-to-office: Senior leaders are often extroverts and derive energy from those personal interactions; software engineers and technologists (of which I am one) are more introverted and may even feel threatened by large-scale personal interactions Mid-level managers who rely on butts-in-seats and keyclicks to measure performance, don’t know how to motivate without in-person bullying or intimidation and have shown themselves to be incapable of change CEOs, CFOs, and bean counters who fiscally interpret their mostly empty corporate offices as wasteful, and, lacking any meaningful way to sell buildings or modify existing leases, view return-to-office mandates as a net positive to overall finances. And Then It Got Real This paper was recently published by a professor and Ph.D. student at the Katz Graduate School of Business at the University of Pittsburgh, which correlated return-to-office mandates with positive financial impact for Fortune 500 companies. The findings showed otherwise: "Also, our findings do not support the argument that managers impose mandate because they believe RTO increases firm values. Further, our difference in differences tests report significant declines in employees’ job satisfactions mandates but no significant changes in financial performance or firm values after RTO mandates." Final Thoughts “My WFH setup is getting crazier and crazier” by Sergiy Galyonkin is licensed under CC BY-SA 2.0 Obviously, I’m unabashedly pro-WFH, bookmarking stories that support my views, and debating whomever on the advantages/disadvantages of full-time WFH. And I totally get how fortunate I am: while firms struggled to redefine their business virtually, while many took unpaid leave when businesses that required customers closed, and while students transitioned to virtual education, it was mostly a non-event for me. Other than a changed location, almost nothing else changed. [I even dressed business casual for a few months.] The uncomfortable truth is change was afoot prior to the pandemic, working an occasional day from home was not unheard of. Companies often have multiple locations, both national and international, requiring virtual meetings and digital collaboration tools that we rely on today. My previous five employers each had fully remote employees who occasionally flew in for planning, catch-up, or training. So a transition was in progress, the pandemic just forced everything into hyperdrive. Is remote work for everyone? Unequivocally no. Are there advantages to occasional in-person meetings? Unequivocally yes, especially for major planning or direction-setting events. Does it negatively impact overall business progress and performance? I don’t believe so (even before the paper was published), though actual numbers aren’t available for my paid grade. My current boss said he doesn’t question my work, and I believe I am more productive than when a daily slog commute to an office was required: my equipment setup is better, my environment is nicer (windows!), I take small quick breaks than rather than having to leave, I know how to communicate well with others. It’s not for everyone, I know it won’t last forever, but I really wish companies would stop trying to force something that doesn’t appear necessary.
Artificial intelligence (AI) is one of the twenty-first century's most exciting and rapidly developing fields. Artificial intelligence has the potential to transform a variety of industries, including education, healthcare, retail, e-commerce, public relations, small businesses, recruitment, services, and manufacturing. AI can also improve the quality of life for millions of people worldwide by solving complex problems, increasing efficiency, and developing novel solutions. But how do you become an AI expert and enter this exciting field? What skills, education, and career paths should you pursue? In this blog post, we will answer these questions and provide you with a detailed guide on how to become an AI expert. What Is an AI Expert? An AI expert is a professional who understands the fundamentals, methods, and applications of artificial intelligence. An AI expert can create, develop, and deploy intelligent systems capable of performing tasks that would normally require human intelligence, such as natural language processing, computer vision, speech recognition, machine learning, and robotics. An AI expert can work in a variety of fields, including research, engineering, consulting, and teaching. An AI expert can also focus on a specific subfield of AI, such as machine learning, deep learning, computer vision, natural language processing, or robotics. What Are the Skills and Education Required To Become an AI Expert? To become an AI expert, you must have a solid foundation in mathematics, statistics, computer science, and programming. You also need a solid understanding of AI fundamentals such as algorithms, data structures, data analysis, machine learning, and deep learning. Depending on your desired career path, you may also need a bachelor's, master's, or doctoral degree in AI, computer science, or a related subject. Alternatively, you can take online courses, certifications, or boot camps to learn the fundamental skills and concepts of artificial intelligence. Coursera, Udemy, edX, and Udacity are some of the most popular online platforms for AI courses. Some popular AI certifications include the IBM AI Engineering Professional Certificate, Google TensorFlow Developer Certificate, and Microsoft Azure AI Engineer Associate. What Are the Career Paths and Opportunities for AI Experts? There are numerous career paths and opportunities for AI experts across industries and sectors. Some of the most popular and lucrative AI jobs are: AI engineer: An AI engineer is a professional who uses AI and machine learning techniques to create applications and systems that improve organizational efficiency. An AI engineer creates the tools, systems, and processes that allow AI to be applied to real-world problems. An AI engineer may also work with data scientists, machine learning engineers, and other AI professionals to develop and implement AI solutions. The average salary for an AI engineer is $113,000. Machine learning engineer: A machine learning engineer is a professional who conducts research, builds, and designs the artificial intelligence (AI) that powers machine learning. A machine learning engineer maintains and improves existing AI systems while also conducting experiments and tests to assess and optimize their performance. A machine learning engineer collaborates closely with data scientists and AI engineers to create machine learning models and algorithms. The average salary for a machine learning engineer is $123,000. Data engineer: A data engineer is a professional who creates systems for collecting, managing, and converting raw data into information that data scientists, business analysts, and other data professionals can interpret. A data engineer makes data accessible and reliable, allowing organizations to evaluate and improve their performance. A data engineer works with a variety of data sources, including databases, APIs, web scraping, and cloud services. The average salary for a data engineer is $104,000. Robotics engineer: A robotics engineer is a professional who creates robotic applications for a variety of industries, including automobiles, manufacturing, defense, and medicine. A robotics engineer creates, tests, and implements new products or prototypes that incorporate robotic technology. A robotics engineer also works with a wide range of hardware and software components, including sensors, actuators, controllers, and programming languages. The average salary for a robotics engineer is $96,000. AI researcher: An AI researcher is a professional who conducts scientific research into the theory and application of artificial intelligence. An AI researcher investigates new ideas, methods, and applications of AI and publishes their findings in academic journals, conferences, and books. An AI researcher collaborates with other researchers, academics, and industry partners to further the field of AI. The average annual salary for an AI researcher is $119,000. AI consultant: An AI consultant is a professional who offers expert advice and guidance on the use and implementation of artificial intelligence to a variety of clients and organizations. An AI consultant analyzes the client's needs and goals and recommends the best AI solutions to help them achieve their goals. An AI consultant also assists clients with the planning, execution, and evaluation of their AI projects. The average annual salary for an AI consultant is $102,000. How To Become an AI Expert: A Summary Becoming an AI expert is a rewarding and challenging career path that can lead to numerous opportunities and possibilities for you. To become an AI expert, you must have a solid background in mathematics, statistics, computer science, and programming. You should also have a solid understanding of the fundamentals and applications of artificial intelligence. You can learn these skills and knowledge through formal education, online courses, certifications, or boot camps. There are numerous career paths and opportunities for AI experts across industries and sectors. AI engineer, machine learning engineer, data engineer, robotics engineer, AI researcher, and AI consultant are among the most sought-after and lucrative AI positions. You can choose a career path that aligns with your interests, skills, and goals. Suppose you are interested in artificial intelligence and want to become an AI expert. In that case, you can begin your journey today by enrolling in one of the many online courses or certifications that will teach you the fundamental skills and concepts of AI. You can also look into the various resources and communities available to help you learn more about AI and keep up with the latest trends and developments in the field. We hope this blog post provided you with a comprehensive guide on how to become an AI expert. If you have any questions or comments, please post them below. We'd love to hear from you.
In this article, we are going to look at the challenges faced when rapidly scaling engineering teams in startup companies as well as other kinds of companies with a focus on product development. These challenges change between different types of companies, sizes, and stages of maturity. For instance, the growth of a consultancy software company focused on outsourcing is so different from a startup focused on product development. I've faced much team growth and also seen the growth of teams in several companies, and most of them have faced the same challenges and problems. Challenges The following are some of the challenges or problems that we will have to address in high-growth scenarios: Growth is aligned with productivity: many companies grow, but the output is unfortunately far from the goals. Avoid team frustration due to failure to achieve growth goals. Avoid too much time being consumed with the hiring process for the engineering teams. Avoid the demotivation of newcomers due to chaotic onboarding processes: the onboarding process is the first experience in the company. Maintain and promote the cultural values defined by the organization. The impact on delivery is aligned with the defined goals and risks. New hires meet expectations and goals in terms of value contribution. Navigating the Challenges Goals Goals are the main drivers of the growth strategy. They need to be challenging, but also realistic, and linked to mid-term and long-term vision. Challenging: Push the team to go beyond their comfort zone and strive for excellence. It requires effort, innovations, planning, and agility. Realistic: Ensure the goals can be achieved to avoid lead with frustration and burnout. The growth of the company and its success have to enhance the motivation and inspiration of the team. Long-term: Goals have to be aligned with the company's long-term vision and in a wide range. Large growth cannot be organized with the next three months in mind, because that may be the time it takes to find suitable candidates. Goals have to be measurable, clear, and specific to: Promote accountability Evaluate and measure the goal's success Take data-driven decisions All growth requires dedication and effort from the team; time that they will not dedicate to product evolution or development. Example: Unrealistic Goal Let's suppose we have a team of 10 engineers divided into 2 squads: backend and platform. The company set the following goals: Triplicate the team in 1 year, from 10 to 30 engineers. Keep the delivery performance. Create three news squads: DevOps, Data Platform, and Front End. Promote the culture. Only hire top-tier engineers. Most likely, the number of candidates we will have to evaluate in interviews and technical exercises will be at best four candidates for each position in addition to the time dedicated to the onboarding process. Usually, there is more than one engineer collaborating in the hiring process so we are likely to have a significant impact on delivery. Finding a team of experienced and highly qualified people is not an easy task. It is necessary to define what we consider "talent" and the different levels at which we can hire. Maintaining and promoting the culture in a high-growth environment where in one year there are more new people than the team we have is very complex and requires a good strategy, definition of objectives, and agility in decision-making. With this, we want to reflect that one of these objectives would already be ambitious - but all of them together make it practically impossible to achieve success. Talent Acquisition and Hiring Process The talent acquisition team plays a crucial role in a company's growth strategy, but they need the support of all of the company. C-Levels and hiring managers have to provide all the support and be involved as the same team. Clear Communication Foster open and clear communication between teams to ensure that everyone understands the goals and the role each team plays in the process. Review Pipeline Quality Sometimes many candidates go through the early stages of the pipeline and are ultimately discarded, and this generates a lot of frustration in the engineering team because the analysis of each candidate requires significant effort. It is important to adjust the requirements and search criteria for candidates in the early stages of the pipeline and this requires constant communication between the teams. Market Knowledge Talent acquisition teams should provide insights into market trends and competitor strategies. This knowledge provides important information to the company to define the expectations and strategy and stay ahead in the market. Cultural Values It is important to keep in mind that each engineer who joins our team brings his or her own culture based on factors such as work experience, personality, or the country where they live. Although these people fit the cultural pattern we are looking for, most of the time they do not have the culture of the company, and the hiring process is not reliable. If maintaining the culture is important to the company, we need to mentor new employees starting with the recruitment process itself. Promote values in the hiring process. Promote values in the company and team onboarding process. Promote values during the first years through the mentoring process. Promoting the cultural values and the company's goal are tasks that must be done continuously, but we must reinforce and review them with new hires more frequently. On-Boarding In my opinion, the onboarding process has a huge role in almost all companies and is not given enough attention. It is especially important in high-growth companies. The two main problems are: No onboarding process: Onboarding is focused on a meeting with human resources, another with the manager, and finally the team: a three-hour process. This can only be considered as a welcome meeting. Highly technical processes: Processes very oriented to perform your first deployment and that mainly promote knowledge silos and little engagement with the company. The onboarding process must be led by the organization. It must be structured and must encourage a smooth integration of new hires into the organization, minimizing disruptions and maximizing productivity over time. In addition, the entire onboarding process should be a step-by-step process with as much documented support as possible. This would be a base structure for a complete onboarding process: Pre-boarding: It includes all the activities that occur between the acceptance of the offer and the new hire's first day. Continuous communication is important because it promotes motivation and cultural values and helps to create a feeling within the company. Welcome Day: Welcome meeting, company overview, review of company policies and cultural values Paperwork, documentation, and enrollment processes Initial equipment setup Introduction to Team and Manager Security training Company 360 (scheduled by month): 360-degree meetings with leaders from all departments provide valuable insights, foster collaboration, and help new employees understand the broader organizational context. Starting the first week: Cultural values and goals: The manager and the team share the same cultural values and team goals. The goals have to be clear and most of them measurable. Mentorship: Assign a mentor to support the integration process at least during the first year. Engineering Tech best practices and tools: Share the vision of architecture principles, DevOps, data principles, tools, and best practices of the organization. Roles-specific training Team integration: Start participating in team meetings. Feedback and evaluation: Feedback must always be continuous, honest, and constructive. We must put more emphasis on new hires to adjust goals, mentoring, or training. It would be better to start with one-to-one and include this evaluation and feedback in these sessions. Starting in the third month: Performance evaluation Continuous learning is part of the cultural values but at this time learning paths could be considered Initiate conversations about long-term career paths. It is important to avoid onboarding processes based solely on pairing or shadowing strategies because they require too much effort and also only generate silos and misalignment. These sessions are important but must be supported by documentation from both the organization and the team itself. Impact on Delivery The growth phase often requires a high investment of time, effort, and people in the hiring and onboarding process. Hiring process: Participating in technical sessions, reviewing candidate profiles, and reviewing technical exercises. Onboarding: The process of onboarding a new engineer to a team is always time-consuming and usually involves a learning curve until these people can offer more value than the effort invested in their integration. In the case of large growth, there may be situations in which teams are formed entirely by new engineers. This also has an impact on delivery, because these teams need: Mentors and support to adapt to the new environment Transversal coordination with other squads Talent Density In my opinion, growth should be based on the amount of talent and not on the number of engineers. At this point, there are a number of aspects to consider: What does talent mean to our organization? Finding talent is very complicated. There is a lot of competition in the market, people specialized in hiring processes, and the pressure to grow. Many people mistake talent for knowledge or years of experience. In my case, I have always given more value to the person's potential for the new role and for the organization rather than the experience in the role or the companies in which he/she has worked. The fit of a new hire is not only restricted to the hiring process but also to the evaluation period. Moreover, it is during the evaluation period that we can really evaluate the person. It is in this period when the decision is less painful for both parties, a person who does not fit in the organization will generate a negative impact both for him and for the organization. Team Topology These growth scenarios require changes in the organization and the creation of new teams or departments. Two fundamental factors must be taken into account: Team creation strategy Conway's Law Team Creation Strategy There are several strategies for developing the organization of teams: Integrate new hires into existing squads. Integrate new hires into existing squads and after some time, divide the team in two. Create entirely new teams with new hires. Create a new team from current leadership and new hires. The decision to apply a single approach or a combination of several approaches depends on several factors, including the organization's specific needs, resource availability, and long-term objectives. Conway's Law Conway's Law is a principle in software engineering and organizational theory: Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Conway's Law suggests that the communication patterns, relationships, and team structures within an organization are reflected in the architecture, design, and interfaces of the software or systems they build. Summary The growth of engineering teams is one of the most complex challenges facing a growing organization, especially if this growth must be aligned with productivity and cultural goals. Hiring the number of people we have set as a target can be easy. Hiring the right people can be almost impossible and hiring a ratio of enough talented people is very difficult. This can only be done well if you work as a team.
Hello DZone Community! 2023 was certainly an exciting year for us here at DZone, and I hope it was filled with lots of love, laughter, and learning for you as well! One of the coolest things we did during the year was our latest DZone Community Survey! At DZone, our community is the heart and soul of who we are and what we do. We literally would not exist without each and every one of you, and the strength of our community is what sets us apart and makes us the go-to resource for developers around the world. And as with any relationship, the best way to grow and improve is to learn more about each other. That was our goal with the 2023 DZone Community Survey: to learn more about you, our community, so we can better serve you content that is relevant, helpful, and engaging for you while continuing to build the best platform on the planet for software developers to grow, connect, and share knowledge. We learned quite a lot about our community from the survey, and I wanted to share some of the highlights with you: Java is still the most dominant language, with Python being a close second. AI and applications for automating code processes are the topics of greatest interest. 90% of respondents prefer to learn through online communities like DZone and StackOverflow. This is just a small preview of what we learned, but what this means for you is that Java and AI content is continuing to see a lot of engagement on DZone, and AI specifically will be a hot topic to discuss on the site this year. (Read: If you’re looking for a topic to write about, Java and AI would be a great place to start.) It also reiterates why DZone is such a great place for developers to gather and share knowledge. We also saw some interesting changes from our last survey in 2020, such as nearly double the number of respondents working at the C-suite level and that 60% of you have a significant impact on the technology your company purchases and implements. We love that the DZone community is filled with so many expert, experienced developers. The level of knowledge here is unmatched, so when you add your voice to the conversation, you know you’re in strong company. In conclusion, we’re really excited about the results of our 2023 Community Survey, mainly because what we learned will help us continue to improve the content and experience we provide on DZone. We can’t tell you how much we appreciate everyone who took the time to respond to our survey, and we look forward to the 2024 DZone Community Survey! Thank you and Happy New Year! -The DZone Team
Miguel Garcia
VP of Engineering,
Nextail Labs
Jade Rubick
Engineering advisor,
Jade Rubick Consulting LLC
Manas Dash
Software Development Engineer,
TESCO
Scott Sosna
Senior Software Engineer II,
Datasite