31 Jul 2024
The current job market is overflowing with competition, put yourself in better stead for meeting the job spec by asking yourself these 6 questions before applying.
Rejection stings. As engineers, we’re wired to solve problems and achieve goals. In today’s job market, it can be tricky to get past the first stage, let alone a second or third, so a “no” can feel like a personal setback. But what if we could reframe potential rejection as a learning opportunity before it even happens?
Enter the premortem, a tool used in project management to anticipate potential failures before they occur. Applying the concept of premortems to your job search and anticipating what might cause your application to be rejected, can help you navigate the process more effectively. Here are six questions to ask yourself before applying to better align with the job spec.
1. Does my expertise match the demands of the company’s size?
Knowing the type of environment you thrive in and applying that to your search is an important step. Different company settings require different skill sets and experiences, so a mismatch in company size or stage can lead to difficulties in adapting to the pace.
For example, if you’ve spent the last five years at Google working on large-scale infrastructure projects, moving to a 10-person start-up might require you to wear multiple hats and work on tasks outside your current expertise. Conversely, someone used to the fast-paced, multifaceted nature of a start-up might struggle with the bureaucratic processes in a large corporation.
Action:
-
Create two versions of your resume: one tailored for smaller companies and another for larger organizations.
-
List three to five specific projects or experiences that demonstrate your adaptability to different company sizes.
-
Draft a paragraph for your cover letter explicitly addressing your fit for the company’s size.
2. Can I effectively integrate into this team structure and working style?
Look into the team and wider org structure of the company you’re applying to and consider whether your skill set lends itself to the internal dynamics. Reflect on your collaboration style; do you prefer working as part of a specialized team or within a cross-functional one?
For example, if you’re a machine learning specialist within a dedicated research team, transitioning to a product-focused team where you need to collaborate closely with UX designers, product managers, and software engineers might be challenging. You may need to adapt your communication style by simplifying technical jargon, learning to translate complex concepts for non-technical team members, and developing skills in areas like product management or user experience to contribute effectively.
Conversely, if you’re accustomed to working in a cross-functional product team and plan to join a specialized research group, you might struggle to dive deep into a specific area of expertise and adapt to a more focused, research-oriented workflow.
Action:
-
Research the company’s team structure (e.g., cross-functional, specialized) using their website or job description.
-
Prepare two to three specific examples of how you’ve successfully adapted to different team structures in the past.
-
List questions to ask during the interview about team dynamics and collaboration methods.
3. Does my area of expertise directly address the challenges and goals of this particular role?
Having the right skills doesn’t guarantee you’re the right fit for the team’s needs. It’s crucial to ensure that your expertise aligns with the specific requirements of the role you’re applying for. This goes beyond just matching keywords on a job description; it involves understanding the nuances of the role, the team’s current challenges, and the company’s strategic goals.
Consider the depth and breadth of your expertise in relation to the role’s demands. Some positions may require deep specialization in a particular area, while others might value a broader skill set. Additionally, the team may be looking for someone to fill a specific gap or bring a particular perspective that complements existing team members’ skills.
It’s also important to consider the trajectory of your career and how it aligns with the role’s growth potential. A position that doesn’t allow you to utilize your core strengths or develop in your desired direction might not be the best fit, even if you have the required skills on paper.
For example, you might be applying for a full-stack role, but if the team is looking for more back-end expertise and your strength lies primarily in front-end development, this could be a misalignment. Despite your full-stack development experience, your limited depth of experience on the server side could be a dealbreaker for the hiring team if they’re specifically looking to bolster their back-end capabilities.
Alternatively, if you’re a generalist full-stack developer applying to a role that requires deep specialization in a particular area like database optimization or scalability, your breadth of knowledge might not compensate for the lack of in-depth expertise they’re seeking.
Action:
-
Create a table mapping your skills to the job requirements, identifying any gaps.
-
Choose three key skills from the job description and write a brief statement for each, explaining how you’ve applied them in past roles.
-
Identify any areas where you may lack experience and prepare talking points about how you will mitigate the skill gap.
4. Have I researched the demands of this industry?
If you’re transitioning to a new industry altogether, you may have some other facets to consider before hitting “send” on your CV. Moving fields will involve adapting to different regulations, stakeholder expectations, and industry-specific knowledge. This can present a steep learning curve, so you have to be sure you’re well-equipped to walk into this role.
To capitalize on transferable skills, identify core competencies from your current role that are valuable across industries. These might include project management, data analysis, problem-solving, or leadership skills. Then, frame these skills in the context of the new industry.
For instance, if you’ve managed tech projects in the software industry and are transitioning to healthcare, you could highlight:
-
Project management: Emphasize how your experience managing complex software projects can translate to overseeing the implementation of healthcare IT systems.
-
Stakeholder communication: Showcase how your ability to communicate technical concepts to non-technical stakeholders can be applied when explaining medical technologies to healthcare professionals.
-
Regulatory compliance: If you’ve dealt with data privacy in tech, highlight how this experience can be valuable in understanding and implementing HIPAA compliance in healthcare.
-
Problem-solving: Illustrate how your approach to troubleshooting software issues can be applied to optimizing patient care workflows.
At the very least, anticipate questions from the hiring team about your industry transition and prepare examples that demonstrate how your transferable skills can add value in the new context. Be prepared to discuss how you plan to bridge any knowledge gaps and show enthusiasm for learning industry-specific regulations and practices.
Action:
-
Read industry-specific publications or reports to familiarize yourself with current trends and challenges.
-
Identify and list key trends, regulations, or standards relevant to the industry you’re targeting.
-
Connect with two to three professionals in the target industry via LinkedIn to network and learn more.
5. Do my values align with the company’s culture?
Finding a company that’s a good cultural fit is often as important as skills and experience. Misalignment with a company’s core values and culture can lead to dissatisfaction and a lack of fulfillment. Before you start applying for jobs, take some time to reflect on your own values, work style preferences, and what you consider to be an ideal work environment.
To pinpoint the cultural vibe of a company you’re applying to, consider the following:
-
Company website and social media: Look beyond the job description. Examine the company’s mission statement, values, and how they present themselves online. What values do they emphasize?
-
Employee reviews: Sites like Glassdoor can offer insights into the company culture from current and former employees. Look for patterns in the reviews.
-
News and press releases: These can give you an idea of the company’s priorities and how they handle various situations.
-
Interview process: Pay attention to how the company conducts its hiring process. Is it efficient and respectful of your time? This can be indicative of their overall organizational culture.
-
Questions asked during interviews: Are they focused solely on technical skills, or do they also inquire about your work style, collaboration preferences, and career goals?
-
Office environment: If you have an on-site interview, observe the workspace. Is it open-plan or more traditional? How do employees interact?
-
Communication style: Notice how quickly the company responds to your emails and the tone of their communications. This can reflect their internal communication culture.
Action:
-
List the company’s stated values (usually found on their website) and write a brief example of how you’ve demonstrated each in your career.
-
Prepare three specific questions about company culture to ask during your interview.
-
Write down three of your own core values and be prepared to discuss how they align with the company’s culture.
6. How can I differentiate myself from other applicants?
In a competitive job market, it’s important to evaluate how your profile stacks up against other candidates. Highlighting your unique value proposition can make you a clearer frontrunner. Your unique value proposition is the combination of skills, experiences, and qualities that set you apart from other candidates and make you particularly well-suited for the role.
Remember, your unique value proposition isn’t just about being different; it’s about being different in a way that’s valuable to the employer. It should highlight not just what makes you unique, but why that uniqueness matters in the context of the job you’re applying for.
For example, if you’re applying for a data scientist position at a competitive tech company, you might be up against candidates with PhDs, extensive publications, and experience at leading firms. To stand out, you could highlight unique projects where you’ve driven significant business impact, your ability to communicate complex data insights to non-technical stakeholders, or any relevant interdisciplinary skills.
Action:
-
Write a one-paragraph, unique value proposition statement highlighting your distinctive skills and experiences.
-
Identify three quantifiable achievements from your career and frame them in terms of business impact.
-
Create a brief “elevator pitch” that succinctly communicates your unique qualifications for the role.
What happens in the face of rejection?
Remember, rejection is not a reflection of your worth as an engineer. It’s an opportunity to learn, adapt, and refine your approach. By incorporating both pre-mortem analysis and post-rejection reflection into your job search, you can turn setbacks into stepping stones for future success.
If faced with rejection, consider these steps for a thorough retrospective:
-
Request feedback: If possible, ask the hiring manager or recruiter for specific feedback on your application or interview performance.
-
Review your application: Assess whether your resume, cover letter, and portfolio (if applicable) effectively highlighted your most relevant skills and experiences.
-
Reflect on the interview process: Consider your performance in technical and behavioral interviews. Did you provide clear, concise examples that demonstrated your skills? Were there areas where you struggled?
-
Assess your preparation: Evaluate how well you researched the company and articulated your interest in the specific role.
-
Evaluate your unique value proposition: Did you effectively communicate what sets you apart from other candidates and connect your unique skills to the company’s needs?
-
Consider external factors: Acknowledge that sometimes rejections are due to factors beyond your control, but focus on what you can improve.
-
Develop an improvement plan: Based on your analysis, identify areas for improvement and set specific, actionable goals. For example, “I will improve my coding interview skills by completing one LeetCode challenge daily for 30 days” or “I will practice mock system design interviews weekly.”
-
Stay resilient: Maintain a growth mindset and view each application and interview as a learning experience. Keep your job search active and don’t put all your hopes on one opportunity.
By systematically reviewing your experience and making targeted improvements, you can enhance your candidacy for future opportunities. Remember, many successful professionals have faced rejection on their career paths. The key is to learn, adapt, and persist in your job search journey.
This article was originally published on LeadDev.com on Jul 30th, 2024.
03 May 2024
Manage the stresses of complex problem-solving, tight deadlines, and high-pressure situations at work with integrity and emotional intelligence.
A few years ago, I discovered Don Miguel Ruiz’s renowned book, The Four Agreements, which provides four simple yet profound principles for personal growth and self-improvement. Since then, I’ve found myself frequently applying its principles to navigate workplace challenges, such as communicating effectively with colleagues, managing stress and emotions during high-pressure situations, and maintaining integrity and authenticity in the face of difficult decisions.
Integrating these tenets into my daily professional life has been a powerful self-coaching tool, helping me handle common workplace pressures with calm composure.
What are the four agreements?
The four agreements are the following set of practical guidelines:
- Be impeccable with your word – Speak with integrity and honesty, avoiding gossip and self-deprecation. Use your words constructively.
- Don’t take anything personally – Recognize that others’ actions and opinions are projections of their own reality, not yours. Don’t let them needlessly affect you.
- Don’t make assumptions – Communicate clearly and ask questions to ensure mutual understanding. This helps prevent misinterpretations and conflicts.
- Always do your best – Your best may vary from moment to moment, but by always striving to do your best, you’ll avoid self-judgment and regret.
While these principles were developed for personal growth, they hold immense value in professional settings where clear communication, trust, and collaboration are crucial.
1. Be impeccable with your word
Clear and honest communication is the foundation of trust and reliability. Being impeccable with your word means making commitments you can keep, providing feedback that is both truthful and constructive, and ensuring that your communications uplift and empower your colleagues.
“I define integrity as honoring your word. A person with integrity keeps her promises whenever possible, and still honors them if she is unable to do so. You make a grounded promise by committing only to deliver what you believe you can deliver. You keep the promise by delivering it. And you can still honor the promise when you can’t keep it by letting the person you are promising know of the situation, and taking care of the consequences.”
― Fred Kofman, The Meaning Revolution: The Power of Transcendent Leadership
How to practically apply this principle:
-
Commitments: When discussing project timelines or deliverables with your manager or team, be clear and truthful about estimates and potential challenges. Follow through on your promise when you commit to a deadline or task. If circumstances change and you cannot meet the commitment, communicate promptly and transparently to manage expectations.
-
Feedback: When having tough conversations, such as providing critical feedback or addressing performance issues, speak with honesty and empathy, focusing on facts and constructive solutions rather than personal attacks or accusations.
Avoid participating in or spreading rumors about team dynamics or project decisions. Instead, encourage open and transparent communication using tools such as team surveys, decision logs, or requests for comments (RFCs) to surface feedback through the right channels.
-
Escalations: When direct communication with a colleague can’t resolve an issue, employ the concept of clean escalation. This involves presenting the problem to a higher authority or a mediator without undermining or blaming others. Approach escalation by clearly stating the facts, outlining your efforts to resolve the issue, and providing constructive suggestions for the next steps. This practice ensures issues are addressed with integrity, fostering a solution-oriented, respectful work environment.
-
Recognition: When acknowledging contributions or achievements, be genuine and specific in your praise, recognizing the efforts and impact of individuals or teams.
Mastering the art of communication is a transformative tool in any professional’s arsenal. Commit to maintaining high standards of integrity in all your interactions, which strengthens relationships and fosters a reliable and ethical work environment. For more techniques on how to become impeccable with your words, check out Fred Kofman’s courses on making commitments and managing conflict.
2. Don’t take anything personally
Feedback and critiques are part and parcel of the professional environment. They aim to improve quality and project outcomes, not diminish personal worth. Cultivating the ability not to take things personally can transform potentially defensive situations into opportunities for learning and growth.
“There’s several reasons why it makes sense to begin building a culture of radical candor by asking people to criticize you. First, it’s the best way to show that you are aware you are often wrong and that you want to hear about it when you are. You want to be challenged. Second, you’ll learn a lot. Few people scrutinize you as closely as do those that report to you. […] Third, the more first hand experience you have with how it feels to receive criticism, the better idea you’ll have of how your own guidance lands for others. Fourth, asking for criticism is a great way to build trust and strengthen your relationships.”
― Kim Malone Scott, Radical Candor: Be a Kickass Boss Without Losing Your Humanity
How to practically apply this principle:
-
Feedback: Establish a culture where giving and receiving feedback is seen as a natural part of the continuous improvement process, not a personal criticism.
-
Disagreements: When faced with disagreements or differing opinions, separate the ideas from the individuals. Focus on understanding the rationale behind different perspectives without taking the opposing views as a personal affront.
-
Failures: View project setbacks, bugs, or failures as learning opportunities rather than personal shortcomings. Approach them with curiosity and a growth mindset, seeking to understand the root causes and implement improvements.
-
Emotions: Recognize that emotions are a natural part of the human experience, but it’s essential to manage them effectively in professional settings. To separate your own emotions from work interactions, practice mindfulness by acknowledging your emotions without judgment and consciously redirecting your focus back to the task at hand. Use cognitive reframing to look at the situation from a different perspective and find a more objective or positive interpretation.
Not taking things personally is crucial for professional resilience and growth. Encourage a feedback-rich environment where all team members feel safe to express honest opinions. For additional strategies on building this type of environment, consider reading Kim Scott’s book on Radical Candor to learn techniques for getting, giving, and encouraging feedback and guidance that’s kind, clear, specific, and sincere.
3. Don’t make assumptions
Miscommunications can derail projects. By not making assumptions and seeking clarity, you prevent misunderstandings and ensure that everyone is aligned on project goals and methods.
“Seek first to understand, then to be understood. This principle is the key to effective interpersonal communication.”
― Stephen R. Covey, The 7 Habits of Highly Effective People
How to practically apply this principle:
-
Active listening: In any conversation or collaboration, practice active listening to fully understand the other person’s perspective, needs, and ideas. Give your full attention to the speaker, ask clarifying questions, and paraphrase their key points to confirm your understanding. By engaging in active listening, you demonstrate respect, build rapport, and gather the necessary information to make informed decisions and avoid misunderstandings.
-
Decision-making: When faced with important decisions, involve relevant stakeholders and gather diverse perspectives. Create opportunities for open discussion through meetings, collaborative documents (e.g., shared notes, wikis), surveys, and 1:1 conversations. Maintain a decision log to ensure transparency and accountability. By providing multiple avenues for input and collaboration, and keeping a record of the decision-making process, you can make informed decisions that consider diverse viewpoints.
-
Culture: In multicultural or global teams, be aware of potential cultural differences and avoid making assumptions about communication styles, work practices, or social norms. For example, some cultures may value direct communication, while others prefer a more indirect approach. Similarly, attitudes towards hierarchy, decision-making processes, and work-life balance can differ greatly between cultures. Approach interactions with curiosity and a willingness to learn.
-
Empathy: Before jumping to conclusions about a colleague’s behavior or actions, consider that you may be unaware of underlying factors or perspectives. Practice empathy and seek to understand their context before making assumptions.
Avoiding assumptions is fundamental to fostering clear and effective communication. As Stephen R. Covey advises, you can prevent many workplace misunderstandings and conflicts by actively seeking to understand before being understood. This habit aligns teams and supports a culture of open dialogue and mutual respect.
4. Always do your best
Your “best” can vary daily, but the commitment to give your all within your current circumstances fosters a culture of accountability and excellence. Demonstrating personal responsibility, openly communicating challenges, and learning from setbacks builds trust, psychological safety, and a shared commitment to learning and growth, rather than perfection. It reduces the guilt of not meeting unrealistic expectations and highlights the value of consistent effort over sporadic perfection.
“In the fixed mindset, everything is about the outcome. If you fail—or if you’re not the best—it’s all been wasted. The growth mindset allows people to value what they’re doing regardless of the outcome. They’re tackling problems, charting new courses, working on important issues. Maybe they haven’t found the cure for cancer, but the search was deeply meaningful.”
― Carol S. Dweck, Mindset: The New Psychology of Success
How to practically apply this principle:
-
Prioritization: In moments of high stress or tight deadlines, prioritize and give your best to the most critical tasks. Remember, “your best” doesn’t mean overworking but rather applying yourself effectively within the given constraints.
-
Learning: Embrace a growth mindset and continuously seek opportunities to expand your knowledge and skills. Attend workshops, read industry publications, or participate in professional development programs to enhance your abilities and stay current with best practices.
-
Balance: Recognize the importance of self-care. Make time for activities that rejuvenate you, such as exercise, hobbies, or spending time with loved ones. A well-rested and balanced individual is better equipped to do their best work.
-
Collaboration: Foster an environment of collaboration and support within your team. Offer assistance when colleagues need it, and don’t hesitate to ask for help when you need it. Collective effort and mutual support can help everyone perform at their best.
Strive for consistent effort rather than perfection, focusing on what can be learned from each experience. Embrace a growth mindset to foster an environment of continuous improvement. To build a practice of getting comfortable with setbacks and failures and learning from them, Carol Dweck’s Mindset is a must-read.
Closing thoughts
Integrating the four agreements into your professional life isn’t just about enhancing your work environment; it’s about cultivating a philosophy of personal and collective excellence. Reflect on these agreements regularly and strive to live by them, as they have the potential to fundamentally improve both your professional and personal life.
This article was originally published on LeadDev.com on April 24th, 2024.
06 Apr 2024
How can engineers ensure their skills keep up with AI advancements?
Over the last few years, we’ve watched AI take giant leaps in coding – from AI-assisted coding tools like GitHub Co-Pilot to the first AI engineer named Devin. This explosion of AI capabilities has sparked endless debates, with the burning question on everyone’s mind being: does software engineering still have a future?
The short answer? Yes, but with a catch. The coding aspect of software engineering might become more automated, with AI taking over the bulk of code generation in the future. However, software engineering is more than code.
Looking ahead, engineers who can zero in on business results, flex into other roles, and consistently deliver value will continue to be in demand despite AI as their impact extends beyond their coding ability.
Think like an entrepreneur
Simply being skilled in engineering won’t cut it anymore. The real magic happens when you connect engineering efforts directly to business outcomes. Embracing an entrepreneurial mindset equips engineers with a broad view that transcends the immediate technical challenges. In a world where AI can write code but cannot grasp the entire organization’s nuances, its people, culture, and the broader environment it operates within, having an expansive vision becomes a critical advantage.
Engineers who think like entrepreneurs understand that success in the AI era demands more than technical excellence. They have an intrinsic drive to create customer value, ensuring their engineering solutions are not just technically sound but also strategically aligned with business goals. They’re the bridge between technical feasibility and product strategy, using their skills to steer product decisions in the right direction.
How can you become an intrapreneur?
1. Understand the business
- Why? This will help you see where your projects fit within the larger picture and how they can influence the bottom line.
- How? Dive into your company’s OKRs and KPIs to understand the measures of success. Participate in all-hands meetings, review annual reports, do competitor research, and stay informed on company strategy.
2. Build customer empathy
- Why? Putting yourself in the customer’s shoes will help you make informed engineering decisions that resonate with user needs and business goals.
- How? Explore business intelligence (BI) tools, user experience (UX) research, and analytics platforms to understand customer sentiment and user behavior. Additionally, listen to recorded sales calls, if available, to get a first-hand pulse of what the customer is thinking and how they are reacting to the product.
3. Incorporate insights into decision-making
- Why? Combining business context and data-driven insights in your decision-making process ensures that your engineering efforts are both technically sound and strategically aligned with business objectives.
- How? When proposing new features or improvements, connect it back to the business objectives, user feedback, and data analysis that support your suggestion. Present your ideas in a way that highlights their potential impact on both user satisfaction and business success.
By embracing these practices, you will become adept at navigating uncertainty, prioritizing projects that offer the highest return on investment, and persuasively advocating for your ideas.
Flex across functions
Hand-in-hand with a business-centric approach is the need to wear multiple hats. The more versatile an engineer is, the more indispensable they become.
In a world where specific tasks may eventually be automated by AI, human engineers’ ability to synthesize information across domains, connect disparate ideas, and apply insights in new contexts sets them apart.
How can you cultivate versatility?
1. Collaborate on the product roadmap
- Why? Gaining insight into your company’s product goals and understanding how technology can drive these objectives is crucial as it broadens your perspective beyond just the technical aspects of your work.
- How? Volunteer to join roadmap planning sessions and offer a technical perspective on proposed features. Help with prioritization by assessing the technical effort required versus the projected business impact.
2. Contribute to design systems
- Why? Understanding design principles is crucial for creating technically sound products that provide a great user experience. A basic knowledge of UX/UI principles, color theory, and user-centric design can significantly improve the collaboration between engineering and design teams, leading to more cohesive and user-centric products.
- How? Work closely with designers to understand the core components of your product’s UI/UX. Offer to develop a shared library of UI components or a style guide that codifies design principles and patterns.
3. Mentor across functions
- Why? Sharing your expertise and insights across different functions not only helps others grow but also establishes trust, builds communication skills, and positions you as someone they can go to in the future.
- How? Initiate informal coffee chats or lunch meetings with peers in different roles. Offer mentorship or advice, focusing on how their roles contribute to the business’s success. This could involve guiding a designer on how to consider technical constraints in their designs or helping a marketing colleague understand the possibilities of the product.
By actively engaging in these practices, you’ll be well on your way to becoming a more versatile engineer. This cross-functional agility ensures that engineers can adapt to changes, foresee the implications of decisions across domains, and innovate at the intersections of disciplines, enabling them to provide value that no AI point solution can.
Carve your niche
Grounded in a rich understanding of the broader context and enhanced by a diverse skill set, building specialization will ensure that engineers can bring unique insights, creativity, and solutions that AI cannot. It’s the intersection of depth and breadth in an engineer’s expertise that will define their irreplaceability in an AI-driven world.
This is where Roger Martin’s Doctrine of Relentless Utility comes into play, a career strategy that focuses on finding your niche and monopolizing it.
As you become more adept at navigating between different roles and perspectives, you’ll be better positioned to uncover unique opportunities where your particular blend of skills and interests intersect with unmet needs within your team or organization.
Aligning what you’re good at with areas where you can make a significant impact allows you to establish a distinctive role that plays to your strengths and passions. This strategy promotes an active, value-driven approach, looking for ways to contribute beyond the usual scope of your role.
For instance, let’s say you have a knack for simplifying complex technical concepts into digestible content. Your niche could be bridging the gap between advanced technical knowledge and non-technical stakeholders or clients. Build on this by developing and sharing insights through blogs, workshops, or internal documentation that make these concepts accessible and engaging.
Another example could be finding yourself at ease automating repetitive tasks that bog down your team. Your niche is identifying efficiency drains within your team’s workflow by creating custom scripts or leveraging existing tools to automate these tasks. This way, you’ll be freeing up time for your team to focus on more impactful projects.
By adopting the doctrine of relentless utility, you’re not just filling a role; you’re carving out an area of focus where you can truly excel and provide unmatched value.
Remember, the niche you carve out today may not remain your niche tomorrow. Continuously explore, learn, and iterate, allowing your niche to evolve alongside your skills, interests, and the changing needs of your team. This ongoing journey of adaptation ensures your contributions remain impactful and aligned with both personal growth and team objectives.
Closing thoughts
We find ourselves at a juncture similar to the one brought about by the printing press and the typewriter. The fears are familiar – concerns about job displacement, the devaluation of human expertise, and the uncertainties of a shifting professional landscape.
Yet, if history has taught us anything, it’s that with disruption comes opportunity. Just as the printing press opened up the world of knowledge and the typewriter transformed the professional landscape, AI will redefine software engineering. It will challenge us to elevate our roles beyond coding, to think like entrepreneurs, and to build a more multi-faced identity.
The future of software engineering isn’t about clinging to the past but one where AI helps us build unimaginable things.
This article was originally published on LeadDev.com on April 4th, 2024.
08 Feb 2024
From Assumptions to Understanding
Louis Moeller, Different Opinions, High Museum of Art, Atlanta.
While returning home from my company offsite, I was standing in the TSA line, placing my belongings into the gray bins. It was then that a question caught me off guard.
“Have you ever been on a flight?”
I froze, my hands mid-air, gripping my shoes. The question, coming from a man in his thirties behind me, felt like a jab, wrapped in a thin veil of innocence. Why would he ask that? Was it my slightly fumbled handling of the trays, or had I committed some cardinal sin of air travel in his eyes?
“Yes, I have,” I responded, the words laced with a defensive edge. His question had pricked at something, a mix of annoyance and curiosity. Was it so apparent that I was out of my element, or was he just being snarky?
“It’s my first flight,” he then confessed, his tone shifting, revealing a mix of excitement and nervousness. “I wasn’t sure if my bag needs to go in the tray.”
In that moment, my assumptions hung heavily between us. The question wasn’t a snarky jab but a genuine plea for guidance, cloaked in the vulnerability of a first-time flyer. I had been so quick to assume malice, to paint his curiosity as a critique, that I nearly missed the human element, the shared experience of navigating unfamiliar territories.
“Yes, they are expecting the bags to be on the tray,” I found myself saying, the words coming out more as a realization of my own hasty judgment. I added, “Hope you have a great first flight!”
This encounter, brief and seemingly inconsequential, served as a profound lesson. It reminded me that our assumptions, especially those tinged with defensiveness, can cloud our judgment, that behind every question lies a story, a context we might not immediately understand.
As I watched him walk towards his gate, I was reminded just earlier in the offsite how my team and I were discussing how we admired Reddit’s “Default Open” value. This moment underscored the importance of giving others the benefit of the doubt, of approaching interactions with default openness. For in the end, we are all navigating our own journeys, sometimes confidently, sometimes with hesitation, but always moving forward, one question at a time.
09 Jan 2024
Remember scrambling for notes, losing ideas to the ether, struggling to keep up with tasks, and drowning in a sea of information? Yeah, me too. But that was before I understood Personal Knowledge Management (PKM).
In my previous post, we explored the essentials of PKM and Tiago Forte’s The 4 Levels of Personal Knowledge Management. Since then, I have received numerous requests for practical tips on how to master PKM, and many people have been curious about my own approach to it.
So today, we dive deeper, and I will share some tips on how you can achieve your own Personal Knowledge Mastery. Let’s break it down, level by level, and see how we can start getting insights out of information to drive impact.
Source: gapingvoid
If you want to build a great PKM practice, you need to have a way to capture information with the least amount of friction, both on the go and on the computer. Fumbling with clunky or slow apps will get you to focus on the app vs. what you were there to begin it and will cause you to lose motivation.
After experimenting with various tools like Logseq, Roam, and RemNote, I found my match in Amplenote. Its ability to sync notes cross-platform and the simple UX met my need for portability and simplicity.
Each day, Amplenote’s “daily jot” feature automatically creates a new note, which I love. I used to do this manually in Notion by creating a running list of notes per day for each year before I switched over.
I usually capture the top things I want to focus on or accomplish that day. This is also similar to the technique recommended in the book Make Time if you want to learn more. I also use the daily journal to capture interesting links, code snippets, or ideas I come across that I can revisit later. This allows me to keep the number of tabs I have open to only a handful, reducing my mental clutter.
Source: Amplenote
If you are looking for an app that has all the features I mentioned in this post, such as daily journaling, task management, note-taking, graph view, outlining, and cross-platform compatibility, then you should check out NotesApp.Info to find the one you like. Currently, only a few apps meet all these specific requirements, but you can change the filters based on your preferences to see more options.
Source: NotesApp.Info
Level 2: Managing Knowledge
Having a quick system for jotting down thoughts is just the beginning; managing long-form notes efficiently is equally important.
I use Amplenote to tag and organize various notes — #brainstorm for creative ideas, #meeting for general discussions, #interview for candidate assessments, #1–1 for personal meetings, and so on. This streamlines the retrieval and connection of related information.
Now, I can go back and review every meeting interaction and keep track of action items without dropping the ball, which brings us to the next point.
Source: Amplenote
Level 3: Enabling Action
Ideas from my notes often evolve into tasks. I use dedicated notes for brainstorming, later converting these thoughts into actionable tasks within Amplenote.
So, for example, I had a task to “Write a blog post about [[Achieving PKM Mastery]]”. And I tagged my note as part of that task. I would then visit that note when I got a chance to flesh out the blog post’s content. So, I’m not pressed to produce something in one go but rather to make incremental progress. I usually have several tasks, such as writing proposals, blog posts, social media posts, etc., where I make incremental progress as inspiration strikes.
Source: Amplenote
This technique has been a major unlock in boosting my productivity. I can now think about multiple projects simultaneously without feeling the pressure of producing a finished product. This approach is similar to the concept of evergreen notes, where the notes are not just temporary scribbles but are improved and updated over time as the author gains more knowledge and clarity on the subject matter.
My notes usually start out as an outline and then are fleshed out gradually. That’s one reason I really love outliner tools such as Roam Research, Logseq, etc, where everything starts out as a bullet by default.
Tasks can also be assigned a date, effort, and importance, which gives them a “Task Score”, which is essentially a prioritized raking. I generally do this for more time-sensitive or important tasks so they are bubbled up at the top.
Source: Amplenote
The key is not to prioritize what’s on your schedule, but to schedule your priorities. — Stephen Covey, The 7 Habits of Highly Effective People
I’m a big believer in scheduling time to accomplish tasks on the calendar. For me, I’ve found that if it’s not on the calendar, it’s not going to get done because other meetings, distractions, and priorities take over. I usually schedule work blocks on my calendar per task manually, but Amplenote also offers a bi-directional calendar sync where this can be done automatically if you like.
Source: Amplenote
For optimal calendar scheduling and making time for executing tasks, I highly recommend using Clockwise or Reclaim AI. Especially if you are in a meeting-heavy role, they are akin to having a personal assistant manage your calendar.
Source: Clockwise
Level 4: Personal Knowledge Mastery
Finally, after building a system to store, manage, and act on information, you can extract insights from it. You can visualize how your ideas connect with each other in a graph and start seeing connections you may not have noticed before. This is a great way to gain a deeper understanding of the information you have gathered and make better decisions based on it.
Source: Amplenote
Having a personal information store also means you can leverage AI to extract insights from your notes using frameworks such as LangChain or LlamaIndex. Here’s a demo I built using my Notion notes and LlmaIndex, where I could ask questions to AI based on my own corpus of information:
While that requires writing a bit of code, off-the-shelf tools like Tavrn and others allow you to connect a corpus of information and ask questions based on it.
Conclusion
“We are drowning in information, while starving for wisdom. The world henceforth will be run by synthesizers, people able to put together the right information at the right time, think critically about it, and make important choices wisely.” — E. O. Wilson
In our journey towards mastering Personal Knowledge Management, we’ve explored methods not only to gather and categorize information but also to synthesize and extract meaningful insights from it.
As the renowned American biologist E. O. Wilson aptly put it, our challenge is to navigate the ocean of information to find wisdom. This journey through the levels of PKM equips us with the tools to be effective synthesizers — those who can effectively collect, connect, and utilize knowledge to make good decisions.