Sorry. Blasting out your resume to every LinkedIn connection isn't effective networking.
There are better ways to network as software engineers.
Building genuine connections is a long-term investment in your career.
While quick referrals can *sometimes* work, a more sustainable strategy involves building meaningful relationships with others in the industry.
It's not a "one simple trick!" kind of solution, unfortunately, but here are some ideas for how to approach networking effectively:
- Learn in Public: Share your learning journey through blogs, social media, or open-source contributions.
- Engage Authentically: Interact with other professionals in a genuine and curious way. Ask questions and show interest in their work.
- Be Intentional: Identify people whose work you admire or who are in roles you aspire to and build connections over time.
- Offer Value: Share your insights and help others when you can. Networking is a two-way street.
- Think Long-Term: Focus on building lasting relationships rather than just seeking immediate job opportunities.
Remember that this isn't a sprint -- it's a marathon. By consistently engaging, sharing, and building genuine connections, you'll create a strong support system and open doors to future opportunities.
What's one genuine connection you've made through networking that has benefited your career?
@KarenPayneMVP In peace with ToList(), tend to think only the real awaited items are returned,
the collection expression returns the awaited items and what any one might need to include in it.
The notion of "writing a user story" strikes me as wrongheaded. Nobody sits down and writes a user story as if they were an author writing a piece of fiction. (The fact that many so-called stories are indeed fiction is the topic for another post 😄).
Nobody writes stories. Not you. Not users. Not some PO/PM. Instead, you have a conversation. You collaborate with your users. You might write down a few words to remind you what the conversation was about (that's plenty for deciding what to work on next). When you decide to start the work, you have another conversation to work out the details. You may take a few notes to jog your memory, but that's it.
You capture stories from a conversation, not write them.
The people who "write stories" are invariably doing waterfall up-front requirements gathering. They are writing a detailed waterfall specification. I don't do that. I certainly don't ask my users to do that. Nobody needs to do that. The requirements/specs are always stale by the time implementation rolls around; not worth the virtual paper they're written on.
So, don't write stories. Instead, have a conversation. Collaborate. Take a few notes.
Most miscommunication at work isn't about what you said. It's about the tone the other person filled in.
Text has no tone, so the reader supplies it -- and stressed people supply the worst version. You can't stop them doing that. You can control what you hand them to work with:
- Say the intent out loud: "genuinely curious, not a criticism." Feels redundant. Isn't.
- Ask instead of assert. "What led you to this?" beats "this seems wrong."
- Split the observation from the request so it doesn't read as an attack: "I noticed X -- could we try Y?"
- When a thread starts heating up, stop typing and get on a call. Text amplifies, voice defuses.
Communication goes both ways, and the reader owns their half. But you only control yours -- so spend the energy there.
What's a small wording change that's saved you from being misread?
This is why smart people rarely build businesses
Jensen Huang stood in front of a room of Stanford graduates and told them he hopes they suffer.
He wasn't being cruel. He was being precise.
His argument: people with very high expectations have very low resilience. And resilience, not intelligence, is what decides who actually makes it. A Stanford grad has spent their whole life as the smartest person in the room. They've rarely been tested by real failure. So when something finally breaks, they break with it.
Then he said the line every founder should sit with: "Greatness is not intelligence. Greatness comes from character. And character isn't formed out of smart people, it's formed out of people who suffered."
He would know. At nine, Huang was scrubbing toilets at a Kentucky boarding school his family hadn't realized was a reform school. As a teenager he bussed tables at Denny's. In 1993 he started NVIDIA in a Denny's booth, and nearly lost it more than once in the years that followed. The character was built decades before the valuation showed up.
This is why he uses the words "pain and suffering" inside NVIDIA with what he calls great glee. He isn't trying to shield his best people from the hard part. He's trying to give it to them on purpose.
Talent gets you into the room. The people who stay are the ones who were broken once and learned they could rebuild.
This webinar builds on the AI Software Factory demonstrations we have already done. Next up is measurement: throughput, DORA metrics, and forecasting.
June 2 | 2 PM CDT
Check out the webinar: https://t.co/0tP4b3qqRC
#AISoftwareFactory#DevOps
Programming has nothing much to do with math. It is primarily about communication. It's about us communicating with customers and us communicating with the machine. Programming is a language skill, not a mathematical one.
Consequently, I get tired of people claiming that programming has anything to do with math. Beyond a little set theory and statistics, I've never used any real math in my decades of programming work. Logic is a subdiscipline of rhetoric, not mathematics. Analytical thinking (and problem solving) is part of almost every human activity, from carpentry to oil painting. Math and programming both use those skills, but so do a million other disciplines.
Some programs implement problems in mathematical domains, but in those cases, the math is part of the domain, not the programming process. Some programs involve dating profiles, but that doesn't mean that dating profiles are an integral part of the programming process.
I think this false equivalence dates back to the very early days of computing, when computers were used almost entirely to solve mathematical problems. In the present, mathematical problems are only a tiny fraction of the problems we solve.
Of course, computer science, which is that branch of mathematics concerned with the analysis of computer programs and algorithms, uses some math. (Though I never used the required 1.5 years of calculus and differential equations in a single CS class.) I'm talking about programming, not computer science, however.
So, returning to my original claim, if you want to be a good programmer, focus on developing communication skills. Math is irrelevant to the vast majority of us.
Tim Ottinger posted this drawing over on LinkedIn 👇 [https://t.co/NtIzo3QOKH]. He's absolutely correct about this.
Here's an example: I once built what amounted to a small blog system that had a comments feature. My initial idea was a standard comments dashboard. When somebody made a comment, it would go onto the dashboard, and then I'd send an email out asking for approval. A link in the email got you to the dashboard. Google Groups works exactly that way.
Then I started building. I like to keep early versions as simple as possible, so my first version skipped the dashboard entirely and sent an email with an "approve" link in it. If I didn't get an approval within a few days, I deleted the comment.
I released that.
Nobody complained. Nobody asked for a dashboard. A link in the email was just fine.
So, I was finished. There was no need to create that complicated dashboard at all, given that everybody was happy. Nobody ever requested a dashboard, but if they had, I would have added it at that point.
Here's another example:
When I build microservices, I take the notion seriously that the service should be fully self-contained with impermeable boundaries and no dependencies on anything external. That principle means that every microservice must have its own data store. There is no shared database in the system. (This is standard microservice architecture, described in a myriad books—please read one of those before you argue with me about how crazy I am. Many thousands of microservice systems don't have a shared database.)
Version one of my services often uses the simplest data store possible: everything is in memory. No SQL. No serialization. Just a collection (usually JSON in a key/value dictionary).
So, once I've deployed that and proven to myself that the business logic is working, I often (not always) add persistence by serializing to a local file on the disk using the easiest mechanisms available. Usually, that's not any official serialization system—I just create a flat file with those key/value pairs in it.
Often, I'll stop at that point. If the key/value pairs are working, there's no point in doing anything fancier. In any event, seems like bringing in an SQL server to handle a database with one table and a couple of columns is way more trouble than it's worth.
So, the lesson here is: (1) work incrementally in very small batches; (2) build the simplest possible thing; (3) if absolutely necessary, add a bit more, but again, build the simplest possible thing; (4) don't futureproof—if the current thing is good enough, stop.
In Africa, only 24% of new workers find good quality, wage-paying jobs. Why aren't businesses able to generate quality jobs, and how can we change that? @WorldBankAfrica’s Chief Economist, Andrew Dabalen, explains: https://t.co/dEk3jgn9dZ #AfricasPulse
Domain expertise, math, coding, and communication.
- Domain expertise to identify an important problem and envision a solution.
- Math and coding to build it.
- Communication to deliver it.