Actually I do program professionally. What I mean to say is I don't write iPhone/Android or other Mobile apps professionally.
As I read the comments I find it surprising that people somehow object to this idea because 1) they don't like the terminology, 2) the say the existing emulator is just fine, 3) Apple sucks, 4) If you just do these 37 steps, it works awesome on my machine and 5) did I mention Apple sucks?
I don't program professionally but I am a tinkerer and I did try my hand at both iOS and Android development. As a noob in both, I found the Apple environment much easier in terms of usability. This is not a plug for Apple, but an observation about how fast the tool chain is able to launch the simulator and step into live, running code. There are obviously things that won't work, but I was able to get going quickly and play with the examples. It was also relatively painless (although there was a lot of hoop jumping) to get the code onto my phone and running.
I like the Jet Brains based Android development environment. It's really nice to work it but when it comes to actually running the code you wrote, you basically need a real device. The emulator start up time is horrible and the performance while running is terrible. I've tried to get the x86 ABI running on my machine but I didn't notice much of an improvement. Yes, yes, I know, but Apple sucks. I would call the emulator borderline unusable for development and almost not usable for testing because of its bad performance.
I'd like to try some of the resources he mentioned in the article, but I only found out about them two minutes ago when I read the article. As a noob, I didn't even know they existed. Tools do matter. As Microsoft and Apple have found out, creating really nice development environments is important in capturing mind share. At some point every developer is a noob at something and making easier for the noobs to get going is part of making a platform sticky.
So let the grammar corrections, the Microsoft sucks, the Apple sucks comments come. It doesn't change the fact that being productive isn't just about which APIs you can memorize, but also about the toolchains and environments you use to write code.
I've worked on projects where half the staff were female software developers. (4 out of 8). I don't speak for any women, and am only expressing my observations. What seemed to attract the female engineers I worked with to the company where:
1) Professionalism - It was not a frat house culture. People dressed and behaved professionally. I've worked in places where the developers were allowed to behave like we were still in college.
2) A strong work-life balance approach. Many of the women I worked with had children or were married and thinking about having children. 12 hour days, six day a week jobs were not what they wanted. This did not mean 39 hours a week, but 8 hours on the job and then maybe 2 or 3 after they put their kids to bed.
3) Strong support. If someone got into a jam the team rallied to help them out. It meant risk taking was not penalized. You could be less than 100% confident you knew how to get it done because someone was always there to back you up.
4) Good communications. Lots of face to face communication, feedback, discussion, etc. It meant that we talked things through before we ran off and write 10klocs of code. We explained our decisions and communicated them to the broader team.
I don't think that these attributes are specific to women, but I think the women I worked with responded well to an environment with these attributes. A lot of times we like to work in a kind of frat house/cowboy culture. If you're a real developer you'll work 12 hour days, slouched down into your hoodie, expect people to sink or swim, and tell people if they have questions to stop being such a bitch and 'read the code.' I think that turns some people off.
While these are certainly not the only reasons women don't get into computer science or engineering at the same rates as men, I think if you do want to hire qualified female engineers you need to 1) not lower the bar because no one wants to be seen as a quota hire, and 2) understand that the environment you create can determine who you attract.
I sometimes thought the iWatch rumor was just a plant by Apple to get everyone else in the industry to trip over themselves trying to get the watch out before Apple.
I've got two comments for you. The first is being able to recognize diversity of ability. While a lot of people focus on raw talent, there's a lot more to getting ahead in a job. Some people bring strong technical skills and some people bring soft skills and some people bring a balance. (And some people bring nothing and fill up a chair - but that's another story). A good manager will see that people are in the role for which they are suited, and if that means you're the 'go to' guy for hard to solve issues - great. Try looking at your co-workers and see if you can learn from them some of the other skills that they bring to the table. Be broad minded about your co-workers.
Now, for the other story. As a rule of thumb, only about 10% of the employees in a given environment actually pull the organization forward. Most people are the very necessary 'average' cogs in the machine. Some people are truly dead weight and should be doing something else as a job. Because you've got great attitude and you have drive, there's a good chance you're going to find yourself in that 10%. Keep doing what you're doing. Try working with your boss to find out what you're doing well and where you can improve. I don't know you personally, so I'm just speculating, but it could be that you aren't sensitive to some cultural issues and might need to work on how you deliver the information. You might also let the average cogs just be average. Not everyone is an A player and that's something you'll have to deal with. If you're truly surrounded by a 'confederacy of dunces,' and your boss doesn't have the interest, this may not be the place for you. That doesn't mean quit tomorrow, but it does mean figure out what would be a good fit for you and start lining yourself up for that role.
High performance people can get demoralized in environments where they are poorly managed. The same skills that can make someone a high performer are also the same skills that allow people to accurately evaluate their competency. A good manager will make sure those people are recognized and will spend time to groom those people for more responsibility. It's one thing to work in an environment where you are pulling much more than your weight but treated the same as the person who sits in a cube reading Yahoo (of all things), playing solitaire, and moaning all day about having to stay an extra 5 minutes past 4:30. And it's a totally different experience when your manager understands your potential and is sending you to training, giving your more responsibility, bringing you in to meetings with more senior leadership because you can contribute, or just throwing cash at you to try to keep you happy. In the former example, I would say that's a dead end. The latter example indicates you need to finish 'cooking' for a while so you can move up to the next level.
As long as the missiles we're defending against are inoperable, our defenses should be iron clad.
The contents of this comment are secret for national security purposes.
I can't mod you up more, but totally agree. The enlightenment beliefs underly to the US constitution believed that sharing scientific and industrial information would allow for greater progress.
That's a little like saying it's up to the victim to secure their safety. If that same person walked into a patient's room and started fiddling with their heart pump or dialysis machine, I could see charging them with attempted murder. We don't say 'gee, we'd better not charge him because the hospital didn't put a lockable steel cage over the panel to the dialysis machine to keep people out.' Just because the network is the means of intrusion, as opposed to going into the room, doesn't give someone a pass if there are security holes in the software. You're still f**king with someone's life. That being said, it is *is* incumbent upon the hospital to ensure your safety, especially when you cannot react (i.e. unconscious). It is up to the device manufacturer to make a safe product. In both those instances I think you should be able to take the manufacturer or hospital to court. From that standpoint, fear of losing their shorts in a law-suit and subsequent bad press, I think that they may pay more attention to security.
But you could say that about a lot of things. For example, buying an inexpensive car, like a Honda fit, as opposed to an SUV. Or spending money on games, etc. What's missing is the good but affordable option so that a decent option is available at lower price points. It seems like a lot of phone plans or cable plans are almost bait and switch. It might have a cheap plan but only if you order the more expensive bundle.
It depends on where you live. $200 a month is 2,400 a year. When it's 1-2% of your income, it probably doesn't matter. So, you do a little less saving. When it's more like 10%, then it's a problem because you greatly reduce your ability to save.
Were you the only person who got the reference to impending doom?
There are some judges who have a clue.
I think it's important to realize that companies are run for the interest of their shareholders. Google, Apple and Microsoft have all had their good and bad moments. A lot of people make a point of Apple being for or against standards, or a walled garden. Microsoft made you pay for DOS/windows with every computer purchased, even if you had no intention of running either. It was only stopped after the courts said it's an illegal tying agreement, but even then they were able to exert such pressure on their 'partners' that Gasse couldn't even give the BeOS away. Maybe in the great pantheon of evil business practices MS gets a 3.5 out 5 (they never killed anyone), Apple gets a 3.3. I don't know if I have a score for Google yet, but some times they're pushing 3.0 at least.
Link to Original Source