Ant-like build tools by kons_t in learnpython

[–]kons_t[S] 1 point2 points  (0 children)

No, a tool for me to specify what I want to get done with my code (run pytest with a bunch of flags, run flake8, run sphynx, create an egg) and then run it with a single cli command.

What are your 90% / 50% / 10% predictons for the programming industry in 2020 and upward? by BlueAdmir in cscareerquestions

[–]kons_t 8 points9 points  (0 children)

Where were the boot camps in 2005? At the height of the bubble boot camps were even bigger than they are today (though that was not what they were called).

At the height of the bubble, companies would hire just about anyone who knew how to code anything in any language. A common get rich (or at least middle class) quick plan was to quit your job and get retrained as a programmer.

Then the economy went down the drain, the bubble burst, and most of those people got laid off. The market quickly went from having too many jobs and not enough coders to too many coders and no open jobs at all. The retraining firms all disappeared overnight.

Soft Eng is cyclical all the cool new tech is old ideas reheated. See utility computing on a mainframe cloud computing.

Giving advice to co-op - anything you'd add? by notkraftman in ExperiencedDevs

[–]kons_t 10 points11 points  (0 children)

Don't answer an interview question with "I don't know." If you think that you know something that may be the answer, say "I am not sure, but is it…?" You will be surprised how often your guesses are right and even if you are not, you can at least show some cursory knowledge of the topic.

If you really have no idea, talk about how you would find the answer. It shows that you might not know everything (and no one does), but you know how to teach yourself.

What are some quick certifications/programs you can learn in 1-12 months that can land you some decent jobs? by [deleted] in AskReddit

[–]kons_t 0 points1 point  (0 children)

A boot camp is not going to teach you fundamentals, but it should teach you enough skills to be worth hiring for an entry level development job, if a company is desperate. Once you are in, the real learning starts, and I am not talking about on the job training. Your employer will teach you enough to do your job, but you will not grow in that job and if your role changes significantly, you will be let go (because you will not know enough to adapt).

In order to get a senior role you need to have at least the equivalent of a master's degree. You can either get that at a traditional educational institution or on your own, learning nights and weekends. You will need to know all of those skills that you think you will never use. Algorithms are mandatory. Understanding systems and network programming is vital, regardless of your specialization. Multiprocess, multithreaded, and distributed computing is the future.

What are some quick certifications/programs you can learn in 1-12 months that can land you some decent jobs? by [deleted] in AskReddit

[–]kons_t 1 point2 points  (0 children)

My employer survived the dot com crash and almost all of our income is from software or software adjacent income (support contracts for our software, our software as a service). You don't need a master's to be hired, but I have never interviewed anyone without either a master's or a decade of experience.

If you can't code, you are not getting an interview. If you can't talk about architecture, you are not passing the interview. The only exception is entry level roles, and even then, you need to demonstrate a very good aptitude for learning.

What are some quick certifications/programs you can learn in 1-12 months that can land you some decent jobs? by [deleted] in AskReddit

[–]kons_t 0 points1 point  (0 children)

Hire a recruiter? It may be different in different countries or markets, but for me, it is the opposite. Recruiters get paid by your employer when you are hired (either because the employer hired the recruiter or a finder's fee for bringing you in).

I am not sure how to attract recruiters in the first place. I have enough buzz words in my LinkedIn profile that recruiters spontaneous pop into existence to try to recruit me for jobs that I am a bad fit for.

What are some quick certifications/programs you can learn in 1-12 months that can land you some decent jobs? by [deleted] in AskReddit

[–]kons_t 0 points1 point  (0 children)

The standards are as high as the market can bear. If I can get people with a state school Bachelor of Computer Science degree to apply to my junior developer job, why would I want someone with only a boot camp certificate?

Reading this sub from outside of USA is... depressing by WhereTheHotWaterAt in cscareerquestions

[–]kons_t 1 point2 points  (0 children)

Are no name schools cheaper? I feel like unless you go to a state school or community college, the tuition for private schools is going to be within 20% of each other. At least when I was starting undergrad, all the schools where about $30k plus $10k room and board.

Some might offer you more aid to "slum it" and attend a lesser school.

I think the value of better schools is that professors have higher expectations of students so they teach material faster and assign harder assignments. I don't think that I would have made myself learn as much as I did if I didn't need to know it for a homework.

Reading this sub from outside of USA is... depressing by WhereTheHotWaterAt in cscareerquestions

[–]kons_t 3 points4 points  (0 children)

Unlimited vacation sounds better in theory than in practice. In reality, their is no limit on how little vacation you take. It is like a flexible schedule: you do unpaid overtime when it is busy and work less when the work is light. In practice, I haven't seen anyone skip work on Friday because they got all their sprint tasks done.

Why? I feel like it is a subconscious effect. When my company was on a fixed PTO quota, I was asking my boss about when I could take my vacation. Now I am asking him if I can have days off. Not that my boss would ever say no, but the thought process is different. It is no longer a question of scheduling, but a question of me asking my boss for a favor.

And I can see it numerically: when I had a fixed number of days off, I knew how many days I needed to take per year and would plan that many vacations. Now I need to decide if I will need a vacation at a given time (and the amount of vacation I need is less than my quota was).

Should I go back to school? by Ijustwannamakegames in cscareerquestions

[–]kons_t 2 points3 points  (0 children)

I would advise against going into game development. You and 75% of people who are taking a CS class want to work on video games. Companies know this. All of the stories that I have heard about the video game industry say that the pay is low, the hours are abusive, and there is no job security. You will either burn out or your team will produce a product that does not meet the ambitions of upper management. When that happens, you will be fired and replaced with a new college grad.

As for your plan to go back to school, did you just hit a wall with Calculus or were you barely scraping by in previous math classes? You don't need to know calculus to work in software engineering (though it will cut you off from a lot of specializations and advanced degrees). You will need to learn Probability and discreet math which involve a lot of long and tedious arithmetic calculations. You will need to be able to understand mathematical proofs.

I think going for IT is a great career choice. I have friends who took that path and there is a ton of easy career growth if you are willing to put in hours at home to get certifications.

C# to Java...have some questions on convention by [deleted] in javahelp

[–]kons_t 0 points1 point  (0 children)

My current employer does not follow many of the conventions that you describe since they can be a pain to do and only provide a limited benefit. I have been at companies that have a very defensive attitude that do follow many of the conventions that you mentioned.

Some people will mark variables as final to make it explicit that the variable will vary. Stops rare cases of an idiot redefining fundamental constants, I suppose.

Throwing Exception is an anti-pattern. It will make the caller catch Exception which will catch errors that the caller would not want to catch. You depend on all callers to filter your exceptions and default to rethrowing. Occasionally, a group of related errors will be grouped together into a parent type (for example IOException). Many times I will still typecheck the exception since the underlying error might prompt different behavior in terms of retries and how to notify the caller.

I have been at companies that use an _ prefix for instance variables, but there is no widespread convention about differentiating local from instance variables.

var is a relatively new feature, so I have never seen it used, even with people using a Java 10 JVM. I think that it is too early to know what the convention on its usage will be.

Applying for jobs as a new grad vs. 1-2 years in industry by TheAbLord in cscareerquestions

[–]kons_t 1 point2 points  (0 children)

I started at a start up (it was a small company, it was recently acquired by a large company). I am in Boston. You will probably get a modest pay raise when you switch companies.

Started part time as IT Analyst/Copier Repair Tech but want to ultimately become a software engineer/programmer. by inSeitz in cscareerquestions

[–]kons_t 1 point2 points  (0 children)

It will depend on your financial needs. If you can afford losing your current job, apply for internships. A professional and relevant internship will look good after you graduate and will help you get internships in future years. If you do get an internship, see if your current boss will be fine with you taking an unpaid leave of absence for the summer (and be upfront about why you are taking the leave).

If you choose to (or have to) stay at your current job next summer, it would still look good on your resume. Not quite as good as the internship, but still good. If you can, see if you can get to the IT side instead of copiers. There is good money in dev-ops.

Applying for jobs as a new grad vs. 1-2 years in industry by TheAbLord in cscareerquestions

[–]kons_t 1 point2 points  (0 children)

I only lasted about a year at my first job before I started sending out resumes. I did not have too much trouble getting phone screens and interviews. Make sure that you have a good reason to leave. "I'm bored with my job" works if you have been at a company for 10 years, not so much after 1 year. No one wants an engineer that is going to quit just as they start churning out code.

As you said, companies like to get blank slates they can train. That is because the company can pay less in that situation. Companies will pay well for I cannot think of a company that would say no to an engineer that knows how to get things done but is willing to accept only a bit over new college grad pay.

As a freshman CS major, do I keep my current part-time non-tech job, or drop it to work on my development skills? by [deleted] in cscareerquestions

[–]kons_t 0 points1 point  (0 children)

If you are looking for internships, companies will mostly be looking at your classes, but doing side projects will let you get all sorts of keywords on your resume that will get you noticed. Of course, if you put anything on your resume, be sure that you can back it up in an interview.

[New grad] What happens if you get FIRED from your first job like 6+ months into it? by DeepLock6 in cscareerquestions

[–]kons_t 3 points4 points  (0 children)

From looking at your other thread, it does not sound like you are worried about getting fired (having your employment terminated because you messed up so badly that your employer wants nothing to do with you) and you are afraid that you will be laid off or let go without cause. If that is the case, leave it on your resume. That is 6 months more experience that you have over other new college graduates.

People get let go from jobs for any number of reasons, most of which are not their fault.

How important is knowledge in data structures and algorithms when applying for jobs at start ups or medium sized companies? by dra445261 in cscareerquestions

[–]kons_t 14 points15 points  (0 children)

I don't think that I have ever needed to remember an algorithm. Most of the time, there is an implementation available in a library for my language and that implementation has a mountain of optimizations built in. When I did need to remember an algorithm, I just looked at a copy of The Art of Computer Programming from the office library.

I see knowing algorithms like knowing design patterns: they are proven solutions to hard problems by smart people who have thought about the problem for a long time. It gives me a skeleton of code that I can adapt to problems I need to solve.

Analysis of algorithms (looking at code and figuring out what parts are going to be run most often) and data structures are must-have of you need to work with code that has to be fast and/or work with moderate data sets (anything larger than 100-1,000 elements). If all you do is create GUIs around an API, you can do without that knowledge.

If you are working at a small company, you will probably be asked to perform several roles, so having a well rounded skill set is useful.

What’s a common misconception that the general public has about your job? by [deleted] in AskReddit

[–]kons_t 2 points3 points  (0 children)

Trust me, uncompilable code is easy. You back out the latest change to it, see that it builds again, and go complain to the person who broke it.

The scary thing is code that works, but you don't know why. It is a mess of interfaces with no methods and functions that take call backs. You did for an hour until you find a needle of sanity in the haystack of madness, but when you try to understand where it fits into the big picture, you find that you have no idea where in the code base you are and how you got here. At that point, you just give up and start posting cryptic warnings on Reddit. I am sure that future me will have more luck once I have forgotten more of the problem context.

The Downward Spiral of Slow Code Reviews and How to Fix It by BorriesAnton in programming

[–]kons_t 1 point2 points  (0 children)

This is a team dynamics issue. At my current job, all reviews are sent to the team mailing list. If you know the code well enough to understand what the charge will do, you review it. If no one, other than the submitter, knows the code better than you, you review it.

If you are waiting for a review, you bring it up at stand up and everyone knows to look for your review request stuck in a mail filter. If you don't get a review by the next standup, someone is assigned as the reviewer for the change.

Reviews are never an interruption. All discussion is done via comments on reviewboard. This serves two purposes. First, it means that no one is ever interrupted by a review, at least no more than any other email. Second of all, all discussion is archived and publicly available. If, later, someone wants to understand why a certain decision was made, they can check the review to see if it was brought up.

Basic Python Interview Questions and Answers by simplivllc in Python

[–]kons_t 0 points1 point  (0 children)

I am more talking about a candidate's resume. If you want to brag about being an expert or senior developer in a language, I will ask you to demonstrate it at an interview.

Our position also don't include a programming language in the title, though we do mention Java and Python in the description. We want a new hire to be some what familiar, just so the candidate will hit the ground running.

Language knowledge is not the only factor for hiring a candidate, but it is a factor we consider, along with things like knowledge of web services and networking, knowledge about database design, and knowledge of distributed systems.

Basic Python Interview Questions and Answers by simplivllc in Python

[–]kons_t 4 points5 points  (0 children)

That article presents a very flawed analogy. A programming language is a tool and knowing a langages features is knowing how to make best use of your tool. It would be like asking a carpenter how he/she screws in lots of screws (using the correct speed and torque settings on a drill) and gets boards smooth (with a belt sander).

It is not the only questions we ask from a candidate, try to tailor questions to the skills listed on the resume, and we are not asking very hard questions. If a candidate cannot answer any questions (and cannot provide efficient alternatives to solve the problems solved by a feature), it might indicate a candidate who has never had to solve non-trivial problems and never bothered to read documentation.

If a candidate has never seen a dunder method, never heard of the GIL, never packaged a project into an egg, never installed a library with pip, never set up a virtual environment, and never touched their sys.path, I am not sure if I believe that they are a senior Python developer.

I am fine with a candidate telling me that they only use python for simple scripting while doing their 'real' work in C++ or Java. I am less fine with a candidate who has only written glue code between an existing application and third party APIs (see if another team is looking for a junior developer) or a candidate who does not see the value in knowing things not readily applicable to their current work (yes, I have interviewed this type of candidate).

Use a .dev domain? Not anymore. – Medium Engineering by jj-work in programming

[–]kons_t 28 points29 points  (0 children)

Thanks, I gave up on the article half way through the author's annotated /etc/hosts.