Posts tagged Software
I see a lot of jobs out there looking for senior engineers/developers, with a fundamental lack of what the ‘senior’ part of that title means. If you only have senior in the title because of pay structure and scaling then you’ve already lost. Pay and progression though your organization shouldn’t rely on titles, there’s nothing wrong with an Engineer making more then a Senior Engineer. The difference in the titles is not pay or skills, but knowledge, experience and responsibility.
If you’ve never seen the Brad Pitt war movie Fury (and your into war movies) I highly recommend it. In the movie Brad Pitt plays tank commander “Don Collier” who has to take on a fresh solider “Norman Ellison” played by Logan Lerman. Norman is young, never seen combat and is now working with a tank company filled with grizzled war veterans.
A good Senior Engineer/Developer is Brad Pitt, well the character he plays in Fury (I can dream dammit). They lead, teach and help their company and co-workers avoid painful and costly pitfalls through experience and knowledge.
Take this scene below, Norman is being thought (gruffly by Michael Peña’s character Trini Garcia) about what he’s going to do if the tank get’s hit. Brad Pitt also gives Norman a teachable moment by giving him an instruction, but also telling him why helping him avoid a costly mistake.
In the industry we often hear about 10x developers. These the the absolute rock stars that can pump out code like no-ones business. I’ve had the pleasure of working with 2 developers in my time that I consider 10x or close to 10x developers. But there is another class of developer or engineer that is just as valuable, they are the senior or lead ones.
A good senior developer is just as important as a 10x developers. A good senior developer ‘has been there and done that’ and has the patience and ability to teach others. They save time and money buy steering development down paths that avoid pitfalls they’ve encountered before. All while mentoring and teaching other developers as they go along making the team better as a whole.
Teaching and mentoring is an important aspect of the position. This goes beyond “hey I found this new technology and let me show it off”, anyone can do that and most of the time it’s a waste of time anyways. No proper teaching and mentoring involves being there to answer basic questions, conduct code reviews or paired programming sessions giving hints, tips and tricks along the way.
It also involves not taking the direct approach, the “this is how you do this, and now always do it this why”. A senior engineer should teach the ‘why’ of something, not just the how. Once a person is armed with the why they can figure out their own “how’s”, instead of just one.
So what is the difference between a Senior/Lead Engineer and a normal Engineer if not pay? It’s knowledge, experience and responsibility. Some developers just don’t want to teach people and that’s perfectly fine, some have excellent skills but very limited experience. Why should those people hit a pay celling and moving into a position they aren’t ready for or comfortable with? This is the Peter Principle at it’s finest.
Design positions in your organization that have distinct roles and responsibilities that take into account the strengths needed for that role and it’s responsibilities. Next don’t lock pay at any of those positions, a 10x developer in a Software Engineer should be able to earn more then a Senior Software Engineer. Your just punishing your company by forcing developers into a false career path that dooms them to fail. Don’t promote people into positions just because they’ve been there forever. Length of service doesn’t indicate that someone can lead or teach others.
Finally realize that a senior level position isn’t a function of age. Someone young could have more experience working with OSS and personal projects then his resume reflects, professionalism is not being paid to do a job, it’s a state of mind and holding yourself to a standard.
If you’re a First Responder or know one check out Resgrid which is a SaaS product utilizing Microsoft Azure, providing logistics, management and communication tools to first responder organizations like volunteer fire departments, career fire departments, EMS, search and rescue, CERT, public safety, disaster relief organizations.
As micropreneurs we are always working. Even on my ‘days off’ I’m on the couch with my laptop working on code or business issues. Businesses with lots of staff have the luxury of ‘someone else will handle that’, in our world we are that someone else. So being able to work effectively and efficiently on the go is important, with the rise of smartphones and apps this is a very realistic option.
Over the last few months I’ve started collecting apps on my iPhone\iPad to help me keep in touch with my business when I’m away from the house. My business is Resgrid which is a SaaS product deployed on Microsoft Azure, providing logistics and management tools to first responder organizations like volunteer fire, career fire, EMS, search and rescue, public safety, disaster relief organizations, etc. It was founded in late 2012 by myself and Jason Jarrett (staxmanade). Serving first responder means that we can’t really have much downtime and we need to be as responsive as possible, both are challenges for startups.
So here are my top mobile apps for micro entrepreneurs to run our businesses, respond to issues and keep tabs on everything on the go.
Cloud Magic has replaced my default email apps on mobile devices. It’s a free app that connects easily to Microsoft’s Exchange (Outlook 365) and much more. If you sign up for their service it will sync your email settings and accounts to all your devices. I like it for it’s clean interface with helpful color hints. I can easily see all my email from multiple boxes and work through them quickly. Overall the CloudMagic seems much faster then the default email clients.
Quicklytics (http://escoz.com/quicklytics/index.html) FREE (IAP $9.99)
Quicklytics is a great mobile app for monitoring your Google Analytics account. View multiple date ranges, active visitors, multiple Google Analytics accounts (I have it tied to 2 different Google accounts, one personal and one business). The app looks great on iPad’s as well, gives a nice display and uses the extra screen real-estate very well. I use Quicklytics a lot to determine how marketing efforts are going on the go.
Azure Management FREE (PRO $0.99)
Resgrid is built entirely on Microsoft’s Azure platform, so being able to monitor our Azure instances and platform on the go can be extremely helpful. I’m using the PRO version, but for 99 cents it’s a great deal. At this point there isn’t any nice charting, I would love to see my load/response times on the fly, but you can do pretty much anything else for Azure Websites, Azure Cloud Services, SQL Databases, Storage and more. I use it to check the heath of my cloud service web and worker roles, reboot an instance if needed, I can even scale from the app.
TC (Team City) Companion (http://teamcitycompanion.github.io/) $2.99
Here at Resgrid we utilize Team City on our backend, for CI, deployments and even production monitoring. You could say that Team City is our back of the house catch all system. All of our deployments are automated and failing builds and tests can have a huge impact on our deliverables. The TCCompanion app is amazing, I can kick off builds, monitor runs and history, visual failed/successful builds, look at the logs and more. Doing this from my phone, on the go, allows me to kick of staging and production deploys and keep tabs on production all from one app.
While we use Google Analytics for our public facing analytics we utilize MixPanel for pretty much everything else. MixPanel is a great and very powerful analytics platform we utilize it for our product interfaces (the website after you login to Resgrid and all of our mobile apps). This allows us to see what features are being used. Quixpanel allows me to see our MixPanel analytics on the go, spot trends and view reports so I can correctly communicate what’s being used in our system. Nothing beats good, actionable, analytics for business owners.
Slack (https://slack.com/) FREE Apps (Service may cost $)
Slack is a communication service, but it can be way more then that. With the integrations is has to services like Trello, BitBucket, GitHub, etc Slack can be your core information repository. Say you pipe system notifications though Slack and a system goes down. Now you have one location where your personnel and meet to work on the issue, no more trading emails, keeping people on the loop, loosing information or getting out of context. The slack app gives you a great interface to work with Slack on the go so you avoid degrading to email.
These 6 apps have helped me be productive on the go from my phone. If I start using any more I’ll make sure to post them.
I recently stumbled across a book by Neil Davidson called “Don’t just roll the dice: a usefully short guide to software pricing”. It’s an amazing read and prefect in length, you could pick it up and finish in about 30 minutes, or if you a painfully slow reader like myself, an hour. The book focuses on software pricing and a way of going about it.
I think this is a vital topic to anyone wanting to break into the software market, and eventually trying to sell their software. I’ve seen far to many software products horrible overpriced and think they could sell much more by lowering their price a little.
But this depends on your target audience, if it’s individuals or cash strapped small companies or startups, charging hundreds of dollars for your software might not be the best idea. But if your targeting major enterprises, your fifty dollar product could probably sell for much more.
Neil touches on this pricing demand curve in Chapter 1, and provide a great basis for the rest of the book. Armed with some basic economic and target customer knowledge you can start to develop a cohesive pricing plan for your software. Neil mentions in chapter two that your software is more then just bits and bytes, and a nice GUI. Your product is documentation, support, development roadmap and so much more. In my opinion your product is also your company and the community surrounding your product, company or people.
In one of my Licensing System reviews I found a great licensing application called EZIRIZ IntelliLock. It was priced right, had the right features, but the company wouldn’t respond to my sales emails. If they can’t do that when I dangling money in their face what kind of support will I get when I bought the product and have a problem.
When your developing a product you should look at the marketplace and your competition. Figure out how much they charge and how closely the software maps to your product. But don’t analyze it in a vacuum, take into account the size of the company, it’s community and your perception of the value of the ecosystem around that product. Established products from larger well known companies can change more, even if your product is better you might consider selling it for less until you’ve made a name for yourself and your product.
Customers will compare, especially with the Internet. So if your selling your software more then your closest competitor you have to make sure you justify it to your potential customers with more features, better documentation, a larger community, etc.
As developers we like things round. So Selling software for fifty bucks even is great, none of those messy pennies flying around. But as Neil points out, fives and nines exert another powerful psychological effect on peoples perception of value.
Give Neil Davidson’s book a read and buy a physical copy if you enjoy it. You’ve spent tons of time designing and creating your product, now your only quarter the way there, now you have to market it, sell it and support it. Developing it was the easy part!