Becoming a data scientist on your own is possible but slow.
If you’re coming into the field without a foundation or a network to guide you, it could take years. There are a thousand things to learn, and many more rabbit holes dotting the landscape to distract you.
A mentor can help you cut through the cruft, tell you what you need to hear when you need to hear it, and help you achieve your goal sooner.
Mentors certainly made a difference in my data science and machine learning career. …
Most people hate pair programming with a burning passion. But the people that like it, love it.
While we use it on the job, it’s also my favorite technique for interviewing potential hires. Pairing is a better predictor of job success than any other technique I’ve tried.
It allows vetting candidates for behavioral competencies, technical skills, and company fit, all at the same time.
That sounds crazy, but hear me out.
Most interview methods merely test that a candidate is prepared for the interview.
But they are often far removed from the ability to write features in a complex app…
A year of freelance software development left me with a number of takeaways.
But the most important is this.
Writing code is easy but getting clients is hard.
If you’re going to take a run at being a freelancer, understand what you’re getting into, know that being a rockstar developer is not enough, and have a plan of action for getting work.
Given my success freelancing, I’d like to share what worked and what didn’t regarding finding clients.
Here are fivechannels I’ve used, ranked from best to worst.
Reach out to companies you’ve worked for in the past and ask…
If there’s anything we’ve learned from hustle porn and the 4 Hour Work Week, it’s that,
Corporate Life = Bad,
Entrepreneurship = Good.
But is that really true?
After leaving a miserable job, I decided to turn the dream of working for myself into a reality, become a freelancer and never look back.
With almost 10 experience years in my field and a “get rich or die trying” work ethic, there was no way I could fail.
It even crossed my mind that it was going to be easy… famous last words.
But the truth is, it was exhausting.
Have you ever started a new job and then immediately regretted it?
I have… a couple of times. Both at the management level and as a developer.
Some companies will give you little, take a lot, and still ask for more. Get out of these places as fast as you can. There’s always a world of other opportunities out there.
Here are some red flags from companies where I’ve written code.
It’s your first few weeks on the job, but no one has time to answer questions.
A certain amount of technical and domain knowledge is required before you can…
As a senior developer, I do A LOT of code reviews. Many for developers in their first real coding job.
Love it or hate it, code reviews are one of the best ways to improve your software development skills.
Having said that, I’ve seen a lot of mistakes, many again and again.
Here are a few of them.
I’ve tried to write this so the advice makes sense whether or not you can read code.
Code should speak for itself.
If you can’t tell what a function does by reading its name and the code inside, it’s not concise enough.
Even before the pandemic, I’d find any reason to work from home.
Errands, sick pet, plumber coming… they weren’t made up. But when you’re looking for an excuse, you can usually find one.
The pandemic allowed me to work from home every day.
Software developers are genuinely privileged in being able to work remotely. Not everyone is so lucky.
Post-pandemic, I’m not going back. Even if that means changing companies.
There’s nothing worse than being watched while writing code. Regardless if it’s another developer when pair-programming, or the CEO asking for updates.
The ability to focus on getting…
The most crucial software engineering lessons I’ve learned come from two sources:
Here are some important lessons I’ve learned from senior developers throughout my career.
None are black and white, and there are always exceptions. Only experience can guide you regarding when a rule should be applied or ignored.
Let’s dive in.
Nine times out of ten, building more infrastructure, features, or abstraction than necessary is a waste of time.
This is especially true if you work at a startup, where product direction can change with the wind.
I used to fear that artificial intelligence (AI) would take my job and leave me unemployed.
The fear-mongering around AI is undoubtedly increasing by the year.
But the longer I write code, and the deeper I get into machine learning, the less I worry.
Recently, OpenAI and Microsoft (which owns GitHub) released Copilot, an AI-powered pair programmer.
Math is scary.
You want to do machine learning, but you’ve read it requires probability theory, statistics, calculus, and linear algebra.
I guess you’re going back to school for 4 years…
Thankfully, it’s not true. Take it from a software developer who self-studied ML, then spent 3 years running machine learning for a startup.
I’ll explain why you don’t need math.
Imagine needing to understand how an engine works before driving a car? It might help you tune the car for an edge in racing. But you certainly don’t need that knowledge to drive.
Similarly, many ML writers recommend covering…