Engineering management is a difficult job. There’s a lot to stay on top of, and it’s typical for major responsibilities such as hiring, setting deadlines, and scaling to take up almost all your mental energy. There are times when it feels as if your team is treading water, never quite catching up.
A good developer is hard to find. Between a combination of mad skill and pure luck, you’ve succeeded in one of the most difficult parts of managing a team of developers: finding the right people. You’ve put together a group who is technically proficient, productive, self-motivated, honest, and curious.
In a world with hundreds of programming languages, keeping up with the latest in-fashion language could be a full-time job. But most companies, including the largest tech giants out there, prioritize languages that have earned their stripes—meaning engineers looking to work at these companies would be best off focusing on the foundations, rather than the language of the week
If you’re the leader of a software development team, chances are good that your engineers spend more time than they’d prefer on things other than developing software. Much of this time is probably taken up by meetings; Harvard Business review reports that time spent attending meetings in the workplace has more than doubled since the 1960’s.
Freelance programming: so hot right now. Just ask the 55 million Americans currently engaged in freelance work (more than ⅓ of the workforce), per Freelancers Union’s Freelancing in America 2016 report — up 2 million from 2014. What’s more, this number is expected to go up to 40% by 2020, due in part to the higher pay, higher job satisfaction, increased flexibility, and litany of opportunities contract work provides.
As a junior developer, you probably feel as if there are endless new technologies, languages, and practices being developed all the time. It can often seem as though the more you learn, the less you know, because of the range and complexity of everything going on in software development today.