Anyone that knows me that I read a great deal, and one of the topics I focus on is management and leadership. It has meant attending B-school, reading books on management, as well as reading numerous articles and studies - I definitely prefer to base my ideas on statistical proof - so I think I have a good sense of what research says excellent management and leadership means. After reading a blog post that resonated with me, but I thought overly-specific, I decided to abstract that article's rules into something generic, add some needed items, then convert those items into practice.
- Making sure one's team has adequate tools, resources, contacts, and training
- Being a leader, and in that providing vision, expectations, goals, and standards, as well communicating that clearly
- In one's self, exemplifying excellence, being a role model, maintaining a positive image, having personality and charm, while earning respect
- In one's team, having excellence, cohesion, friendship, and camaraderie
- Developing one's people, having a concern for their welfare, providing praise and encouragement, and listening
- For the business, service, strategic goal-setting, clear communication, protecting the team, improving efficiency, managing requirements and resources
The only issue is that this list is a bit of a 'kitchen-sink-laundry-list' including everything without concern for the appropriateness. When I look through my history, very few managers have been what I saw as truly excellent. For other items, they were not specifically a manager's duty but were provided by the organization, such as with providing training.
How to Tell If You're a Great Manager
- Do I know what is expected of me at work?
- Do I have the materials and equipment I need to do my work right?
- At work, do I have the opportunity to do what I do best every day?
- In the last seven days, have I received recognition or praise for doing good work?
- Does my supervisor, or someone at work, seem to care about me as a person?
- Is there someone at work who encourages my development?
- At work, do my opinions seem to count?
- Does the mission/purpose of my company make me feel my job is important?
- Are my co-workers committed to doing high-quality work?
- Do I have a best friend at work?
- In the last six months, has someone at work talked to me about my progress?
- This last year, have I had opportunities at work to learn and grow?
Software engineers will be obsolete by 2060
In response to an article on Medium, Software engineers will be obsolete by 2060
, I responded with the following
Interesting article on The Economist titled Automation on Automation Angst, http://www.economist.com/node/21661017, that looks at several publications that look at the historical effects of automation, and although there is always a fear of being replaced, ultimately more jobs are created than destroyed. Software engineers disappear? So what! There will be other jobs, with different titles, and in the interim, the more people use tech, the more there will be a need for software engineers.
Because of this, a person asked for my opinion on maintaining their career as a .NET developer, to which I responded
Although I am a .NET developer as well, I focus on expanding my project management and leadership skills, as well as developing skills in AI/ML. Rather than bore with all the details of my background, here is what I think:
Somewhat more generally:
- You should develop your skills in AI/ML, if only by familiarizing yourself with TensorFlow and CNTK. Even if you are not the expert, you should understand it.
- Develop your leadership and management skills, if only to become a better developer, even if you don’t aspire to a higher rank, since having those skills will make one a more hireable developer.
- Although the landscape might change, it is unlikely that you could not find a job with .NET skills in 5 to 6 years, but the most important thing is to keep in touch with the changes, developing as needed.
- Consider what would put you out of a job, say automation that builds the things you already do and do that. Stay ahead of the wave that is going to crush you, by becoming part of the wave itself.
- Create an online presence via blogs, codeshares, NuGet and GitHub repo’s, contributions to other projects, and career sites. Make recruiters come to you.
Using Visual Studio Team Services for Personal Development
The complete post is published on my Data Analytics blog as Using Visual Studio Team Services for Personal Development
, the following just a quick introduction.
Microsoft provides free access to its online Visual Studio Team Services (VSTS)
, and for some time I've been using the service, I've wanted to restructure my code hierarchy, and recent changes in my work environment, automated build and deployment using Octopus, nudged me to finally take the task on, so in the past few weeks I’ve:
- Restructured my Code library into one big project with sub-projects for Development, Websites, and Work
- Developed my Work hierarchy of Epics, Features, Stories and Tasks, along with queries and sprint boards
- Automated all of my builds via check-in, adding extensions to evaluate code and build quality
- Developed a dashboard to oversee the status of work
Pinterest as a Publication Channel for Data Analytics
More as an experiment, rather an attempt at sharing code and ideas, I created a Pinterest board
devoted to my personal data analytics work, done with Python, R, or F#, as well as reviews of books, and was quite surprised with the result.
The graphics could do with optimization, but otherwise...
Deep Learning and Toolkits
As part of reading Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms by Nikhil Buduma
, I was expecting to work through the code examples with my own data, and for the library, it recommended TensorFlow
, which brings up competing alternatives, a primary one being Microsoft Cognitive Toolkit
. Over the next few weeks, I will start exploring both in Python, as well as publishing some of the related work.
A minor note, the darksigma/Fundamentals-of-Deep-Learning-Book: Code companion to the O'Reilly "Fundamentals of Deep Learning" book
is available on GitHub.