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.

Signs that you're a good programmer - Software Engineering Tips The most frequently viewed page on this site is Signs you're a bad programmer, which has also now been published on dead trees by Hacker Monthly, and I think that behoves me to write its antithesis. "Bad programmer" is also considered inflammatory by some who think I'm speaking down to them. Not so; it was personal catharsis from an author who exhibited many of those problems himself. And what I think made the article popular was the "remedies"--I didn't want someone to get depressed when they recognized themselves, I wanted to be constructive. Therefore if you think you're missing any of the qualities below, don't be offended. I didn't pick these up for a while, either, and many of them came from watching other programmers or reading their code. 1. The compiler and runtime can often answer a question faster than a human can. Symptoms How to acquire this trait Are you excessively cautious? Note: A programmer who "suggests wacky and unrealistic solutions" is not always a bad programmer. 2.

A difícil busca de autorealização Hoje vigora vastamente uma erosão de valores éticos que normalmente eram vividos e transmitidos pela família e depois pela escola pela sociedade. Essa erosão fez com que as estrelas-guia do céu da ética ficassem encobertas por nuvens de interesses danosos para a sociedade e para o futuro da vida e do equilíbrio da Terra. Não obstante esta obscuridade, importa reconhecer também a emergência de novos valores ligados à solidariedade internacional, ao cuidado para com a natureza, à transparência nas relações sociais e à rejeição de formas de violência política repressiva e da transgressão dos direitos humanos. As crises recentes denunciaram máfias de especuladores instalados nas bolsas e nos grandes bancos cujo volume de rapinagem de dinheiros alheios quase levou à derrocada todo o sistema financeiro mundial. Penso que esta autorealização só se consegue se incorporar seriamente três outras dimensões. A terceira dimensão é alimentar certo nivel de espiritualidade. Curtir isso:

Signs that you're a bad programmer - Software Engineering Tips Why was this written? Most of these faults were discovered the hard way by the author himself, either because he committed them himself or saw them in the work of others. This paper is not meant for grading programmers, it was intended to be read by programmers who trust their ability to judge when something is a sign of bad practice, and when it's a consequence of special circumstances. This paper was written to force its author to think, and published because he thinks you lot would probably get a kick out of it, too. 1. Reasoning about code means being able to follow the execution path ("running the program in your head") while knowing what the goal of the code is. Symptoms Remedies To get over this deficiency a programmer can practice by using the IDE's own debugger as an aide, if it has the ability to step through the code one line at a time. 2. Object Oriented Programming is an example of a language model, as is Functional or Declarative programming. 3. 4. 5. 6. 1. 2. 3. 4. 5. Symptoms

gerrit - Gerrit Code Review Web based code review and project management for Git based projects. Objective Gerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system. Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer. Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer. To see Gerrit in the wild, checkout our ShowCases page. News Resources Background | Downloads | Plugins | Documentation | Release Notes | Issue Tracking | Scaling | Training Discussion List | IRC freenode #gerrit | IRC log

What is a Full Stack developer? | Laurence Gellert's Blog Is it reasonable to expect mere mortals to have mastery over every facet of the development stack? Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire ‘Full Stack’ developers. To me, a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology. Good developers who are familiar with the entire stack know how to make life easier for those around them. Server, Network, and Hosting Environment.This involves understanding what can break and why, taking no resource for granted.Appropriate use of the file system, cloud storage, network resources, and an understanding of data redundancy and availability is necessary.How does the application scale given the hardware constraints? Other Pieces of the Puzzle: Ability to write quality unit tests. Closing Thoughts: It is very bad practice to tightly couple code to a specific implementation (library, OS, hardware, etc).

The Twelve-Factor App Primary Objects - Using Artificial Intelligence to Write Self-Modifying/Improving Programs Introduction Is it possible for a computer program to write its own programs? Could human software developers be replaced one day by the very computers that they master? Just like the farmer, the assembly line worker, and the telephone operator, could software developers be next? "hello" The above programming code was created by an artificial intelligence program, designed to write programs with self-modifying and self-improving code. All code for the AI program is available at GitHub. Artificial Intelligence Takes Up Coding Artificial intelligence has been progressing steadily over the years, along with advances in computer technology, hardware, memory, and CPU speeds. An AI Hobby It's been somewhat of a hobby for me, dabbling with artificial intelligence programs in an attempt to write a program that can, itself, write programs. A Lot of Monkeys and Broken Typewriters What if you could guide the monkeys? On a Tangent to Genetic Algorithms Ok, But Why Brainf-ck? 1. 2. 3. 4. 5. How It Works 1.

Stand on the shoulders of the Stack Overflow Giants. There's a wealth of information on StackOverflow. If you're a developer, you've definitely appreciated StackOverflow and the exceptional community. If you get a kick out of giving back, being held accountable to your understanding and articulation of technical topics, or simply enjoy problem solving, you may spend a significant amount of time on the site. Stack-Ed is a very simple site that provides a portal into the the most reputable StackOverflow contributors and their accepted answers to questions. Start by selecting a topic then freely peruse the contributors with the highest reputations. This idea was inspired by several utilities shared on HackerNews lately, as well as a recent addiction to StackOverflow. Think of Stack-Ed as an educational resource. Update: March 7th, Stack-Ed now encompasses all the various StackExchange sites.

Related: