background preloader

The Guerrilla Guide to Interviewing (version 3.0)

The Guerrilla Guide to Interviewing (version 3.0)
by Joel Spolsky Wednesday, October 25, 2006 A motley gang of anarchists, free-love advocates, and banana-rights agitators have hijacked The Love Boat out of Puerto Vallarta and are threatening to sink it in 7 days with all 616 passengers and 327 crew members unless their demands are met. The demand? A million dollars in small unmarked bills, and a GPL implementation of WATFIV, that is, the esteemed Waterloo Fortran IV compiler. As chief programmer of the Festival Cruise programming staff, you’ve got to decide if you can deliver a Fortran compiler from scratch in seven days. Can you do it? “Well, I suppose, it depends,” you say. On what? “Um, will my team be able to use UML-generating tools?” Does that really matter? “I guess not.” OK, so, what does it depend on? “Will we have 19 inch monitors? Again, does this matter? “I guess not. Right. “Who are they?” Does that matter? “Sure! Now we’re on to something! Don’t try to interview a bunch of people at the same time. Never say “Maybe, I can’t tell.”

Work smarter | Playlist Now playing Organizations are often run according to “the superchicken model,” where the value is placed on star employees who outperform others. And yet, this isn’t what drives the most high-achieving teams. Joseph Wilk The Joel Test: 12 Steps to Better Code by Joel Spolsky Wednesday, August 09, 2000 Have you ever heard of SEMA? It's a fairly esoteric system for measuring how good a software team is. The neat thing about The Joel Test is that it's easy to get a quick yes or no to each question. A score of 12 is perfect, 11 is tolerable, but 10 or lower and you've got serious problems. Of course, these are not the only factors that determine success or failure: in particular, if you have a great software team working on a product that nobody wants, well, people aren't going to want it. 1. 2. If the process takes any more than one step, it is prone to errors. For this very reason, the last company I worked at switched from WISE to InstallShield: we required that the installation process be able to run, from a script, automatically, overnight, using the NT scheduler, and WISE couldn't run from the scheduler overnight, so we threw it out. 3. Read more about daily builds in my article Daily Builds are Your Friend. 4. 5. 6. 7. 8. 9. 10. 11. 12.

App Ratings and Reviews: When Should You Ask For Them? | WordData Theoretically, a 5-star ranking system should work like this: But we all know it actually works like this: Besides being present as a variable in the iOS App Store algorithm (it might have become even more important after August 27, 2014), the App Ratings and Reviews are an important factor in Conversion Rate Optimization (CRO). CRO deals with convincing the user who found your app to actually download it. For instance, you can control how the App Icon looks like, what you’re showing on your Screenshots and what call-to-action your Description has…. Follow the tips below and keep your app ratings as close to 5 stars as possible. Make sure your game doesn’t suck Seriously, if your app delivers a horrible user experience, having a bad rating is inevitable. There are a lot of things that can make your app suck, including bugs and crashes, confusing interface, low-quality art assets, aggressive monetization mechanics, and intrusive use of in-app advertising. The point is to kickstart your app.

Dynamically Typed Languages Cite this paper as:Dynamically typed languages, Laurence Tratt, Advances in Computers, vol. 77, pages 149-184, July 2009 (BibTeX file). Also available as: PDF. Laurence Tratt laurie@tratt.net Bournemouth University, Poole, Dorset, BH12 5BB, United Kingdom. Mar 13, 2009 Abstract. 1 Introduction As computing is often split into software and hardware, so programming languages are often split into dynamically and statically typed languages. For many people, dynamically typed languages are the youthful face of a new style of programming introduced in the past few years. Systems programming – seen as ‘serious’ and thus demanding statically typed languages – is often contrasted with scripting programming – seen as ‘amateurish’ and thus needing little more than dynamically typed languages [Ous98]. From the mainstream’s perspective, dynamically typed languages have finally come of age. 2 Defining types 2.1 Types 2.2 Compile-time vs. run-time 2.3 Static typing int i = 3; String s = "4"; int x = i + s;

Evidence Based Scheduling Evidence Based Scheduling by Joel Spolsky Friday, October 26, 2007 Software developers don’t really like to make schedules. Usually, they try to get away without one. Most of the schedules you do see are halfhearted attempts. Hilarious! You want to be spending your time on things that get the most bang for the buck. Why won’t developers make schedules? Over the last year or so at Fog Creek we’ve been developing a system that’s so easy even our grouchiest developers are willing to go along with it. The steeper the curve, the more confident you are that the ship date is real. Here’s how you do it. 1) Break ‘er down When I see a schedule measured in days, or even weeks, I know it’s not going to work. This forces you to actually figure out what you are going to do. If you are sloppy, and pick big three-week tasks (e.g., “Implement Ajax photo editor”), then you haven’t thought about what you are going to do. Setting a 16-hour maximum forces you to design the damn feature. 2) Track elapsed time

Mobil uygulamalarda en çok yapılan 10 güvenlik hatası Konuk yazarımız Osman Çelik, çoklu platform mobil uygulama geliştirme aracı Smartface.io‘nun kurucu ortağı ve CTO’sudur. Güvenlik, bir çok uygulama geliştiricinin özellikle zaman baskısı nedeniyle önceliklendirmediği bir konudur. Proje planlarında hak ettiği yeri almaz. Güvenlik ve Kullanışlılık (Usability) genelde ters orantılıdır. Esasında birşeyler patlayana kadar kimse güvenlik ile ilgili kaygılarını dile getirmez. Hiç bir uygulama yüzde 100 güvenli değildir prensibinden yola çıkarak amacımız uygulamamızı basit dokunuşlar ile diğer uygulamalara oranla daha güvenli hale getirerek hacker’ın, bizim uygulamamız yerine diğerlerini tercih etmesini sağlamak. İşte mobil uygulama geliştirirken en sık yapılan 10 hata; Veri Saklama Biçimi: Öncelikle uygulama çalışırken (Runtime da) hassas bilgi mümkün mertebe cihazda kayıt edilmemeli. Uygulamanızı Platform Tabanlı (ObjC, Java) yaklaşım ile geliştiriyorsanız bu kontrollerin tümünü sizin yönetmeniz gerekmektedir. Happy codding…

Ilya Grigorik - igvita.com Charming Python: Using state machines What is Python? Python is a free, high-level, interpreted language developed by Guido van Rossum. It combines a clear syntax with powerful (but optional) object-oriented semantics. Back to top What is a state machine? An overly accurate description of a state machine is that it is a directed graph, consisting of a set of nodes and a corresponding set of transition functions. But an abstract mathematical description (like the one I just gave) does not really illustrate what use a state machine might serve in practical programming problems. Let's try using an example more appropriate to the actual task at hand. Following this example, let's look at a practical heuristic definition of a state machine. The state machines discussed in this article are high-level machines intended to demonstrate a programming solution to a class of problems. A text-processing state machine One of the programming problems most likely to call for an explicit state machine involves processing text files.

Writing a Good Mobile app Project Description is the key You may have an idea for an ​​application but not you’re sure how to develop it, you’re even thinking about hiring a developer to carry it out. But you still do not know what steps you must take to define a mobile app project properly. At Yeeply we are not only experts in outsourcing the development of apps but we will help your mobile app project be as complete and as correct as possible. Thus, with this prior and essential step you’ll be able to define the key aspects of your app, you can receive tailored budgets and it’ll be easier to find a suitable developer to create your app. First of all… First of all you must ensure that the mobile app you want to launch is in fact a good idea and that it is not going to be left to rot in the market. You must determine what type of device it will be available for: Android, iOS devices, use tablet or Smartphone. Likewise also the location of use is important, more specifically does it need WiFi to work. Above all else the budget is crucial.

Amit’s Game Programming Information What’s on this page? I’m interested in producing complexity out of simple parts. This page contains bookmarks that I collected while working on games; I did not write most of the content linked from here. As a result the set of links here reflects the types of things I needed to know: only a few specific topics (not everything related to game programming), general ideas instead of platform-specific information (graphics, sound, compilers), and ideas and designs instead of source code (I find it easier to go from an idea to code than from code to an idea). Other sites, like Gamedev Tuts+, Gamedev, and Gamasutra, cover lots more topics than mine does. Determining how to move around on a map is an interesting problem. These pages are about specific techniques for pathfinding and object movement: My current favorite algorithm is A*, because it can handle varying terrain costs well, and it seems to be faster than most graph searching algorithms. Code and Demos Data structures Displaying Tiles

Related: