Tech IndustryJun 13, 2019
Appleindustry

Staying competent as non-CS major

So I drank the industry koolaid about machine learning, deep learning, blockchain lmao and transitioned into a data scientist (a.k.a sql monkey) role right after a PhD in a non-CS major. Now I am surrounded by seasoned software engineers and I clearly feel that I am lacking in SWE and by how much they know that I don’t. My question is what courses should I take to develop a good foundation in SWE. I am not looking to develop a theoretical understanding of CS, rather I am looking to develop a core set of skills in SWE that is required to remain competent in this rapidly changing industry. Inb4 leetcode: I know leeting is important, please suggest additional skills. TC: 200k

Facebook ⭕w⭕ Jun 13, 2019

leetcode

Apple industry OP Jun 13, 2019

Really bro? I said inb4 leetcode.

Facebook ⭕w⭕ Jun 13, 2019

1. Not wanting to develop a theoretical understanding of CS 2. Develop a solid foundation and a core set of skills in SWE Choose one buddy.

Oracle bendy Jun 13, 2019

Depends heavily on the stack you are using. Taking a dataset on Kaggle and you already use the machine learning knowledge that you have. You can use pandas as they are an excellent way to have your data structured.

Apple industry OP Jun 13, 2019

I am more interested in the software engineering side.

Neurocrine gomv61 Jun 13, 2019

PMed you

Microsoft itsRaw Jun 13, 2019

Why not share it?

Neurocrine gomv61 Jun 14, 2019

Nothing to share. I just asked OP if he wants to study together since I have a similar background and goals. But s/he didn't reply 😂

Twitch whathappen Jun 13, 2019

My practical advice would be to 1) really learn a language. You probably use python, dive into an open source repo to learn how a python package is structured and best practices. Read a python book cover to cover to know exactly what features the language offers. 2) learn the (cloud) infrastructure. Does your team use AWS or GCP? Try setting up your own resources and run some code in the cloud. Don’t worry too much about scalability yet, focus on the basics.

Apple industry OP Jun 13, 2019

Thanks, any recommendations for python book and open source repo based on your experience?

Twitch whathappen Jun 13, 2019

I used learning python by lutz. Thick book. In terms of repos, maybe django? Usually any repo with decent amount of stars are good. Learn stuff like what is pytest, how does the code get setup and run, what are the APIs of the package. Good luck!

Credit Karma yir312 Jun 13, 2019

Take a computer architecture course

Apple industry OP Jun 13, 2019

How will that help with SWE? Curious

Symantec k7dc8ir Jun 13, 2019

It won't

Amazon amaholic Jun 13, 2019

You are getting lots of random advice. First thing you need to clarify what’s your eventual goal? Do you want to become a SWE in 1-3 years? Or just want the basic proficiency for interacting with the SWEs as a competent Data/Research Scientist.

Apple industry OP Jun 13, 2019

Good question, What would i need in each case? I guess my immediate goal is to gain the basic proficiency to interact with SWEs but in the longer term I wouldn’t mind transitioning to SWE.

Amazon amaholic Jun 15, 2019

Read these for transitioning: 1. OS 2. Database 3. Computer Networks 4. Object Oriented Programming 5. Effective Java (or any comparable thing for your language like Effective Modern C++) 6. Clean code 7. Design Patterns (object oriented) 8. Designing Data Intensive Apps 9. Code Complete book 10. Some Software Engineering text book covering SDLC, Modeling, UML, Patterns, Testing, Estimation, Processes, and so on. 11. Computer Architecture 12. Algorithms 13. Data Structures Do: a. Code reviews of the devs (ask questions for learning)... or just read the code and comments by other experienced engineers who signs off the code reviews b. Read design docs c. Be in design review meetings d. Read the codebase for your team and sister teams e. Check out the tickets (operational issues) f. Understand all the graphs and metrics in dashboards g. Join/watch company tech talks

Apple tWBu16 Jun 13, 2019

I recommend reading textbooks. It’s my favorite way to learn a topic. You can sometimes find used textbooks for cheap on Amazon

Microsoft itsRaw Jun 13, 2019

Any you would personally recommend?

New
Porsche996 Jun 13, 2019

Read SIPC.

GE woktowok Nov 17, 2019

What is SIPC? Tried searching but couldn't find.

Spectrum Brands gDsz07 Jun 13, 2019

Data structure algorithm, systems programming, discrete logic, computer architecture, networks, database, operating system, object oriented design/analysis, etc... that pretty much sums up the CS degree.

New
͏ Jun 14, 2019

Make/modify/get 100s to work together: Skyrim/game mods create/add features/administer: Minecraft/game server, website Install/learn your way around: Linux, hacked consoles