background preloader

Don't Call Yourself A Programmer, And Other Career Advice

Don't Call Yourself A Programmer, And Other Career Advice
If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity. It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering. This post aspires to be README.txt for your career as a young engineer. 90% of programming jobs are in creating Line of Business software: Economics 101: the price for anything (including you) is a function of the supply of it and demand for it. There are companies which create software which actually gets used by customers, which describes almost everything that you probably think of when you think of software. Engineers are hired to create business value, not to program things: Businesses do things for irrational and political reasons all the time (see below), but in the main they converge on doing things which increase revenue or reduce costs. Do Java programmers make more money than .NET programmers? “Read ad. Wrong question.

Don’t Be Ugly By Accident! If you're anything like me, you usually think of your pics in terms of content: Here's me smiling. Here's me looking tough. Here's me in Hawaii with that wacky turtle. And so on. Today, however, we'll analyze photography from a numerical angle—we'll discuss flash, focus, and aperture instead. As always, our data comes from dating site OkCupid, one of the largest, and most interesting, datasets on the web. Our experiment: We collected 552,000 example user pictures.We paired them up and asked people to make snap judgments, like so: We collated these millions of judgments with the time of day each picture was taken, what the shutter speed was, and so on. Here are our findings: 1. The type and brand of camera you use has a huge effect on how good you look in your pictures. As you can see, the general pattern is that more complex cameras take better pictures. Beyond the advantages or shortcomings of any specific brand, the more-complex-is-better trend bears out at all ages: 2. 3. 4.

How to Measure a Company's Most Elusive Element: Culture Your organization has a set of values and a culture, whether it was engineered or not. Most organizational cultures tend to revolve around the personal values of the founders, even if the company has been around a long time. Young companies tend not to think much about culture because they are too busy focusing on customers and shareholders. As companies' age and the founders retire or die, they tend to do more inward looking and often want to make sure that the values that made them great in the beginning still characterize the company. Southwest Airlines is one of those rare companies that has maintained it culture of humor, focus on the customer, and efficiency, long after founder Herb Kelleher stepped down as CEO. 3M is also a company that has been through leadership changes, yet stays focused on the core value of innovation. Most mature companies tend to see a major culture change in a negative direction when the founder steps down.

Java Programming Cheatsheet This appendix summarizes the most commonly-used Java language features in the textbook. Here are the APIs of the most common libraries. Hello, World. Editing, compiling, and executing. Built-in data types. Declaration and assignment statements. Integers. Floating-point numbers. Booleans. Comparison operators. Printing. Parsing command-line arguments. Math library. The full java.lang.Math API. Java library calls. Type conversion. Anatomy of an if statement. If and if-else statements. Nested if-else statement. Anatomy of a while loop. Anatomy of a for loop. Loops. Break statement. Do-while loop. Switch statement. Arrays. Inline array initialization. Typical array-processing code. Two-dimensional arrays. Inline initialization. Our standard output library. The full StdOut API. Our standard input library. The full StdIn API. Our standard drawing library. The full StdDraw API. Our standard audio library. The full StdAudio API. Command line. Redirection and piping. Functions. Libraries of functions. Our standard random library.

The Programmer's Bill of Rights It's unbelievable to me that a company would pay a developer $60-$100k in salary, yet cripple him or her with terrible working conditions and crusty hand-me-down hardware. This makes no business sense whatsoever. And yet I see it all the time. It's shocking how many companies still don't provide software developers with the essential things they need to succeed. I propose we adopt a Programmer's Bill of Rights, protecting the rights of programmers by preventing companies from denying them the fundamentals they need to be successful. The few basic rights we're asking for are easy. RPT-Youth flock to mobile messaging apps, may be threat to Facebook

OpportunisticRefactoring refactoring tags: From the very beginning of when I started to talk and write about refactoring people have asked me how it should be incorporated into the wider software development process. Should there be refactoring phases in the software development lifecycle, what proportion of an iteration should be devoted to refactoring tasks, how should we figure out who should be assigned to refactoring duties? What this means is that at any time someone sees some code that isn't as clear as it should be, they should take the opportunity to fix it right there and then - or at least within a few minutes. This opportunity can come at various parts of implementing some new functionality or fixing a bug. As you add the functionality, you realize that some code you're adding contains some duplication with some existing code, so you need to refactor the existing code to clean things up. Sometimes you see an opportunity when you're in the middle of something else.

Stack versus Heap The differences between the stack and the heap can be confusing for many people. So, we thought we would have a list of questions and answers about stacks and heaps that we thought would be very helpful. Where are the stack and heap stored? They are both stored in the computer’s RAM (Random Access Memory). How do threads interact with the stack and the heap? In a multi-threaded application, each thread will have its own stack. Can an object be stored on the stack instead of the heap? Yes, an object can be stored on the stack. Code to create an object on the stack: void somefunction( ) { /* create an object "m" of class Member this will be put on the stack since the "new" keyword is not used, and we are creating the object inside a function */ Member m; } //the object "m" is destroyed once the function ends So, the object “m” is destroyed once the function has run to completion – or, in other words, when it “goes out of scope”. Code to create an object on the heap:

Android 4.0 Ice Cream Sandwich review The next version of each smartphone's operating system is always the best. We impatiently wait for the latest and greatest firmware to come around, expecting it to liberate us from the shackles of last year's code and features that haven't shown up yet. This happens incessantly with Google's Android OS, and version 4.0 -- unveiled at this year's I/O conference in May -- is no different. Known as Ice Cream Sandwich (referred to henceforth as ICS), the last word in the title indicates the merging of Gingerbread, the most recent phone platform, and Honeycomb, the version optimized for use on tablets. But now the time of reckoning is upon us, and the Samsung Galaxy Nexus -- Android 4.0's mother ship -- is slowly spreading across the globe, its users being treated to this year's smartphone dessert. Table of Contents We won't pretend to know what changes these OEMs will make to the user experience, but rest assured that they'll be just as rampant as ever. See all photos 33 Photos See all photos

Related: